此文章主要是结合哔站shuhuai008大佬的白板推导视频:深度玻尔兹曼机_73min
全部笔记的汇总贴:机器学习-白板推导系列笔记
对应花书20.4
一、背景介绍
Δ W = ∂ ( E P D a t a [ v h T ] ⏟ p o s i t i v e p h a s e − E P m o d e l [ v h T ] ⏟ p o s i t i v e p h a s e ) \Delta W=\partial\Big({\underset{positive\;phase}{\underbrace{E_{P_{Data}[vh^T]}}}-\underset{positive\;phase}{\underbrace{E_{P_{model}}[vh^T]}}}\Big) ΔW=∂(positivephase EPData[vhT]−positivephase EPmodel[vhT])
P D a t a = P D a t a ( h , v ) = P D a t a ( v ) P m o d e l ( h ∣ v ) P m o d e l = P m o d e l ( h , v ) = P m o d e l ( v ) P m o d e l ( h ∣ v ) P_{Data}=P_{Data}(h,v)=P_{Data}(v)P_{model}(h|v)\\P_{model}=P_{model}(h,v)=P_{model}(v)P_{model}(h|v) PData=PData(h,v)=PData(v)Pmodel(h∣v)Pmodel=Pmodel(h,v)=Pmodel(v)Pmodel(h∣v)
DBN
pre-training(stacking RBM)
Fine-tuning(wake-sleep/BP)
DBM
pre-training(stacking RBM)
SGA(随机梯度上升 Stochastic Gradient Ascend)
二、预训练
(一)介绍
p ( v ) = ∑ h ( 1 ) p ( v , h ( 1 ) ) = ∑ h ( 1 ) p ( h ( 1 ) ; w ( 1 ) ) p ( v ∣ h ( 1 ) ; w ( 1 ) ) p(v)=\sum_{h^{(1)}}p(v,h^{(1)})=\sum_{h^{(1)}}p(h^{(1)};w^{(1)})p(v|h^{(1)};w^{(1)}) p(v)=h(1)∑p(v,h(1))=h(1)∑p(h(1);w(1))p(v∣h(1);w(1))
p ( h ( 1 ) ; w ( 2 ) ) = ∑ h ( 2 ) p ( h ( 1 ) , h ( 2 ) ; w ( 2 ) ) p(h^{(1)};w^{(2)})=\sum_{h^{(2)}}p(h^{(1)},h^{(2)};w^{(2)}) p(h(1);w(2))=h(2)∑p(h(1),h(2);w(2))
True h ( 1 ) h^{(1)} h(1):
p ( h ( 1 ) ) ⏟ p ( h ( 1 ) ; w ( 1 ) , w ( 2 ) ) = ∑ h ( 2 ) , v p ( v , h ( 1 ) , h ( 2 ) ) ⏟ 由 w ( 1 ) , w ( 2 ) 表 示 \underset{p(h^{(1)};w^{(1)},w^{(2)})}{\underbrace{p(h^{(1)})}}=\sum_{h^{(2)},v}\underset{由w^{(1)},w^{(2)}表示}{\underbrace{p(v,h^{(1)},h^{(2)})}} p(h(1);w(1),w(2))
p(h(1))=h(2),v∑由w(1),w(2)表示
p(v,h(1),h(2))
Intuition:
用 p ( h ( 1 ) ; w ( 1 ) ) p(h^{(1)};w^{(1)}) p(h(1);w(1))和 p ( h ( 1 ) ; w ( 2 ) ) p(h^{(1)};w^{(2)}) p(h(1);w(2))
几何平均去近似 p ( h ( 1 ) ; w ( 1 ) , w ( 2 ) ) p(h^{(1)};w^{(1)},w^{(2)}) p(h(1);w(1),w(2))
(二)double counting problem
真正的: p ( h ( 1 ) ; w ( 1 ) , w ( 2 ) ) p(h^{(1)};w^{(1)},w^{(2)}) p(h(1);w(1),w(2))
直觉:同时利用 p ( h ( 1 ) ; w ( 1 ) ) p(h^{(1)};w^{(1)}) p(h(1);w(1))和 p ( h ( 1 ) ; w ( 2 ) ) p(h^{(1)};w^{(2)}) p(h(1);w(2))去近似 p ( h ( 1 ) ; w ( 1 ) , w ( 2 ) ) p(h^{(1)};w^{(1)},w^{(2)}) p(h(1);w(1),w(2))
p ( h ( 1 ) ; w ( 1 ) ) = ∑ v p ( v , h ( 1 ) ; w ( 1 ) ) = ∑ v p ( v ) p ( h ( 1 ) ∣ v ; w ( 1 ) ) ≈ 1 N ∑ v ∈ V p ( h ( 1 ) ∣ v ; w ( 1 ) ) ⏟ A g g r e g a t e d P o s t e r i o r p(h^{(1)};w^{(1)})=\sum_vp(v,h^{(1)};w^{(1)})=\sum_vp(v)p(h^{(1)}|v;w^{(1)})\approx \underset{Aggregated\;Posterior}{\underbrace{\frac1N\sum_{v\in V}p(h^{(1)}|v;w^{(1)})}} p(h(1);w(1))=v∑p(v,h(1);w(1))=v∑p(v)p(h(1)∣v;w(1))≈AggregatedPosterior N1v∈V∑p(h(1)∣v;w(1))
p ( h ( 1 ) ; w ( 2 ) ) = ∑ h ( 2 ) p ( h ( 1 ) , h ( 2 ) ; w ( 2 ) ) = ∑ h ( 2 ) p ( h ( 2 ) ) p ( h ( 2 ) ∣ h ( 1 ) ; w ( 2 ) ) ≈ 1 N ∑ h ( 2 ) ∈ H p ( h ( 2 ) ∣ h ( 1 ) ; w ( 2 ) ) p(h^{(1)};w^{(2)})=\sum_{h^{(2)}}p(h^{(1)},h^{(2)};w^{(2)})=\sum_{h^{(2)}}p(h^{(2)})p(h^{(2)}|h^{(1)};w^{(2)})\approx \frac1N\sum_{h^{(2)}\in H}p(h^{(2)}|h^{(1)};w^{(2 )}) p(h(1);w(2))=h(2)∑p(h(1),h(2);w(2))=h(2)∑p(h(2))p(h(2)∣h(1);w(2))≈N1h(2)∈H∑p(h(2)∣h(1);w(2))V : 样 本 集 合 v ∈ V V:样本集合\;\;\;\;\;v\in V V:样本集合v∈V
H : 采 样 样 本 集 合 h ( 2 ) ∈ H H:采样样本集合\;\;\;\;\;h^{(2)}\in H H:采样样本集合h(2)∈H
h ( 2 ) 依 赖 于 V h^{(2)}依赖于 V h(2)依赖于V
double counting :所表达的分布过于sharp
(三)小结
由上图转化为下图,不能简单的看作系数除以2,我们单看中间的层数时,即不看最上面和最小面的层,不难发现,是可以用这种二倍系数来表示的,但是当看最下面的 h ( 1 ) h^{(1)} h(1)和最上面的 h ( 3 ) h^{(3)} h(3)层时,发现就不能用这种方式了,需要单独进行考虑。
我们将最下面一层往上保持2倍,往下还是直接用 w ( 1 ) w^{(1)} w(1)表示,同样的,把最上面的 h ( 3 ) h^{(3)} h(3)层往下用2倍表示,往上还是用 w ( 3 ) w^{(3)} w(3)来表示,如下图所示。
下一章传送门:白板推导系列笔记(三十)-生成模型综述