玻爾茲曼機
如果發生串擾或陷入局部最優解,Hopfield神經網絡就不能正確地辨別模式,如下圖。
而玻爾茲曼機(Boltzmann Machine)則可以通過讓每個單元按照一定的概率分布發生狀態變化,來避免陷入局部最優解。
玻爾茲曼機保持了Hopfield神經網絡的假設:
權重對稱
自身無連接
二值輸出
波爾茲曼機的輸出是按照某種概率分布決定的:
𝑇(>0)表示溫度系數,當 𝑇 趨近於無窮時,無論𝑢𝑖取值如何,𝑥𝑖等於 1 或 0 的概率都是 1/2 ,這種狀態稱為穩定狀態。
溫度系數越大,跳出局部最優解的概率越高;但是溫度系數增大時,獲得能量函數極小值的概率就會降低。
反之,溫度系數減小時,雖然獲得能量函數極小值的概率增加了,但是玻爾茲曼機需要經歷較長時間才能達到穩定狀態。
玻爾茲曼機選擇模擬退火算法:
可以先采用較大的溫度系數及進行粗調,然后逐漸減小溫度系數進行微調。
根據下式求得 𝑇 的極小值:
實際應用上,玻爾茲曼機還可以由可見單元和隱藏單元共同構成。
隱藏單元與輸入數據沒有直接聯系,但會影響可見單元的概率。
假設可見單元為可見變量 𝑣 ,隱藏單元為隱藏變量 ℎ 。
玻爾茲曼機含有隱藏變量時,概率分布仍然與前面計算的結果相同。
受限玻爾茲曼機
含有隱藏變量的波爾茲曼機訓練非常困難,所以辛頓等人提出了受限玻爾茲曼機(Restricted Boltzmann Machine)。
由可見層和隱藏層構成
層內單元之間無連接
信息可雙向流動
受限波爾茲曼機的能量函數為:
其中,𝑏𝑖是可見變量的偏置, 𝑐𝑗是隱藏變量的偏置,𝑤𝑖𝑗是連接權重,θ是表示所有連接權重和偏置的參數集合。可見變量𝑣_𝑖和隱藏變量ℎ_𝑗的乘積即表示兩者之間的相關程度,其與連接權重一致時,能夠得到參數的最大似然估計量。
改良后的受限玻爾茲曼機會產生龐大的計算量。
要想解決這個問題,可以使用Gibbs采樣(Gibbs Sampling)算法進行迭代計算求近似解。但即使這樣處理,迭代次數也仍然非常多。於是,人們提出了對比散度算法。
(這篇之后繼續補充)