反向傳播算法隸屬于深度學(xué)習(xí),它在解決模型優(yōu)化問題的方面有著重要的地位。
這一算法由被譽為深度學(xué)習(xí)之父的Geoffrey Hinton提出。1986年,他發(fā)表了名為Learning representations by back-propagating errors" (Rumelhart, Hinton & Williams, Nature, 1986)的論文,到目前為止已有將近16000次的引用,可以說是一篇位于神經(jīng)網(wǎng)絡(luò)研究金字塔頂端的論文。
但是,學(xué)界對這篇代表反向傳播算法的論文卻態(tài)度褒貶不一。反對的聲音稱,這是一篇有點無聊的論文,。
本文作者,谷歌Business Insight團隊的數(shù)據(jù)科學(xué)家,Takashi J OZAKI認為,1986年的那篇論文的意義,并不單單只是提出了反向傳播,更是“神經(jīng)網(wǎng)絡(luò)從心理學(xué)和生理學(xué)分離,轉(zhuǎn)向機器學(xué)習(xí)領(lǐng)域的一個重大轉(zhuǎn)折。”
他將從這篇論文談起,詳細的介紹他對反向傳播算法的看法。
下文是作者以第一人稱論述反向傳播算法的意義,Enjoy!
反向傳播簡單結(jié)構(gòu)
前不久,@tmaehara 桑在 Twitter 上這樣說。
完全搞不懂 back propagation 的原論文有什么創(chuàng)新點… - 原論文感覺就不過用鏈式法則先微分然后加上梯度法而已...
原論文:
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 次的引用,可以說是神經(jīng)網(wǎng)絡(luò)研究金字塔頂端的論文。
它在過去無法進行非線性分割的Rosenblatt的感知機(perceptron)中,導(dǎo)入了看似有些奇怪的back propagation(反向傳播) 方法,于是讓其變得可進行非線性分割。可以說是一次范式轉(zhuǎn)移(根本性突破)的研究。
現(xiàn)在被稱為深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)已完全被反向傳播給占據(jù)了。因此或許可以說,如果沒有這篇論文也就不會有現(xiàn)在的深度學(xué)習(xí)熱潮了。
換句話說,現(xiàn)在的人工智能熱潮,正是從30多年前這篇小論文開始的吧。
但是,如果你實際去讀讀這篇論文就會發(fā)現(xiàn),正如 @tmaehara 桑指出來的一樣,這邊論文本身非常無聊。就如很多神經(jīng)網(wǎng)絡(luò)教科書里常有的一樣,輕描淡寫般地,用鏈式法則先微分然后用梯度法優(yōu)化,就完了。
讀到這里估計會非常疑惑,“為什么這篇無聊的論文會占據(jù)金字塔的頂端?”
“Who Invented Backpropagation? (誰發(fā)明了反向傳播?)”
Schmidhuber 在批評文中寫到,早在上世紀50年代到60年代,在其他領(lǐng)域就有類似想法被提出,甚至70年代還有FORTRAN語言的算法實現(xiàn)。而對于這些研究,Rumelhart和Hinton的團隊卻連引用都沒有,沒有給予最基本的敬意。這個指責(zé)在一定程度上確實有說服力。
但是,對于從最早的感知機開始到反向傳播,再到深度學(xué)習(xí)的軌跡,我們必須要意識到的是,那是一個“和我們現(xiàn)在所考慮的神經(jīng)網(wǎng)絡(luò)完全不同的世界”。
從這個角度看的話,就會發(fā)現(xiàn)1986年的那篇論文的意義,并不單單只是提出了反向傳播,更是“神經(jīng)網(wǎng)絡(luò)從心理學(xué)和生理學(xué)分離,轉(zhuǎn)向機器學(xué)習(xí)領(lǐng)域的一個重大轉(zhuǎn)折。”下面,我就基于自己的讀到的一些知識,簡單解釋一下。
過去的神經(jīng)網(wǎng)絡(luò)屬于心理學(xué)與生理學(xué)
1986 年 Nature 的論文意味著神經(jīng)網(wǎng)絡(luò)從心理學(xué)和生理學(xué)的分離
于是向著“模式識別” “機器學(xué)習(xí)”轉(zhuǎn)移,后進一步成為深度學(xué)習(xí)
現(xiàn)在神經(jīng)網(wǎng)絡(luò)還繼續(xù)沿用“Neural(神經(jīng))”的理由
過去的神經(jīng)網(wǎng)絡(luò)屬于心理學(xué)與生理學(xué)
關(guān)于聯(lián)結(jié)主義,很多年輕人或許并不太知道,過去一提神經(jīng)網(wǎng)絡(luò)就會想到心理學(xué)家和生理學(xué)家的研究,以及“聯(lián)結(jié)主義”的基本理論。讀讀維基百科上聯(lián)結(jié)主義的詞條也會明白,本來神經(jīng)網(wǎng)絡(luò)就是以“模擬人腦的信號處理”為大前提而建立起來的體系。
它的方法論,有基于認知科學(xué)特有的“人體中(某種程度上的)黑箱化”,還有用符合心理學(xué)的模型來試圖解釋人類大腦功能的性質(zhì)。簡單來說,這是支撐神經(jīng)網(wǎng)絡(luò)的心理學(xué)部分。
另一方面,還有以研究與“人腦”連接相關(guān)的生理方面為基礎(chǔ)的,被稱為“計算神經(jīng)科學(xué)”的東西。這個讀讀維基百科也知道,其實就是用符合生理學(xué)的模型來試圖解釋人類大腦功能。如果說聯(lián)結(jié)主義還有神經(jīng)網(wǎng)絡(luò)是一種抽象概念性模型的話,那么可以說計算神經(jīng)科學(xué)是論證人類大腦在多大程度上與神經(jīng)網(wǎng)絡(luò)相似(或者不相似)。
本來神經(jīng)計算學(xué)就不僅僅只考慮像神經(jīng)網(wǎng)絡(luò)這樣大腦的神經(jīng)模型,它還研究諸如神經(jīng)元放電模式代表什么信息這樣的“神經(jīng)活動解釋”類的課題,有必要特別指出計算神經(jīng)科學(xué)其實是個很大的領(lǐng)域。簡單來說,這是支撐神經(jīng)網(wǎng)絡(luò)的生理學(xué)部分。
其實不管是上面哪種情況,都在某種程度上假設(shè)了“神經(jīng)網(wǎng)絡(luò)=人腦的模仿”。在我看來,至少到 2000 年左右,都還有人認為神經(jīng)網(wǎng)絡(luò)和人腦的關(guān)系是密不可分的。然而神經(jīng)網(wǎng)絡(luò)給我的印象是,其源自生理學(xué)或心理學(xué),而后再從工程學(xué)和計算機科學(xué)的視角進行了二次解讀。
于是乎,比如說神經(jīng)網(wǎng)絡(luò)原型的感知機,最初就被認為是基于形式神經(jīng)元的人腦(特別是小腦)學(xué)習(xí)模型。而且它的構(gòu)造也和實際的小腦的生理學(xué)構(gòu)造確實挺像,現(xiàn)在都還作為聯(lián)結(jié)主義和計算神經(jīng)科學(xué)的重要范例之一,被記載在比如維基百科的許多文獻上。
順便一提,現(xiàn)在作為機器學(xué)習(xí)年度峰會而變得有名的頂級會議 NIPS ,也如它全名 Conference on Neural Information Processing Systems (神經(jīng)信息處理系統(tǒng)大會)一般,過去主要是計算神經(jīng)科學(xué)的會議。
比如說看看1990年該會的記錄,絕對是現(xiàn)在完全想象不到的,基本大多都是關(guān)于真正人腦的研究。其實我在理研 BSI(理化學(xué)研究所—腦科學(xué)綜合研究中心)還是菜鳥研究員的時候,實驗室就是以“神經(jīng)元放電活動的同步”為其中一個研究主題,所以我也就對這方面也有些了解,于是看 NIPS 當時的記錄發(fā)現(xiàn),剛才說的神經(jīng)元放電活動的建模論文也都有些。所以可見,過去的神經(jīng)網(wǎng)絡(luò)就是如此帶有“濃濃心理學(xué)(認知科學(xué))和生理學(xué)味”的東西。
于是不可避免的,過去在研究神經(jīng)網(wǎng)絡(luò)時,總會想“不管是什么樣的新方法,一定也要遵循心理學(xué)或生理學(xué)”,而這無形中形成了一種制約。
當然,這只是我個人的一些推測。但實際上,我還是神經(jīng)科學(xué)領(lǐng)域菜鳥研究員的時候也有這種心理,在讀各種關(guān)于人認知機能的計算理論模型論文時,會邊讀邊腦補上“嗯嗯,這篇論文有生理學(xué)的依據(jù),所以很可靠。”就連視覺神經(jīng)科學(xué)研究的大佬 Zeki 也在其寫的經(jīng)典大作《A Vsion of the Brain》中嚴厲批評,“David Marr 的視覺信息處理模型沒有什么生理學(xué)依據(jù),所以沒啥用。”由此也可見當時對生理學(xué)根據(jù)有無的重視。
此外,如果讀讀我年輕時這方面的經(jīng)典著作《脳の計算理論 (腦的計算理論)》,就能深刻體會到當時的氛圍。不過這本書已經(jīng)絕版了,很難入手。
1986 年 Nature 的論文意味著神經(jīng)網(wǎng)絡(luò)從心理學(xué)和生理學(xué)的分離
在這樣一個神經(jīng)網(wǎng)絡(luò)和心理學(xué)還有生理學(xué)不可分的時候,正是開頭提到的那篇1986年的Nature論文橫空出現(xiàn),將神經(jīng)網(wǎng)絡(luò)從中拉了出來。
如果對神經(jīng)科學(xué)有些了解的人,可能知道就連神經(jīng)科學(xué)中,關(guān)于對等反向傳播的“大腦皮質(zhì)內(nèi)從高階區(qū)域向低階區(qū)域的反饋信號”意義的討論本身,其實也是2000年前后沒那么久之前的事情了。從2000年再往前推14年的話,說不定議論反向傳播人們只會把你當成怪人。
于是這樣,在“這東西不管怎么看也找不到什么生理學(xué)的依據(jù)”的情況下提出反向傳播,對生理學(xué)根據(jù)基本無視,提出具有范式轉(zhuǎn)移的反向傳播機制,還有配套的梯度法進行最優(yōu)化,并向大家展示了其強大的實用性。這,才是我個人認為1986年 Nature 論文最大的意義。
在最后結(jié)論部分,Nature 論文給出了這樣的總結(jié):
這樣的學(xué)習(xí)方法,似乎并不是大腦學(xué)習(xí)的一種合理模型。然而,將這個方法應(yīng)用在各種各樣的任務(wù)上后顯示,通過權(quán)重空間的梯度下降,可以構(gòu)建出很有趣的內(nèi)部表征。這表明,很值得在神經(jīng)網(wǎng)絡(luò)中找出更有生理可行性的方法來進行梯度下降。
這里直接坦言“雖然反向傳播沒有生理學(xué)依據(jù),但很有用”。從另一個角度來看的話,說不定這就是神經(jīng)網(wǎng)絡(luò)從不得不有心理學(xué)或生理學(xué)證據(jù)的枷鎖中,掙脫的第一步呢。
而且提出這樣重要觀點的,還不是像應(yīng)用數(shù)學(xué)或計算機工程學(xué)這樣的“外人”,而是聯(lián)結(jié)主義中支柱般存在的 Rumelhart 和 Hinton 二人,這樣看來無疑意義更加偉大。并且,雖然Hinton老師現(xiàn)在被認為是深度學(xué)習(xí)的三始祖之一,還是神經(jīng)網(wǎng)絡(luò)和機器學(xué)習(xí)的大牛,但看看維基百科的話就會發(fā)現(xiàn),他本來其實是認知心理學(xué)家(Rumelhart 也一樣)。
當然,并不是說這之后神經(jīng)網(wǎng)絡(luò)就完全和心理學(xué)生理學(xué)分離了,至少看文獻的話大概在2000年之前,仍被納入聯(lián)結(jié)主義中去。但是,根據(jù)已明確表示出來的,神經(jīng)網(wǎng)絡(luò)不一定要依賴心理學(xué)和生理學(xué)的趨勢,未來將會更徹底從心理學(xué)生理學(xué)還有聯(lián)結(jié)主義中分離出來吧。
向著“模式識別” “機器學(xué)習(xí)”轉(zhuǎn)移,之后進一步成為深度學(xué)習(xí)
我本科雖然是計算機科學(xué)的學(xué)生,但在1999年時卻記得“機器學(xué)習(xí)”這個詞并不常見。用的更多的是“模式識別”這個詞。作為參考,看了看維基百科“Pattern recognition”的詞條,發(fā)現(xiàn)引用里面果然大部分都是在2000年前后,和我當時的印象一致。
順便一提,這是我本科時上課用到的經(jīng)典教科書(《好懂的模式識別》)。現(xiàn)在看來似乎這本書的續(xù)篇更加有名,但這本書還是將模式識別基本的東西都提到了,是本挺好的入門書。
這本書當然也提到了神經(jīng)網(wǎng)絡(luò)和反向傳播。此外,過去神經(jīng)科學(xué)等教科書上提到神經(jīng)網(wǎng)絡(luò)時,一定會提到從小腦與感知機的異同到神經(jīng)網(wǎng)絡(luò)的各種歷史,而這本書卻沒對這方面花太大篇幅。
此外,就如其他各種有名教科書一樣,反而是以如何基于鏈式法則導(dǎo)出反向傳播,還有如何實現(xiàn)它為主來說明。順便一提,我最初開始數(shù)據(jù)科學(xué)家的工作時,就是從書架上抽出這本書,一邊看著梯度法的公式,一邊從零實現(xiàn)反向傳播算法。
正如2000年左右,神經(jīng)網(wǎng)絡(luò)已被看做脫離了心理學(xué)和生理學(xué)范疇的“模式識別”的一種。之后和“機器學(xué)習(xí)”的成功一起被看做是統(tǒng)計學(xué)習(xí)模型的一種,再然后是2006年Hinton老師的Science論文,還有就是通過2012年的 ImageNet Challenge,神經(jīng)網(wǎng)絡(luò)和它的終極形態(tài)深度學(xué)習(xí),慢慢以機器學(xué)習(xí)王者的姿態(tài)穩(wěn)居寶座之上。
現(xiàn)在的神經(jīng)網(wǎng)絡(luò)研究,有著各種奇思妙想的網(wǎng)絡(luò)模型層出不窮“我想出來的網(wǎng)絡(luò)才是最好的”亂況,還有不斷引入最先端的最優(yōu)化解法,和利用過去完全想象不到的超大規(guī)模并行處理運行的進步,此外也有單作為數(shù)學(xué)理論分析對象和作為發(fā)現(xiàn)新物體性質(zhì)的應(yīng)用研究手段等等。神經(jīng)網(wǎng)絡(luò)簡直慢慢成了將工程學(xué)和計算機科學(xué)各流派精粹集中在一起的天下第一武道大會。
順帶一提,維基百科日文版的“神經(jīng)網(wǎng)絡(luò)”詞條中,也有類似的描述。
Neural Network(神經(jīng)網(wǎng)絡(luò),縮寫:NN)是一種數(shù)學(xué)模型,旨在通過計算機模擬表達腦功能中的一些特征。雖然研究起源于對生物體大腦的建模,但由于對神經(jīng)科學(xué)看法的改變,逐漸與大腦模型的差異變得顯著。為了區(qū)分于生物學(xué)和神經(jīng)科學(xué)上的神經(jīng)網(wǎng)絡(luò),所以也稱為人工神經(jīng)網(wǎng)絡(luò)。
人工神經(jīng)網(wǎng)絡(luò)(ANN)或聯(lián)結(jié)主義系統(tǒng),是大致由構(gòu)成動物大腦的生物神經(jīng)網(wǎng)絡(luò)啟發(fā)的計算系統(tǒng),人工神經(jīng)網(wǎng)絡(luò)最初的目的是想像人腦一樣解決問題。但隨著時間的推移,注意力重點開始轉(zhuǎn)移到了執(zhí)行特定任務(wù)上去,導(dǎo)致了從生物學(xué)的偏離。
這里明確表達了類似“神經(jīng)網(wǎng)絡(luò)已經(jīng)脫離了人腦本身”的看法。距離1986年的Nature論文過去32年,神經(jīng)網(wǎng)絡(luò)現(xiàn)在已慢慢遠離聯(lián)結(jié)主義的起源,開始成為了大家公認的機器學(xué)習(xí)王者。
雖然開頭那句話已說了很多遍了,但是還是要重復(fù)一遍:“產(chǎn)生了讓神經(jīng)網(wǎng)絡(luò)從心理學(xué)和生理學(xué)分離,并向著機器學(xué)習(xí)方向轉(zhuǎn)移的契機”,才是1986年那篇 Nature 論文的最大意義。這便是我翻閱神經(jīng)網(wǎng)絡(luò)歷史后得出的感想。
現(xiàn)在神經(jīng)網(wǎng)絡(luò)還繼續(xù)沿用“神經(jīng)”的理由
順帶一提,過去作為討論神經(jīng)信息處理頂級會議的 NIPS,維基百科英文版最近的描述也已發(fā)生巨大的轉(zhuǎn)變。
該會議在2016年有5,000名注冊參與者,2017年有8,000名,使其成為人工智能領(lǐng)域最大的會議。除了機器學(xué)習(xí)和神經(jīng)科學(xué),NIPS 涉及的其他領(lǐng)域包括認知科學(xué),心理學(xué),計算機視覺,統(tǒng)計語言學(xué)和信息論。
雖然NIPS首字母縮寫中的“神經(jīng)”已成為一種歷史殘留物,但自2012年后深度學(xué)習(xí)的復(fù)興,加上高速計算機和大數(shù)據(jù)的推動,在語音識別,圖像物體識別,語言翻譯等領(lǐng)域取得驚人的成果。
上面毫不客氣地直接寫到“NIPS 首字母縮寫中的“神經(jīng)”已成了一種歷史殘留物”。其實2013年去太浩湖參加那年的 NIPS 時,雖然其中還有部分關(guān)于神經(jīng)活動信號數(shù)據(jù)分析的研究,好像“神經(jīng)”尚還健在,但更多還是與深度學(xué)習(xí)相關(guān)的研究。
此后就變得更加多了。
在圍棋中的世界冠軍級表現(xiàn),是基于靈感來自視覺皮層(ConvNet)的層次結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)架構(gòu),和受基礎(chǔ)神經(jīng)節(jié)啟發(fā)(時間差分學(xué)習(xí))的強化學(xué)習(xí)。
還有“盡管如此,受大腦啟發(fā)的神經(jīng)網(wǎng)絡(luò)(和其綜合運用)還是有很大的應(yīng)用可能性”,我同意這一點。 而且我還認為正因為這點,即使在已不把模仿人腦當做目標的現(xiàn)在,神經(jīng)網(wǎng)絡(luò)還繼續(xù)沿用“神經(jīng)”這個詞。
最后
關(guān)于2000年以前的情況,大都是從我碰巧同時學(xué)過的神經(jīng)科學(xué)和計算機科學(xué)的經(jīng)驗,還有各種文獻中參考而得出來的。當然我自身并沒有在那個時代去體驗這些。如果在文章中關(guān)于事件關(guān)系還有解釋中發(fā)現(xiàn)錯誤的話,非常高興你能指出來m(_ _)m。
引用
* 1:我認為這是當然后續(xù)ImageNet挑戰(zhàn)的必要的科學(xué)論文在2006年和2012年韓丁老師
* 2:但是出汗這么多,有些不再手頭放手是在書本
* 3:但是,這篇文章略有惡意描述,所以要小心處理
* 4:小腦感知理論也有過早死亡的天才戴維·馬爾在35歲提出的事實,似乎經(jīng)常談到今天著名的成功故事
* 5:例如https://papers.nips.cc/paper/421-analog-computation-at-a-critical-point-a-novel-function-for-neuronal-oscillations.pdf如該側(cè)
* 6:肯定有2和1/2維草圖模型
* 7:在已知為具有分層結(jié)構(gòu),諸如各種類型的感官字段的位點的特定功能的神經(jīng)解剖學(xué)
* 8:(神經(jīng)科學(xué)的趨勢,2000年)Lamme和Roelfsema是我反復(fù)讀畢業(yè)論文的學(xué)生當時http://www.kylemathewson.com/wp-content/uploads/2010/03/LammeRoelfsema-2000-TiN-Reentrant- Vision.pdf
* 9:例如,在“神經(jīng)元的活動,并在皮層區(qū)域的皮層之間的層次之間的反饋投影的關(guān)系”的一個評論性論文將保持,直到2000年左右,多少回https://www.ncbi.nlm.nih.gov/考研/?長期=審查+%5Bptyp%5D +反饋+%5Bti%5D +神經(jīng)元+皮質(zhì)
* 10:因為這是某次研究會議的主要內(nèi)容
* 11:沒有比標題更容易理解的印象。
* 12:最后的程度,英國石油公司在情節(jié)提出感知批評和魯梅哈特由明斯基辯駁的歷史故事是休息時間出來
* 13:對于首次提出在SVM是1963年,因為擴展是由是92年到非線性SVM Vapnik等例子老板,居然之嫌“機器學(xué)習(xí)”作為工程領(lǐng)域很久以前就是我正在發(fā)芽
-
谷歌
+關(guān)注
關(guān)注
27文章
6202瀏覽量
106076 -
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4782瀏覽量
101225 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5516瀏覽量
121601
原文標題:神經(jīng)網(wǎng)絡(luò)的叛離:32年前從心理學(xué)與生理學(xué)分離的瞬間
文章出處:【微信號:AItists,微信公眾號:人工智能學(xué)家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
MapReduce的誤差反向傳播算法
![MapReduce的誤差<b class='flag-5'>反向</b><b class='flag-5'>傳播</b><b class='flag-5'>算法</b>](https://file.elecfans.com/web2/M00/49/81/poYBAGKhwL-Aai3yAAAaGFoP24M207.jpg)
反向傳播算法的工作原理
![<b class='flag-5'>反向</b><b class='flag-5'>傳播</b><b class='flag-5'>算法</b>的工作原理](https://file.elecfans.com/web1/M00/56/24/pIYBAFs53CyAQ5jLAAAV-O9gFMA425.png)
反向傳播神經(jīng)網(wǎng)絡(luò)建模的基本原理
反向傳播神經(jīng)網(wǎng)絡(luò)模型的特點
神經(jīng)網(wǎng)絡(luò)反向傳播算法原理是什么
神經(jīng)網(wǎng)絡(luò)前向傳播和反向傳播區(qū)別
反向傳播神經(jīng)網(wǎng)絡(luò)建模基本原理
神經(jīng)網(wǎng)絡(luò)反向傳播算法的推導(dǎo)過程
神經(jīng)網(wǎng)絡(luò)反向傳播算法的原理、數(shù)學(xué)推導(dǎo)及實現(xiàn)步驟
神經(jīng)網(wǎng)絡(luò)反向傳播算法的作用是什么
神經(jīng)網(wǎng)絡(luò)反向傳播算法的優(yōu)缺點有哪些
【每天學(xué)點AI】前向傳播、損失函數(shù)、反向傳播
![【每天學(xué)點AI】前向<b class='flag-5'>傳播</b>、損失函數(shù)、<b class='flag-5'>反向</b><b class='flag-5'>傳播</b>](https://file1.elecfans.com/web2/M00/0C/8C/wKgaomc2slKAar1SAABu1Z4LHtc272.png)
評論