第9章人工神經網絡原理及應用王海目錄人工神經網絡概述人工神經網絡基礎前饋人工神經網絡1.1什麼是人工神經網絡•所謂人工神經網絡就是基於模仿生物大腦的結構和功能而構成的一種資訊處理系統(電腦)。•需要指出,儘管人工神經網絡是對大腦結構的模仿,但這種模仿目前還處於極低的水準。1概述1.2人工神經網絡的兩種操作過程–訓練學習•訓練時,把要教給神經網絡的資訊(外部輸入)作為網絡的輸入和要求的輸出,使網絡按某種規則(稱為訓練演算法)調節各處理單元間的連接權值,直至加上給定輸入,網絡就能產生給定輸出為止。•這時,各連接權已調接好,網絡的訓練就完成了。–正常操作(回憶操作)•對訓練好的網絡輸入一個信號,它就可以正確回憶出相應輸出,得到識別結果。1概述1概述1.3人工神經網絡的發展-初始(萌發)期——MP模型的提出和人工神經網絡的興起。1943年,美國神經生理學家WarrenMcculloch和數學家WalterPitts合寫了一篇關於神經元如何工作的開拓性文章:“ALogicalCalculusofIdeasImmanentinNervousActivity”。該文指出,腦細胞的活動像斷/通開關,這些細胞可以按各種方式相互結合,進行各種邏輯運算。按此想法,他們用電路構成了簡單的神經網絡模型,並預言大腦的所有活動最終將被解釋清楚。雖然問題並非如此簡單,但它給人們一個信念,即大腦的活動是靠腦細胞的組合連接實現的。1.3人工神經網絡的發展•第一次高潮期——感知器模型和人工神經網絡–1957年,電腦專家FrankRosenblatt開始從事感知器的研究,並製成硬體,通常被認為是最早的神經網絡模型。–1959年,兩位電機工程師BernardWidrow和MarcianHaff開發出一種叫作自適應線性單元(ADALINE)的網絡模型,並在他們的論文“AdaptiveSwitchingCircuits”中描述了該模型和它的學習演算法(Widrow-Haff演算法)。–該網絡通過訓練,可以成功用於抵消通信中的回波和雜訊,也可用于天氣預報,成為第一個用於實際問題的神經網絡。1概述1.3人工神經網絡的發展•反思期—神經網絡的低潮–1969年,MarvinMinsky和SeymourPapert合著了一本書“Perception”,分析了當時的簡單感知器,指出它有非常嚴重的局限性,甚至不能解決簡單的“異或”問題,為Rosenblatt的感知器判了“死刑”。–此時,批評的聲音高漲,導致了停止對人工神經網絡研究所需的大量投資。–不少研究人員把注意力轉向了人工智慧,導致對人工神經網絡的研究陷入低潮。1概述1.3人工神經網絡的發展•第二次高潮期—Hopfield網絡模型的出現和人工神經網絡的復蘇–1984年,Hopfield設計研製了後來被人們稱為Hopfield網的電路,較好地解決了TCP問題,找到了最佳解的近似解,引起了較大轟動。–1985年,Hinton、Sejnowsky、Rumelhart等研究者在Hopfield網絡中引入隨機機制,提出了所謂的Bolziman機。–1986年,Rumelhart等研究者獨立地提出多層網絡的學習演算法—BP演算法,較好地解決了多層網絡的學習問題。–1990年12月,國內首屆神經網絡大會在北京舉行。1概述1.3人工神經網絡的發展•再認識與應用研究期–主要研究內容•開發現有模型的應用,並在應用中根據實際運行情況對模型、演算法加以改造,以提高網絡的訓練速度和運行的準確度。•充分發揮每種技術各自的優勢,尋找更有效的解決方法。•希望在理論上尋找新的突破,建立新的專用或通用模型和演算法。•進一步對生物神經系統進行研究,不斷豐富對人腦的認識。1概述1.4人工神經網絡的特點•容錯性–人類大腦具有很強的容錯能力,這正是由於大腦中知識是存儲在很多處理單元和它們的連接上的。•每天大腦的一些細胞都可能會自動死亡,但這並沒有影響人們的記憶和思考能力。–人工神經網絡可以從不完善的數據和圖形進行學習和做出決定•由於知識存在整個系統中,而不是在一個存儲單元內,因此一定比例的結點不參與運算,對整個系統的性能不會產生重大影響。•神經網絡中承受硬體損壞的能力比一般計算機要強得多。1概述1.4人工神經網絡的特點•自適應性–人工神經網絡也具有學習能力•有指導的訓練:將輸入樣本加到網絡輸入並給出相應的輸出,通過多次訓練迭代獲得連接權值。–好像告訴網絡:“當你看到這個圖形(比如5)時,請給我指示5”。•無指導的訓練:網絡通過訓練自行調節連接加權,從而對輸入樣本分類。–在網絡訓練時,有時只能給出大量的輸入圖形,沒有指定它們的輸出,網絡就自行按輸入圖形的特徵對它們進行分類。–如小孩通過大量觀察可以分辨出哪是狗、哪是貓一樣。1概述1.4人工神經網絡的特點•人工神經網絡的局限性–人工神經網絡不適於高精度的計算•正像很多人不善於直接計算類似資金的問題一樣,人工神經網絡不用於計算資金方面的問題。–人工神經網絡的學習和訓練往往是一個艱難的過程•網絡的設計沒有嚴格確定的方法(一般憑經驗),所以選擇訓練方法和所需網絡結構沒有統一標準。•離線訓練往往需要很長時間,為了獲得最佳效果,常常要重複試驗多次。•網絡收斂性的問題。1概述2.1人工神經網絡的生物原型—大腦•簡單的神經元2人工神經網絡基礎2.1人工神經網絡的生物原型—大腦•簡單的神經元–神經元就是神經細胞,它是動物的重要特徵之一,在人體內從大腦到全身存在大約1010個神經元。神經元間的信號通過突觸傳遞。–神經元的組成•細胞體:它是神經元的本體,內有細胞核和細胞質,完成普通細胞的生存功能。•樹突:它有大量的分枝,多達103數量級,長度較短(通常不超過1毫米),用以接收來自其它神經元的信號。•軸突:它用以輸出信號,有些較長(可達1米以上),軸突的遠端也有分枝,可與多個神經元相連。•突觸:它是一個神經元與另一個神經元相聯繫的特殊部位,通常是一個神經元軸突的端部靠化學接觸或電接觸將信號傳遞給下一個神經元的樹突或細胞體。2人工神經網絡基礎2.1人工神經網絡的生物原型—大腦•神經元的基本工作機制–一個神經元有兩種狀態——興奮和抑制–平時處於抑制狀態的神經元,當接收到其它神經元經由突觸傳來的衝擊信號時,多個輸入在神經元中以代數和的方式疊加。•進入突觸的信號會被加權,起興奮作用的信號為正,起抑制作用的信號為負。–如果疊加總量超過某個閾值,神經元就會被激發進入興奮狀態,發出輸出脈衝,並由軸突的突觸傳遞給其它神經元。–神經元被觸發後有一個不應期,在此期間內不能被觸發,然後閾值逐漸下降,恢復原來狀態。2人工神經網絡基礎2.1人工神經網絡的生物原型—大腦•神經元的基本工作機制–神經元是按照“全或無”的原則工作的,只有興奮和抑制兩種狀態,但也不能認為神經元只能表達或傳遞二值邏輯信號。–神經元興奮時往往不是只發一個脈衝,而是發出一串脈衝,如果把一串脈衝看成是一個調頻信號,脈衝的密度是可以表達連續量的。2人工神經網絡基礎2.1人工神經網絡的生物原型—大腦•大腦及大腦皮層的結構–研究證明,大腦中大約有1000個不同的模組,每個模組包含有50*106個神經元。•我們可以假設每個模組就是眾多神經網絡中的一類。–大腦的主要計算機构是大腦皮層,在其斷面上一般有3~6層神經細胞排列,大約10萬個神經元組成一組。–在一個典型的腦模型中,大約有500個神經網絡進行計算工作,平均一個神經元向其它神經元發出2000個突觸。–不同層間神經元的連接方式有平行型、發散型、收斂型和回饋型,這些連接的強度是隨機的,隨著對外部世界的回應而逐漸形成。2人工神經網絡基礎2.2人工神經網絡處理單元•處理單元(PE)就是人工神經元,也稱為結點,通常用圓圈表示。2人工神經網絡基礎12N…輸出輸入2.2人工神經網絡處理單元•處理單元的結構和功能與生物神經元有類似之處,可以說是生物神經元的簡單近似。–處理單元只模擬了生物神經元所能執行的150多個處理功能中的若干個。•處理單元的功能–對每個輸入信號進行處理以確定其強度(加權);–確定所有輸入信號的組合效果(求和);–確定其輸出(轉移特性)。2人工神經網絡基礎2.2人工神經網絡處理單元•對生物神經元的模擬–就像生物神經元中有很多輸入(激勵)一樣,處理單元也有很多輸入信號,並且同時加到處理單元上,處理單元以輸出作為回應。–處理單元的輸出像實際神經元一樣,輸出回應不但受輸入信號的影響,同時也受內部其它因素的影響。•內部因素:內部閾值或一個額外輸入(稱為偏置項)2人工神經網絡基礎2.2人工神經網絡處理單元•處理單元的基本結構和功能2人工神經網絡基礎2.2人工神經網絡處理單元•處理單元的基本結構和功能–輸入信號來自外部(用黑色圓點表示輸入端點)或別的處理單元的輸出,在數學上表示為行向量xx=(x1,x2,…,xN)其中xi為第i個輸入的激勵電平,N表示輸入數目。2人工神經網絡基礎2.2人工神經網絡處理單元•處理單元的基本結構和功能–連接到結點j的加權表示為加權向量Wj=(W1j,W2j,…,WNj)其中Wij表示從結點i(或第i個輸入點)到結點j的加權,或稱i與j結點之間的連接強度。2人工神經網絡基礎2.2人工神經網絡處理單元•處理單元的基本結構和功能–考慮到內部閾值θj,用x0=-1的固定偏置輸入點表示,其連接強度取W0j=θj。於是,可得輸入的加權和為2人工神經網絡基礎jijNiiijNiijWxWxs102.2人工神經網絡處理單元•處理單元的基本結構和功能–如果向量x和Wj分別包含了x0和W0j,則有x=(x0,x1,…,xN)Wj=(W0j,W1j,…,WNj)2人工神經網絡基礎2.2人工神經網絡處理單元•處理單元的基本結構和功能–於是sj可表示為x和Wj的點積或內積sj=x•Wj–這一結果是標量,它由兩個向量的內積得到,可以作為兩個向量相似程度的測量。•如果向量處於相同的方向,則其內積最大;•如果向量處於相反的方向,則其內積最小。2人工神經網絡基礎2.2人工神經網絡處理單元•處理單元的基本結構和功能–處理單元的激勵電平sj通過一個轉移函數F(•),得到處理單元的最後輸出值yj2人工神經網絡基礎)()()(0jijNiijjWxFWxFsFy2.2人工神經網絡處理單元•轉移函數–轉移函數F(•)也稱激勵函數、傳輸函數或限幅函數,其作用就是將可能的無限域變換到一指定的有限範圍內輸出,這類似於生物神經元具有的非線性轉移特性。–常用的轉移函數•線性函數•斜坡函數•階躍函數•符號函數•Sigmoid函數•雙曲正切函數2人工神經網絡基礎2.2人工神經網絡處理單元•線性函數–最簡單的轉移函數y=F(s)=ks其中y為輸出值,s為輸入信號的加權和,k是一個常數,表示直線的斜率。2人工神經網絡基礎2.2人工神經網絡處理單元•斜坡函數2人工神經網絡基礎r和-r分別是處理單元的最大值和最小值,稱為飽和值,一般|r|=1。rsrrssrsrsFywhen||whenwhen2.2人工神經網絡處理單元•階躍函數–硬限幅函數的一種2人工神經網絡基礎0when00when1sssFy2.2人工神經網絡處理單元•符號函數(sgn(•))–硬限幅函數的一種2人工神經網絡基礎0when1-0when1sssFy2.2人工神經網絡處理單元•Sigmoid函數–S型函數的一種y=F(s)=1/(1+e-s)2人工神經網絡基礎2.2人工神經網絡處理單元•雙曲正切函數–S型函數的一種y=tand(s)=(es-e-s)/(es+e-s)–相對於Sigmoid函數,它是原點對稱的。–當s=0時有y=0,即同時具有雙級輸出。–當要求輸出(-11)範圍的信號時,它常被採用。2人工神經網絡基礎2.3人工神經網絡的拓撲結構•雖然單個處理單元可以處理簡單的圖形檢測功能,但更強的識別處理能力是來自多個結點“連成”的網絡,即人工神經網絡。•這裡的“連成”,是靠輸入至結點或者結點至結點間的信號傳輸通路實現的,這