深度學習與重整化群有什麼關係?

Why Deep Learning Works II: the Renormalization Group


吾.......終於看完這個blog了。我覺得他說得有道理。

其實這個文章並不是解釋所有deep learning和重整群的關係,而介紹了DBN和重整群的關係。不過我覺得這種關係應該是可以推廣其他的深層神經網路上去的。DBN是由一層疊一層的RBM實現的。這個博主試圖解釋的就是為什麼通過疊起一層又一層的RBM,能實現對輸入特徵的降噪和學習。

首先我給你簡單說一下動力系統:

X^{n+1}=f(X^n)

其中 X^n 是系統在第n步的狀態,而 X^0 就是給定的系統初始狀態,方程f是系統狀態轉化的方程。所以我們通過簡單的迭代,就能有這個關係:

X^n=f^n(X^0)

上面的是離散動力系統。連續動力系統的關係可以寫成:

X_t=h(X)

當n趨於正無窮,如果方程f的性質足夠好,那麼我們就可以得到 X^n 會收斂到某個狀態上面去

X^infty=lim_{n	oinfty}f^n(X)

然後,動力系統裡面,critical point的概念,就是存在某個狀態狀態 	ilde{X} ,給定任意初始,如果你某一步的狀態到達了 	ilde{X} ,那麼你就會有

	ilde{X}=f(	ilde{X})

也就是說你的狀態已經到達一個平衡態,永遠不會再變化了。如果f是非線性的方程,那麼這個動力系統一般是無解析解的(例如三體運動,也是一個動力系統,不可解)。只有在f是一個比較特殊的方程,或者初始狀態是一些比較特殊的構型時,動力系統才會有解析解。至於怎麼求解析解,就是文中說的那個RGE方程了(不過數學家解動力系統一般會用viscosity solution或者liouville-arnold定理或者backward reduction)。然後群論告訴我們,我們可以將方程f看做一個運算元,然後我們就得到了一個半群:

{f^n}

但是怎麼將這個半裙的形式寫下來,則很難辦到了。但是如果方程f是一個線性運算元,例如拉普拉斯運算元或者是個矩陣,那麼這個動力系統的解就可以寫成

X=e^{Lt}X_0

其中L是線性矩陣或者線性運算元。這個也就是文中所說的重整化群了。

然後為什麼critical point的性質非常好。例如使用迭代演算法進行聚類(例如K-Mean或者EM),迭代演算法本身就是一個動力系統。如果你能證明你的動力系統能收斂到某個critical point上面去,那麼這個critical point包含了去噪後系統的所有特徵。例如你用迭代演算法進行聚類,當你迭代了足夠多的次數之後,你就能達到將不同的類別分出來的狀態,這個就是等價於去噪後的系統特徵,也說明這個狀態是critical point。

最後就是到DBN。因為DBN是一層一層的RBM疊起來。而每一層的RBM都是用相同的法則,從上一層的RBM訓練出來的,所以廣義來說,所有的RBM就是一個動力系統的演化過程。但是RBM的訓練法則不是一個線性方程,我們沒可能解出這些RBM的演化法則。

所以這裡有一些在動力系統里比較重要的理論來了:1.動力系統在不受擾動的情況下,每一條軌跡都對應一個唯一的能量值或者叫哈密爾頓量(能量面);2.動力系統在受到擾動的情況下,還是會有能量面保留下來的(KAM理論)。然後我們再來看看是怎麼訓練Hidden unit的? 訓練Hidden Unit的方式,就是儘可能地保持hidden layer與input layer的自由能不變(自由能也是一種哈密爾頓量)。所以,即使DBN嚴格來說,每一層RBM的哈密爾頓量不守恆,但也只是受到了微擾,所以DBN基本是一條對應從初始點移動到critical point的路徑。當你到達critical point的時候,所有雜訊都會被過濾掉,只剩下系統的特徵保留了下來。這就是為什麼DBN學習能力這麼好的原因。

BTW,這也是為什麼有些人覺得CNN裡面pooling是多餘的原因。你不用自己pooling,系統也會自動過濾掉雜訊和提取特徵的。而且pooling還可能造成特徵損失,是得不償失的行為。但是可能系統過濾雜訊的速率會非常慢,即使你知道在無限遠處雜訊會被完全過濾到,你是無法到達無窮遠處的,所以pooling有時候還是必要的,這相當於一種trade off了。

個人意見:這是一種很有意思的理論,但還需要證明。首先你要證明深層神經網路對每一層的訓練,只是造成了微擾,讓系統本來的演化路徑都保留下來了。其次,你要證明深層神經網路對應的演化路徑存在critical point。不是所有動力系統的演化路徑都有critical point的。最好的反例就是熱傳導方程:

X=e^{igtriangleup t}X_0

這個方程的平衡態對應的離散形式就是

X=[etadelta_{i,j}-alphadelta_{i-1,j}-alphadelta_{i+1,j}]X

其中 [etadelta_{i,j}-alphadelta_{i-1,j}-alphadelta_{i+1,j}] 這個矩陣,對應的就是RBM,或者說Ising Model的構造矩陣,驚不驚喜,意不意外!

當你將方程定義在 mathbb{R}^n 上的時候,這個方程根本就沒有平衡態。

其實這種想法不是很新鮮了,當年EM演算法的證明,就是用了動力系統,或者文中所說的重整化群。然後EM演算法才被數學廣泛認可的。現在深層神經網路還有很多證明需要解決,很多數學家也在這方面做著研究。我覺得再過10年左右,深層神經網路的理論建立工作大致就能完成了


推薦閱讀:

如何獲得Bengio的《Deep Learning》的pdf版?
怎麼評判卷積神經網路訓練得差不多了?
如何理解卷積神經網路中的權值共享?
深度學習如何優化神經網路結構?

TAG:物理學 | 機器學習 | 深度學習DeepLearning | 重整化理論 |