RBM受限玻尔兹曼机的公式推导及代码实现(matlab) | 您所在的位置:网站首页 › 玻尔兹曼推导 › RBM受限玻尔兹曼机的公式推导及代码实现(matlab) |
考虑一组具有 m m m个样本的数据集 X = { x ( 1 ) , … , x ( m ) } \mathbb{X}=\{x^{(1)},\dots,x^{(m)}\} X={
x(1),…,x(m)},独立地由真实数据生成分布 p d a t a ( x ) p_{data}(x) pdata(x)生成。令 p m o d e l ( x ; θ ) p_{model}(x;\theta) pmodel(x;θ)是一族由 θ \theta θ确定在相同空间上的概率分布,换言之, p m o d e l ( x ; θ ) p_{model}(x;\theta) pmodel(x;θ)将任意输入 x x x映射到实数来估计真实概率 p d a t a ( x ) p_{data}(x) pdata(x)。对 θ \theta θ的最大似然估计被定义为 θ M L = a r g m a x θ p m o d e l ( X ; θ ) = a r g m a x θ ∏ i = 1 m p m o d e l ( x ( i ) ; θ ) (1) \theta_{ML}=argmax_\theta p_{model}(\mathbb{X};\theta)=argmax_\theta\prod_{i=1}^m p_ {model}(x^{(i)};\theta) \tag{1} θML=argmaxθpmodel(X;θ)=argmaxθi=1∏mpmodel(x(i);θ)(1) 因为多个概率的乘积不便于计算,便转为求和形式 θ M L = a r g m a x θ ∑ i = 1 m l o g p m o d e l ( x ( i ) ; θ ) (2) \theta_{ML}=argmax_\theta\sum_{i=1}^mlogp_{model}(x^{(i)};\theta)\tag{2} θML=argmaxθi=1∑mlogpmodel(x(i);θ)(2) 重新缩放代价函数时,对优化结果没有影响,可以除以 m m m,从而以训练数据经验分布 p ^ d a t a \hat{p}_{data} p^data的期望作为准则 θ M L = a r g m a x θ E x ∼ p ^ d a t a l o g p m o d e l ( x ; θ ) (3) \theta_{ML}=argmax_\theta\mathbb{E}_{x\sim\hat{p}_{data}}logp_{model}(x;\theta) \tag{3} θML=argmaxθEx∼p^datalogpmodel(x;θ)(3) 一种关于最大似然估计的观点是看作最小化训练集上的经验分布 p ^ d a t a \hat{p}_{data} p^data和模型分布 p m o d e l p_{model} pmodel之间的差异,差异可以通过 K L KL KL散度定义为 D K L ( p ^ d a t a ∣ ∣ p m o d e l ) = E x ∼ p ^ d a t a [ l o g p ^ d a t a ( x ) − l o g p m o d e l ( x ) ] (4) D_{KL}(\hat{p}_{data}||p_{model})=\mathbb{E}_{x\sim\hat{p}_{data}}[log\hat{p}_{data}(x)-logp_{model}(x)] \tag{4} DKL(p^data∣∣pmodel)=Ex∼p^data[logp^data(x)−logpmodel(x)](4) 左边仅涉及数据生成过程,和模型无关,所以只需要最小化 θ M L = a r g m i n θ − E x ∼ p ^ d a t a l o g p m o d e l ( x ; θ ) (5) \theta_{ML}=argmin_\theta-\mathbb{E}_{x\sim\hat{p}_{data}}logp_{model}(x;\theta) \tag{5} θML=argminθ−Ex∼p^datalogpmodel(x;θ)(5) 我们可以将最大似然看作使模型分布尽可能和经验分布 p ^ d a t a \hat{p}_{data} p^data相匹配,理想情况下能够匹配真实分布 p d a t a p_{data} pdata,但我们无法直接知道这个真实分布。 考虑用受限玻尔兹曼机RBM来对 p m o d e l p_{model} pmodel进行建模,RBM有两层,分别称为可见层(visible layer)和隐藏层(hidden layer),可见层为可观察变量 v v v,隐藏层为潜变量 h h h。层内无连接,层间全连接,是一个二分网络结构,所以当给定可见层神经元状态时,隐藏层各神经元条件独立,反之亦然。可见层神经单元用来描述观察数据,隐藏层神经单元可以看作特征提取层。 上式的前一项在全部数据集上求平均值即可,后一项等于 ∑ v , h v i h j P θ ( v , h ) \sum_{\mathtt{v},\mathtt{h}}v_ih_jP_\theta(\mathtt{v},\mathtt{h}) ∑v,hvihjPθ(v,h),其中 Z Z Z是被称为配分函数的归一化常数 Z = ∑ v ∑ h e x p ( − E ( v , h ) ) (13) Z=\sum_v\sum_hexp(-E(v,h)) \tag{13} Z=v∑h∑exp(−E(v,h))(13) 计算配分函数 Z Z Z的朴素方法是对所有状态进行穷举求和,计算上是难以处理的,Long and Servedio(2010)正式证明配分函数 Z Z Z是难解的 。但是RBM的二分网络结构具有特定性质,因为可见层和隐藏层内部各神经元是条件独立的,所以条件分布 p ( h ∣ v ) p(\mathtt{h}|\mathtt{v}) p(h∣v)和 p ( v ∣ h ) p(\mathtt{v}|\mathtt{h}) p(v∣h)是因子的,并且计算和采样相对简单。 P ( h ∣ v ) = P ( h , v ) P ( v ) = 1 P ( v ) 1 Z e x p { b T v + c T h + v T W h } = 1 Z ′ e x p { c T h + v T W h } = 1 Z ′ e x p { ∑ j = 1 n h c j T h j + ∑ n h j = 1 v T W : , j h j } = 1 Z ′ ∏ j = 1 n h e x p { c j T h j + v T W : , j h j } (14) P(h|v)=\frac{P(h,v)}{P(v)} \\ = \frac{1}{P(v)}\frac{1}{Z}exp\{b^Tv+c^Th+v^TWh\} \\ = \frac{1}{Z'}exp\{c^Th+v^TWh\} \\ = \frac{1}{Z'}exp\{\sum_{j=1}^{n_h}c_j^Th_j+\sum_{n_h}^{j=1}v^TW_{:,j}h_j\} \\ = \frac{1}{Z'}\prod_{j=1}^{n_h}exp\{c_j^Th_j+v^TW_{:,j}h_j\} \tag{14} P(h∣v)=P(v)P(h,v)=P(v)1Z1exp{ bTv+cTh+vTWh}=Z′1exp{ cTh+vTWh}=Z′1exp{ j=1∑nhcjThj+nh∑j=1vTW:,jhj}=Z′1j=1∏nhexp{ cjThj+vTW:,jhj}(14) 在基于可见单元 v v v计算条件概率 P ( h ∣ v ) P(h|v) P(h∣v)时,可以将其视为常数,因为 P ( h ∣ v ) P(h|v) P(h∣v)的性质,我们可以将向量 h h h上的联合概率写成单独元素 h j h_j hj(未归一化)上分布的乘积。 P ( h j = 1 ∣ v ) = P ~ ( h j = 1 ∣ v ) P ~ ( h j = 0 ∣ v ) + P ~ ( h j = 1 ∣ v ) = e x p { c j + v T W : , j } e x p { 0 } + e x p { c j + v T W : , j } = 1 1 + e x p { − c j − ∑ i v i W i j } = σ ( c j + v T W : , j ) (15) P(h_j=1|v)=\frac{\tilde{P}(h_j=1|v)}{\tilde{P}(h_j=0|v)+\tilde{P}(h_j=1|v)} \\ =\frac{exp\{c_j+v^TW_{:,j}\}}{exp\{0\}+exp\{c_j+v^TW_{:,j}\}} \\ =\frac{1}{1+exp\{-c_j-\sum_iv_iW_{ij}\}} \\ =\sigma(c_j+v^TW_{:,j}) \tag{15} P(hj=1∣v)=P~(hj=0∣v)+P~(hj=1∣v)P~(hj=1∣v)=exp{ 0}+exp{ cj+vTW:,j}exp{ cj+vTW:,j}=1+exp{ −cj−∑iviWij}1=σ(cj+vTW:,j)(15) 其中 σ ( x ) = 1 1 + e x p ( − x ) \sigma(x)=\frac{1}{1+exp(-x)} σ(x)= |
CopyRight 2018-2019 实验室设备网 版权所有 |