深度學習 --- 玻爾茲曼分佈詳解
上一節我們從Hopfield神經網路存在偽吸引子的問題出發,為了解決偽吸引子帶來的問題,詳細介紹了模擬退火演算法,本節也是基礎性的講解,為了解決偽吸引子還需要引入另外一個重要概念即:玻爾茲曼分佈。本篇將詳解玻爾茲曼分佈,但是還是先說說為什麼要引入玻爾茲曼分佈,因為為了解決Hopfield神經網路的偽吸引子的問題,引入模擬退火演算法和玻爾茲曼分佈,下一節將在Hopfield神經網路中加入這兩個演算法,組合成一個新的神經網路即隨機神經網路或者玻爾茲曼機。因為本人喜歡刨根問底,所以會深入挖掘引入的知識,這樣下節講起來就會很容易,也會更容易理解,不會覺的太突兀,另外一點就是希望能深入理解和掌握玻爾茲曼機,因為後面還會引入受限玻爾茲曼機、深度信念網路、CNN、RNN。因此我們正在慢慢的靠近深度學習的核心區域,前面就說過,所有的演算法都不是拍著腦袋想出來的,他是根據出現的問題,慢慢研究出演算法的,我們要想深入理解深度學習,沿著他的發展歷程學習將更容易,更具有體系化,以後遇到問題也知道如何解決,您說呢?好,廢話不多說,下面就開始主題:玻爾茲曼分佈。
玻爾茲曼分佈:
在物理學(特別是統計力學)中,麥克斯韋 - 玻爾茲曼分佈是以詹姆斯·克拉克斯·馬克斯韋爾和路德維希·波茲曼命名的特定概率分佈。
這是第一次定義,並且用於描述顆粒速度在理想化的氣體,其中所述顆粒的固定容器內自由移動,而不會彼此互動,除了非常簡短的碰撞,其中它們與彼此或與它們的熱環境交換能量和動量。在該上下文中,術語“顆粒”僅指氣態顆粒(原子或分子),並且假設顆粒系統已達到熱力學平衡。[1] 這種粒子的能量遵循所謂的 麥克斯韋 - 玻爾茲曼統計通過將粒子能量與動能等同來推匯出速度的統計分佈。(此來源維基百科,詳情請點選瞭解),在這裡我不會講解的那麼深,從容易接受的角度出發,因此會有點不嚴謹,但是對於我們理解已經夠用了,想深入理解的請參考維基百科。
在一個封閉的空間中,溫度為T,裡面只有兩種能級,粒子的總數為N,且兩種能級對應的個數分別為:,所以能級的粒子總和為。那麼N個粒子的不同狀態組合數記為,且為:
通過組合數計算一下熵,熵是來源熱力學的概念,熵是衡量物質的混亂程度的量,通常和物質的狀態有關,我們知道當物質的能量越高時混亂程度也越高,能量越低時混亂程度也越低,這和我們的常識認知是一致的(這裡希望大家能徹底搞懂什麼是熵,這個概念很重要,熵在自然語言處理中會大量的使用,大家先看看
其中是玻爾茲曼常數,取log就是熵的來源。
把帶進上式的:
現在我給空間增加少了的能量,此時封閉的空間的低能級的粒子就會越變到高能級,也就是說會有少量的變為即:
,其中是變化的粒子數,由此我們從新計算熵為:
得到:
我們知道上式的分子和分母項是一樣多的,同時在封閉的空間中 是足夠大的,是很小的,因此可以把化簡為:
然而從熱力學角度,熵的變化量和溫度以及加入的能量有關(參考維基百科),因此有如下的公式;
聯立和 兩式的到:
化簡得到為:
從上式我們看到,不同能級的比值和能量、溫度T、玻爾茲曼常數都有關係,且上式等式右邊的指數和我們的退火演算法很像,同時上式就稱為玻爾茲曼分佈。
好,從上面我們推倒了玻爾茲曼分佈的來歷。他是來源於熱力學,大家通過我講的簡單型的可以完全理解了,掌握這些東西就夠用了,如果對此感興趣的同學可以看看完整版的玻爾茲曼分佈,那裡比這裡稍微複雜一點,但是有這裡的基礎,看完整版的就會很容易了,好了,玻爾茲曼分佈到此結束,下一節我們將模擬退火演算法、玻爾茲曼分佈和Hopfield神經網路結合起來,構建一個新的神經網路即隨機神經網路或者說是玻爾茲曼機。