神经网络知识整理
簡介
人工神經網絡(Artificial Neural Network,即ANN ),是20世紀80 年代以來人工智能領域興起的研究熱點。ANN是由大量的簡單處理單元經廣泛并行互連形成的一種網絡系統。它是對人腦系統的簡化、抽象和模擬,具有大腦功能的許多基本特征。
ANN是基于生物學中神經網絡的基本原理,在理解和抽象了人腦結構和外界刺激響應機制后,以網絡拓撲知識為理論基礎,模擬人腦的神經系統對復雜信息的處理機制的一種數學模型。在ANN中,神經元之間互連方式成為連接模式或連接模型。它不僅決定了神經元網絡的互聯結構,同時也決定了神經網絡的信號處理方式。
- 神經網絡的基本功能:(1)聯想記憶(2)非線性映射(3)分類和識別(4)優化計算(5)知識處理
神經網絡的基本特征
能力特征——自學習、自組織和自適應性。
結構特征——并行處理、分布式存儲和容錯特性。
人工神經網絡是有大量的簡單處理單元相互連接構成的高度并行的非線性系統,具有大規模并行性處理特征。結構上的并行性使得神經網絡的信息存儲必然分布式方式,即信息不是存儲在網絡的某個局部,而是分布在網絡所有的連接權中。神經網絡內在的并行性與分布性表現在其信息的存儲余處理都是都是在空間上分布、時間上并行的,這連個特點必然使神經網絡在兩個方面表現出良好的容錯性:一方面由于信息的分布式存儲,當網絡中部分神經元損環時不會對系統的整體性能造成影響,這一點就像人腦中每天都有神經細胞正常死亡而不會影響大腦的功能一樣;另一方面單輸入模糊、殘缺或變形的信息時,神經網絡能夠通過聯想恢復出完整的記憶,從而實現對不完整輸入信息的正確識別,這一點就像人可以對不規則的手寫進行正確識別一樣。
參考:田雨波.混合神經網絡技術[M].北京:科技出版社,2009.
發展歷史
1943年[1],心理學家W.S.McCulloch和數理邏輯學家W.Pitts提出了第一個人工神經元模型——MP模型。他們通過MP模型提出了神經元的形式化數學描述和網絡結構方法,證明了單個神經元能執行邏輯功能,從而開創了人工神經網絡研究的時代。
1958 年 Rosenblatt[2]在 MP 模型的基礎上提出了感知器模型(Perceptron),第一次將人工神經網絡理論應用在實際問題中。M.Minsky等仔細分析了以感知器為代表的神經網絡系統的功能及局限后,于1969年出版了《Perceptron》一書,指出感知器不能解決高階謂詞問題。他們的論點極大地影響了神經網絡的研究,加之當時串行計算機和人工智能所取得的成就,掩蓋了發展新型計算機和人工智能新途徑的必要性和迫切性,使人工神經網絡的研究處于低潮。
在此期間,一些人工神經網絡的研究者仍然致力于這一研究,提出了適應諧振理論(ART網)、自組織映射、認知機網絡,同時進行了神經網絡數學理論的研究。以上研究為神經網絡的研究和發展奠定了基礎。
1982年,美國加州工學院物理學家J.J.Hopfield[3-4]提出了Hopfield神經網格模型,為以后人工神經網絡的研究提供了理論基礎,同時引入了“計算能量”概念,給出了網絡穩定性判斷。1984年,他又提出了連續時間Hopfield神經網絡模型,為神經計算機的研究做了開拓性的工作,開創了神經網絡用于聯想記憶和優化計算的新途徑,有力地推動了神經網絡的研究。
1985年,又有學者提出了波爾茲曼模型,在學習中采用統計熱力學模擬退火技術,保證整個系統趨于全局穩定點。
1986年Rumelhart等人提出了并行分布處理理論以及具有非線性轉移函數的多層前饋網絡(BackPropagation Networks)的誤差反向傳播算法(Back Propagation),Rumelhart和McClelland出版了《Parallel distribution processing: explorations in the microstructures of cognition》。迄今,BP算法已被用于解決大量實際問題。
1988年,Linsker對感知機網絡提出了新的自組織理論,并在Shanon信息論的基礎上形成了最大互信息理論,從而點燃了基于NN的信息應用理論的光芒。1988年,Broomhead和Lowe用徑向基函數(Radial basis function, RBF)提出分層網絡的設計方法,從而將NN的設計與數值分析和線性適應濾波相掛鉤。
90年代初,Vapnik等提出了支持向量機(Support vector machines, SVM)和VC(Vapnik-Chervonenkis)維數的概念。人工神經網絡的研究受到了各個發達國家的重視,美國國會通過決議將1990年1月5日開始的十年定為“腦的十年”,國際研究組織號召它的成員國將“腦的十年”變為全球行為。在日本的“真實世界計算(RWC)”項目中,人工智能的研究成了一個重要的組成部分。
神經網絡的三元素
勝者為王學習規則即為競爭學習規則。
神經元模型
神經元模型圖解:
功能函數f(激活函數)是表示神經元輸入與輸出之間關系的函數,根據功能的不同,可以得到不同的神經元模型。常用的神經元模型有一下幾種:
(1)閾值型(Threshold):這種模型的神經元沒有內部狀態,激活函數f是一個階躍函數,表示激活值σ和其輸出f(σ)之間的關系。波形如下圖中(1)。閾值型神經元是最簡單的人工神經元,這種二值型神經元,其輸入狀態取值1或0,分別表示神經元的興奮與抑制。如σ>0時激活,σ<0時抑制。其中 M-P模型 就屬于一種閾值元件模型,它是由美國心理學家Mc Cukkoch和數學家Pitts提出的最早(1943)神經元模型之一。M-P模型是大多數神經網絡模型的基礎。M-P模型的6個特點:
每個神經元都是一個多輸入單輸出的信息處理單元;
神經元輸入分興奮性輸入和抑制性輸入兩種類型;
神經元具有空間整合特性和閾值特性;
神經元輸入與輸出間有固定的時滯,主要取決于突觸延擱;
忽略時間整合作用和不應期;
神經元本身是非時變的,即其突觸時延和突觸強度均為常數。
(2)分段線性強飽和型(Linear staturation):這種模型又稱偽線性,其輸入/輸出之間在一定范圍內滿足線性關系,一直延續到輸出為最大值1為止,但達到最大就不再增大,波形如下圖中(2)。
(3)S型(Sigmoid):這是一種連續的神經元模型,其輸出函數也是一個最大輸出值的非線性函數,其輸出值在某個范圍內連續取值,輸入輸出特性常用S型函數表示,它反映的是神經元的飽和特性,波形如下圖中(3)。
(4)子閾累積型(Subthreshold Summation):這種類型的激活函數也是作為非線性,當產生的激活值超過T值時,該神經元被激活產生一個反響。在線性范圍內,系統的反響是線性的,波形如下圖中(4)。
從生理學角度看,閾值型最符合人腦神經元的特點,事實上,人腦神經元正式通過電位的高低兩種狀態來反映該神經元的興奮與抑制。然而,由于階躍函數不可微。因此,實際上更多使用的是與之相仿的S型函數。
常用激活函數
- 線性函數 ( Liner Function )
- 斜面函數 ( Ramp Function )
- 閾值函數 ( Threshold Function )
- S形函數 ( Sigmoid Function )
雙極S形函數
前兩種是線性的,后兩種是非線性的。S形函數與雙極S形函數都是可導的(導函數是連續函數),因此適合用在BP神經網絡中。(BP算法要求激活函數可導)
參考:
網絡結構
一個ANN的神經元模型確定之后,一個神經網絡的特性及能力主要取決于其網絡結構與學習方法。神經網絡通常被描述為具有層(輸入,隱藏或輸出層),其中每層由并行的單元組成。通常同一層不具有連接、兩個相鄰層完全連接(每一層的每一個神經元到另一層的每個神經元)。
感知器:只有輸入層和輸出層,是最簡單的神經網絡結構。
多層感知器:就是在輸入層和輸出層之間加入隱層。
隨著隱層層數的增多,凸域將可以形成任意的形狀,因此可以解決任何復雜的分類問題。實際上,Kolmogorov理論指出:雙隱層感知器就足以解決任何復雜的分類問題。
- …(具體如下圖所示)
參考:
學習算法
學習算法的定義及分類
學習算法是ANN的核心問題,神經網絡的學習算法有很多種,大體可以分為有監督學習和無監督學習(半監督學習是介于兩者之間)。另外一類是死記式學習。
有監督學習(Supervised Learning):從給定的數據集中學習出一個函數, 當新的數據到來時, 可以根據這個函數預測結果, 訓練集通常由人工標注。一般需要實現收集樣本數據,將數據分為訓練集和檢驗集兩部分,以保證所訓練的神經網絡同時具有擬合精度和泛化能力。一般用于回歸和分類。
無監督學習(Unsupervised Learning):相較于監督學習, 沒有人工標注。主要用于聚類(clustering)和降維(DimensionReduction),可作為增強學習和監督學習的預處理。
強化學習(Reinforcement Learning,增強學習):通過觀察通過什么樣的動作獲得最好的回報, 每個動作都會對環境有所影響, 學習對象通過觀察周圍的環境進行判斷。
半監督學習(Semi-supervised Learning):介于監督學習和無監督學習。
死記式學習:網絡實現設計成能記憶特定的例子,以后當給定有關鈣離子的輸入信息時,例子便能被回憶起來。死記式學習中網絡的權值一旦設計好了就不再變動,因此其學習是一次性的,而不是一個訓練過程。
機器學習算法的選擇,考慮的指標:(1)泛化能力(2)時間復雜度——訓練的速度(3)空間復雜度——內存使用(4)在線學習能力(4)透明度或可解釋性等。
訓練與學習的區別
訓練函數和學習函數是兩個不同的函數,網絡設置中兩個都有。訓練函數求得權值或閾值之后,由學習函數進行調整,然后再由訓練函數訓練新的權值或閾值,然后再調整,反復下去。
訓練函數確定調整的大算法,是全局調整權值和閾值,考慮的是整體誤差的最小。訓練函數是如何讓誤差最小的一些算法,如梯度下降,共軛梯度,這里強調算法。
學習函數決定調整量怎么確定,是局部調整權值和閾值,考慮的是單個神經元誤差的最小。學習函數是指權值和閾值的調整規則,或者稱更新規則。
兩者的聯系:訓練函數求得權值或閾值之后,由學習函數進行調整,然后再由訓練函數訓練新的權值或閾值,然后再調整,反復下去。
此處的訓練函數對應神經網絡的學習算法,是整個網絡的權參數調整算法。
神經網絡學習規則
神經網絡的學習規則是修正權值的一種算法,分為聯想式和非聯想式學習,有監督學習和無監督學習等。下面介紹幾個常用的學習規則。
- 誤差修正型規則:是一種有監督的學習方法,根據實際輸出和期望輸出的誤差進行網絡連接權值的修正,最終網絡誤差小于目標函數達到預期結果。
- 競爭型規則:無監督學習過程,網絡僅根據提供的一些學習樣本進行自組織學習,沒有期望輸出,通過神經元相互競爭對外界刺激模式響應的權利進行網絡權值的調整來適應輸入的樣本數據。
- Hebb 型規則:利用神經元之間的活化值來反映它們之間聯接性的變化,即根據相互連接的神經元之間的活化值來修正其權值。
- 隨機型規則:在學習過程中結合了隨機、概率論和能量函數的思想,根據目標函數(即網絡輸出均方差)的變化調整網絡的參數,最終使網絡目標函數達到收斂值。
參考:馬秋明. 基于感知機優化的BP神經網絡郵件分類算法研究[D]. 電子科技大學, 2011.
神經網絡的結構及工作原理
神經網絡的一般結構
神經網絡一般由輸入層、隱藏層、輸出層三部分組成,具體如下:
輸入層(Input layer),眾多神經元(Neuron)接受大量非線形輸入訊息。輸入的訊息稱為輸入向量。
隱藏層(Hidden layer),簡稱“隱層”,是輸入層和輸出層之間眾多神經元和鏈接組成的各個層面。如果有多個隱藏層,則意味著多個激活函數。
輸出層(Output layer),訊息在神經元鏈接中傳輸、分析、權衡,形成輸出結果。輸出的訊息稱為輸出向量。
神經網絡的工作過程
神經網絡的工作過程包括構造階段、離線學習和在線判斷兩部分。
構造階段:確定神經網絡的神經元模型(激勵函數)、網絡拓撲結構(連接方式,有幾層以及各層的神經元個數)、學習算法三要素,確定神經網絡的結構。
學習過程:對各神經元進行規則學習,權參數調整,進行非線性映射關系擬合以達到訓練精度;最終達到的效果是神經網絡的權參數的固定值。
神經網絡的學習就是改變權值矩陣的過程。
判斷階段:訓練好的穩定的網絡(有固定的權參數)讀取輸入信息通過計算得到輸出結果。
神經網絡模型分類
神經網絡由大量的神經元互相連接而構成,根據神經元的鏈接方式,神經網絡可以分為3大類。
前饋神經網絡(Feedforward Neural Networks)
前饋網絡也稱前向網絡。這種網絡只在訓練過程會有反饋信號,而在分類過程中數據只能向前傳送,直到到達輸出層,層間沒有向后的反饋信號,因此被稱為前饋網絡。前饋網絡一般不考慮輸出與輸入在時間上的滯后效應,只表達輸出與輸入的映射關系;
感知機( perceptron)與BP神經網絡就屬于前饋網絡。下圖是一個3層的前饋神經網絡,其中第一層是輸入單元,第二層稱為隱含層,第三層稱為輸出層(輸入單元不是神經元,因此圖中有2層神經元)。
反饋神經網絡(Feedback Neural Networks)
反饋型神經網絡是一種從輸出到輸入具有反饋連接的神經網絡,其結構比前饋網絡要復雜得多。反饋神經網絡的“反饋”體現在當前的(分類)結果會作為一個輸入,影響到下一次的(分類)結果,即當前的(分類)結果是受到先前所有的(分類)結果的影響的。
典型的反饋型神經網絡有:Elman網絡和Hopfield網絡。
自組織網絡(SOM ,Self-Organizing Neural Networks)
自組織神經網絡是一種無導師學習網絡。它通過自動尋找樣本中的內在規律和本質屬性,自組織、自適應地改變網絡參數與結構。
基本結構:輸入層和競爭層
人工神經網絡研究的局限性及發展趨勢
發展趨勢
- 促進神經生理學、神經解剖學的研究
- 發展與之相關的數學領域
- 增強對智能和機器關系問題的認識
- 發展神經計算和進化計算的理論與應用
- 促進信息科學與生命科學的相互融合
注:神經網絡與各種智能信息處理方法有很大的發展前景,如與模擬退火算法、遺傳算法、粒子群算法、模糊理論、混沌理論和小波分析等相結合,即形成所謂的“混合神經網絡技術”
局限性
- ANN研究收到腦科學成果的限制。
- ANN缺乏一個完整、成熟的理論體系。
- ANN研究帶有濃厚的策略和經驗色彩。
ANN與傳統技術的接口不成熟。
相比于傳統技術,ANN相當于一個黑箱,內部映射關系并不明確。ANN相比于經典計算方法并非優越,只有當常規方法解決不了或者效果不佳時,ANN方法才能顯示出其優越性。尤其是問題的機理不甚了解后者不能用數學模型表示的系統,如故障診斷、特征提取和預測等問題,ANN往往是最有力的工具。另一方面,ANN對于處理大量原始數據而不能用規則或者公式描述的問題,表現出極大的靈活性和自適應性。
總之,在具有成熟的經典技術問題上,ANN不具優勢,但是針對難以數學建模的復雜系統,ANN具有極大的靈活性和適應性。
參考文獻
[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]Rosenblatt F. The perceptron: a probabilistic model for information storage and organization in the brain[J]. Psychological review, 1958, 65(6): 386.
[3] Hopfield J J. Neurons with graded response have collective computational properties like those of two-state neurons[J]. Proceedings of the national academy of sciences, 1984, 81(10): 3088-3092.
[4] Hopfield J J, Tank D W. Computing with neural circuits- A model[J]. Science, 1986, 233(4764): 625-633.
總結
- 上一篇: Android 中 OkGo 的使用 (
- 下一篇: 霍金一生重要时刻照片合集,3次来中国,年