­

感知機搞不定邏輯XOR?Science新研究表示人腦單個神經元就能做到

  • 2020 年 2 月 12 日
  • 筆記

機器之心報道

參與:思源、張倩

長期以來,人們一直認為,要讓神經網路解決「異或」問題就必須構造多層感知機,單個神經元是做不到的,這一認知使得神經網路的研究第一次進入寒冬。但最近的一項 Science 研究發現,人類大腦中的單個神經元就能解決異或問題,這一發現推翻了人們之前對於生物神經元計算方式的認知。

人腦這種高效計算方式,也許能為人工神經網路的設計提供新的啟發。目前,該研究已經登上《Science》

論文地址:https://science.sciencemag.org/content/367/6473/83

這項研究由德國柏林洪堡大學等機構的研究者共同開展,他們在體外研究了人類大腦皮層第 2 層和第 3 層(L2/3)錐體神經元的樹突。在這些神經元中,他們發現了一種新的動作電位,其波形和對神經元輸出的影響是之前從未見到過的。

那這種動作電位有什麼意義?長期以來,在生物神經元中發現的動作電位使得人們認為,神經元只能用於計算與、或、非等簡單的邏輯線性可分問題,而「異或」等非線性可分問題則需要多個神經元組成的網路來解決。但這種動作電位的發現表明,單個人類神經元的樹突就能夠對線性不可分的輸入進行分類,也就是說,單個神經元也能進行異或運算,而不是像之前人們所認為的需要多層神經網路。

這篇論文發出後引發了廣泛的關注。紐約大學心理學和神經科學教授 Gary marcus 評論道,「這是一項重大研究,而且可能只是冰山一角;單個神經元的能力可能超出我們的想像。即使像這樣一個人類特有的神經元新機制都非常具有啟發性。它可能會重塑我們對於『神經啟發』網路的觀點。」

感知機與異或問題

什麼是異或問題

或(or)、與(and)、非(not)三門構建了最基本的邏輯運算,而異或問題(XOR)在機器學習的歷史中起到了重要作用。

相信很多讀者都忘不了最開始學習感知機所遇到的異或問題,想要解決它,最簡單的方法就是加深感知機層數。那麼簡單而言,異或問題指的是,如果輸入的兩個值不相同,則異或結果為真(True,即 1),反之為假(False,即 0)。

不同邏輯運算的輸入與輸出,其中 0 表示 False、1 表示 True。例如異或問題(XOR),只有在 x 和 y 一個為 True 一個為 False,它的輸出才會為 True。

這樣看起來,XOR 似乎與其它邏輯運算沒有什麼區別?那麼為什麼感知機能解決或、與、非,就是處理不了異或?

初生的感知機

在最初的時候,我們發現生物神經元都是彼此連接在一起的,當其它神經元向當前神經元傳遞化學物質,它的電位就會發生變化,直到達到閾值就會變得「興奮」,並開始向周圍神經元傳遞化學物質。1943 年,McCulloch 與 Pitts 等研究者將這種生物過程抽象出來,構建出了現在最常用的「M-P 神經元模型」。

我們非常熟悉的「M-P 神經元模型」。

當由多個神經元組成的感知機提出以後,研究者們都非常興奮,認為它是一種模擬智慧的良好基礎。三個最基本的邏輯運算或、與、非都能通過調整權重 W 得到解決,這也側面證明其基礎擬合能力的優勢。

1969 年 Minsky 等研究者證明,如果兩種模式是線性可分的,即存在一個線性超平面將兩個類別區分開,那麼單層感知機的學習過程一定是可以收斂的。

但問題在於 XOR 這樣簡單的非線性可分問題,單層感知機是解決不了的。回憶一下前面邏輯運算表的內容,當輸入 x_1 與輸入 x_2 是不同邏輯運算符,輸出為 True。如果 x_1 與 x_2 分別是橫軸與豎軸,那麼就可以表述為正方形的四個頂點,相對的頂點是相同的類別(True 或 False)。

這樣的分類我們找不到一條直線切分開,因此感知機也就解決不了了。當時研究者認為,這個問題可以通過加深感知機,構建多層感知機來解決。

能解決異或問題的兩層感知機,選自《機器學習》,周志華。

這種單層神經元不能解決異或問題,需要多層才能解決的觀念一直根植於機器學習研究者的腦海中。目前深度神經網路很多都將「M-P 神經元模型」作為基礎,它的能力直接影響整個網路的表達能力。如果說底層神經元能得到生物神經元的啟發,那麼是不是能構建更強的模型?

這是能解決異或問題的神經元

這篇 Science 論文表示,他們在人類大腦中發現了一種樹突動作電位(dCaAPs),它的動作電位比較奇特,能依靠神經元樹突處理簡單的線性不可分問題。這是之前認為單個生物神經元不能解決的問題,也是人工神經元不能解決的問題。

研究者表示,人類在進化中會導致大腦皮層的加厚,並且加厚最多的是第二層與第三層(L2/3)。因此 L2/3 的皮質神經元構成了大型且精緻的樹突樹,這些樹突的性質在很大程度上決定了輸入到輸出動作電位(APs)的轉換。因此,它們構成了神經元計算能力的關鍵要素。

通過一系列複雜且看不懂的實驗(感興趣的讀者可查閱 Science 原論文),研究者們發現人類皮層錐體神經元中的 L2 / 3 樹突比嚙齒動物中的同系樹突更容易被激發,在嚙齒類動物中,類似的穩定電流最多只在電壓響應開始時產生單個樹突動作電位。研究者們將這一「奇特」的樹突稱為 Ca2 + AP(dCaAP)。

dCaAP 的波形是定型的,很容易與 bAP 的波形區分開。dCaAP 通常比 bAP 寬,它們緩慢上升,並且在激發時沒有突變。如下圖 ii 所示,相比體細胞動作電位(黑色),dCaAP 激發地更加緩慢。

L2/3 神經元人類樹突中的 bAP 和 dCaAP。

研究者在一系列圖示中展示了 dCaAPs 的各種屬性,包括 dCaAP 的振幅及其上衝程(upstroke)與離體細胞的距離無關等等。如果讀者了解生物的話,也可以看看如下論文圖 1:

不管怎麼說,這種神經元是能夠解決異或問題的,在研究者的實驗中,dCaAP 影響了細胞的輸入輸出轉換。通常,體細胞產生動作電位會隨著輸入電流強度的增加而增加,但研究者紀錄的 dCaAP 正好相反,增加樹突狀(而非體細胞)電流注入的強度導致體細胞放電減少。

例如,在圖 2 中的 A 和 B,樹突狀電極在電流接近閾值的情況下誘發了一個或兩個體細胞 AP,但未能激發更高電流強度的 AP。相反,在相同細胞的體細胞中,AP 輸出隨輸入強度的增加而增加(圖 2C)。這些結果可以通過 dCaAP 的異常活性來解釋,樹突狀電極誘發的 dCaAP 觸發了閾值附近的體細胞 AP,但被刺激強度的進一步增加所抑制(圖 2B)。

研究者在 NEURON 模擬環境中,對 L2 / 3 錐體神經元形態進行了數字重建和建模(圖 3A)。為了模擬兩種不同的輸入類型,即 X 和 Y,研究者為每個輸入(或 Pathway)使用了 25 個興奮性突觸(圖 3A),目標是頂樹突的一個子區域(圖 3A 中的藍色和紅色點)。這些輸入中的每一個都能夠獨自觸發 dCaAP(圖 3 B 和 C)。研究者的模擬實驗表明,激發和抑制之間的精確平衡對於 dCaAP 的產生至關重要。

此外,在模擬模擬環境中,研究者發現,dCaAP 的激活功能使它們能夠通過在輸入高於最佳強度時抑制 dCaAP 的幅度來有效地計算 XOR 運算。這個發現打破了長期以來,我們認為樹突輸入與軸突輸出只能實現 AND 與 OR 這樣的簡單邏輯運算的固有認知。

因此研究者設計了一個模型,它將 L2 / 3 神經元的體細胞和樹突描繪為具有耦合邏輯運算元,以及相應激活函數的網路(圖 3,F 與 G)。在該模型中,研究者對具有 dCaAP 的樹突進行 XOR 運算,而對其它常規樹突執行 AND / OR 運算。這樣的模型提供了構建「人腦功能演算法」的生理基礎,這樣的功能演算法最終會導致大腦皮層網路的複雜行為。

如果生物神經網路會組合不同的基礎運算單元,以提供更加高級和高效地邏輯處理,甚至有的單個神經元就能完成 XOR 這樣簡單地非線性分類。那麼這對機器學習,對深度神經網路又會有哪些影響,這可能是值得討論的問題。

對 ML 社區會產生什麼影響?

這篇論文在 Reddit 的機器學習社區引發了熱烈討論,畢竟,人工神經網路本就是受生物神經網路啟發,生物神經元研究的突破很有可能為人工神經網路的設計提供新的靈感。

有人認為,這篇文章的精妙之處在於,它發現了人類神經元與嚙齒類動物神經元本質上的區別,這種區別不只是算力上的,計算方法也截然不同。

當然,也有人表示對研究結果並不驚訝。ta 認為,生物神經元與人類神經元原本就存在本質上的區別:生物神經元以一定的時間間隔(動作電位)積累輸入脈衝,並以一定的頻率發射脈衝。這樣的機制可以容納更複雜的運算。

對於該研究將對人工神經網路的設計產生何種影響,有人認為,提供靈感是肯定的,但是二者無法相提並論。這項研究只能說明,人工神經元只是由真實神經元建模的一小部分功能。真實的神經元要複雜得多,可能執行比布爾運算更複雜的計算。

持有這種理智看法的不在少數。一部分人認為,提出能夠進行異或運算的激活函數並不難,但真正的難點在於如何構建能夠使用這種激活函數,並在更大的人工神經網路中發揮作用的人工神經元。

但也有人提出了反駁,認為在生物神經元中發現這種機制才是一個真正的轉折。

有關該研究的討論還在繼續。至於它能否變革人工神經網路的設計理念,我們還需拭目以待。

參考鏈接:https://www.reddit.com/r/MachineLearning/comments/ejbwvb/r_single_biological_neuron_can_compute_xor/