熵的概念:
熵是描述一個系統的混亂程度的度量,最基礎的定義是:
$S={{k}_{b}}\ln \Omega $
kb是熱力統計學里的波爾茨曼常量,單位 焦耳/K,為了簡便,在信息學里直接取值1 J/K。
$S=\sum\limits_{k}{{{S}_{k}}}=-\sum\limits_{k}{{{p}_{k}}\log ({{p}_{k}})}$ 的定義是從上面的式子推導而來的,可證明二者等價,這里先暫時不做論述。
該公式描述了熵與構成系統的所有變量的可能的排列組合個數的關聯。取底數=2,可得熵等於使用二進制編碼一個系統的所有可能出現的情況所需的比特數。(注:越復雜混亂的變量,需要越多的信息比特來描述,從直覺上也很好理解)
這里溫度單位K代表開爾文,而溫度的定義是 單位能量轉化為熵的效率:$\text{T}=\frac{dQ}{dS}$ 這里內能是Q,熵是S,T是溫度。
當一個封閉系統內,存在若干個可以相互交換能量的體系,且能量守恆時,兩個體系之間的溫度趨於相等。因為如果體系之間溫度不相等,同樣數額的能量在不同的效率(溫度)轉化為熵時,就存在熵差$\Delta {{\text{S}}_{1}}\ne \Delta {{\text{S}}_{2}}$ ,所以全局熵 S = S1 + S2就存在變化。根據熱力學第二定律,熵趨於增加,所以兩個體系會自動交換能量,使兩者溫度相等,這時候達到熱平衡(thermal equilibrium),系統熵S到達最大值。
以一個多分類機器學習問題為例子,N個樣本{(x1, y1), (x2, y2), ......(xN, yN)}在K個分類里{T1, T2, ... TK},y是長度為K的 one hot 形式的向量。
下面要講述正則系統的構建方法。這里定義正則系統構建的邏輯並不是特別嚴謹,嚴謹的構建參見下一篇文章。
因為構建邏輯比較復雜,所以這里就先偷換概念簡化一下,有些名詞概念這里也沒仔細解釋,主要目的還是為了展示數學推導部分。
將上述分類問題轉化為封閉系統意味着要做出以下假設:
- 系統內的體系數,既分類數K的數量固定不變。
- 每一個體系擁有的能量總和等於系統總能量,是固定不變的。這個必要假設之所以成立,是因為每樣本只能擁有有限的能量,否則可能出現樣本沒有唯一穩定態(最低能量,能量為負)的情況,不符合常理。
- 樣本歸屬於所有體系的概率總和為1,概率有限且被歸一化。
有了封閉系統的假設之后,我們開始考慮一個虛擬場景:
假如輸入是一個二值化的28x28的黑白圖片,輸出是K=10的向量,代表10種分類的能量,所以樣本可能的排列組合一共有Ω=28x28x2x10=15680種。
往封閉系統內放入Ω個樣本,重復很多次,則可以得到10種樣本的經驗概率分布。
每個樣本攜帶很小的能量E(x),能量大小取決於樣本輸入值x, 當一個樣本xi歸屬的分類yi從Ta轉移到Tb時,體系Ta里的能量也隨之被轉移到Tb,能量轉移的值等於E(xi)。
這里封閉體系不涉及壓強變化或是體積變化做功,所以內能U就等於能量E,兩者符號可互換。
現在開始構建正則系統:
定義微正則系統:一種(x, y)的排列組合的樣本
定義巨正則系統:一個分類k下,擁有Nk個微正則系統以及Uk內能
在沒有任何先驗知識的情況下,所有微正則系統出現的概率相等,既都為 p(x, y) = 1/Ωsys,這樣是最公平沒有偏見的做法。
對於分類問題而言,我們並不關心p(x, y),而是關心p(y|x) 。所以一個巨正則系統下的微正則系統個數,正比於它的概率。$p{}_{k}\propto {{\Omega }_{k}}$
同時需要使系統的熵最大化,既最大化${{k}_{b}}\ln {\Omega}_{sys}$,等價於最大化${\Omega}_{sys} \text{=}\prod\limits_{\text{k}}{{{\Omega }_{k}}}$
因為熵${S}_{k}$與微正則數${\Omega}_{k}$在公式上的關聯,以及溫度將熵變與能量變${{\text{T}}_{\text{k}}}\text{=}\frac{\text{d}{{\text{U}}_{\text{k}}}}{\text{d}{{\text{S}}_{\text{k}}}}$關聯了起來,所以可以將一個體系的微正則數與它的能量關聯:
${{\Omega }_{k}}={\Omega}({{E}_{k}})$
將體系的划分考慮為某個分類k,以及其他分類,可得:
${{\Omega }_{\text{sys}}}\text{=}\Omega ({{E}_{k}})\Omega ({{U}_{sys}}-{{E}_{k}})$
該式描述了整個封閉系統sys的微正則數與系統內某個巨正則體系k的微正則數的關系。只有這樣的關系才能滿足所有巨正則體系能量之和等於封閉系統的能量,同時巨正則體系的熵之和等於封閉系統的熵。
熱力學第二定律最大化封閉系統的熵,得到:
$\frac{\partial {{\Omega }_{sys}}}{\partial {{E}_{k}}}=0=\frac{\partial }{\partial {{E}_{1}}}\left( {{\Omega }_{1}}{{\Omega }_{2}} \right)={{\Omega }_{2}}\frac{\partial {{\Omega }_{1}}}{\partial {{E}_{1}}}+{{\Omega }_{1}}\frac{\partial {{E}_{2}}}{\partial {{E}_{1}}}\frac{\partial {{\Omega }_{2}}}{\partial {{E}_{2}}}$
其中
${{E}_{1}}={{E}_{k}}$ ,${{E}_{2}}={{U}_{\text{sys}}}-E_{k}^{{}}$ ,$\frac{\partial {{E}_{2}}}{\partial {{E}_{1}}}=-1$
所以
$\frac{1}{\Omega ({{\text{E}}_{1}})}\frac{\partial \Omega ({{\text{E}}_{1}})}{\partial {{\text{E}}_{1}}}=\frac{1}{\Omega ({{\text{E}}_{2}})}\frac{\partial \Omega ({{\text{E}}_{2}})}{\partial {{\text{E}}_{2}}}$
左右兩邊相互獨立而相等,所以
\[\frac{1}{\Omega ({{\text{E}}_{k}})}\frac{\partial \Omega ({{\text{E}}_{k}})}{\partial {{\text{E}}_{k}}}=const\text{=}\frac{1}{{{k}_{b}}{{T}_{equi}}}\]
Tequi是熱平衡時(熵最大后穩定態)的溫度,kb是玻爾茲曼常數。
解上面微分函數得:
$\Omega ({{E}_{k}})\propto {{e}^{-{{E}_{k}}/{{k}_{b}}T}}$
構建正則系統時的假設定義了一個體系k出現的概率正比於它的微正則個數,所以歸一化后得到
${{\text{p}}_{k}}\text{=}\frac{1}{Z}{{e}^{-{{E}_{k}}/{{k}_{b}}T}}$
配分函數$\text{Z}=\sum\limits_{k}{{{e}^{-{{E}_{k}}/{{k}_{b}}T}}}$
由此得到玻爾茲曼分布。
可以看出玻爾茲曼分布於softmax的形式基本上一模一樣。除了softmax,機器學習中的受限玻爾茲曼機Restricted Boltzmann Machine也具有類似的數學形式。
實際上兩者都屬於能量模型,下一篇文章將仔細總結能量模型和波爾茨曼分布的關系。