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

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

1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5.忽略時間整合作用和不應(yīng)期;

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


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

McCulloch-Pitts模型公式如下:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

w0,w1,w2,…,wN:對應(yīng)每個輸入的權(quán)重。甚至偏置單元也是有權(quán)重的。

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

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

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

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

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

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

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

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

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

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

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

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

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

a = f(-0.5 + x1 + x2 )

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

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

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

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

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

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

真值表如下:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

真值表為:

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

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

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

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

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

大家仔細(xì)看會發(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)絡(luò)深入分析

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

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

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

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

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

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

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)絡(luò)深入分析

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

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

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

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

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

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

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

分享:
相關(guān)文章

專欄作者

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