丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預覽,將在時失效
業(yè)界 正文
發(fā)私信給凌海濱
發(fā)送

1

深度|人工神經(jīng)網(wǎng)絡深入分析

本文作者: 凌海濱 2016-08-24 17:06
導語:本文為人工神經(jīng)網(wǎng)絡的科普文。

雷鋒網(wǎng)按:本文作者郭晴,劉偉。文章從神經(jīng)網(wǎng)絡談到了人工神經(jīng)網(wǎng)絡,并對此進行詳細的介紹。

最近“神經(jīng)網(wǎng)絡”非常火,特別是AlphaGo與韓國選手李世石的比賽落幕后,各種關于神經(jīng)網(wǎng)絡的文章滿天飛,但可能對于非專業(yè)領域出身的人來說接觸這些文章就會云里霧里了。究其原因主要是缺少適合大部分人理解的神經(jīng)網(wǎng)絡的科普文章,其實吳軍老師的《數(shù)學之美》在科普神經(jīng)網(wǎng)絡這方面做的就比較通俗易懂,感興趣的朋友可以去讀一下吳老師的書。本文與吳老師的講解方式不同,筆者希望能從神經(jīng)網(wǎng)絡的起源揭開神經(jīng)網(wǎng)絡的面紗,從而幫助更多的對神經(jīng)網(wǎng)絡感興趣但卻沒有相關理論基礎的朋友們。

說起人工神經(jīng)網(wǎng)絡的起源肯定要追溯到生物的神經(jīng)網(wǎng)絡。這里大家先看一段關于神經(jīng)元細胞原理的視頻:

http://www.tudou.com/listplay/sQi_LbKp7Kk/VUQGmBXIzf0.html

具體總結一下就是,神經(jīng)元細由一個細胞體、一些樹突、一根軸突及許多突觸組成。神經(jīng)細胞體是神經(jīng)元的主體,內(nèi)含細胞核。樹突是從細胞體向外延伸出許多神經(jīng)纖維,用來接收來自其它神經(jīng)元的輸入信號。軸突通過分支的神經(jīng)末梢向外發(fā)出信號,與其他神經(jīng)細胞的樹突相接觸形成所謂的突觸。下圖是人腦中的神經(jīng)元細胞,大家可以對應神經(jīng)元細胞圖著再理解一下。

深度|人工神經(jīng)網(wǎng)絡深入分析深度|人工神經(jīng)網(wǎng)絡深入分析

為了便于大家對應理解人工神經(jīng)網(wǎng)絡,這里再分別總結一下神經(jīng)元細胞重要組成部分的特點:

1.樹突、軸突、突觸分別相當于細胞體的輸入端、輸出端及輸入/輸出接口(I/O),并且多輸入單輸出;

2.興奮型和抑制型突觸決定神經(jīng)細胞興奮和抑制(分別對應輸出脈沖串頻率高低),其中脈沖串代表神經(jīng)元的信息;

3. 細胞體膜內(nèi)外電位差(由突觸輸入信號總和)的升高超過閾值產(chǎn)生脈沖,神經(jīng)細胞進入興奮狀態(tài);

4. 突觸延遲使輸入與輸出間有固定時滯。

人工神經(jīng)網(wǎng)絡

1943年,基于生物神經(jīng)網(wǎng)絡莫克羅-彼特氏神經(jīng)模型(McCulloch-Pitts′neuronmodel)誕生。它由心理學家Warren McCulloch(下圖左)和數(shù)學家Walter Pitts(下圖右)合作提出。

深度|人工神經(jīng)網(wǎng)絡深入分析

McCulloch-Pitts模型的基本思想是抽象和簡化生物神經(jīng)元的特征性成分。這個模型不需要捕捉神經(jīng)元的所有屬性和行為,但要足以捕獲它執(zhí)行計算的方式。McCulloch-Pitts模型的6個特點中前面4點和之前總結的生物神經(jīng)元一致,具體對應請見下圖:

1.每個神經(jīng)元都是一個多輸入單輸出的信息處理單元;

2.神經(jīng)元輸入分興奮性輸入和抑制性輸入兩種類型;

3.神經(jīng)元具有空間整合特性和閾值特性;

4.神經(jīng)元輸入與輸出間有固定的時滯,主要取決于突觸延擱;

5.忽略時間整合作用和不應期;

6.神經(jīng)元本身是非時變的,即其突觸時延和突觸強度均為常數(shù)。


深度|人工神經(jīng)網(wǎng)絡深入分析

McCulloch-Pitts模型公式如下:

深度|人工神經(jīng)網(wǎng)絡深入分析

其運作規(guī)則是:時間離散,時刻t(t=0,1,2,……)得到興奮型輸入xi,如果膜電位等于或大于閾值以及抑制型輸入為0,則在時刻t+1,神經(jīng)元細胞輸出為1否則為0。

這項偉大的建??闪瞬坏?,從人的角度來看將顏色、形狀分為兩類只需要靠眼睛辨別,但是對于機器而言它能辨別只是一堆數(shù)據(jù)。如果平面上有兩組數(shù)據(jù)(如下圖所示),機器怎么把兩組數(shù)據(jù)區(qū)分開,由圖可見平面上的直線方程就可以數(shù)據(jù)分為兩類,而Warren McCulloch和Walter Pitts所構建的人工神經(jīng)元就是這么一個模型,它的實質就是把特征空間一切兩半,認為兩半分別屬兩個類。你恐怕再也想不到比這更簡單的分類器了。

深度|人工神經(jīng)網(wǎng)絡深入分析

但是McCulloch-Pitts模型缺乏一個對人工智能而言至關重要的學習機制。因此這里還需要為大家普及一下“歷史”。1949年唐納德·赫布(DonaldHebb)稱知識和學習發(fā)生在大腦主要是通過神經(jīng)元間突觸的形成與變化,這個出人意料并影響深遠的想法簡稱赫布法則:

當細胞A的軸突足以接近以激發(fā)細胞B,并反復持續(xù)地對細胞B放電,一些生長過程或代謝變化將發(fā)生在某一個或這兩個細胞內(nèi),以致A作為對B放電的細胞中的一個效率增加。

通俗來講就是兩個神經(jīng)細胞交流越多,它們連接的效率就越高,反之就越低。羅森布拉特(Frank Rosenblatt)受到赫布基礎性工作的啟發(fā),于1957年提出了"感知器" (Perceptron)。這是第一個用算法來精確定義神經(jīng)網(wǎng)絡的,感知器由兩層神經(jīng)元組成,輸入層接收外界信號,輸出層是McCulloch-Pitts神經(jīng)元,即閾值邏輯單元。

1969 年,Marvin Minsky和Seymour Papert出版了新書《感知器:計算幾何簡介》。書中論證了感知器模型的兩個關鍵問題:其一,單層的神經(jīng)網(wǎng)絡無法解決不可線性分割的問題,典型例子如同或(XNOR,兩個輸入如果相同,輸出為1;兩個輸入如果是不同,輸出為0。)其二,受硬件水平的限制,當時的電腦完全沒有能力完成神經(jīng)網(wǎng)絡模型所需要的超大的計算量。

在此筆者就以單層神經(jīng)元為例解釋人工神經(jīng)元是如何工作的。

(這里要感謝一下此網(wǎng)站作者提供的英文文章:

http://www.analyticsvidhya.com/blog/2016/03/introduction-deep-learning-fundamentals-neural-networks/)

深度|人工神經(jīng)網(wǎng)絡深入分析

x1,x2,…, xN:神經(jīng)元的輸入。這些可以從輸入層實際觀測或者是一個隱藏層的中間值(隱藏層即介于輸入與輸出之間的所有節(jié)點組成的一層。幫助神經(jīng)網(wǎng)絡學習數(shù)據(jù)間的復雜關系。大家不理解沒關系,后面講到多層神經(jīng)網(wǎng)絡是會再跟大家解釋的)。

X0:偏置單元。這是常值添加到激活函數(shù)的輸入(類似數(shù)學里y=ax+b中使直線不過原點的常數(shù)b)。即截距項,通常有+1值。

w0,w1,w2,…,wN:對應每個輸入的權重。甚至偏置單元也是有權重的。

a:神經(jīng)元的輸出。計算如下:

深度|人工神經(jīng)網(wǎng)絡深入分析

需要解釋一下的是,式子里的f是已知的激活函數(shù),f使神經(jīng)網(wǎng)絡(單層乃至多層)非常靈活并且具有能估計復雜的非線性關系的能力。在簡單情況下可以是一個高斯函數(shù)、邏輯函數(shù)、雙曲線函數(shù)或者甚至上是一個線性函數(shù)。利用神經(jīng)網(wǎng)絡可讓其實現(xiàn)三個基本功能:與、或、非(AND, OR, NOT)。

這里介紹一個基本的f函數(shù),其實就是我們熟知的階躍函數(shù):

深度|人工神經(jīng)網(wǎng)絡深入分析

例1:and功能實現(xiàn)如下:

深度|人工神經(jīng)網(wǎng)絡深入分析

神經(jīng)元輸出:a = f( -1.5 + x1 + x2 )

真值表如下,可見列“a”與列“X1 AND X2”一致:

深度|人工神經(jīng)網(wǎng)絡深入分析

例2:or功能實現(xiàn)如下:

深度|人工神經(jīng)網(wǎng)絡深入分析

神經(jīng)元輸出為:

a = f(-0.5 + x1 + x2 )

真值表如下,其中列“a”與“X1 OR X2”一致:

深度|人工神經(jīng)網(wǎng)絡深入分析

通過例1和例2我們可以看到,只要改變偏置單元的權重,我們就可以實現(xiàn)or功能。如果x1或x2任何一個為正則權重總值為正。 

例3:not功能實現(xiàn)如下:

深度|人工神經(jīng)網(wǎng)絡深入分析

神經(jīng)元輸出為:a = f( 1 - 2 * x1 )

真值表如下:

深度|人工神經(jīng)網(wǎng)絡深入分析

筆者希望通過這些例子大家能直觀的理解一個神經(jīng)元在神經(jīng)網(wǎng)絡中是如何工作的。當然神經(jīng)網(wǎng)絡中的函數(shù)有多種選擇,除了以上例子所用的函數(shù),這里我們再介紹一種常用的函數(shù)——sigmoid函數(shù),幫助大家靈活的理解。函數(shù)圖像如下:

深度|人工神經(jīng)網(wǎng)絡深入分析

由圖可見sigmoid函數(shù)的優(yōu)點在于輸出范圍有限,所以數(shù)據(jù)在傳遞的過程中不容易發(fā)散,并且其輸出范圍為(0,1),可以在輸出層表示概率。當然其也有相應的缺點,就是飽和的時候梯度太小。大家可以對應下面的and例子理解一下。

深度|人工神經(jīng)網(wǎng)絡深入分析

之前我們看到的例子中與、或、非功能都是線性可分的,感知器只有輸出層神經(jīng)元進行激活函數(shù)處理,即只擁有一層功能神經(jīng)元,學習能力非常有限(這就是本文之前提到的感知器模型關鍵問題之一)。因此非線性可分要用到多層神經(jīng)元,下面筆者先介紹一下多層神經(jīng)網(wǎng)絡。

深度|人工神經(jīng)網(wǎng)絡深入分析

神經(jīng)網(wǎng)絡分為三種類型的層:

輸入層:神經(jīng)網(wǎng)絡最左邊的一層,通過這些神經(jīng)元輸入需要訓練觀察的樣本。

隱藏層:介于輸入與輸出之間的所有節(jié)點組成的一層。幫助神經(jīng)網(wǎng)絡學習數(shù)據(jù)間的復雜關系。

輸出層:由前兩層得到神經(jīng)網(wǎng)絡最后一層。5個分類的情況下輸出層將有5個神經(jīng)元。

為什么多層網(wǎng)絡是有用的?下面大家試著去了解神經(jīng)網(wǎng)絡如何用多層來模擬復雜關系。要進一步理解這個,需要舉一個同或函數(shù)的例子。其真值表如下:

深度|人工神經(jīng)網(wǎng)絡深入分析

這里我們可以看到當輸入都相同時,輸出為1,否則為0。這種關系不能由一個神經(jīng)元獨立完成,因此需要一個多層網(wǎng)絡。使用多層的背后思想是:復雜關系功能可以被分解為簡單的功能及其組合。讓我們分解同或函數(shù):

X1 XNOR X2 = NOT ( X1 XOR X2 )

       = NOT [(A+B).(A'+B') ]

       = (A+B)'+ (A'+B')'

       =(A'.B') + (A.B)

(注意: 這里符號“+”代表或 ,符號“.”代表與,符號“'”“-”代表非)

這樣我們可以用之前講解的簡單的例子實現(xiàn)。

方法1: X1 XNOR X2 = (A’.B’) + (A.B)

設計神經(jīng)元模擬A’.B’是一項挑戰(zhàn),可通過以下實現(xiàn):

深度|人工神經(jīng)網(wǎng)絡深入分析

神經(jīng)元輸出:a = f( 0.5 – x1 – x2 )

真值表為:

深度|人工神經(jīng)網(wǎng)絡深入分析

現(xiàn)在,大家可以分別把A’.B’和A.B當作兩個獨立的部分,并結合為多層網(wǎng)絡。網(wǎng)絡的語義圖如下:

深度|人工神經(jīng)網(wǎng)絡深入分析

在這里大家可以看到,在第一層,我們分別確定A’.B’和A.B。在第二層,我們將輸出并且在頂部實現(xiàn)OR功能。最后整體的網(wǎng)絡實現(xiàn)如下圖所示:

深度|人工神經(jīng)網(wǎng)絡深入分析

大家仔細看會發(fā)現(xiàn)這不過是我們之前畫的神經(jīng)元的組合:

a1:實現(xiàn)了A’.B’;

a2:實現(xiàn)了A.B;

a3:建立在a1和a2上實現(xiàn)OR,從而有效的實現(xiàn)(A’.B’ + A.B)。

通過真值表驗證其功能:

深度|人工神經(jīng)網(wǎng)絡深入分析

現(xiàn)在大家應該大概能直觀地理解多層網(wǎng)絡是如何工作的了。在上面的例子中,我們不得不分別計算A’.B’和A.B。如果我們想僅僅是基于基本的AND, OR, NOT函數(shù)實現(xiàn)同或功能的話,大家請看下面的方法2。

方法2: X1 XNOR X2 = NOT[ (A+B).(A’+B’) ]

這里我們用之前分解的第二步得到的式子來實現(xiàn),網(wǎng)絡的語義圖如下:

深度|人工神經(jīng)網(wǎng)絡深入分析

大家可以看到在這里神經(jīng)網(wǎng)絡不得不使用三個隱藏層。整體網(wǎng)絡的實現(xiàn)和我們之前所做的相似:

深度|人工神經(jīng)網(wǎng)絡深入分析

a1:等同于 A  ;

a2:實現(xiàn)了 A’;

a3:等同于 B  ;

a4:實現(xiàn)了 B’;

a5:實現(xiàn)了OR, 實際上是 A+B ;

a6:實現(xiàn)了OR, 實際上是 A’+B’;

a7:實現(xiàn)了AND, 實際上是(A+B).(A’+B’) ;

a8:實現(xiàn)了NOT, 實際上是 NOT [ (A+B).(A’+B’)],即最終XNOR的輸出

真值表如下:

深度|人工神經(jīng)網(wǎng)絡深入分析

注意:典型的一個神經(jīng)元(除了偏置單元)為下一層的每個神經(jīng)元提供數(shù)據(jù)。在這種情況下,我們已經(jīng)避免了從第一層到第二層的幾個連接,這是因為它們的權重是0,并且加入它們?nèi)菀子绊懘蠹仪逦睦斫馍窠?jīng)元間的計算。所以這里沒有畫成下圖這種:

深度|人工神經(jīng)網(wǎng)絡深入分析

可見方法2我們成功的實現(xiàn)了同或功能,方法2的思想是如何將復雜的函數(shù)分解為多個層。但這種方法比方法1更復雜,因此大家應該會更喜歡方法1。

筆者之前學習神經(jīng)網(wǎng)絡時也是看了很多資料,有些資料講的云里霧里的。筆者希望大家閱讀本文后能少走彎路,理解神經(jīng)網(wǎng)絡。最后,引用吳老師書中的話做結尾:“有不少專業(yè)術語乍一聽很唬人,‘人工神經(jīng)網(wǎng)絡’就屬于這一類,至少我第一次聽到這個詞就被唬住了。你想啊,在大家的印象當中,人們對人腦的結構都還根本沒有搞清楚,這就冒出來一個‘人工的’神經(jīng)網(wǎng)絡,似乎是在用計算機來模擬人腦。想到人腦的結構那么復雜,大家的第一反應一定是人工神經(jīng)網(wǎng)絡肯定非常高深。如果我們有幸遇到一個好心同時又善于表達的科學家或教授,他愿意花一兩個小時的時間,深入淺出地把人工神經(jīng)網(wǎng)絡的底細告訴你,你便會發(fā)現(xiàn),‘哦,原來是這么回事’。如果我們不幸遇到一個愛賣弄的人,他會很鄭重地告訴你‘我在使用人工神經(jīng)網(wǎng)絡’或者‘我研究的課題是人工神經(jīng)網(wǎng)絡’,然后就沒有下文了,如此,你除了對他肅然起敬外,不由得可能還會感到自卑。當然還有好心卻不善于表達的人試圖將這個概念給你講清楚,但是他用了一些更難懂的名詞,講得云山霧罩,最后你發(fā)現(xiàn)聽他講了好幾個小時,結果是更加糊涂了,你除了浪費時間外一無所獲,于是你得出一個結論:反正我這輩子不需要搞懂它了。

大家可別以為我是在說笑話,這些都是我的親身經(jīng)歷。首先,我沒有遇到過一兩小時給我講懂的好心人,其次我遇到了一批在我前面賣弄的人,作為年輕人,總是希望把自己不明白的東西搞懂,于是我決定去旁聽一門課。不過,我聽了大約兩三次便不再去了,因為除了浪費時間,似乎我并沒得到什么收獲。好在我自己做研究暫時用不到它,也就不再關心了。后來在美國讀博士期間,我喜歡在睡覺前躺著看書,沒事兒就捧著幾本關于人工神經(jīng)網(wǎng)絡的教科書在床上看,居然也看懂了。然后再用它做了兩三個項目,算是學會了。到這時回過頭來再看‘人工神經(jīng)網(wǎng)絡’,其實并不復雜,入門也不難,只是我走了彎路。

雷鋒網(wǎng)注:本文由亮風臺授權雷鋒網(wǎng)發(fā)布,如需轉載請聯(lián)系原作者。

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權禁止轉載。詳情見轉載須知。

分享:
相關文章

專欄作者

亮風臺首席科學家
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設置密碼以方便用郵箱登錄
立即設置 以后再說