Loading AI tools
模仿生物神經網路結構和功能的數學模型或計算模型 来自维基百科,自由的百科全书
類神經網路(英語:artificial neural network,ANNs)又稱人工神經網絡,簡稱神經網路(neural network,NNs),在機器學習和認知科學領域,是一種模仿生物神經網路(動物的中樞神經系統,特別是大腦)的結構和功能的數學模型或計算模型,用於對函式進行估計或近似。神經網路由大量的類神經元聯結進行計算。大多數情況下類神經網路能在外界資訊的基礎上改變內部結構,是一種自適應系統(adaptive system),通俗地講就是具備學習功能。現代神經網路是一種非線性統計性資料建模(概率模型)工具,神經網路通常是透過一個基於數學統計學類型的學習方法(learning method)得以最佳化,所以也是數學統計學方法的一種實際應用,透過統計學的標準數學方法我們能夠得到大量的可以用函式來表達的局部結構空間,另一方面在人工智慧學的人工感知領域,我們透過數學統計學的應用可以來做人工感知方面的決定問題(也就是說透過統計學的方法,類神經網路能夠類似人一樣具有簡單的決定能力和簡單的判斷能力),這種方法比起正式的邏輯學推理演算更具有優勢。
上級分類 | 神經網路、判別模型 |
---|---|
話題方面 | 人工智慧、機器學習 |
特性 | types of artificial neural networks |
表現概念 | 生物神經網路 |
使用 | 啟用功能 |
Stack Exchange標籤 | https://stackoverflow.com/tags/neural-network、https://stats.stackexchange.com/tags/neural-networks、https://cs.stackexchange.com/tags/neural-networks、https://ai.stackexchange.com/tags/neural-networks |
和其他機器學習方法一樣,神經網路已經被用於解決各種各樣的問題,例如機器視覺和語音辨識。這些問題都是很難被傳統基於規則的編程所解決的。
對人類中樞神經系統的觀察啟發了類神經網路這個概念。在類神經網路中,節點(node)是構成類神經網路的數位化元素,是網路中任何的連接點;類神經元(neuron)屬於一種節點,特指類神經網路中基本的計算或處理單元,連接在一起形成一個類似生物神經網路的網狀結構。
類神經網路目前沒有一個統一的正式定義。不過,具有下列特點的統計模型可以被稱作是「神經化」的:
這些可調節的權重可以被看做神經元之間的連接強度。
類神經網路與生物神經網路的相似之處在於,它可以集體地、並列地計算函式的各個部分,而不需要描述每一個單元的特定任務。神經網路這個詞一般指統計學、認知心理學和人工智慧領域使用的模型,而控制中央神經系統的神經網路屬於計算神經科學。[1]
在神經網路的現代軟體實現中,由生物學啟發的方法已經有了很重大的延伸,現在主流的是基於統計學和訊號處理的更加實用的方法。在一些軟體系統中,神經網路或者神經網路的一部分(例如類神經元)是大型系統中的一個部分。這些系統結合了適應性的和非適應性的元素。雖然這種系統使用的這種更加普遍的方法更適宜解決現實中的問題,但是這和傳統的連接主義人工智慧已經沒有什麼關聯了。不過它們還有一些共同點:非線性、分散式、並列化,局部性計算以及適應性。從歷史的角度講,神經網路模型的應用標誌著二十世紀八十年代後期從高度符號化的人工智慧(以用條件規則表達知識的專家系統為代表)向低符號化的機器學習(以用動力系統的參數列達知識為代表)的轉變。
沃倫·麥卡洛克和沃爾特·皮茨(1943)[2]基於數學和一種稱為閾值邏輯的演算法創造了一種神經網路的計算模型。這種模型使得神經網路的研究分裂為兩種不同研究思路。一種主要關注大腦中的生物學過程,另一種主要關注神經網路在人工智慧裡的應用。
二十世紀40年代後期,心理學家唐納德·赫布根據神經可塑性的機制創造了一種對學習的假說,現在稱作赫布型學習。赫布型學習被認為是一種典型的非監督式學習規則,它後來的變種是長期增強作用的早期模型。從1948年開始,研究人員將這種計算模型的思想應用到B型圖靈機上。
法利和韋斯利·A·克拉克(Wesley Allison Clark )(1954)[3]首次使用電腦,當時稱作計算機,在MIT類比了一個赫布網路。納撒尼爾·羅切斯特(1956)等人[4]類比了一台 IBM 704電腦上的抽象神經網路的行為。
弗蘭克·羅森布拉特創造了感知機[5]。這是一種圖型識別演算法,用簡單的加減法實現了兩層的電腦學習網路。羅森布拉特也用數學符號描述了基本感知機里沒有的迴路,例如互斥或迴路。這種迴路一直無法被神經網路處理,直到保羅·韋伯斯(1975)創造了反向傳播演算法。
在馬文·明斯基和西摩爾·派普特(1969)發表了一項關於機器學習的研究以後,神經網路的研究停滯不前。他們發現了神經網路的兩個關鍵問題。第一是基本感知機無法處理互斥或迴路。第二個重要的問題是電腦沒有足夠的能力來處理大型神經網路所需要的很長的計算時間。直到電腦具有更強的計算能力之前,神經網路的研究進展緩慢。
後來出現的一個關鍵的進展是保羅·韋伯斯發明的反向傳播演算法(Werbos 1975)。這個演算法有效地解決了互斥或的問題,還有更普遍的訓練多層神經網路的問題。
在二十世紀80年代中期,分散式並列處理(當時稱作聯結主義)流行起來。戴維·魯姆哈特和詹姆斯·麥克里蘭德的教材對於聯結主義在電腦類比神經活動中的應用提供了全面的論述。
神經網路傳統上被認為是大腦中的神經活動的簡化模型,雖然這個模型和大腦的生理結構之間的關聯存在爭議。人們不清楚類神經網路能多大程度地反映大腦的功能。
支持向量機和其他更簡單的方法(例如線性分類器)在機器學習領域的流行度逐漸超過了神經網路,但是在2000年代後期出現的深度學習重新激發了人們對神經網路的興趣。
人們用CMOS創造了用於生物物理類比和神經形態計算的計算裝置。最新的研究顯示了用於大型主成分分析和卷積神經網路的奈米裝置[6]具有良好的前景。如果成功的話,這會創造出一種新的神經計算裝置[7],因為它依賴於學習而不是編程,並且它從根本上就是類比的而不是數位化的,雖然它的第一個實例可能是數位化的CMOS裝置。
在2009到2012年之間,于爾根·施密德胡伯在瑞士研究小組(Dalle Molle Institute for Artificial Intelligence)的研發的迴圈神經網路和深前饋神經網路贏得了8項關於圖型識別和機器學習的國際比賽。[8][9]例如,艾力克斯·格雷夫斯的雙向、多維的LSTM贏得了2009年ICDAR的3項關於連筆字辨識的比賽,而且之前並不知道關於將要學習的3種語言的資訊。[10][11][12][13]
IDSIA的丹·奇爾桑 (Dan Ciresan)和同事根據這個方法編寫的基於GPU的實現贏得了多項圖型識別的比賽,包括IJCNN 2011交通標誌辨識比賽等等。[14][15]他們的神經網路也是第一個在重要的基準測試中(例如IJCNN 2012交通標誌辨識和NYU的楊立昆的MNIST手寫數字問題)能達到或超過人類水平的人工圖型識別器。
類似1980年福島邦彥(Kunihiko Fukushima )發明的neocognitron[16]和視覺標準結構[17](由David H. Hubel和Torsten Wiesel在初級視皮層中發現的那些簡單而又複雜的細胞啟發)那樣有深度的、高度非線性的神經結構可以被多倫多大學傑弗里·辛頓實驗室的非監督式學習方法所訓練。[18][19][20] 2012年,神經網路出現了快速的發展,主要原因在於計算技術的提高,使得很多複雜的運算變得成本低廉。以AlexNet為標誌,大量的深度網路開始出現。
2014年出現了殘差神經網路,該網路極大解放了神經網路的深度限制,出現了深度學習的概念。
典型的類神經網路具有以下三個部分:
神經元示意圖:
數學表示
可見,一個神經元的功能是求得輸入向量與權向量的內積後,經一個非線性傳遞函式得到一個純量結果。
單個神經元的作用:把一個n維向量空間用一個超平面分割成兩部分(稱之為判斷邊界),給定一個輸入向量,神經元可以判斷出這個向量位於超平面的哪一邊。
該超平面的方程:
是最基本的神經元網路形式,由有限個神經元構成,所有神經元的輸入向量都是同一個向量。由於每一個神經元都會產生一個純量結果,所以單層神經元的輸出是一個向量,向量的維數等於神經元的數目。
示意圖:
類神經網路是一個能夠學習,能夠總結歸納的系統,也就是說它能夠透過已知資料的實驗運用來學習和歸納總結。類神經網路透過對局部情況的對照比較(而這些比較是基於不同情況下的自動學習和要實際解決問題的複雜性所決定的),它能夠推理產生一個可以自動辨識的系統。與之不同的基於符號系統下的學習方法,它們也具有推理功能,只是它們是建立在邏輯演算法的基礎上,也就是說它們之所以能夠推理,基礎是需要有一個推理演算法則的集合。
通常來說,一個類神經元網路是由一個多層神經元結構組成,每一層神經元擁有輸入(它的輸入是前一層神經元的輸出)和輸出,每一層(我們用符號記做)Layer(i)是由Ni(Ni代表在第i層上的N)個網路神經元組成,每個Ni上的網路神經元把對應在Ni-1上的神經元輸出做為它的輸入,我們把神經元和與之對應的神經元之間的連線用生物學的名稱,叫做突觸(英語:Synapse),在數學模型中每個突觸有一個加權數值,我們稱做權重,那麼要計算第i層上的某個神經元所得到的勢能等於每一個權重乘以第i-1層上對應的神經元的輸出,然後全體求和得到了第i層上的某個神經元所得到的勢能,然後勢能數值透過該神經元上的啟用功能(activation function,常是∑函式(英語:Sigmoid function)以控制輸出大小,因為其可微分且連續,方便差量規則(英語:Delta rule)處理。),求出該神經元的輸出,注意的是該輸出是一個非線性的數值,也就是說透過激勵函式求的數值根據極限值來判斷是否要啟用該神經元,換句話說我們對一個神經元網路的輸出是否線性不感興趣。
一種常見的多層結構的前饋網路(Multilayer Feedforward Network)由三部分組成,
這種網路一般稱為感知器(對單隱藏層)或多層感知器(對多隱藏層),神經網路的類型已經演變出很多種,這種分層的結構也並不是對所有的神經網路都適用。
通過訓練樣本的校正,對各個層的權重進行校正(learning)而建立模型的過程,稱為自動學習過程(training algorithm)。具體的學習方法則因網路結構和模型不同而不同,常用反向傳播演算法(Backpropagation/倒傳遞/逆傳播,以output利用一次微分Delta rule來修正weight)來驗證。
類神經網絡分類為以下兩種:
1.依學習策略(Algorithm)分類主要有:
2.依網絡架構(Connectionism)分類主要有:
多層感知器(Multilayer Perceptron,縮寫MLP)是一個通用的函式逼近器,由Cybenko定理證明。然而,證明不依賴特定的神經元數量或權重。Hava Siegelmann和Eduardo D. Sontag的工作證明了,一個具有有理數權重值的特定遞迴結構(與全精度實數權重值相對應)由有限個神經元和標準的線性關係構成的神經網路相當於一個通用圖靈機。[22]他們進一步表明,使用無理數權重值會產生一個超圖靈機。
類神經網路模型有一個屬性,稱為「容量」,這大致相當於他們記住(而非正確分類)輸入資料的能力。它與網路的參數、和結構有關。谷歌在研究[23]中使用打亂標籤的方法,來測試模型是否能記住所有的輸出。雖然很明顯,這樣模型在測試集上的表現幾乎是隨機猜測,但是模型能夠記住所有訓練集的輸入資料,即記住他們被打亂後的標籤。而記住有限的樣本的資訊(Expressivity),需要的模型的參數(權重)數量存在下限。
模型並不總是收斂到唯一解,因為它取決於一些因素。首先,函式可能存在許多局部極小值,這取決於成本函式和模型。其次,在遠離局部最小值時,最佳化方法可能無法保證收斂。第三,對大量的資料或參數,一些方法變得不切實際。在一般情況下,我們發現,理論保證的收斂不能成為實際應用的一個可靠的指南。
在目標是建立一個普遍系統的應用程式中,過度訓練的問題出現了。這出現在迴旋或過度具體的系統中當網路的容量大大超過所需的自由參數。為了避免這個問題,有兩個方向:第一個是使用交叉驗證和類似的技術來檢查過度訓練的存在和選擇最佳參數如最小化泛化誤差。二是使用某種形式的正規化。這是一個在概率化(貝葉斯)框架里出現的概念,其中的正則化可以透過為簡單模型選擇一個較大的先驗概率模型進行;而且在統計學習理論中,其目的是最大限度地減少了兩個數量:「風險」和「結構風險」,相當於誤差在訓練集和由於過度擬合造成的預測誤差。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.