【深度學習之美】神經網絡不勝語, M-P模型似可尋(入門系列之三)

系列文章:

一入侯門“深”似海,深度學習深幾許(深度學習入門系列之一)

人工“碳”索意猶盡,智能“硅”來未可知(深度學習入門系列之二)

 

“那些在個人設備裏,謙謙卑卑地爲我們哼着歌曲的數字僕人,總有一天會成爲我們的霸主!”

——A.I. winter

 

在前面的小節中,我們大致瞭解了機器學習的形式化定義和神經網絡的概念,在本小節中,我們將相對深入地探討一下神經網絡中的神經元模型以及深度學習常常用到的激活函數及卷積函數。

3.1  M-P神經元模型是什麼?

在前一小節中,我們已介紹了人工神經網絡(Artificial Neural NetworksANNs)的定義。簡單來說,它是一種模仿動物神經網絡行爲特徵,進行分佈式並行信息處理的算法數學模型

神經網絡依靠系統的複雜程度,通過調整內部大量“簡單單元”之間相互連接的關係,從而達到處理信息的目的,並具有自學習和自適應的能力。

在上述定義中提及到的“簡單單元”,其實就是神經網絡中的最基本元素——神經元(neuron)模型。在生物神經網絡中,每個神經元與其它神經元,通過突觸聯接。神經元之間的“信息”傳遞,屬於化學物質傳遞的。當它“興奮(fire)”時,就會向與它相連的神經元發送化學物質(神經遞質, neurotransmiter),從而改變這些神經元的電位;如果某些神經元的電位超過了一個“閾值(threshold)”,那麼,它就會被“激活(activation)”,也就是“興奮”起來,接着向其它神經元發送化學物質,猶如漣漪,就這樣一層接着一層傳播,如圖3-1所示。

73b7ecc344230170dbe4263aa1cd284b3d30d366

圖3-大腦神經細胞的工作流程

在人工智能領域,有個好玩的派別叫“飛鳥派”。說的就是,如果我們想要學飛翔,就得向“飛鳥”來學習。簡單來說,“飛鳥派”就是“仿生派”,即把進化了幾百萬年的生物,作爲“模仿”對象,搞清楚原理後,再復現這些對象的特徵。

其實現在所講的神經網絡包括深度學習,都在某種程度上,屬於“飛鳥派”——它們在模擬大腦神經元的工作機理,它就是上世紀40年代提出但一直沿用至今的“M-P神經元模型”。

在這個模型中,神經元接收來自n個其它神經元傳遞過來的輸入信號,這些信號的表達,通常通過神經元之間連接的權重(weight)大小來表示,神經元將接收到的輸入值按照某種權重疊加起來,並將當前神經元的閾值進行比較,然後通過“激活函數(activation function)”向外表達輸出(這在概念上就叫感知機),如圖3-2所示。

a0fe8f4886f2ab0c7abf18b0190e085531a55991

圖3-2  M-P神經元模型

簡單吧?簡單!

可這麼簡單的道理,你咋能就這麼輕易知道咧?

事實上,我們知道,對未知世界(比如說人類大腦)的每一點新認識,其實都是因爲有大牛曾經艱辛地爲我們站過臺。前面提到的“M-P神經元模型”,亦是如此。

3.2  M-P神經元模型”背後的那些人和事情

M-P神經元模型”,最早源於發表於1943年的一篇開創性論文。論文的兩位作者分別是神經生理學家沃倫·麥克洛克(McCulloch)和數學家沃爾特·皮茨(Pitts),論文描述了神經元的時間總和、域值等特徵。首次實現用一個簡單電路(即感知機),來模擬大腦神經元的行爲。

M-P神經元模型”提出者雖然有兩人,但後者皮茨更有聲望和傳奇色彩。皮茨等人的研究,甚至影響了控制論的誕生和馮·諾伊曼(von Neumann)計算機的設計。

一般來說,每個“牛逼”人的背後,都隱藏着一段“苦逼”的歲月。皮茨同樣如此,不過更顯“苦澀”而已。19233月,沃爾特•皮茨出生於美國密歇根州底特律(Detroit)。小時候,皮茨家境貧寒。但貧窮並沒有冷卻皮茨那顆愛讀書的心。皮茨很早就對數學和哲學表現出濃厚的興趣,12歲時就開始閱讀伯特蘭·羅素(Russell)和懷特海(Whitehead)合著的《數學原理》。

年少的皮茨,視羅素爲人生偶像,經常就不明覺厲的問題和羅素通信。在書信往來中,羅素髮現這個皮茨,人小纔不小,於是便邀請他到英國,跟隨自己學習邏輯學。

但皮茨家境貧困,連他讀高中都供不起,哪還有錢資助他遠赴英倫求學。就在皮茨15歲時,皮茨的老爹還強迫他退學,以便在底特律找份工作謀生,補貼家用。

但酷愛學習的皮茨,自然不願答應,與老爹一言不合,就離家出走,浪蕩江湖。從此,他再也沒有見過他的家人。

但正可謂山不轉水轉,水不轉人轉。當皮茨無錢從美抵英國求學。但羅素這位學術大家,卻有條件從英國抵達美國任教。

在打聽到自己偶像羅素要到芝加哥大學任教(訪問教授),皮茨興奮異常,便隻身來到芝加哥拜見。精誠所至,金石爲開,終於皮茨見到了羅素。羅素一見皮茨,發現他果然骨骼清奇,天賦異稟。於是,羅素就將皮茨留下來,旁聽自己的課程。

話說當時在芝加哥大學任教的,還有一個知名的哲學教授,叫魯道夫·卡爾納普(Rudolf Carnap)。他是邏輯實證主義的代表性人物,其哲學思想深受羅素影響,和羅素是好基友。

羅素的課,皮茨自然可以去隨便蹭,但活下去,卻是皮茨自己的事。在機緣巧合下,卡爾納普認識了皮茨,並發現皮茨有驚爲天人的才華。

卡爾納普惜才如命,便心生憐憫,利用自己的人際關係,幫皮茨在芝加哥大學謀了打掃衛生的差事。就這樣,皮茨這位當代的“掃地僧”,總算是在這所著名大學安頓下來。

再後來,18歲的皮茨在芝加哥的結識了神經學家、哲學家沃倫·麥克洛克(Warren McCulloch)。正是這位麥克洛克,徹底改變了皮茨的人生軌跡。

c30874788ea2e0a0bb91924a09d61f851ded5f29

圖3-M-P模型”的創立者——沃爾特·皮茨(Walter Pitts

他們合作的最重要的成就之一,就是那篇“神作”——神經網絡的天下第一文:《神經活動中思想內在性的邏輯演算》(A Logical Calculus of Ideas Immanent in Nervous Activity[1],這篇文章發表在《數學生物物理期刊》上,它也成爲控制論的思想源泉之一。

信號在大腦中到底是怎樣的一種傳輸,確切來說,依然一個謎。麥克洛克和皮茨提出的的“M-P神經元模型”,是對生物大腦的過度簡化,但卻成功地給我們提供了基本原理的證明。但對我我們而言,重要的是可以把它視爲與計算機一樣的存在,利用一系列的01來進行操作。也就是說,大腦的神經細胞也只有兩種狀態:興奮(fire)和不興奮(即抑制)。

這樣一來,神經元的工作形式,類似於數字電路中的邏輯門,它接受多個輸入,然後產生單一的輸出。通過改變神經元的激發闕值,就可完成“與(AND)”、“或(OR)”及“非(NOT)”等三個狀態轉換功能,如圖3-4所示。

7311bd94b9f04d3309cebc8e28abddfd9ccf05e0

圖3-4  神經網絡天下第一文《神經活動中思想內在性的邏輯演算》中的M-P神經元(發表於1943年)


這裏需要說明的是,“感知機”作爲一個專業術語,是皮茨等人發表論文15年之後,在 1958 由康內爾大學心理學教授( Frank Rosenblatt) 提出來的,這是一個兩層的人工神經網絡,成爲後來許多神經網絡的基礎,但它的理論基礎依然還是皮茨等人提出來的“M-P”神經元模型。

不知道讀者朋友發現了沒有?皮茨(Pitts)等人提出的M-P模型,居然不能實現常用的“異或(XOR)”功能,這也成爲人工智能泰斗馬文·明斯基 Marvin Lee Minsky)評判“神經網絡”的重要“罪證”之一。

1969年,馬文·明斯基和西摩爾· 派普特(Seymour Papert)在出版了《感知機:計算幾何簡介”》一書[2], 書中論述了感知機模型存在的兩個關鍵問題:

1)單層的神經網絡無法解決不可線性分割的問題,典型例子如異或門電路(XOR Circuit);

2)更爲嚴重的問題是,即使是當時最先進的計算機完也沒有足夠計算能力,完成神經網絡模型所需要的超大的計算量(比如調整網絡中的權重參數)。

鑑於明斯基的江湖地位(1969年剛剛獲得大名鼎鼎的圖靈獎),他老人家一發話不要緊,直接就把人工智能的研究,送進一個長達近二十年的低潮,史稱“人工智能冬天(AI Winter)”。

現在,距離明斯基出版《感知機》,已經近50年過去了。我們看到了,以深度學習爲代表的神經網絡學習,又一番風生水起,好一個熱鬧了得!

這讓我想起了一本心理學名著《改變:問題形成和解決的原則》[3]。在這本書中,三位斯坦福大學醫學院精神病與行爲科學系臨牀教授提出一個有趣的觀點,“一個問題尚未解決,雖然令人生厭,但其本身就常是一種解決方式”。

我們通常想一次性地把所有問題都解決掉,即存在“問題潔癖”狀態。但這種“潔癖”狀態,通常並不能解決問題,反而很可能會帶來更多、更麻煩的問題。因此,帶着問題生活(或研究),是可以接受的,並且很可能是最好的結果。

從最初級的“M-P”神經元模型,發展到今天的“深度學習”,還有沒有問題呢?當然有!比如說深度學習的解釋性低,對數據依賴度高等(想一想,現在的小娃娃識別一個貓狗的圖片,僅僅需要幾張圖片訓練就夠了,可深度學習算法呢?可能需要數以百萬張),諸如此類問題,這並沒有妨礙深度學習在各個領域的大放異彩。

著名物理學家理查德·費曼(Richard Feynman1965年諾貝爾物理獎得主)也曾說過的,“物理的進步,其實源於它對尋求根源的讓步。”舉例說來,牛頓描繪出瞭如何用萬有引力(how),但到死他也沒有弄明白爲什麼會存在引力(why),但這並沒有妨礙我們應用它們,解決我們宏觀世界中的各類經典物理問題(一個題外話,很苦悶的牛頓,最後把why問題歸結爲上帝所爲,所以他成爲一個極度虔誠的基督教徒)。

針對目前深度學習存在的問題,有解決之道嗎?雖然方向並不十分明朗,但未來一定會有,比如說在未來,我們可以把深度學習、強化學習和遷移學習相結合,可以實現幾個突破——反饋可以延遲,通用的模型可以個性化,可以解決冷啓動的問題等[4]


3.3 激活函數是怎樣的一種存在?

言歸正傳。前面我們提到了神經元的工作模型存在“激活(1)”和“抑制(0)”等兩種狀態的跳變,那麼理想型的激活函數(activation functions)就應該是如圖3-5-a所示的階躍函數,但事實上,在實際使用中,這種函數具有不光滑、不連續等衆多不“友好”的特性。爲什麼說它“不友好”呢,這是因爲在訓練網絡權重時,通常依賴對某個權重求偏導、尋極值,而不光滑、不連續等通常意味着該函數無法“連續可導”。

7c4c24f5a299229588e3eb56355c9ddff27e1437

圖3-典型的神經元激活函數

 

因此,我們通常用Sigmoid函數(如圖3-5-b)所示)來代替階躍函數。這個函數可以把較大變化範圍內輸入值(x)擠壓輸出在(0,1)範圍之內,故此這個函數又稱爲“擠壓函數(Squashing function)”。

那麼,我們應該怎樣理解激活函數呢?實際上,我們還是能從生活中找到相似的影子(理論來源人們對生活的抽象嘛)。比如說,如果你的“野蠻女友”打你耳光,當她打你第一個耳光時,你想了很多,考慮她的臉蛋(權重w1)、身材(權重w2)、學歷(權重w3)、性格(權重w4)、你愛她的程度(權重w5)以及娶媳婦的難度(權重w6)等等因素(這些因素,在機器學習領域,就是研究對象的特徵,它們組合在一起,就構成了對象的特徵空間),綜合衡量後,你決定忍了,或者說這一切並沒有超出你忍耐的閾值(這期間,你也給自己找了一個優雅的臺階:打是親、罵是愛啊),如果把你的忍耐“功能”看作一個函數(回顧一下我們前面的文章可以瞭解,“功能”和“函數”,本來就是一個概念——Function),那麼在這個場景,相當於你的函數輸出爲0,目前還處於沒有被激活狀態。

當她打你第二個耳光時,你又想了很多,依然忍了,但上述因素的權重都開始調整了,比如性格權重下降,愛她的程度權重下降等。

……

當她打你第n個耳光時,你終於忍不了,“忍無可忍,無須再忍”,這時函數輸出超出了閾值,你可能“發飆”揚長而去,也可能哭着喊“要打,也別老打臉啊”。

3.4  卷積函數又是什麼?

說到“忍無可忍,無須再忍”這個場面,其實,我們還可以提前把“卷積(Convolution)”講講(在後續卷積神經網絡中小節中,我們還會給出它形式化的定義,細細講解)。

假設你的承受能力是一個在時間維度上的函數f,而你“野蠻女友”的打臉操作爲函數g,那麼卷積的概念,就是重新定義出來一個新的函數h(比如說,h用來刻畫你的崩潰指數):h = f * g

這是什麼意思呢,通俗來講,所謂卷積,就是一個功能(如刻畫你的承受能力)和另一個功能(比如說描述你女友的打臉)在時間的維度上的“疊加”作用。就是這麼簡單!

e3a729440059bf7923f3a02f3e9f8bb576b7dd3e

圖3-6   戀愛生活中的“卷積”

你可別忘了,在前面我們反覆提到,函數(function)就是功能(function),功能就是函數!函數有一定的功能,纔有其存在的意義!但孤立的函數並不好玩,疊加才更有意義。說學術點,由卷積得到的函數h一般要比fg都光滑。利用這一性質,對於任意的可積函數f,都可簡單地構造出一列逼近於f的光滑函數列,這種方法被稱之爲函數的光滑化或正則化。

在時間的維度上的“疊加作用”,如果函數是離散的,就用求累積和來刻畫。如果函數是連續的,就求積分來表達。

雖然第n個耳光才讓你發飆或跪地求饒,那在時間維度上,第一個耳光、第二個耳光已經過去了……,那它們有沒有作用呢?當然有!它們的影響早已隱“忍”其內啦!

好了,剛纔的例子可能有點得罪女性讀者了(我們有那麼兇嗎?),那我們再舉一個稍微溫馨的例子好了。當你在向女友求婚時,總是不得其果,然後就一直對女友各種好,直到有一天,你給女朋友洗了一雙襪子,哇,不得了,你的女友一下子就感動到崩潰,答應嫁給你了。

這時你要想明白啊,你的女友可沒有那麼便宜,你洗一雙襪子就把人家搞定了?想得美!實際上,正解應該是,你一直對女友的各種好(函數f)和你女友的心理期許(函數g),一直在時間維度上進行不斷地疊加耦合(積分求和),最終超出了女友的閾值,然後她輸出了你想要的結果“Yes, I Do”。那麼,這個函數f和函數g一起“卷積”出來的,到底是個什麼樣的函數呢,我勸你也別猜,“猜來猜去也猜不明白”,反正它很複雜就是了,而你要做的,就是持續不斷地對她就對了。

網絡上,有句話說得挺好玩:“愛是積累出來的,不愛也是。曾經無話不說,現在無話,不說。”這一切都是“卷積”卷出來的啊!

3.5 小節

以俺讀書破萬卷,下筆如神經的風格,雖然講着神經網絡的理論問題,卻又常常離題萬里,似乎非常應景(好神經啊),就此打住吧,下面我們總結一下本節的主要內容。

在本小節,我們主要講了皮茨等人提出“M-P”感知機模型。簡單來說,感知機模型,就是一個由兩層神經元構成的網絡結構,輸入層接收外界的輸入,通過激活函數(閾值)變換,把信號傳送至輸出層,因此它也稱之爲“閾值邏輯單元(threshold logic unit)”,正是這種簡單的邏輯單元,慢慢演進,越來越複雜,就構成了我們目前研究的熱點——深度學習網絡。

在下小節,我們將聊聊機器學習的三種方式,請你關注。

3.6 請你思考

1)在生物神經網絡中,神經元之間的信息傳遞,是一種非常局部化的化學物質傳遞。試想一下,如果每個神經都接收傳遞物質,那麼上億的神經一起工作,那種能量的消耗是不可想象的。而現在的人工神經網絡(深度學習),是依靠大型計算設備(如大規模集羣、GPU等)來海量遍歷調整網絡中的參數,所以不耗能巨大才怪呢,因此你覺得深度學習還能從生物神經網絡中學習什麼嗎?你覺得人工智能領域中的“飛鳥派”還有市場嗎?爲什麼?

2)其實,“卷積”在我們日常生活中比比皆是,你還能列舉去其它的“卷積”函數嗎?

 

【參考文獻】

[1] McCulloch W S, Pitts W. A logical calculus of the ideas immanent in nervous activity[J]. The bulletin of mathematical biophysics, 1943, 5(4): 115-133.

[2] Marvin Minsky and Seymour Papert, 1972 (2nd edition with corrections, first edition 1969) Perceptrons: An Introduction to Computational Geometry, The MIT Press, Cambridge MA, ISBN 0-262-63022-2.

[3] (美)瓦茨拉維克等夏林清等譯改變:問題形成和解決的原則教育科學出版社,2007-11

[4] 楊強.人工智能的下一個技術風口與商業風口,中國計算機學會通訊.2017年第5


文章作者:張玉宏(著有《品味大數據》、本文節選自深度學習之美》(最通俗易懂的深度學習入門)2018年7月出版)

--------------

相關係列文章:

“機器學習”三重門,“中庸之道”趨若人(深度學習入門系列之四)

Hello World感知機,懂你我心才安息(深度學習入門系列之五)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章