神經網路的叛離:32年前從心理學與生理學分離的瞬間
反向傳播演算法隸屬於深度學習,它在解決模型優化問題的方面有著重要的地位。
這一演算法由被譽為深度學習之父的Geoffrey Hinton提出。1986年,他發表了名為Learning representations by back-propagating errors" (Rumelhart, Hinton & Williams, Nature, 1986) 的論文,到目前為止已有將近16000次的引用,可以說是一篇位於神經網路研究金字塔頂端的論文。
但是,學界對這篇代表反向傳播演算法的論文卻態度褒貶不一。反對的聲音稱,這是一篇有點無聊的論文。
本文作者,谷歌Business Insight團隊的資料科學家,Takashi J OZAKI認為,1986年的那篇論文的意義,並不單單只是提出了反向傳播,更是“神經網路從心理學和生理學分離,轉向機器學習領域的一個重大轉折。”
他將從這篇論文談起,詳細的介紹他對反向傳播演算法的看法。
下文是作者以第一人稱論述反向傳播演算法的意義,Enjoy!
反向傳播簡單結構
前不久,@tmaehara 桑在 Twitter 上這樣說。
完全搞不懂 back propagation 的原論文有什麼創新點… - 原論文感覺就不過用鏈式法則先微分然後加上梯度法而已...
原論文:
http://elderlab.yorku.ca/~elder/teaching/cosc6390psyc6225/readings/hinton%201986.pdf
Learning representations by back-propagating errors" (Rumelhart, Hinton & Williams, Nature, 1986) 這篇論文,在 Google Scholar Citation到目前為止已有將近 16000 次的引用,可以說是神經網路研究金字塔頂端的論文。
它在過去無法進行非線性分割的Rosenblatt的感知機(perceptron)中,匯入了看似有些奇怪的back propagation(反向傳播) 方法,於是讓其變得可進行非線性分割。可以說是一次正規化轉移(根本性突破)的研究。
現在被稱為深度學習的神經網路已完全被反向傳播給佔據了。因此或許可以說,如果沒有這篇論文也就不會有現在的深度學習熱潮了。
換句話說,現在的人工智慧熱潮,正是從30多年前這篇小論文開始的吧。
但是,如果你實際去讀讀這篇論文就會發現,正如 @tmaehara 桑指出來的一樣,這邊論文字身非常無聊。就如很多神經網路教科書裡常有的一樣,輕描淡寫般地,用鏈式法則先微分然後用梯度法優化,就完了。
讀到這裡估計會非常疑惑, “為什麼這篇無聊的論文會佔據金字塔的頂端?”
“Who Invented Backpropagation? (誰發明了反向傳播?)”
Schmidhuber 在批評文中寫到,早在上世紀50年代到60年代,在其他領域就有類似想法被提出,甚至70年代還有FORTRAN語言的演算法實現。而對於這些研究,Rumelhart和Hinton的團隊卻連引用都沒有,沒有給予最基本的敬意。這個指責在一定程度上確實有說服力。
但是,對於從最早的感知機開始到反向傳播,再到深度學習的軌跡,我們必須要意識到的是,那是一個 “和我們現在所考慮的神經網路完全不同的世界”。
從這個角度看的話,就會發現1986年的那篇論文的意義,並不單單只是提出了反向傳播,更是 “神經網路從心理學和生理學分離,轉向機器學習領域的一個重大轉折。” 下面,我就基於自己的讀到的一些知識,簡單解釋一下。
-
過去的神經網路屬於心理學與生理學
-
1986 年 Nature 的論文意味著神經網路從心理學和生理學的分離
-
於是向著 “模式識別” “機器學習” 轉移,後進一步成為深度學習
-
現在神經網路還繼續沿用 “Neural(神經)” 的理由
過去的神經網路屬於心理學與生理學
關於聯結主義,很多年輕人或許並不太知道,過去一提神經網路就會想到心理學家和生理學家的研究,以及 “聯結主義” 的基本理論。讀讀維基百科上聯結主義的詞條也會明白,本來神經網路就是以“模擬人腦的訊號處理”為大前提而建立起來的體系。
它的方法論,有基於認知科學特有的 “人體中(某種程度上的)黑箱化” ,還有用符合心理學的模型來試圖解釋人類大腦功能的性質。簡單來說,這是支撐神經網路的心理學部分。
另一方面,還有以研究與 “人腦” 連線相關的生理方面為基礎的,被稱為 “計算神經科學” 的東西。這個讀讀維基百科也知道,其實就是用符合生理學的模型來試圖解釋人類大腦功能。如果說聯結主義還有神經網路是一種抽象概念性模型的話,那麼可以說計算神經科學是論證人類大腦在多大程度上與神經網路相似(或者不相似)。
本來神經計算學就不僅僅只考慮像神經網路這樣大腦的神經模型,它還研究諸如神經元放電模式代表什麼資訊這樣的 “神經活動解釋” 類的課題,有必要特別指出計算神經科學其實是個很大的領域。簡單來說,這是支撐神經網路的生理學部分。
其實不管是上面哪種情況,都在某種程度上假設了 “神經網路=人腦的模仿” 。在我看來,至少到 2000 年左右,都還有人認為神經網路和人腦的關係是密不可分的。然而神經網路給我的印象是,其源自生理學或心理學,而後再從工程學和電腦科學的視角進行了二次解讀。
於是乎,比如說神經網路原型的感知機,最初就被認為是基於形式神經元的人腦(特別是小腦)學習模型。而且它的構造也和實際的小腦的生理學構造確實挺像,現在都還作為聯結主義和計算神經科學的重要範例之一,被記載在比如維基百科的許多文獻上。
順便一提,現在作為機器學習年度峰會而變得有名的頂級會議 NIPS ,也如它全名 Conference on Neural Information Processing Systems (神經資訊處理系統大會)一般,過去主要是計算神經科學的會議。
比如說看看1990年該會的記錄,絕對是現在完全想象不到的,基本大多都是關於真正人腦的研究。其實我在理研 BSI(理化學研究所—腦科學綜合研究中心)還是菜鳥研究員的時候,實驗室就是以 “神經元放電活動的同步” 為其中一個研究主題,所以我也就對這方面也有些瞭解,於是看 NIPS 當時的記錄發現,剛才說的神經元放電活動的建模論文也都有些。所以可見,過去的神經網路就是如此帶有“ 濃濃心理學(認知科學)和生理學味” 的東西。
於是不可避免的,過去在研究神經網路時,總會想 “不管是什麼樣的新方法,一定也要遵循心理學或生理學” ,而這無形中形成了一種制約。
當然,這只是我個人的一些推測。但實際上,我還是神經科學領域菜鳥研究員的時候也有這種心理,在讀各種關於人認知機能的計算理論模型論文時,會邊讀邊腦補上 “嗯嗯,這篇論文有生理學的依據,所以很可靠。” 就連視覺神經科學研究的大佬 Zeki 也在其寫的經典大作《A Vsion of the Brain》中嚴厲批評, “David Marr 的視覺資訊處理模型沒有什麼生理學依據,所以沒啥用。” 由此也可見當時對生理學根據有無的重視。
此外,如果讀讀我年輕時這方面的經典著作《脳の計算理論 (腦的計算理論)》,就能深刻體會到當時的氛圍。不過這本書已經絕版了,很難入手。
1986 年 Nature 的論文意味著神經網路從心理學和生理學的分離
在這樣一個神經網路和心理學還有生理學不可分的時候,正是開頭提到的那篇1986年的Nature論文橫空出現,將神經網路從中拉了出來。
如果對神經科學有些瞭解的人,可能知道就連神經科學中,關於對等反向傳播的 “大腦皮質內從高階區域向低階區域的反饋訊號” 意義的討論本身,其實也是2000年前後沒那麼久之前的事情了。從2000年再往前推14年的話,說不定議論反向傳播人們只會把你當成怪人。
於是這樣,在 “這東西不管怎麼看也找不到什麼生理學的依據” 的情況下提出反向傳播,對生理學根據基本無視,提出具有正規化轉移的反向傳播機制,還有配套的梯度法進行最優化,並向大家展示了其強大的實用性。這,才是我個人認為1986年 Nature 論文最大的意義。
在最後結論部分,Nature 論文給出了這樣的總結:
這樣的學習方法,似乎並不是大腦學習的一種合理模型。然而,將這個方法應用在各種各樣的任務上後顯示,通過權重空間的梯度下降,可以構建出很有趣的內部表徵。這表明,很值得在神經網路中找出更有生理可行性的方法來進行梯度下降。
這裡直接坦言“雖然反向傳播沒有生理學依據,但很有用”。從另一個角度來看的話,說不定這就是神經網路從不得不有心理學或生理學證據的枷鎖中,掙脫的第一步呢。
而且提出這樣重要觀點的,還不是像應用數學或計算機工程學這樣的 “外人” ,而是聯結主義中支柱般存在的 Rumelhart 和 Hinton 二人,這樣看來無疑意義更加偉大。並且,雖然Hinton老師現在被認為是深度學習的三始祖之一,還是神經網路和機器學習的大牛,但看看維基百科的話就會發現,他本來其實是認知心理學家(Rumelhart 也一樣)。
當然,並不是說這之後神經網路就完全和心理學生理學分離了,至少看文獻的話大概在2000年之前,仍被納入聯結主義中去。但是,根據已明確表示出來的,神經網路不一定要依賴心理學和生理學的趨勢,未來將會更徹底從心理學生理學還有聯結主義中分離出來吧。
向著“模式識別” “機器學習”轉移,之後進一步成為深度學習
我本科雖然是電腦科學的學生,但在1999年時卻記得 “機器學習” 這個詞並不常見。用的更多的是 “模式識別” 這個詞。作為參考,看了看維基百科“Pattern recognition”的詞條,發現引用裡面果然大部分都是在2000年前後,和我當時的印象一致。
順便一提,這是我本科時上課用到的經典教科書(《好懂的模式識別》)。現在看來似乎這本書的續篇更加有名,但這本書還是將模式識別基本的東西都提到了,是本挺好的入門書。
這本書當然也提到了神經網路和反向傳播。此外,過去神經科學等教科書上提到神經網路時,一定會提到從小腦與感知機的異同到神經網路的各種歷史,而這本書卻沒對這方面花太大篇幅。
此外,就如其他各種有名教科書一樣,反而是以如何基於鏈式法則匯出反向傳播,還有如何實現它為主來說明。順便一提,我最初開始資料科學家的工作時,就是從書架上抽出這本書,一邊看著梯度法的公式,一邊從零實現反向傳播演算法。
正如2000年左右,神經網路已被看做脫離了心理學和生理學範疇的 “模式識別” 的一種。之後和 “機器學習” 的成功一起被看做是統計學習模型的一種,再然後是2006年Hinton老師的Science論文,還有就是通過2012年的ImageNetChallenge,神經網路和它的終極形態深度學習,慢慢以機器學習王者的姿態穩居寶座之上。
現在的神經網路研究,有著各種奇思妙想的網路模型層出不窮 “我想出來的網路才是最好的” 亂況,還有不斷引入最先端的最優化解法,和利用過去完全想象不到的超大規模並行處理執行的進步,此外也有單作為數學理論分析物件和作為發現新物體性質的應用研究手段等等。神經網路簡直慢慢成了將工程學和電腦科學各流派精粹集中在一起的天下第一武道大會。
順帶一提,維基百科日文版的 “神經網路” 詞條中,也有類似的描述。
Neural Network(神經網路,縮寫:NN)是一種數學模型,旨在通過計算機模擬表達腦功能中的一些特徵。雖然研究起源於對生物體大腦的建模,但由於對神經科學看法的改變,逐漸與大腦模型的差異變得顯著。為了區分於生物學和神經科學上的神經網路,所以也稱為人工神經網路。
人工神經網路(ANN)或聯結主義系統,是大致由構成動物大腦的生物神經網路啟發的計算系統,人工神經網路最初的目的是想像人腦一樣解決問題。但隨著時間的推移,注意力重點開始轉移到了執行特定任務上去,導致了從生物學的偏離。
這裡明確表達了類似 “神經網路已經脫離了人腦本身” 的看法。距離1986年的Nature論文過去32年,神經網路現在已慢慢遠離聯結主義的起源,開始成為了大家公認的機器學習王者。
雖然開頭那句話已說了很多遍了,但是還是要重複一遍:“產生了讓神經網路從心理學和生理學分離,並向著機器學習方向轉移的契機”,才是1986年那篇 Nature 論文的最大意義。這便是我翻閱神經網路歷史後得出的感想。
現在神經網路還繼續沿用“神經”的理由
順帶一提,過去作為討論神經資訊處理頂級會議的 NIPS,維基百科英文版最近的描述也已發生巨大的轉變。
該會議在2016年有5,000名註冊參與者,2017年有8,000名,使其成為人工智慧領域最大的會議。除了機器學習和神經科學,NIPS 涉及的其他領域包括認知科學,心理學,計算機視覺,統計語言學和資訊理論。
雖然NIPS首字母縮寫中的 “神經” 已成為一種歷史殘留物,但自2012年後深度學習的復興,加上高速計算機和大資料的推動,在語音識別,影象物體識別,語言翻譯等領域取得驚人的成果。
上面毫不客氣地直接寫到“NIPS 首字母縮寫中的 “神經” 已成了一種歷史殘留物”。其實2013年去太浩湖參加那年的 NIPS 時,雖然其中還有部分關於神經活動訊號資料分析的研究,好像“神經”尚還健在,但更多還是與深度學習相關的研究。
此後就變得更加多了。
在圍棋中的世界冠軍級表現,是基於靈感來自視覺皮層(ConvNet)的層次結構的神經網路架構,和受基礎神經節啟發(時間差分學習)的強化學習。
還有“儘管如此,受大腦啟發的神經網路(和其綜合運用)還是有很大的應用可能性”,我同意這一點。 而且我還認為正因為這點,即使在已不把模仿人腦當做目標的現在,神經網路還繼續沿用 “神經” 這個詞。
最後
關於2000年以前的情況,大都是從我碰巧同時學過的神經科學和電腦科學的經驗,還有各種文獻中參考而得出來的。當然我自身並沒有在那個時代去體驗這些。如果在文章中關於事件關係還有解釋中發現錯誤的話,非常高興你能指出來m(_ _)m。
引用
*1:無論その後のHinton先生の2006年のScience論文や2012年のImageNetChallengeも不可欠だと思いますが
*2:ただし書籍の中には手放してもう手元にないものもかなりある汗
*3:ただしこの記事は微妙に悪意ある記述が目立つので取扱注意
*4:小脳パーセプトロン理論は35歳で夭折した天才David Marrが提唱したということもあって、現在でも有名なサクセスストーリーとして語られることが多いようです
*5:例えばこの辺など https://papers.nips.cc/paper/421-analog-computation-at-a-critical-point-a-novel-function-for-neuronal-oscillations.pdf
*6:確か2と1/2次元スケッチモデルのこと
*7:特に各種感覚野など階層的構造を持つことが知られている部位の機能的神経解剖學
*8:Lamme and Roelfsema (Trends Neurosci., 2000)は卒論生當時繰り返し読んだものです http://www.kylemathewson.com/wp-content/uploads/2010/03/LammeRoelfsema-2000-TiN-Reentrant-Vision.pdf
*9:例えば「皮質內領野間におけるニューロン活動と階層間でのフィードバック投射の関係」に関する総説論文はどれほど遡っても2000年前後までに留まる https://www.ncbi.nlm.nih.gov/pubmed/?term=review+%5Bptyp%5D+feedback+%5Bti%5D+neuron+cortex
*10:某勉強會のメインテキストだったので
*11:ただしタイトルに比してわかりやすいという印象はない。。。
*12:あくまでもcoffee breakという挿話のところにMinskyによるパーセプトロン批判とRumelhartによるBP提案という反駁の歴史の話が出てくる程度
*13:例えばVapnik御大が最初にSVMを提案したのが1963年、非線形SVMへの拡張がなされたのが92年なので、実際にはだいぶ以前から工學系分野としての「機械學習」の萌芽は芽生えていた
相關報道:
https://tjo.hatenablog.com/entry/2018/10/23/080000
ofollow,noindex">大資料文摘
秉承“普及資料思維,傳播資料文化,助⼒產業發展”的企業⽂化,我們專注於資料領域的資訊、案例、技術,形成了“媒體+教育+⼈才服務”的良性⽣態,致⼒於打造精準資料科學社群。
理論 神經網路 反向傳播演算法 深度學習 機器學習 模式識別
相關資料
Artificial Intelligence
在學術研究領域,人工智慧通常指能夠感知周圍環境並採取行動以實現最優的可能結果的智慧體(intelligent agent)
來源: Russell, S., & Norvig, P. (2003). Artificial Intelligence: A Modern Approach.
Neural Network
(人工)神經網路是一種起源於 20 世紀 50 年代的監督式機器學習模型,那時候研究者構想了「感知器(perceptron)」的想法。這一領域的研究者通常被稱為「聯結主義者(Connectionist)」,因為這種模型模擬了人腦的功能。神經網路模型通常是通過反向傳播演算法應用梯度下降訓練的。目前神經網路有兩大主要型別,它們都是前饋神經網路:卷積神經網路(CNN)和迴圈神經網路(RNN),其中 RNN 又包含長短期記憶(LSTM)、門控迴圈單元(GRU)等等。深度學習是一種主要應用於神經網路幫助其取得更好結果的技術。儘管神經網路主要用於監督學習,但也有一些為無監督學習設計的變體,比如自動編碼器和生成對抗網路(GAN)。
來源:機器之心
Back-propagation
反向傳播(英語:Backpropagation,縮寫為BP)是“誤差反向傳播”的簡稱,是一種與最優化方法(如梯度下降法)結合使用的,用來訓練人工神經網路的常見方法。該方法計算對網路中所有權重計算損失函式的梯度。這個梯度會反饋給最優化方法,用來更新權值以最小化損失函式。 在神經網路上執行梯度下降法的主要演算法。該演算法會先按前向傳播方式計算(並快取)每個節點的輸出值,然後再按反向傳播遍歷圖的方式計算損失函式值相對於每個引數的偏導數。
來源: 維基百科 sary" target="_blank" rel="nofollow,noindex">Google ML glossary
Computer Vision
計算機視覺(CV)是指機器感知環境的能力。這一技術類別中的經典任務有影象形成、影象處理、影象提取和影象的三維推理。目標識別和麵部識別也是很重要的研究領域。
來源:機器之心
Connectionism
聯結主義是統合了認知心理學、人工智慧和心理哲學領域的一種理論。聯結主義建立了心理或行為現象模型的顯現模型—單純元件的互相連結網路。聯結主義有許多不同的形式,但最常見的形式利用了神經網路模型。
來源: 維基百科
Information theory
資訊理論是在資訊可以量度的基礎上,研究有效地和可靠地傳遞資訊的科學,它涉及資訊量度、資訊特性、資訊傳輸速率、通道容量、干擾對資訊傳輸的影響等方面的知識。通常把上述範圍的資訊理論稱為狹義的資訊理論,又因為它的創始人是夏農,故又稱為夏農資訊理論。
來源:曹雪虹等 資訊理論與編碼(第2版) 清華大學出版社
Machine Learning
機器學習是人工智慧的一個分支,是一門多領域交叉學科,涉及概率論、統計學、逼近論、凸分析、計算複雜性理論等多門學科。機器學習理論主要是設計和分析一些讓計算機可以自動“學習”的演算法。因為學習演算法中涉及了大量的統計學理論,機器學習與推斷統計學聯絡尤為密切,也被稱為統計學習理論。演算法設計方面,機器學習理論關注可以實現的,行之有效的學習演算法。
來源:Mitchell, T. (1997). Machine Learning. McGraw Hill.
neurons
(人工)神經元是一個類比於生物神經元的數學計算模型,是神經網路的基本組成單元。 對於生物神經網路,每個神經元與其他神經元相連,當它“興奮”時會向相連的神經元傳送化學物質,從而改變這些神經元的電位;神經元的“興奮”由其電位決定,當它的電位超過一個“閾值”(threshold)便會被啟用,亦即“興奮”。 目前最常見的神經元模型是基於1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神經元模型”。 在這個模型中,神經元通過帶權重的連線接處理來自n個其他神經元的輸入訊號,其總輸入值將與神經元的閾值進行比較,最後通過“啟用函式”(activation function)產生神經元的輸出。
來源: Overview of Artificial Neural Networks and its Applications. (2018). medium.com.
neuroscience
神經科學,又稱神經生物學,是專門研究神經系統的結構、功能、發育、演化、遺傳學、生物化學、生理學、藥理學及病理學的一門科學。對行為及學習的研究都是神經科學的分支。 對人腦研究是個跨領域的範疇,當中涉及分子層面、細胞層面、神經小組、大型神經系統,如視覺神經系統、腦幹、腦皮層。
來源: 維基百科
object recognition
計算機視覺領域的一個分支,研究物體的識別任務
perceptron
感知器是Frank Rosenblatt在1957年就職於Cornell航空實驗室時所發明的一種人工神經網路。它可以被視為一種最簡單形式的前饋神經網路,是一種二元線性分類器。 Frank Rosenblatt給出了相應的感知機學習演算法,常用的有感知機學習、最小二乘法和梯度下降法。
來源: 維基百科
Signal processing
訊號處理涉及到訊號的分析、合成和修改。訊號被寬泛地定義為傳遞“關於某種現象的行為或屬性的資訊(如聲音、影象和生物測量)”的函式。例如,訊號處理技術用於提高訊號傳輸的保真度、儲存效率和主觀質量,並在測量訊號中強調或檢測感興趣的元件。我們熟悉的語音、影象都可以看做是一種訊號形式。因此,對於語音、影象的增強、降噪、識別等等操作本質上都是訊號處理。
來源: Roland Priemer (1991). Introductory Signal Processing. World Scientific. p. 1. ISBN 9971509199.
Reinforcement learning
強化學習是一種試錯方法,其目標是讓軟體智慧體在特定環境中能夠採取回報最大化的行為。強化學習在馬爾可夫決策過程環境中主要使用的技術是動態規劃(Dynamic Programming)。流行的強化學習方法包括自適應動態規劃(ADP)、時間差分(TD)學習、狀態-動作-回報-狀態-動作(SARSA)演算法、Q 學習、深度強化學習(DQN);其應用包括下棋類遊戲、機器人控制和工作排程等。
來源:機器之心
Speech Recognition
自動語音識別是一種將口頭語音轉換為實時可讀文字的技術。自動語音識別也稱為語音識別(Speech Recognition)或計算機語音識別(Computer Speech Recognition)。自動語音識別是一個多學科交叉的領域,它與聲學、語音學、語言學、數字訊號處理理論、資訊理論、電腦科學等眾多學科緊密相連。由於語音訊號的多樣性和複雜性,目前的語音識別系統只能在一定的限制條件下獲得滿意的效能,或者說只能應用於某些特定的場合。自動語音識別在人工智慧領域佔據著極其重要的位置。
Weight
線性模型中特徵的係數,或深度網路中的邊。訓練線性模型的目標是確定每個特徵的理想權重。如果權重為 0,則相應的特徵對模型來說沒有任何貢獻。
來源:Google AI Glossary
Deep learning
深度學習(deep learning)是機器學習的分支,是一種試圖使用包含複雜結構或由多重非線性變換構成的多個處理層對資料進行高層抽象的演算法。 深度學習是機器學習中一種基於對資料進行表徵學習的演算法,至今已有數種深度學習框架,如卷積神經網路和深度置信網路和遞迴神經網路等已被應用在計算機視覺、語音識別、自然語言處理、音訊識別與生物資訊學等領域並獲取了極好的效果。
來源: LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. nature, 521(7553), 436.
Pattern Recognition
模式識別(英語:Pattern recognition),就是通過計算機用數學技術方法來研究模式的自動處理和判讀。 我們把環境與客體統稱為“模式”。 隨著計算機技術的發展,人類有可能研究複雜的資訊處理過程。 資訊處理過程的一個重要形式是生命體對環境及客體的識別。其概念與資料探勘、機器學習類似。
來源: 維基百科