摘要:基於這一生物學見解,Ihmehimmeli 項目運用不同的架構和學習環境來探索 人工脈衝神經網絡  (Spiking neural network) 可 以如何利用時序動態。在 MNIST 上訓練脈衝網絡時,我們觀察到神經網絡在兩種工作狀態之間自發地切換。

文 / Iulia-Maria Comșa 與 Krzysztof Potempa,  研究工程師, Google Research

神經科學領域的發現持續地啓發和幫助我們建立更有效率的人工神經網絡,以生物有機體的方式處理信息。最近,這些網絡在棋盤和 視頻遊戲 乃至 視頻細粒度理解 等領域均取得巨大的成功。然而,生物大腦中還有一個基本方向人工神經網絡尚未充分利用:信息的時序編碼。保留時序信息有助於更好地表示動態特徵,例如聲音,並能夠對隨時可能發生的事件作出快速反應。此外,儘管生物系統可以由數十億個神經元所組成,但信息可以由單個神經元所發射的單個信號(“脈衝”)攜帶,(單個細胞)帶有被編碼至時序信號中的信息。

  • 視頻遊戲
    https://ai.googleblog.com/2019/06/introducing-google-research-football.html

  • 視頻細粒度理解
    https://ai.googleblog.com/2019/08/video-understanding-using-temporal.html

基於這一生物學見解,Ihmehimmeli 項目運用不同的架構和學習環境來探索 人工脈衝神經網絡  (Spiking neural network) 可 以如何利用時序動態。“Ihmehimmeli”是芬蘭語中帶有玩笑含義的一個詞,指的是讓人很難搞懂用途或用法的複雜工具或機械。這個詞能夠很好地體現我們的目標,即,使用含時序編碼的信息構造複雜遞歸神經網絡架構。我們使用含時序編碼方案的人工脈衝網絡。在此網絡中,吸引人注意的信息(例如較大的聲音或明亮的顏色)會更早地產生神經元脈衝。在信息處理層次結構中,最先出現脈衝的神經元獲勝。這樣的編碼可以自然地實現一種分類方案:輸入特徵被自然地編碼在相應輸入神經元的脈衝時序內,而輸出則由最早出現脈衝的輸出神經元進行編碼。

  • 人工脈衝神經網絡
    https://en.wikipedia.org/wiki/Spiking_neural_network

手捧 Himmeli  的 Ihmehimmeli 項目團隊,這個符號代表他們的目標是打造含信息時序編碼的遞歸神經網絡架構

我們最近 發佈公開 了一個模型的源代碼,在這個模型中,我們展示了使用時序編碼的全連接脈衝網絡的計算能力。我們的模型所使 用的突觸傳遞函數 (synaptic transfer function) 借鑑自一種生物模型。即 ,作爲對傳入信號的反應,神經元細胞膜上的電勢會急劇上升並在隨後減弱,隨之出現神經脈衝(也被稱爲“神經衝動”)。

  • Himmeli
    https://finland.fi/christmas/the-original-finnish-christmas-ornament/

  • 模型開源 https://github.com/google/ihmehimmeli

神經元細胞膜上的電勢急劇上升隨後下降 來源:維基百科

關聯信號變化的強度由代表突觸效率的連接 權重 控制。關鍵在於,這個公式可以精確獲得突觸後脈衝時間關於突觸前脈衝時間和權重的導數。訓練該網絡的過程包括調整神經元之間的權重,進而調整整個網絡中的脈衝時間。就像傳統的人工神經網絡一樣,通過反向傳播來實現。我們採用同步脈衝,其時序也是通過反向傳播來學習,以便爲網絡提供時序參考。

我們把特徵編碼到時序之後對該模型進行基於傳統基準的訓練。結果表明,脈衝網絡已成功學會解決 噪聲布爾邏輯問題 (noisy Boolean logic problems),並在 MNIST 上實現 97.96% 的準確度,這一結果可與相同架構的傳統全連接網絡相媲美。然而,有別於傳統網絡,我們的脈衝網絡所用的編碼在生物學上更爲合理,能夠更高效計算,且準確度僅有小幅下降。這點將在下文詳述。

  • MNIST

    http://yann.lecun.com/exdb/mnist/

在 MNIST 上訓練脈衝網絡時,我們觀察到神經網絡在兩種工作狀態之間自發地切換。在訓練早期,該網絡表現出一種緩慢而高度準確的狀態,在神經網絡做出決策時,幾乎所有神經元都觸發過。而到了訓練後期,該網絡自發地切換到高速但準確度略有降低的狀態。這種行爲十分有趣,因爲我們並沒有特意地進行如此優化。因此,某種意義上可以認爲脈衝網絡既可以“深思熟慮”,也可以“當機立斷”。正如人類在決策速度與準確度之間的權衡。

上方:對 MNIST 數字進行分類的低速網絡(“深思熟慮型”)

下方:對同一個數字進行分類的快速網絡(“當機立斷型”)

這些圖顯示各層中各個神經元的脈衝時間光柵圖,其中,同步脈衝顯示爲橙色。在本例中,兩個網絡都可以正確地將該數字分類;總體而言,“低速”網絡比“高速”網絡有更好的準確度。

我們還可以重建脈衝神經網絡已習得的數字。方法是輸入空白圖像並逐漸調整,使得目標輸出神經元的響應最大化。這表明,該網絡像人類一樣習得數字的抽象表示,而不是機械地學習可能的像素組合。模型的可解釋性非常重要,既體現在理解網絡的實際學習情況,也體現在避免輸入的微小擾動導致結果大幅波動。

網絡如何“想象”數字 0、1、3 和 7

這項研究僅是 Ihmehimmeli 項目初步探索中的一個小示例。Ihmehimmeli 項目仍繼續從生物學獲取靈感並探索基於時序的計算潛力。在其他正在進行的實驗中,我們訓練含時序編碼的脈衝神經網絡,以控制虛擬環境中人造昆蟲的行進路線,或者從神經系統的發展中獲得靈感來訓練二維脈衝網格,以利用軸突生長來預測單詞。我們的目標是增加我們對自然智能進化機制的瞭解,以便探索具有不同內部狀態和狀態轉移的基於時序的人工神經網絡。

致謝

本文所述的作品由 Iulia Comsa、Krzysztof Potempa、Luca Versari、Thomas Fischbacher、Andrea Gesmundo 和 Jyrki Alakuijala 創作。我們非常感謝 Google 的同事們對這項工作的所有探討和反饋。

相關文章