Hopfield和他的神經網絡

0 目的

  Hopfield神經網絡是個老古董了,它把聯想記憶用物理意義非常直觀的方式表示出來,而且背後蘊藏的思想深遠,稱得上是經典或者說里程碑。經典不會過時,所以我一直在研究,本文是個人理解,帶有偏見,讀者不要盲從。

1 Hopfield本人

  Hopfield比Hinton還要大十幾歲。別看他現在研究神經網絡,Hopfield其實應該算個物理學家,他讀的博士方向是固體物理(凝聚態物理的分支),他爸媽也都是搞物理的,這就解釋了爲什麼Hopfield神經網絡模型跟統計物理中的Ising鐵磁相變模型那麼相似。從論文發表情況看,老爺子很高產,在發表Hopfield神經網絡論文時已經50歲了,之前一直搞物理和化學,不知道爲什麼後來對生物和人工智能感興趣,研究方向突然轉向神經網絡了。不過從物理學的角度研究生物和只能確實會有新的見解。Hinton發表反向傳播算法論文的時候也40歲了,大器晚成,想必他們都是經過了很長時間的思考凝練,跟現在論文大躍進的年代不同。在一次採訪時,Hopfield說對人腦如何產生意識和智能很着迷,他開始從記憶入手,探索如何由部分不完整的輸入信息得到完整的記憶。

John Joseph Hopfield

2 Hopfield神經網絡

2.1 Hopfield網絡的特點

  任何一種神經網絡都可以從兩個方面來分析它,一個是全局的,即神經元之間是如何連接的,或者說網絡的結構是什麼樣的;一個是局部的,即單個神經元是什麼樣的,它有什麼輸入輸出特性。Hopfield網絡也不例外,它具有以下特點:
  1 全局特點:Hopfield神經網絡是個全連接網絡,即網絡中任意兩個神經元之間都有連接,在數學上這叫完全圖(complete graph),如下圖左所示的8個神經元的例子。你可以認爲Hopfield網絡裏的神經元都是社交高手,跟誰都是朋友。當然現在的神經網絡一般都不是這種全連接網絡了,因爲不好訓練,很多連接都被刪掉了,變成了一層一層的形狀。
  2 局部特點:Hopfield神經網絡中的神經元非常原始,與比它更古老的感知機一樣:神經元對輸入線性加權求和之後通過激活函數得到輸出,採用的激活函數就是閾值函數,如下圖右所示。輸出被限制爲離散的兩個值:不是0就是1,這可能也是爲了與Ising模型做類比,最簡單的Ising模型中spin的狀態也是隻有兩種:不是向上就是向下。現在的深度學習模型不再用這麼簡單的離散激活函數,一般用ReLU或者Tanh等連續函數。

  

2.2 與統計物理的關係

  Hopfield網絡是最早被提出具有穩定性的反饋網絡之一,對後來的工作有很大的影響,例如Hinton就受此啓發提出了玻爾茲曼機(聽這名字就知道也是跟物理學有關係)。如果不說是神經網絡,Hopfield模型可以看成一個統計物理模型,描述粒子系統的相變。爲什麼人工智能要和統計物理扯上關係呢?說說筆者的個人看法,其實人工智能是一個尷尬的研究領域,它最早幾乎就是東拼西湊形成的,說的不好聽就是抄的,現在差不多也是。不管反向傳播算法還是神經網絡模型、不管是強化學習還是監督式學習,如果深入分析就會發現,其底層完全是各種數學優化理論、生物學原理、最優控制理論等學科的知識。反向傳播算法是最優控制理論最早提出的,Hebb法則和McCulloch-Pitts神經元模型是從生物學中分析簡化得到的,神經網絡模型是從統計物理學中拿過來的,強化學習中的狀態、值函數等概念更是原封不動從最優控制理論中的動態規劃分支照搬過的。除此以外,人工智能還抄襲了信息論、概率論等很多學科,簡直是個雜交生物,難怪人工智能學科中經常見到物理學概念的身影。
  在瞭解這些背景的前提下,再看Hopfield網絡與物理學的關係就不奇怪了。具體來說,神經網絡就是一個大量簡單神經元相互作用的系統,而統計物理的研究對象也是大量簡單粒子相互作用的系統,二者天然具有一定的相似性,一個領域的研究成果(比如相變、混沌)可以借鑑到另一個領域。除了統計物理以外,想想看早期也沒有哪個學科研究這種複雜系統了,純數學應該不會研究,可能只會研究萬有引力下的三體或者多體運動,純控制理論也不太會研究,因爲那個時候人們連低維的非線性動力系統的行爲還沒搞清楚,更別說神經網絡這種超高維的動力系統。

  Hopfield神經網絡模型與Ising鐵磁相變模型有什麼區別:
  1 Ising模型只考慮近程相互作用,每個spin只與附近一定距離內幾個鄰居有關聯,而Hopfield神經網絡是遠程相互作用,每個神經元跟所有神經元都有關聯,不管距離多麼遠。
  2 Ising模型中spin之間的權重(描述相互影響的大小)是恆定不變的,Hopfield網絡中的權重是根據輸入值並按照Hebb法則確定的。
  3 Ising模型中spin的取值是按照統計物理中的規則進行的,Hopfield網絡中就是簡單的神經元計算方法。

2.3 與前饋神經網絡的區別

  Hopfield神經網絡是個全連接網絡,沒有像前饋網絡中前後層的概念,每個神經元既可以看成輸入也可以看成輸出。所以Hopfield神經網絡也可以看成反饋神經網絡,即輸出又會反饋回輸入,從而形成一個信號環路,這與前饋神經網絡(比如卷積神經網絡)不同,這也是Hopfield神經網絡最大的價值,此前人們研究比較多的是前饋網絡,對反饋網絡瞭解不多,Hopfield網絡是個突破。它們最主要區別就是:反饋神經網絡是動態系統(隨時間變化),而前饋神經網絡是靜態系統(輸出只取決於輸入,跟時間沒關係)。反饋神經網絡是一個動力系統,人們提到動力系統首先關心的就是它的穩定性,因爲一個不穩定的網絡除了崩潰也沒什麼用,所以反饋神經網絡的穩定性是經常被研究的課題。反之,前饋神經網絡就是一個大函數,從輸入到輸出很直接,不存在穩定性的問題,所以不需要研究前饋神經網絡的穩定性。Hopfield神經網絡如此有名就是因爲Hopfield給出了穩定性的證明,系統演化總是向着穩定點前進直到到達穩定點後不再變化。
  筆者認爲Hopfield最大的創新就是利用Lyapunov方法證明了按照Hebb法則設計權重的神經網絡的穩定性,在這以前人們不知道怎麼分析反饋神經網絡的穩定性,Hopfield開了個頭,後人才能蜂擁而上。我猜Hopfield本人可能也沒有意識到自己的工作能引起這麼大的反響,Hopfield後來也在繼續研究神經網絡(老爺子80多了),但是好像沒有能超越Hopfield網絡的工作了。

3 Hopfield神經網絡的幾個例子

  最簡單的反饋神經網絡就是一個神經元組成的網絡,自己的輸出又反饋到自己的輸入,它沒太大意思,我不討論它。稍微複雜一點的是兩個神經元組成的網絡,有一種常見的由兩個神經元組成的生物網絡叫CPG(Central Pattern Generator),因爲它可以輸出週期性的節律信號,所以很有意思。

4 Hopfield關於人腦的觀點

  Hopfield關於人腦的觀點是,人腦就是一個動力系統,具體點說是由巨量神經元組成的網絡型動力系統,一部分神經元的活動引起另一部分神經元的活動,這個方面大家都沒什麼意見。如果將這些神經元看成這整個動力系統的座標,可以將人腦的思維理解成動力系統隨時間的演化過程。動力系統中存在着很多吸引子,而記憶、決策都可以看成是動力系統中的狀態在吸引子作用下的運動。
  Hopfield爲什麼認爲人腦是動力系統?筆者也持這種觀點,首先動力系統自身的狀態和運動極其豐富,足以蘊含像決策、記憶等複雜操作。下面我們仿真幾個很簡單的動力系統,看看它們都蘊藏着哪些豐富多彩的行爲。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章