海扁學習與神經網路的同步化

Posted By Mr. Thursday

我們的大腦複雜無比,裡面的神經網路錯綜複雜,也因此讓我們能夠表現智慧的行為。現今一些人工智慧 (AI: Artificial Intelligence) 的問題,或許可以透過參考人腦的神經網路,來設計一個可以處理視覺、聽覺、文字等資訊的人工智慧系統。除此之外,如果還能夠像人類一樣,能夠自我調整自我學習,儘量減少人類對系統直接的調整,是最好的了。然而人腦的神經網路,又是如何自我學習、自我調整呢?今天就先和各位分享神經網路調整的兩種方法:海扁學習STDP,並且另外介紹神經網路同步化 (synchronized)和同多步 (polychrnous)的模型,進一步探討可能的神經網路模式,或許對人工智慧自我學習的方法上,也能提供一些參考!

Hebbian Learning

Donald O. Hebb (1904 – 1985) 是一位神經心理學家 (圖1 Donald O. Hebb),他對神經網路最重要的一個貢獻,就是 Hebbian Learning ,在這邊我就暫且先翻譯成 海扁學習法。甚麼是海扁學習法呢?海扁學習是在學習甚麼東西呢?首先,讓我們先回憶一下,我們的大腦裡面,是由許許多多的神經元 (neuron) 所組成,神經元和神經元之間,有著連結,叫做神經鍵結 (synapse)。神經元和神經鍵結整個形成一個網路,可以讓神經訊號到處傳遞,就稱為一個神經網路 (neural network)。

我們外在的行為,就是因為神經網路接受了刺激,處理之後產生了反應。然而從刺激到反應之間訊號如何被處理、被轉換,讓我們的行為表現出有智慧的樣子呢?這就牽涉到神經元之間的連結了,因為某些神經元之間連結一點,某些神經元之間的連結一點,我們就可以針對不同的刺激,產生不同的反應,進而表現出智慧的行為。如果我們再縮小範圍來看整個網路裡面的某兩個神經元,接著我們就要問,這兩個神經元之間的連結強度,要怎樣子變強變弱呢?Hebb就針對這個部分提出他的假設,後來也經由許多實驗資料證實,成為海扁學習法了。

所謂的海扁學習法,就是說如果兩個神經元常常同時產生動作電位,或是說同時激動 (fire),這兩個神經元之間的連結就會變強,反之則變弱。原文引述如下:

Let us assume that the persistence or repetition of a reverberatory activity (or “trace”) tends to induce lasting cellular changes that add to its stability.… When an axon of cell A is near enough to excite a cell B and repeatedly or persistently takes part in firing it, some growth process or metabolic change takes place in one or both cells such that A’s efficiency, as one of the cells firing B, is increased.

根據這個學習法,神經元之間的連結,就根據神經元本身的活動 (firing activities),自行調整連結的強弱,連結的強弱,又回來影響往後神經元接收刺激之後產生的反應,表現在行為上,就產生一種學習的效果。如果舉個例子來說,譬如說「臥冰求鯉」是神經元A,「打雷」是神經元B。臥冰求鯉,和打雷如果常常發生,我們就會把這兩件事情歸類成有某種關聯,即使我們還不知道兩者是甚麼樣子的關聯。

STDP: Spike Timing Dependent Plasticity

在Hebb提出海扁學習法之後,1983年之後由 Henry Markram (圖2 Henry Markram) 從實驗資料中提出一項理論,就是STDP了。STDP英文全名是 Spike Timing Dependent Plasticity,也就是根據神經元活動的「先後順序」,調整神經元之間連結的強弱。STDP 可以說是海扁學習法的一種延伸,海扁學習法提出如果兩個神經元常常一起活動,之間的連結會變強。STDP進一步提出,兩個神經元之間的活動,如果其他神經傳遞的訊息在本身產生活動之前,會加強之間的連結強度。如果神經元本身產生活動之後,才接受到另外一個神經元來的訊號,則會減弱和該神經元連結的強度。

如果延續剛才的例子,如果神經元B本身,用「打雷」來代表。另外一個神經元A用「臥冰求鯉」代表。如果臥冰求鯉之後,突然打雷,我們會說孝心感動天,也就是臥冰求鯉和打雷的連結變強了。如果先打雷,之後才臥冰求鯉,那麼我們可能就不會覺得是孝心感動天了,也就是臥冰求鯉和打雷的連結變弱了。

STDP 影響神經網路的同步性

在 2008年4月的Neuron期刊有一篇paper,是在討論有關STDP對神經網路同步性的影響。首先介紹一下神經網路的同步。所謂同步 (synchronized),就是指神經網路裡面每個神經元,都同時激動 (fire),同時安靜,同時激動,同時安靜。所有的神經元就好像是合為一體一樣,大家一起激動,大家一起安靜。同步化 (synchronized)有哪些特點呢?首先,因為全部的神經元,像是只有一個神經元的活動,因此表現的資訊量變少了。但是另一方面,因為大家的活動都同步了,因此活動的強度變強,在行為上,可以解釋一部分「注意力」(attention)的產生來源。

STDP對神經網路的同步又有哪些影響呢?在Thanos Siapas (圖3 Thanos Siapas)的paper裡面,先提出他們在老鼠睡覺的時候,測量了海馬迴 (hippocampus)區域的神經活動,發現海馬迴會產生同步化的神經活動 (burst)。在同個時候,如果神經元之間又有 STDP 的規則來調整連結的強弱,會發生一個調節的現象。這個現象就是說,一個網路如果非常同步,STDP會產生一個擾亂的力量,讓神經網路往非同步變化。相反地,如果神經網路原來沒有同步,STDP會讓神經網路同步化。paper裡面用一些模擬,來確認這件事情。因此STDP讓神經網路在沒有外界刺激,像是睡覺的時候維持在同步與非同步的臨界點附近。這個預測也和他們在海馬迴 (hippocampus) 的實驗資料吻合,他們也推測這個機制可能是長期記憶從海馬迴,慢慢移動到大腦皮質 (cortex) 的一個過程。

Polychronous 同多步

在上面那篇paper裡面,模擬simulation的神經網路,用了Izhikevich (圖4 Eugene M. Izhikevich)的神經網路模型。一查他的paper,發現2004年Izhikevich提出了同步以外另外一個概念,稱為 Polychronous。Polychronous和同步 (synchronous)類似,唯一的差別在於,polychrnous不是全部的神經元一起激動、一起安靜,而是有一個固定的節奏,第一秒神經元A激動,第3秒神經元B激動,第8秒神經元C激動,以此類推。也就是說,神經元依照一個固定的順序活動,形成一個活動模式 (pattern)。Polychronous怎樣子可以產生呢?Izhikevich在他的神經網路裡面,除了有神經元,神經鍵結的強度,還加上神經鍵結的傳遞時間 (delay)。由於神經元之間訊息傳遞的延遲 (delay),可以造成polychrnous的效果,感覺也有點把神經網路的問題,變成圖論問題的感覺。

結語

圖5 STDP示意圖 圖6 Polychronous示意圖

所以從剛才到現在,我們一一走訪了各種自我學習的理論,包括最早提出的海扁學習 (Hebbian Learning),延伸改良版的STDP (Spike Timing Dependent Plasticity),把神經活動的時間點對鍵結學習的影響考慮進去。之後繼續探討了STDP對於神經網路的同步的影響,也介紹了另一項新的想法,polychronous。這麼多種模型和學習方法,有的是比前一個更加精細的模型,有個則是提供更多學習方式,讓計算神經的研究者可以有更多選擇來模擬人類的神經網路。其實最重要的,是希望能夠粹取神經網路裡面的精髓,可能是一種自我學習的演算法,或是一種會自我調適的網路,希望有一天,可以建造出和人類智力相當的計算機,不管是哪一種應用,對人類的文明進步必定有所幫助!

參考資料

喜歡這篇文章嗎? 分享出去給作者一點鼓勵吧!
  • Jerry2000

    這一篇其實寫得很好
    但是
    海伯法則寫成海”扁”分析法…..Orz
    難免有政治聯想
    哈哈
    相關影片跟描述可以參考
    http://tw.myblog.yahoo.com/johnson-cyc/article?mid=6&next=3&l=f&fid=6

  • Jerry2000

    這一篇其實寫得很好
    但是
    海伯法則寫成海”扁”分析法…..Orz
    難免有政治聯想
    哈哈
    相關影片跟描述可以參考
    http://tw.myblog.yahoo.com/johnson-cyc/article?mid=6&next=3&l=f&fid=6

  • 關於翻譯上的建議:
    智慧 應該是 wisdom 這個字才對,是比 intelligence 層次更高的東西。
    現今的 AI 尚無達到 智慧這個層面。
    intelligence 應翻做「智能 」才符合其實際意義。

  • 關於翻譯上的建議:
    智慧 應該是 wisdom 這個字才對,是比 intelligence 層次更高的東西。
    現今的 AI 尚無達到 智慧這個層面。
    intelligence 應翻做「智能 」才符合其實際意義。

  • 謝謝補充的投影片
    有關人工智慧這個翻譯
    目前可能算是一種慣用法…用人工智慧代表AI
    也許第一個翻譯AI的人希望有一天電腦可以達到智慧吧…?
    不過就字面來說intelligence翻成智能會比較符合原意就是了…
    其他想到的是
    智慧也許人類自己要先學習很久
    才有辦法讓電腦也達到囉
    現在先讓電腦有智能就非常好囉!

  • 謝謝補充的投影片
    有關人工智慧這個翻譯
    目前可能算是一種慣用法…用人工智慧代表AI
    也許第一個翻譯AI的人希望有一天電腦可以達到智慧吧…?
    不過就字面來說intelligence翻成智能會比較符合原意就是了…
    其他想到的是
    智慧也許人類自己要先學習很久
    才有辦法讓電腦也達到囉
    現在先讓電腦有智能就非常好囉!

  • Pingback: 海馬迴與長期記憶 - MMDays()

  • Pingback: 海扁學習與神經網路的同步化()