機器學習是如何巧妙理解我們大腦工作原理的?
作者 許鐵
機器學習對抗複雜系統之神經科學篇
此文改編自Omri Barak教授的論文
機器學習和複雜系統正在諸多領域改變產業界和學術界的傳統方法, 其中一個極好的例子正是給機器學習以巨大啟發的神經科學本身。 我在此用一個鮮活的例子展示這個方法在該領域的神展開。
文章的開頭我想問大家一個問題, 如果你給一隻貓建立一個模型, 那麼最好的方法是什麼? 這個問題很深刻,大家可以邊讀下文邊尋找答案。
神經科學,是一個高度依賴數據的生物學分支, 因為你要理解大腦本來就是用來計算的裝置,你要研究它就首先研究它的輸入和輸出, 然後把它和動物的相應行為聯繫起來。
這個故事的第一部分有關複雜系統, 因為神經系統本質上屬於複雜網路的一種。我們希望通過在電腦上建立一個和大腦神經網路類似的複雜網路,來理解神經細胞數據到行為間的聯繫。 這種努力在8,90年代十分盛行。 比如最早出現的hopefield 網路解釋記憶現象等。
我們給出一個典型的例子:
此處科學家發現猴子可以經過訓練對不同頻率的兩個聲音進行比較(出錯應有懲罰), 這是一個典型的測量短期記憶能力的實驗,如果猴子需要比較兩個聲音, 就要把第一個聲音的信號放在腦子裡,然後和第二個聲音進行比對。能夠綜合不同時間的信息進行決策可以說對生物生存至關重要, 而此實驗即為其基礎。以往神經科學的研究方法可能只是描述這個行為,然後在猴子的腦子裡想法放入電極,測量相應的神經信號是什麼。
例如我們可以看到上圖中測量的神經元放電信號,這個神經元放電的頻率隨著聲音的頻率上升而上升(紅色代表高頻的聲音),因此我們就可以根據這個臆想一個模型出來。 下圖測量的細胞則相反。 你能不能根據這兩個圖設計個模型解釋猴子的行為呢?
還真的行! 我們看到最簡單的物理模型都可以解釋這個現象。 左圖中我們用山谷里的小球來描述這個模型(演算法),這是把整個問題放在極低的維度上方便理解, 整個外界輸入(聲音)可以看成在猴子神經系統上的一個外力, 外力可以看做某種推動力讓猴子的神經元狀態發生定向改變,猶如小球(猴子神經系統的狀態)在一個被外力塑造的山谷里趨向谷底(出現概率最大的狀態,對應物理里能量最低的點),這個谷底的位置就是對第一次信號的記錄(記憶),當外力(f1)消失,山谷的地形發生了變化,但外力並不馬上改變。 當第二信號(f2)來到的時候,地形再次發生改變,此次的信號引起山谷的隆起,導致小球滾向新的谷底(左右各一個), 而小球最終達到的位置這次就不僅與這次的外力有關, 還與之前外力引起的位置高度相關(綜合歷史信息進行決策),這無形中就實現了對兩個信號進行比較(此處即最簡單的圖靈機),而且是用一個簡單的物理系統哦。 那麼如何利用我們剛說到的兩種神經元(和外界信號正比或反比)來實現這個功能迴路呢? 請見右圖,我們甚至可以畫出一個電路圖來解釋這個原理。 正號代表正比神經元, 負號代表反比神經元,E代表一個隨時間變化的控制信號,S2根據E改變電路連接,那麼你可以設計一個帶有記憶功能的減法器來實現它。然而這個方法說到頭是一種類比, 很多真實的神經科學家把這個方法戲稱為toy model, 而對其不屑一顧。 因為你無論說你電腦里的程序行為多麼像大腦, 其實與真實都差距萬里, 而且能夠實現某種功能的演算法也有很多, 你憑什麼說大腦就是按你的臆想工作? 用這種方法的計算神經科學家經常糾結於自己的模型需要多大程度模擬的問題上,就好像有些人說的, 你要給一隻貓建立模型, 最好就是找一隻貓來。
當然有模型還是比沒有模型好很多, 畢竟它給我們點亮了生物世界和數學世界的聯繫。使得一個我們可能理解的數學體系得以建立在繁瑣摸不到體系的生物體系之上, 讓我們能夠通過改變參數空間的方法與之玩耍。
然而模型開始發揮威力的真正時刻是機器學習的介入,傳統的複雜系統方法從此得到革新。為什麼呢?
因為通過機器學習, 我們有了一個強大精確的從數據反推模型的方法 ,而非之前模糊的類比。 機器學習的思路和之前的根本不同在於我不在一開始醉心於設計與真實系統相同的模型, 而是先用與真實模型原理大致相似的標準化模型,去學習真實的輸入和輸出。此處的思維即你不在追求畫出一個活靈活現的貓,而是先做一個四不像的東西, 讓他去學習和貓一模一樣的行為, 當這種行為真實到不可區分, 那你就認為它就是那隻貓。
一旦機器學習開始介入,模型就被賦予了預測性,而被賦予預測性的模型,可以看做在輸入輸出層面與真實系統不可區分, 從而解決了模型複雜度不好設定, 模型難以通過奧卡姆剃刀的缺陷。 機器學習的模型比之前的模型更好的點在於多了cross validation的部分, 你用真實數據得到的模型,不僅要在已知輸入輸出的情況下做到像真貓一樣, 還要在已知輸入未知輸入的情況下像一隻貓, 也就是說它真的要有學習能力, 能夠像真貓一樣不僅可以捉到屋裡牆角的老鼠,還可以捉到田間地頭的老鼠。
用這個方法, 我們的研究框架發生了變化。 我們先要尋找一組具體的輸入輸出作為研究起點。比如要研究視覺區域,你就找到一組貓和狗的照片, 然後輸出需要是正確的分類。然後再進行測試。
與複雜系統模型方法不同的是, 機器學習的方法是一個黑箱操作的思路, 我們首先做一個標準化設備, 然後把大量輸入送到這個標準化設備里, 然後讓標準化系統改變參數得到一組我們想要的輸出。標準化黑箱的好處是訓練得到參數的方法已知因為這往往是一個巨難無比的任務,而與傳統複雜系統模型只追求定性描述的需求不同。
如果上面的問題用機器學習的方法來解決,就變成:
此處的主角是一種標準化的神經網路RNN(循環神經網路), 我們給定在各種情況下的輸入到輸出的映射關係,然後在有監督學習的框架下對網路進行訓練-即調整網路連接權重達到模擬這個輸入和輸出的過程。 而此時我們不需要設計,兩種與實驗相符的神經元(正比,反比如圖左)就會自發浮現出來。也就是說, 機器學習出來的貓完全具備了貓的所有功能,甚至不用我們過度描摹,就長得也有些像貓了(功能和形態的對應?)。我們現在有了一隻會在各種場合抓老鼠的貓, 但我們畢竟不需要一隻機器貓,而是要通過機器貓研究貓的行為,懂得貓是如何通過底層的元件實現功能的,畢竟電子貓比真貓要聽話的多, 也可以任意讓我們解剖,改變參數。 如何做呢? 再次回到複雜系統里的動力學分析:
此處新增添的箭頭是從高維神經網路到位低維動力學系統的。 還記得我們之前說的那個山坡小球的玩具模型嗎? 它的機理很完美然而可惜的是人家並不信服, 此處我們有了再一次伸張正義的機會, 我們取出我們訓練好的能夠與真實系統不可區分的RNN,然後用它進行「逆向工程(reverse engineering)」 ,從中取出一個低維度系統, 看它的工作機理是不是符合我們的猜想。此處應有掌聲,因為這裡我們用到了一個多麼抽象的方法,用真實數據回答了一個幾乎不可能驗證的假設。這裡其實還有一個隱含的信仰,被訓練過的黑箱被認為學習了生物系統的本質。你的RNN做任務做的再好畢竟和真實還是有區別的, 但此處我們已經達到了目前可以做到的極限。這裡涉及到一個相當根本的問題, 就是機器學習的核心即在於通過數據學習得到真實系統的數學表徵,而這種表徵有多大程度接近真實,依然是難以量化和說清的。
通過這種高維RNN到低維動力學系統的映射,我們就得到了一個解釋整個系統運作的更加簡單的示意圖。通過學習, 一個高維混沌系統開始出現定點(fix point),定點含有系統輸入輸出的重要信息。此處是一個簡單的二元分類器,這個分類器工作的原理正是一個動力學裡的鞍點。 對於f1>f2 和 f1<f2 兩種情況,我們得到一個分叉行為(bifurcation), 一個會趨於一個是回答,一個是趨於一個否回答。某種角度,這也是機器學習里連續到離散的分類問題的一個動力學解答。 其中的物理含義與最初我們推倒的那個猜想玩具模型是一致的。
此種我們看到了機器學習和複雜系統你中有我我中有你的纏綿關係。 首先機器學習是一種演算法,而演算法總要有一個物理實現(複雜系統)。 我們先有數據組成的表象世界, 再有演算法組成的符號世界, 最後是抽象的真正解釋世界機理的物理世界。這三種之間表象世界通過機器學習進入符號世界, 而符號世界又才能與物理世界巧妙的相通。 機器學習是橋樑, 複雜系統是靈魂, 而沒有橋樑, 靈魂就是空洞的。
我們可以進一步追問機器學習方法為什麼work,人腦為什麼work,此處真正相通的地方到底是什麼?注意我們反覆在說的低維到高維,與高維到低維的問題, 現實生活中的問題往往是高維到低維的映射,比如信號(高維)-決策(往往二維)過程, 能夠在高維空間里找到低維嵌入, 往往就代表神經網路建立了真實世界的模型, 正是因為這些模型,我們具有「舉一反三」 和「泛化」的能力。 更深刻的, 就不是我這篇文章能涉及的了。
歡迎關注巡洋艦後續機器學習對抗複雜系統實戰系列。
加鐵哥個人微信交流562763765
推薦閱讀:
※傷心情歌可能就是傳說中的「忘情水」
※河豚魚的鮮美與河豚毒素有關嘛?
※神經學從Terraria看沙盒和遊戲設計
※上癮習慣:是時候改變對待上癮的態度了
※為什麼我老是本能地說一些推卸責任的話,這些話沒過大腦,脫口而出,下一秒就想到這句話就是在推卸責任?