人工神經網絡

維基百科,自由的百科全書
前往: 導覽搜尋

機器學習認知科學領域,人工神經網絡(artificial neural network,縮寫ANN),簡稱神經網絡(neural network,縮寫NN)或類神經網絡,是一種模仿生物神經網絡(動物的中樞神經系統,特別是大腦)的結構和功能的數學模型計算模型,用於對函數進行估計或近似。神經網絡由大量的人工神經元聯結進行計算。大多數情況下人工神經網絡能在外界信息的基礎上改變內部結構,是一種自適應系統[來源請求]現代神經網絡是一種非線性統計性數據建模工具。典型的神經網絡具有以下三個部分:

  • 結構Architecture) 結構指定了網絡中的變量和它們的拓撲關係。例如,神經網絡中的變量可以是神經元連接的權重(weights)和神經元的激勵值(activities of the neurons)。
  • 激勵函數(Activity Rule) 大部分神經網絡模型具有一個短時間尺度的動力學規則,來定義神經元如何根據其他神經元的活動來改變自己的激勵值。一般激勵函數依賴於網絡中的權重(即該網絡的參數)。
  • 學習規則(Learning Rule)學習規則指定了網絡中的權重如何隨著時間推進而調整。這一般被看做是一種長時間尺度的動力學規則。一般情況下,學習規則依賴於神經元的激勵值。它也可能依賴於監督者提供的目標值和當前權重的值。

例如,用於手寫識別的一個神經網絡,有一組輸入神經元。輸入神經元會被輸入圖像的數據所激發。在激勵值被加權並通過一個函數(由網絡的設計者確定)後,這些神經元的激勵值被傳遞到其他神經元。這個過程不斷重複,直到輸出神經元被激發。最後,輸出神經元的激勵值決定了識別出來的是哪個字母。

神經網絡的構築理念是受到生物(人或其他動物)神經網絡功能的運作啟發而產生的。人工神經網絡通常是通過一個基於數學統計學類型的學習方法(Learning Method)得以優化,所以人工神經網絡也是數學統計學方法的一種實際應用,通過統計學的標準數學方法我們能夠得到大量的可以用函數來表達的局部結構空間,另一方面在人工智慧學的人工感知領域,我們通過數學統計學的應用可以來做人工感知方面的決定問題(也就是說通過統計學的方法,人工神經網絡能夠類似人一樣具有簡單的決定能力和簡單的判斷能力),這種方法比起正式的邏輯學推理演算更具有優勢。

和其他機器學習方法一樣,神經網絡已經被用於解決各種各樣的問題,例如機器視覺語音識別。這些問題都是很難被傳統基於規則的編程所解決的。

背景[編輯]

對人類中樞神經系統的觀察啟發了人工神經網絡這個概念。在人工神經網絡中,簡單的人工節點,稱作神經元(neurons),連接在一起形成一個類似生物神經網絡的網狀結構。

人工神經網絡目前沒有一個統一的正式定義。不過,具有下列特點的統計模型可以被稱作是「神經化」的:

  • 具有一組可以被調節的權重,換言之,被學習算法調節的數值參數,並且
  • 可以估計輸入數據的非線性函數關係

這些可調節的權重可以被看做神經元之間的連接強度。

人工神經網絡與生物神經網絡的相似之處在於,它可以集體地、並行地計算函數的各個部分,而不需要描述每一個單元的特定任務。神經網絡這個詞一般指統計學認知心理學人工智慧領域使用的模型,而控制中央神經系統的神經網絡屬於理論神經學計算神經學[1]

在神經網絡的現代軟體實現中,被生物學啟發的那種方法已經很大程度上被拋棄了,取而代之的是基於統計學信號處理的更加實用的方法。在一些軟體系統中,神經網絡或者神經網絡的一部分(例如人工神經元)是大型系統中的一個部分。這些系統結合了適應性的和非適應性的元素。雖然這種系統使用的這種更加普遍的方法更適宜解決現實中的問題,但是這和傳統的連接主義人工智慧已經沒有什麼關聯了。不過它們還有一些共同點:非線性、分布式、並行化,局部性計算以及適應性。從歷史的角度講,神經網絡模型的應用標誌著二十世紀八十年代後期從高度符號化的人工智慧(以用條件規則表達知識的專家系統為代表)向低符號化的機器學習(以用動力系統的參數表達知識為代表)的轉變。

歷史[編輯]

沃倫·麥卡洛克沃爾特·皮茨(1943)[2]基於數學和一種稱為閾值邏輯的算法創造了一種神經網絡的計算模型。這種模型使得神經網絡的研究分裂為兩種不同研究思路。一種主要關注大腦中的生物學過程,另一種主要關注神經網絡在人工智慧里的應用。

赫布型學習[編輯]

二十世紀40年代後期,心理學家唐納德·赫布根據神經可塑性的機制創造了一種對學習的假說,現在稱作赫布型學習。赫布型學習被認為是一種典型的非監督式學習規則,它後來的變種是長期增強作用的早期模型。從1948年開始,研究人員將這種計算模型的思想應用到B型圖靈機上。

法利和韋斯利·A·克拉克(1954)[3]首次使用計算機,當時稱作計算器,在MIT模擬了一個赫布網絡。

弗蘭克·羅森布拉特(1956)[4]創造了感知機。這是一種模式識別算法,用簡單的加減法實現了兩層的計算機學習網絡。羅森布拉特也用數學符號描述了基本感知機里沒有的迴路,例如異或迴路。這種迴路一直無法被神經網絡處理,直到Paul Werbos(1975)創造了反向傳播算法

馬文·明斯基西摩·帕爾特(1969)發表了一項關於機器學習的研究以後,神經網絡的研究停滯不前。他們發現了神經網絡的兩個關鍵問題。第一是基本感知機無法處理異或迴路。第二個重要的問題是電腦沒有足夠的能力來處理大型神經網絡所需要的很長的計算時間。直到計算機具有更強的計算能力之前,神經網絡的研究進展緩慢。

反向傳播算法與復興[編輯]

後來出現的一個關鍵的進展是反向傳播算法(Werbos 1975)。這個算法有效地解決了異或的問題,還有更普遍的訓練多層神經網絡的問題。

在二十世紀80年代中期,分布式並行處理(當時稱作聯結主義)流行起來。David E. Rumelhart和James McClelland(1986)的教材對於聯結主義在計算機模擬神經活動中的應用提供了全面的論述。

神經網絡傳統上被認為是大腦中的神經活動的簡化模型,雖然這個模型和大腦的生理結構之間的關聯存在爭議。人們不清楚人工神經網絡能多大程度地反映大腦的功能。

支持向量機和其他更簡單的方法(例如線性分類器)在機器學習領域的流行度逐漸超過了神經網絡,但是在2000年代後期出現的深度學習重新激發了人們對神經網絡的興趣。

2006年之後的進展[編輯]

人們用CMOS創造了用於生物物理模擬和神經形態計算的計算裝置。最新的研究顯示了用於大型主成分分析卷積神經網絡的奈米裝置[5]具有良好的前景。如果成功的話,這會創造出一種新的神經計算裝置[6],因為它依賴於學習而不是編程,並且它從根本上就是模擬的而不是數位化的,雖然它的第一個實例可能是數位化的CMOS裝置。

在2009到2012年之間,Jürgen Schmidhuber在Swiss AI Lab IDSIA的研究小組研發的遞歸神經網絡和深前饋神經網絡贏得了8項關於模式識別和機器學習的國際比賽。[7][8]例如,Alex Graves et al.的雙向、多維的LSTM贏得了2009年ICDAR的3項關於連筆字識別的比賽,而且之前並不知道關於將要學習的3種語言的信息。[9][10][11][12]

IDSIA的Dan Ciresan和同事根據這個方法編寫的基於GPU的實現贏得了多項模式識別的比賽,包括IJCNN 2011交通標誌識別比賽等等。[13][14]他們的神經網絡也是第一個在重要的基準測試中(例如IJCNN 2012交通標誌識別和NYU的揚·勒丘恩(Yann LeCun)的MNIST手寫數字問題)能達到或超過人類水平的人工模式識別器。

類似1980年Kunihiko Fukushima發明的neocognitron[15]和視覺標準結構[16](由David H. Hubel和Torsten Wiesel在初級視皮層中發現的那些簡單而又複雜的細胞啟發)那樣有深度的、高度非線性的神經結構可以被多倫多大學傑夫·辛頓實驗室的非監督式學習方法所訓練。[17][18][19]

神經元[編輯]

神經元示意圖:

Ncell.png
  • a1~an為輸入向量的各個分量
  • w1~wn為神經元各個突觸的權值
  • b為偏置
  • f為傳遞函數,通常為非線性函數。一般有traingd(),tansig(),hardlim()。以下默認為hardlim()
  • t為神經元輸出

數學表示

  • 為權向量 ,的轉置
  • 為輸入向量
  • 為偏置
  • 為傳遞函數

可見,一個神經元的功能是求得輸入向量與權向量的內積後,經一個非線性傳遞函數得到一個純量結果。

單個神經元的作用:把一個n維向量空間用一個超平面分割成兩部分(稱之為判斷邊界),給定一個輸入向量,神經元可以判斷出這個向量位於超平面的哪一邊。

該超平面的方程:

  • 權向量
  • 偏置
  • 超平面上的向量

[20]

神經元網絡[編輯]

單層神經元網絡[編輯]

是最基本的神經元網絡形式,由有限個神經元構成,所有神經元的輸入向量都是同一個向量。由於每一個神經元都會產生一個純量結果,所以單層神經元的輸出是一個向量,向量的維數等於神經元的數目。

示意圖:

SingleLayerNeuralNetwork english.png

多層神經元網絡[編輯]

人工神經網絡的實用性[編輯]

人工神經網絡是一個能夠學習,能夠總結歸納的系統,也就是說它能夠通過已知數據的實驗運用來學習和歸納總結。人工神經網絡通過對局部情況的對照比較(而這些比較是基於不同情況下的自動學習和要實際解決問題的複雜性所決定的),它能夠推理產生一個可以自動識別的系統。與之不同的基於符號系統下的學習方法,它們也具有推理功能,只是它們是建立在邏輯演算法的基礎上,也就是說它們之所以能夠推理,基礎是需要有一個推理演算法則的集合。

人工神經元網絡模型[編輯]

通常來說,一個人工神經元網絡是由一個多層神經元結構組成,每一層神經元擁有輸入(它的輸入是前一層神經元的輸出)和輸出,每一層(我們用符號記做)Layer(i)是由Ni(Ni代表在第i層上的N)個網絡神經元組成,每個Ni上的網絡神經元把對應在Ni-1上的神經元輸出做為它的輸入,我們把神經元和與之對應的神經元之間的連線用生物學的名稱,叫做突觸英語:Synapse),在數學模型中每個突觸有一個加權數值,我們稱做權重,那麼要計算第i層上的某個神經元所得到的勢能等於每一個權重乘以第i-1層上對應的神經元的輸出,然後全體求和得到了第i層上的某個神經元所得到的勢能,然後勢能數值通過該神經元上的激活函數(activation function,常是∑函數(英語:Sigmoid function)以控制輸出大小,因為其可微分且連續,方便差量規則(英語:Delta rule)處理。求出該神經元的輸出,注意的是該輸出是一個非線性的數值,也就是說通過激勵函數求的數值根據極限值來判斷是否要激活該神經元,換句話說我們對一個神經元網絡的輸出是否線性不感興趣。

基本結構[編輯]

一種常見的多層結構的前饋網絡(Multilayer Feedforward Network)由三部分組成,

  • 輸入層(Input layer),眾多神經元(Neuron)接受大量非線形輸入訊息。輸入的訊息稱為輸入向量。
  • 輸出層(Output layer),訊息在神經元鏈接中傳輸、分析、權衡,形成輸出結果。輸出的訊息稱為輸出向量。
  • 隱藏層(Hidden layer),簡稱「隱層」,是輸入層和輸出層之間眾多神經元和鏈接組成的各個層面。隱層可以有多層,習慣上會用一層。隱層的節點(神經元)數目不定,但數目越多神經網絡的非線性越顯著,從而神經網絡的強健性(robustness)(控制系統在一定結構、大小等的參數攝動下,維持某些性能的特性。)更顯著。習慣上會選輸入節點1.2至1.5倍的節點。

神經網絡的類型已經演變出很多種,這種分層的結構也並不是對所有的神經網絡都適用。

學習過程[編輯]

通過訓練樣本的校正,對各個層的權重進行校正(learning)而建立模型的過程,稱為自動學習過程(training algorithm)。具體的學習方法則因網絡結構和模型不同而不同,常用反向傳播算法(Backpropagation/倒傳遞/逆傳播,以output利用一次微分en:Delta rule來修正weight)來驗證。

參見:神經網絡介紹

種類[編輯]

人工神經網路分類為以下兩種:
1.依學習策略(Algorithm)分類主要有:


2.依網路架構(Connectionism)分類主要有:

理論性質[編輯]

計算能力[編輯]

多層感知器(MLP)是一個通用的函數逼近器,由Cybenko定理證明。然而,證明不是由所要求的神經元數量或權重來推斷的。 Hava Siegelmann和Eduardo D. Sontag的工作證明了,一個具有有理數權重值的特定遞歸結構(與全精度實數權重值相對應)相當於一個具有有限數量的神經元和標準的線性關係的通用圖靈機。[21] 他們進一步表明,使用無理數權重值會產生一個超圖靈機。

容量[編輯]

人工神經網絡模型有一個屬性,稱為「容量」,這大致相當於他們可以塑造任何函數的能力。它與可以被儲存在網絡中的信息的數量和複雜性相關。

收斂性[編輯]

沒有什麼通常意義上的收斂,因為它取決於一些因素。首先,函數可能存在許多局部極小值。這取決於成本函數和模型。其次,使用優化方法在遠離局部最小值時可能無法保證收斂。第三,對大量的數據或參數,一些方法變得不切實際。在一般情況下,我們發現,理論保證的收斂不能成為實際應用的一個可靠的指南。

綜合統計[編輯]

在目標是創建一個普遍系統的應用程式中,過度訓練的問題出現了。這出現在迴旋或過度具體的系統中當網絡的容量大大超過所需的自由參數。為了避免這個問題,有兩個方向:第一個是使用交叉驗證和類似的技術來檢查過度訓練的存在和選擇最佳參數如最小化泛化誤差。二是使用某種形式的正規化。這是一個在機率化(貝葉斯)框架里出現的概念,其中的正則化可以通過為簡單模型選擇一個較大的先驗機率模型進行;而且在統計學習理論中,其目的是最大限度地減少了兩個數量:「風險」和「結構風險」,相當於誤差在訓練集和由於過度擬合造成的預測誤差。

參見[編輯]

外部連結[編輯]

參考文獻[編輯]

  1. ^ Hentrich, Michael William. Methodology and Coronary Artery Disease Cure. 2015-08-16. doi:10.1709/TIT.2015.1083925. 
  2. ^ McCulloch, Warren S.; Pitts, Walter. A logical calculus of the ideas immanent in nervous activity. The bulletin of mathematical biophysics. 1943-12-01, 5 (4): 115–133. doi:10.1007/BF02478259. ISSN 0007-4985 (英語). 
  3. ^ Farley, B.; Clark, W. Simulation of self-organizing systems by digital computer. Transactions of the IRE Professional Group on Information Theory. 1954-09-01, 4 (4): 76–84. doi:10.1109/TIT.1954.1057468. ISSN 2168-2690. 
  4. ^ Rochester, N.; Holland, J.; Haibt, L.; Duda, W. Tests on a cell assembly theory of the action of the brain, using a large digital computer. IRE Transactions on Information Theory. 1956-09-01, 2 (3): 80–93. doi:10.1109/TIT.1956.1056810. ISSN 0096-1000. 
  5. ^ Yang, J. J.; Pickett, M. D.; Li, X. M.; Ohlberg, D. A. A.; Stewart, D. R.; Williams, R. S. Memristive switching mechanism for metal/oxide/metal nanodevices. Nat. Nanotechnol. 2008, 3: 429–433. doi:10.1038/nnano.2008.160. 
  6. ^ Strukov, D. B.; Snider, G. S.; Stewart, D. R.; Williams, R. S. The missing memristor found. Nature. 2008, 453: 80–83. doi:10.1038/nature06932. PMID 18451858. 
  7. ^ 2012 Kurzweil AI Interview with Jürgen Schmidhuber on the eight competitions won by his Deep Learning team 2009–2012
  8. ^ http://www.kurzweilai.net/how-bio-inspired-deep-learning-keeps-winning-competitions 2012 Kurzweil AI Interview with Jürgen Schmidhuber on the eight competitions won by his Deep Learning team 2009–2012
  9. ^ Graves, Alex; and Schmidhuber, Jürgen; Offline Handwriting Recognition with Multidimensional Recurrent Neural Networks, in Bengio, Yoshua; Schuurmans, Dale; Lafferty, John; Williams, Chris K. I.; and Culotta, Aron (eds.), Advances in Neural Information Processing Systems 22 (NIPS'22), 7–10 December 2009, Vancouver, BC, Neural Information Processing Systems (NIPS) Foundation, 2009, pp. 545–552.
  10. ^ Graves, A.; Liwicki, M.; Fernandez, S.; Bertolami, R.; Bunke, H.; Schmidhuber, J. A Novel Connectionist System for Improved Unconstrained Handwriting Recognition (PDF). IEEE Transactions on Pattern Analysis and Machine Intelligence. 2009, 31 (5). 
  11. ^ Graves, Alex; and Schmidhuber, Jürgen; Offline Handwriting Recognition with Multidimensional Recurrent Neural Networks, in Bengio, Yoshua; Schuurmans, Dale; Lafferty, John; Williams, Chris K. I.; and Culotta, Aron (eds.), Advances in Neural Information Processing Systems 22 (NIPS'22), December 7th–10th, 2009, Vancouver, BC, Neural Information Processing Systems (NIPS) Foundation, 2009, pp. 545–552
  12. ^ Graves, A.; Liwicki, M.; Fernandez, S.; Bertolami, R.; Bunke, H.; Schmidhuber, J. A Novel Connectionist System for Improved Unconstrained Handwriting Recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence. 2009, 31 (5). 
  13. ^ D. C. Ciresan, U. Meier, J. Masci, J. Schmidhuber. Multi-Column Deep Neural Network for Traffic Sign Classification. Neural Networks, 2012.
  14. ^ D. C. Ciresan, U. Meier, J. Masci, J. Schmidhuber. Multi-Column Deep Neural Network for Traffic Sign Classification. Neural Networks, 2012.
  15. ^ Fukushima, K. Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position. Biological Cybernetics. 1980, 36 (4): 93–202. doi:10.1007/BF00344251. PMID 7370364. 
  16. ^ M Riesenhuber, T Poggio. Hierarchical models of object recognition in cortex. Nature neuroscience, 1999.
  17. ^ Deep belief networks at Scholarpedia.
  18. ^ Hinton, G. E.; Osindero, S.; Teh, Y. W. A Fast Learning Algorithm for Deep Belief Nets (PDF). Neural Computation. 2006, 18 (7): 1527–1554. doi:10.1162/neco.2006.18.7.1527. PMID 16764513. 
  19. ^ Hinton, G. E.; Osindero, S.; Teh, Y. A fast learning algorithm for deep belief nets (PDF). Neural Computation. 2006, 18 (7): 1527–1554. doi:10.1162/neco.2006.18.7.1527. PMID 16764513. 
  20. ^ Hagan, Martin. Neural Network Design. PWS Publishing Company. 1996. ISBN 7-111-10841-8. 
  21. ^ Siegelmann, H.T.; Sontag, E.D. Turing computability with neural nets (PDF). Appl. Math. Lett. 1991, 4 (6): 77–80. doi:10.1016/0893-9659(91)90080-F.