機器學習和神經科學:你的大腦也在進行深度學習嗎?

導語

深度學習的靈感起源可能是神經科學,但近年來的發展毫無疑問已經自成一派,(幾乎)與神經科學無關了。機器學習專家們感興趣的是如何進一步優化他們的演算法;神經科學家們則更想知道人腦,而非深度網路們,是如何工作的。

這一 「大腦電路」 圖像同時被計算機學家們和生物學家們兩方面所擯棄——它既不是一副真正的深度網路結構圖,也不能描繪大腦的工作原理。

Konrad Kording 試圖改變這一趨勢,重啟神經科學和機器學習之間的對話。他與 Adam Marblestone (MIT Media Lab) 以及 Greg Wayne (Google Deepmind) 合作的文章《走向深度學習與神經科學的結合》闡述了這一理念,6月存檔於bioRxiv,9月發表於《計算神經科學前沿》。

一些讀者可能看過 神經科學家能理解微處理器嗎?大數據時代神經科學的理論困境,也是介紹 Kording 的作品。如果說上一篇文章提出了一個尖銳的問題——神經科學現有研究手段是否令人滿意——這篇文章或許可以被看作是提出了解決問題的可能途徑之一:採納深度學習中發展出的思想來研究大腦。文章很長,涉及的內容較多,在這裡先只介紹總體思路,許多分支儘管有趣會暫時略過。十分推薦閱讀原文(開放訪問)。

現代機器學習的三個趨勢

作者首先指出現代機器學習的三個特徵:

  • 專註於優化成本函數
  • 近期工作引入複雜的成本函數
    • 這包括空間和時間上不平均的成本函數,以及網路內部產生的成本函數。
  • 機器學習的結構本身也變得越來越多元化
    • 新發展的結構包括記憶單元,「膠囊」,外部記憶,指針和硬編碼的算術指令等。

大腦工作方式的三個假說

指出上面的三個機器學習特徵後,作者提出了三個假說:

  • 假說一:大腦優化成本函數 The Brain Optimizes Cost Functions

  • 假說二:不同腦區在發展的不同時期使用多樣化的成本函數 Cost Functions Are Diverse across Areas and Change over Development
  • 假說三:大腦中的專門系統高效解決關鍵計算問題 Specialized System Allow Efficient Solution of Key Computational Problems

跑題一分鐘,此小節可以跳過

老實說,我6月份看到這裡的感覺是——

好坑爹!

看上去這像是又一篇空洞而無解釋力的腦洞文章:成本函數是一個特別寬泛的概念,為神經系統的活動找到成本函數很平凡。假說二明顯是個補丁嘛!找不到全局成本函數就說是局部的,又怕時間上不穩定就說是發展的結果。。。假說三什麼都沒說啊,腦區專業化分工誰不知道?

就這樣,我把文章丟到一邊。隔了三個月文章居然過了評審,才又下了新版本來看。

這次我先跳到最後看了結論,結果一下子就被吸引住了:

In other words, this framework could be viewed as proposing a kind of 「society」 of cost functions and trainable networks, permitting internal bootstrapping processes reminiscent of the Society of Mind (Minsky, 1988). In this view, intelligence is enabled by many computationally specialized structures, each trained with its own developmentally regulated cost function, where both the structures and the cost functions are themselves optimized by evolution like the hyperparameters in neural networks.

換句話說,這一框架可以被看成是一種由成本函數和可訓練網路所構成的「社會」,從而實現類似於閔斯基在《心靈的社會》中提到的內在自舉過程。在這一觀點中,智能是由許多特別的計算結構所實現的,每一個是由其受控於發展的成本函數所訓練,而結構本身和成本函數都像超參數一樣由進化所優化 。

雖然只不過是換了句話來說,不知怎麼就覺得很符合直覺了。也許是閔斯基的大名加持,不過更可能的是成本函數用生物學家的話來說就是驅動力 (drive),而驅動力的多元化是我最近恰好在思考的一個問題。

跑題結束,歡迎回來

上面是本篇嘴炮文章的唯一一副示意圖。圖 A 是傳統機器學習的典型結構,紅色虛線為成本函數(以誤差的形式輸入網路)。圖 B 則是假想的大腦神經網路,成本函數是根據外部輸入在系統內部計算而得出的。圖 C 中,多個不同腦區分別根據不同的成本函數訓練,並彼此互相影響。

大腦可以優化成本函數 The brain can optimize cost functions

一個試圖統一機器學習與神經系統的理論所遇到的第一個詰難一定是:神經系統怎麼可能實現反向傳播 (backpropagation)???

這是一個首要的問題,作者一口氣寫了八頁紙。其核心思想為

(a) the brain has powerful mechanisms for credit assignment during learning that allow it to optimize global functions in multi-layer networks by adjusting the properties of each neuron to contribute to the global outcome, and that (b) the brain has mechanisms to specify exactly which cost functions it subjects its networks to, i.e., that the cost functions are highly tunable, shaped by evolution and matched to the animals ethological needs. Thus, the brain uses cost functions as a key driving force of its development, much as modern machine learning systems do.

(a) 大腦有足夠強力的機制來解決功勞分配問題。通過改變多層網路中每個神經元的性質,大腦可以優化整體的成本函數。

(b) 大腦有機製為其各網路精確分配不同的成本函數,即,成本函數非常可控,受到進化和動物自身生態需求的調控。

因此,大腦將成本函數作為其發展的決定性驅動力,正如當今的機器學習系統一樣。

全文太 luo 長 li 不 luo 翻 suo,在這裡只提一些看起來有趣的模型。(過於技術化,暫時放到文章末尾)

機器學習啟發的神經科學 Machine Learning Inspired Neuroscience

之所以提出假說,當然是為了指導實踐——是否有可能檢驗「大腦中有多種多樣的成本函數來指導神經迴路的學習」這一假設呢?

1. 通過猜測成本函數可以預測網路的狀態:網路應當處於該成本函數所指定的優化狀態。

2. 對成本函數的優化必然涉及到參數空間的梯度下降。或者說,在梯度下降方向的運動應當多於垂直方向的無意義旋轉。如果可以觀測神經網路中的權重的話(看到這裡我真的笑出聲哈哈哈哈哈哈),應該可以發現權重在進行梯度下降。

3. 根據1,外界干擾將使系統偏離優化狀態。通過改變突觸的權重,我們可以產生一個小的干擾,並預測系統將回歸到同一個優化狀態。這在運動領域已經開始變得可能(通過腦機介面BMI)。

4. 如果我們知道哪些細胞和連接負責傳遞誤差信號,那麼可以通過刺激指定的連接來給系統強加一個用戶定義的成本函數。這將等同於把相關腦迴路當做一個可訓練的深度網路,從而研究其學習。在另一端,也可以通過腦機介面輸入新的信息來研究其行為是否符合優化原則 (Dadarlat et al., 2015)。

5. 通過假想的候選成本函數來訓練人工神經網路,可以和實際腦迴路進行對比來測試假說(這一方法已經被多人應用)

神經科學啟發的機器學習

作者相信大腦是進化所產生的隱態機器學習機制。那麼大腦應該可以高效地優化多種數據下的多種成本函數。事實上,相比於現有的機器學習系統,大腦的硬體十分緩慢(受限於生化反應的速率);而對非線性,不可微分,時間上隨機,基於脈衝的擁有大量反饋連接的系統如何進行優化,我們所知甚少。在系統構架層面,大腦可用的刺激展示次數少,作用於多個不同的時間框架,並採用主動學習。如果大腦果然是機器學習的範例(特別地,如果它的確解決了多層網路的功勞分配問題),那麼我們將學到很多有用的優化演算法。

另一方面,即使大腦並不使用反向傳遞,我們也將學到一種全新的非反向傳遞的技巧。

機器學習領域中已經開始研究如何用網路產生成本函數 (Watter et al., 2015)。通過考察大腦如何在發展過程中逐漸產生和適用不同的成本函數將幫助我們在機器學習中更好地設計成本函數以及層級行為。

機器學習正在發生的結構多元化亦可以從大腦結構的多元化中獲益。

The brain combines a jumble of specialized structures in a way that works. Solving this problem de novo in machine learning promises to be very difficult, making it attractive to be inspired by observations about how the brain does it.

大腦將一堆特殊結構以一種有效的方式組合在一起。在機器學習中重新解決這一問題將會非常困難——這就是為什麼通過觀察大腦如何做到這一點如此有吸引力。

進化將成本函數和優化演算法分開了嗎? Did Evolution Separate Cost Functions from Optimization Algorithms?

深度學習之所以成功,是因為其將機器學習分成了兩個部分:1 一個演算法,反向傳播,用於高效而分散式地進行優化; 2 將任何問題轉換成合適的成本函數的技巧。今天的深度學習,大部分的工作都在尋找更合適的成本函數。

大腦在進化中是否也找到了這一方法呢?作者認為是的:不同的皮層區域可能分享相同的優化演算法(微結構),但接受不同的數據成本函數。事實上,針對制定皮層區域的成本函數可能是作為輸入與數據本身一同傳遞的。

另一種可能則是,在皮層微結構(迴路)中,一部分連接和學習規則決定了優化演算法(固定);另一些則決定成本方程(可變)。這一思路可類比於FPGA (這裡不得不吐槽真是腦洞大開)。

結論

文章的結論部分很有共鳴,這裡大致翻譯如下。

由於大腦的複雜度和多變性,純粹的自下而上的神經數據分析面臨解釋的困難。理論框架可以被用於約束假說空間,從而允許研究者先解決高層的原則和系統結構,再「放大」並解決細節。現有的自上而下的理論框架包括熵最大化,有效編碼,貝葉斯推測的可靠近似,預測誤差的最小化*,吸引子動力學,模塊化,符號運算能力,等等 (Pinker, 1999; Marcus, 2001; Bialek, 2002; Knill and Pouget, 2004; Bialek et al., 2006; Friston, 2010)。許多這類自上而下的理論本質上都是對單一計算結構的單一成本函數的優化。我們將這些假說進行擴展,提出多元化和發展中的成本函數群體,以及多個專業化的子系統

許多神經科學家專註於尋找「神經編碼」,即哪些刺激易於產生指定神經元或腦區的活動。但是如果大腦的確對成本函數進行優化,那麼我們就要注意到簡單的成本函數可以產生複雜的刺激回應。這可能使我們轉向另一類問題。神經科學與機器學習間更加深入的對話可以幫助澄清很多問題。機器學習大部分都專註於更快地進行神經網路中從頭到尾的梯度下降。神經科學可能為機器學習帶來許多層面的啟示。大腦所採用的優化演算法經過了數百萬年的進化。大腦可能找到了使用異質化的在發展中彼此影響的成本函數群體通過引導無監督學習後果來簡化學習的方法。大腦中進化出的各種專門化結構可能提示我們如何提高面臨多種計算問題和跨越多個時間框架時學習系統的效率。通過尋求神經科學提供的洞見,機器學習可能邁向在一個結構異質化,標記數據有限的世界中進行學習的強人工智慧。

在某種意義上我們的假說與流行理論相反。並沒有單一的優化機制,單一的成本函數,單一的表現形式,或者同質化的結構。所有這些異質化的元素由優化內部產生的成本函數這一原則統一在一起。許多早期人工智慧途徑都拒絕單一理論。例如,Minsky 和 Papert 在 《心靈的社會》中的工作,以及更廣泛的,連接主義系統中由遺傳預備和內部自引導的發展理論,強調智能需要一個由內部檢測者和評判者組成的系統,特殊化的交流與存儲機制,以及簡單控制系統的層級化組織。

在這些早期工作進行時,人們還不知道基於梯度的優化可以帶來強大的特徵代表和行為政策。這裡提出的理論可以被看作是針對流行的從頭到尾的優化,重新提出異質化的方法。換句話說,這一框架可以被看成是一種由成本函數和可訓練網路所構成的「社會」,從而實現類似於閔斯基在《心靈的社會》中提到的內在自舉過程。在這一觀點中,智能是由許多特別的計算結構所實現的,每一個是由其受控於發展的成本函數所訓練,而結構本身和成本函數都像超參數一樣由進化所優化 。

---被放到末尾的一些技術細節---

大腦可以優化成本函數 The brain can optimize cost functions

2.1 局部自組織和優化不需要多層功勞分配 Local Self-organization and Optimization without Multi-layer Credit Assignment

Pehlevan and Chklovskii 2015 提出,一類Hebbian可塑性可被看做是提取輸入主成分(PC)的過程,從而最小化重構誤差。

2.2. 優化的生物基礎 Biological Implementation of Optimization

2.2.1. 多層網路需要高效的梯度下降 The Need for Efficient Gradient Descent in Multi-layer Networks

梯度下降的重要性眾所周知,這裡不多談。知乎有一個話題就是專門講梯度下降的。

2.2.2. 梯度下降的生物學近似 Biologically Plausible Approximations of Gradient Descent

大腦中可能用來實現對梯度下降演算法近似的可能機制意外地多。其共同點為利用反饋連接傳播誤差。一個例子是 OReilly 的 XCAL 演算法 (OReilly et al., 2012),通過本地的 Hebbian 學習法則實現了誤差的反向傳播。

實現反向傳播的另一個可能途徑是基於脈衝時間的可塑性 (STDP)。Hinton 就將此闡釋為神經元可以通過脈衝速率的時間導數來編碼反向傳播所需的誤差導數 (Hinton, 2007, 2016)。

還有一種可能的機制則涉及到獨立於前饋連接強度的隨機反饋連接。被稱為「反饋對齊」的模型中,通過突觸正規化和前饋與反饋連接的符號一致性,可以實現幾乎和反向傳播一樣好的誤差計算 (Liao et al., 2015)。

2.2.2.1. 時間功勞分配 Temporal credit assignment:

以上討論中一個重要的未解決問題是時間功勞分配:在反覆網路 (recurrent nets) 中,為了實現「時域反向傳播 (BPTT)」,機器學習使用的方法是把網路在時間中展開 (unroll)。神經系統似乎顯然無法將自己在時間中的活動展開來進行反向傳播。

作者給出了幾個解決思路。其一為通過記憶體來把時間上的功勞分配問題空間化 (例如 Weston et al., 2014)。

另一種方案來自於對反覆網路監督式學習的研究。在 Sussilo and Abbott, 2009 所提出的FORCE 模型中,網路的輸出被鉗在指定目標,同時由網路內部產生的隨機漲落提供反饋信號來更新權重。

2.2.2.2. 脈衝網路 Spiking networks

2.3. 生物學習的其他原則 Other Principles for Biological Learning

很明顯,即使大腦確實採用了近似於反向傳播的優化演算法,也不能排除其他完全不同的演算法。

2.3.1. 利用生物神經基礎 Exploiting Biological Neural Mechanisms

特別地,當我們考察單個神經元的結構就會發現(這些都是老生常談):神經元的樹突可以進行局部運算;神經元包含多個部分 (compartments),每個神經元可以視作一個局部網路;神經元產生動作電位時,反向(向樹突)傳播的電信號更加強烈地傳向最近活動的分支,可能簡化了功勞分配問題(K?rding and K?nig, 2000);等等。

生物神經網路一個重要的特徵是神經調節劑:同一個神經網路根據神經調節狀態的不同,可以被看作是在多個重合的迴路之間進行切換 (Bargmann, 2012; Bargmann and Marder, 2013)。這可能允許不同迴路之間分享習得的權重。

2.3.2. 皮層中的學習 Learning in the Cortical Sheet

皮層的6層結構非常引人注目,有多個學習理論試圖解釋這一不斷重複的結構。通常都認為皮層通過預測進行無監督學習(OReilly et al., 2014b; Brea et al., 2016)。這其中包括了直接將皮層結構對應到貝葉斯推理中信息傳遞的努力(Lee and Mumford, 2003; Dean, 2005; George and Hawkins, 2009),而另一些工作則試圖用學習理論來解釋觀測到的皮層活動。

這些和其他一些關於皮層運作的初步理論都超越了反向傳播。

---

* 這一理論可以參考趙思家的文章:大腦無時無刻不在「預測」世界

原文

Marblestone, A. H., Wayne, G. & Kording, K. P. Toward an Integration of Deep Learning and Neuroscience. Front. Comput. Neurosci.10, 1–61 (2016).

Frontiers | Toward an Integration of Deep Learning and Neuroscience

其他參考文獻

Bargmann, C. I. (2012). Beyond the connectome: how neuromodulators shape neural circuits. Bioessays 34, 458–465. doi: 10.1002/bies.201100185.

Bargmann, C. I., and Marder, E. (2013). From the connectome to brain function. Nat. Methods 10, 483–490. doi: 10.1038/nmeth.2451

Bialek, W. (2002). 「Thinking about the brain,」 in Physics of Bio-Molecules and Cells, Vol. 75, eds F. Flyvbjerg, F. Jülicher, P. Ormos, and F. David (Berlin; Heidelberg: Springer), 485–578.

Bialek, W., De Ruyter Van Steveninck, R., and Tishby, N. (2006). 「Efficient representation as a design principle for neural coding and computation,」 in 2006 IEEE International Symposium on Information Theory, (Los Alamitos: IEEE), 659–663.

Brea, J., Gaál, A. T., Urbanczik, R., and Senn, W. (2016). Prospective coding by spiking neurons. PLoS Comput. Biol. 12:e1005003. doi: 10.1371/journal.pcbi.1005003

Dadarlat, M. C., ODoherty, J. E., and Sabes, P. N. (2015). A learning-based approach to artificial sensory feedback leads to optimal integration.Nat. Neurosci. 18, 138–144. doi: 10.1038/nn.3883

Dean, T. (2005). 「A computational model of the cerebral cortex,」 in Proceedings of the 20th National Conference on Artificial Intelligence(Pittsburg, PA).

Enel, P., Procyk, E., Quilodran, R., and Dominey, P. F. (2016). Reservoir computing properties of neural dynamics in prefrontal cortex. PLoS Comput. Biol. 12:e1004967. doi: 10.1371/journal.pcbi.1004967

Friston, K. (2010). The free-energy principle: a unified brain theory? Nat. Rev. Neurosci. 11, 127–138. doi: 10.1038/nrn2787

George, D., and Hawkins, J. (2009). Towards a mathematical theory of cortical micro-circuits. PLoS Comput. Biol. 5:e1000532. doi: 10.1371/journal.pcbi.1000532

Hinton, G. (2007). 「How to do backpropagation in a brain,」 in Invited Talk at the NIPS2007 Deep Learning Workshop (Vancouver, BC).

Hinton, G. (2016). 「Can the brain do back-propagation?,」 in Invited talk at Stanford University Colloquium on Computer Systems (Stanford, CA).

Knill, D., and Pouget, A. (2004). The Bayesian brain: the role of uncertainty in neural coding and computation. Trends Neurosci. 27, 712–719. doi: 10.1016/j.tins.2004.10.007

K?rding, K., and K?nig, P. (2000). A learning rule for dynamic recruitment and decorrelation. Neural Netw. 13, 1–9. doi: 10.1016/S0893-6080(99)00088-X

Lee, T. S., and Mumford, D. (2003). Hierarchical Bayesian inference in the visual cortex. J. Opt. Soc. Am. A Opt. Image Sci. Vis. 20, 1434–1448. doi: 10.1364/JOSAA.20.001434

Liao, Q., Leibo, J. Z., and Poggio, T. (2015). How important is weight symmetry in backpropagation? arXiv:1510.05067.

Marcus, G. (2001). The Algebraic Mind: Integrating Connectionism and Cognitive Science. Cambridge, MA: MIT Press.

OReilly, R. C., Wyatte, D., and Rohrlich, J. (2014b). Learning through time in the thalamocortical loops. arXiv:1407.3432, 37.

Pehlevan, C., and Chklovskii, D. B. (2015). 「Optimization theory of hebbian/anti-hebbian networks for pca and whitening,」 in 53rd Annual Allerton Conference on Communication, Control, and Computing (Monticello, IL), 1458–1465.

Pinker, S. (1999). How the mind works. Ann. N.Y. Acad. Sci. 882, 119–127.

Sussillo, D., and Abbott, L. (2009). Generating coherent patterns of activity from chaotic neural networks. Neuron 63, 544–557. doi: 10.1016/j.neuron.2009.07.018.

Watter, M., Springenberg, J., Boedecker, J., and Riedmiller, M. (2015). 「Embed to control: a locally linear latent dynamics model for control from raw images,」 in Advances in Neural Information Processing Systems (Montreal, QC), 2728–2736.

Weston, J., Chopra, S., and Bordes, A. (2014). Memory networks. arXiv:1410.3916.


推薦閱讀:

數字串識別:基於位置的硬性注意力機制
線性方程組之一:列向量觀點
lightGBM

TAG:神经科学 | 机器学习 | 深度学习DeepLearning |