17. Derivation of the Learning Rule
又看到
sigmoid,此處
代表的是給定x,
hj=1的機率。因
此在NN中,用
sigmoid 當最後
一層輸出機率並
不是沒有道理
的!
18. Derivation of the Learning Rule
● 給定x(t)和x?,參數? =W 的 update rule 如下:
因此當x? 越來越接近真實樣本
x(t),W就穩定了
19. CD-k pseudo code
1. for each training sample x(t)
i. generate a negitive sample x? using k steps of Gibbs sampling, starting at x(t)
ii. update parameters
2. Go back to 1 until stopping criteria
homework: derive the
update rule for bias b and c
20. Contrastive Divergence (CD)
● CD-k: contrastive divergence with k step of Gibbs sampling
● 一般來說,k越大,對gradient 的估計就越準
● 但若只是拿RBM 做下游任務參數的pre-training,k=1結果就很好了(用訓練好
的 h 當作 x 的 representation,有點像auto-encoder的中間層)
● 從結果來看,RBM 像是共用 encoder/decoder weight 的 Autoencoder,不過
loss function 並不是input x 與 reconstructed x 直接相減,而是還要乘上h(x)
,計算x在h(x)機率分布下的期望值。因此RBM 的 h 是有機率意義的,但
Autoencoder 的中間層並沒有特殊涵義(不過,也可以在中間層加上sigmoid,
並修改 loss function 來模擬RBM)。
21. Persistent CD (PCD)
● 雖然訓練出來的 h 拿來當 feature 效果不錯,但是 generate 出來的 sample x? 的 loss 還是很高,這是
因為 Gibbs sampling 通常只會在 x(t) 附近 sampling,跳不出 local minima
● 一個很簡單的方法,就是用 上一輪產生的 negative sample 來產生這一輪的 negative sample。這跟
直接把 k 設很大不太一樣,因為每一輪模型都會 update,這時候sample 的參數會改變。藉由這個方
式,產生的 x? 可以跑得比較遠,就有可能跳出 local minima
● 因此,你需要把每一輪 (batch) 產生的 x? 存起來供下次使用
x(t)
How?
22. Persistent CD (PCD) Tieleman, ICML 2008
http://icml2008.cs.helsinki.fi/papers/638.pdf
25. Debug
● RBM 很難debug,但有一些方法可以告訴你是否正確training
1. 畫出重構誤差 ||x(t)-x?||^2 看是否隨訓練次數遞減
2. 畫出?lter
3. 估計partition function Z並計算 NLL 是否遞減
On the Quantitative Analysis of Deep Belief Networks.
Ruslan Salakhutdinov and Iain Murray, 2008
https://www.cs.toronto.edu/~rsalakhu/papers/dbn_ais.pdf
26. GAUSSIAN-BERNOULLI RBM
● 如果input x 的定義域是所有實數
● 這時energy function 多加一個x平方項
● 此時唯一改變的只有 p(x|h) 會變成高斯分布,有平均 標準差單位矩陣
● 這時候建議把 training set normalized 成平均為0,標準差為1
● 應該使用更小的 learning rate
如果要讓x定義域
為所有實數,為了
讓 p(x|h) 分母的積
分有 close form,
最簡單是加上平方
項
27. Other Types of Observations
● Real-valued: Gaussian-Bernoulli RBM
● Binomial observations:
○ Rate-coded Restricted Boltzmann Machines for Face
Recognition. Yee Whye Teh and Geoffrey Hinton, 2001
https://papers.nips.cc/paper/1886-rate-coded-restricted-b
oltzmann-machines-for-face-recognition.pdf
● Multinomial observations:
○ Replicated Softmax: an Undirected Topic Model. Ruslan
Salakhutdinov and Geoffrey Hinton, 2009
https://papers.nips.cc/paper/3856-replicated-softmax-an-u
ndirected-topic-model
○ Training Restricted Boltzmann Machines on Word
Observations. George Dahl, Ryan Adam and Hugo
Larochelle, 2012 https://arxiv.org/pdf/1202.5695.pdf
當input 為0~N時,例如每個pixel 有
0~255 的強度,可以很簡單的將 input
x表示為重複出現幾個1,出現越多強度
越強,最多255個1,結果變成一個
binomial distribution 問題。
當 input 為多個 words 的時候,每個
word 可以用 onehot 表示,因此很多
個words 的排列組合,就是很 多組
onehot 的排列組合,即為
multinomial distribution。
想想如何用在N spin system上?