自組織神經網絡(self-Organization Mapping net,SOM)是基於無監督學習方法的神經網絡的一種重要類型。自組織神經網絡是神經網絡最富有美麗的研究領域之一,它可以經過其輸入樣本學會檢測其規律性和輸入樣本相互之間的關係,而且根本這些輸入樣本的信息自適應調整網絡,使網絡之後的響應與輸入樣本相適應。競爭型神經網絡的神經元經過輸入信息可以識別成組的類似輸入向量;自組織神經網絡經過學習一樣可以識別成組的類似輸入向量,使那些網絡層中彼此靠得很近的神經元對類似輸入向量產生響應。與競爭型神經網絡不一樣的是,自組織映射神經網絡不但能學習輸入向量的分佈狀況,還能夠學習輸入向量的拓撲結構,其單個神經元對模式分類不起決定性做用,而要靠多個神經元的協同做用才能完成模式分類。算法
學習向量量化(Learning Vector Quantization,LVQ)是一種用於訓練競爭層的有監督(supervised learning)方法。競爭層神經網絡能夠自動學習對輸入向量模式的分類,可是競爭層進行的分類只取決於輸入向量之間的距離,當兩個輸入向量很是接近時,競爭層就能夠把它們歸爲一類。在競爭層的設計中沒有這樣的機制,即嚴格按地區判斷任意兩個輸入向量是屬於同一類仍是屬於不一樣類。而對於LVQ網絡用戶指定目標分類結果,網絡能夠經過監督學習,完成對輸入向量的準確分類。微信
1. 競爭神經網絡的概述
競爭型網絡可分爲輸入層和競爭層。假定輸入層由N個神經單元構成,競爭層有M個神經元,網絡的鏈接權值爲ωij,i=1,2,...,N;j=1,2,...,M,且知足約束條件。在競爭層中,神經元之間相互競爭,最終只有一個或幾個神經元獲勝,以適應當前的輸入樣本。競爭勝利的神經元就表明着當前輸入樣本分類模式。網絡
競爭型網絡的輸入樣本爲二值向量,個元素取值0或1.競爭層神經元j的狀態可按照下式計算app
其中,xi爲樣本向量的第i個元素。根據競爭機制,競爭層中具備最大加權值的神經元k競爭勝利,輸出爲ide
競爭後的權值按照下式進行修正,對於全部的i,有函數
其中,α是學習參數,0<α<1,通常取值爲0.01~0.03;m爲輸入層中輸出爲1的神經元個數,即工具
權值調整xi/m項表示當xi爲1時,權值增長;而當xi爲0時,權值減少。也就是說,當xi活躍時,對應的第i個權值就增長,不然就減少。因爲全部權值的和爲1,因此當第i個權值增長或減少時,對應的其餘的權值就可能減少或增長。此外,該公式還保證了權值的調整可以知足全部的權值調整量之和爲0。性能
2. 競爭學習網絡的學習規則
2.1.Kohonen權值學習規則
競爭型神經網絡按照Kohonen學習規則對獲勝神經元的權值進行調整。假設第i個神經元獲勝,則輸入權值向量的第i行元素(即獲勝神經元的各鏈接權)按下式進行調整:學習
iIW(k)=iIW(k-1)+α*[p(k)-iIW(k-1)]編碼
而其餘神經元的權值不變。
Kohonen學習規則經過輸入向量進行神經元權值的調整,所以在模式識別的應用中是頗有用的。經過學習,那些最靠近輸入向量的神經元權值向量獲得修正,使之更靠近輸入向量,其結果是獲勝的神經元在下一次獲勝的輸入向量出現時,獲勝的可能性會更大;而對於那些與輸入向量相差很遠的神經元權值向量,獲勝的可能性變得很小。這樣,當通過愈來愈多的訓練樣本學習後,每個網絡層中的神經元權值向量很快被調整爲最接近某一類輸入向量的值。最終的結果是:若是神經元的數量足夠多,則具備類似輸入向量的各種模式做爲輸入向量時,其對應神經元輸出爲1;而對於其餘模式的輸入向量,其對應的神經元輸出爲0。因此,競爭型神經網絡具備對輸入向量進行學習分類的能力。
在MATLAB工具箱中,learnk函數能夠實現Kohonen學習規則。
2.2閾值學習規則
競爭型神經網絡的一個侷限性是:某些神經元可能永遠也排不上用場,換句話說,某些神經元的權值向量從一開始就遠離全部的輸入向量,從而使得該神經元無論進行多長的訓練也不會贏得競爭。這些神經元稱爲「死神經元」,它們實現不了任何有用的函數映射。
爲避免這一現象的發生,對於那些不多獲勝(甚至從未獲勝)的神經元賦以較大的閾值,而對於那些常常獲勝的神經元賦以較小的閾值。正的閾值與距離的負值增長,使獲勝不多的神經元競爭層傳輸函數的輸入就像獲勝的神經元同樣。這一過程就像人們「同情」弱者同樣,表現出一我的的「良心」。
這一過程的實現須要用到神經元輸出向量的平均值,它等價於每一個神經元輸出爲1的百分比,顯然,常常獲勝的神經元,其輸出爲1的百分比要大。
在MATLAB工具箱中,learncon函數用於進行閾值的修正。
對於學習函數learncon進行閾值修正時,神經元輸出向量的平均值越大,其「良心」值越大,因此憑良心得到的閾值就越小,而讓那些不常常獲勝的神經元閾值逐漸變大。其算法以下:
c(k)=(1-lr)*c(k-1)+lr*a(k-1)
b(k)=exp[1-log(c,k)]-b(k-1)
式中:c爲「良心」值;a爲神經元輸出的平均值;lr爲學習率。
通常講learncon的學習率設置成默認值或比learnk的學習率小的值,使其在運行過程當中可以較精確地計算神經元的輸出平均值。
結果那些不常常產生響應的神經元的閾值相對於那些常常產生響應的神經元,其閾值不斷增大,使其產生響應的輸入空間也逐漸增大,即對更多的輸入向量產生響應,最終各神經元對輸入向量產生響應的數目大體相等。
這樣作有兩點好處:
其一,若是某個神經元由於遠離全部的輸入向量而始終不能在競爭中獲勝,則其閾值會變得愈來愈大,使其終究能夠獲勝。當這一狀況出現後,它將逐漸向輸入向量的某一類彙集,一旦神經元的權值靠近輸入向量的某一類模式,該神經元將常常獲勝,其閾值將逐漸減少到0,這樣就解決了「死神經元」的問題。
其二,學習函數learncon強迫每一個神經元對每一個輸入向量的分類百分比大體相同,因此若是輸入空間的某個區域比另一個區域彙集了更多的輸入向量,那麼輸入向量密度大的區域將吸引更多的神經元,從而得到更細的分類。
3. 競爭性神經網絡存在的問題
對於模式樣本自己具備明顯的分類特徵,競爭型神經網絡能夠對其進行正確的分類,網絡對同一類或類似的輸入模式具備穩定的輸出響應,但也存在一些問題:
(1)當學習模式樣本自己雜亂無章,沒有明顯的分類狀態時,網絡對輸入模式的響應呈現震盪的現象,即對同一類輸入模式的響應可能激活不一樣的輸出神經元,從而不能實現正確的分類。當各種模式的特徵相近時,也會出現一樣的狀況。
(2)在權值和閾值的調整過程當中,學習率的選擇在收斂速度和穩定性之間存在矛盾,而不像前面介紹的其餘的學習算法,能夠在剛開始時採用較大的學習率,而在權值和閾值趨於穩定時,採用較小的學習率。競爭型神經網絡在增長新的學習樣本時,對權值和閾值可能須要作比前一次更大的調整。
(3)網絡的分類性能與權值和閾值的初始值、學習率、訓練樣本的順序、訓練時間的長短等都有關係,而目前尚未效的方法對各類因素的影響進行評判。
(4)在matlab神經網絡工具箱中,以函數trainr進行競爭型神農架網絡的訓練,用戶只能限定訓練的最長時間或訓練的最大次數,以此終止訓練,但終止訓練時網絡的分類性能究竟如何,沒有明確的評判指標。
4. 自組織特徵映射網絡
SOM網絡能將任意維輸入模式在輸出層映射成一維或二維圖形,並保持其拓撲結構不變;網絡經過對輸入模式的反覆學習可使權重向量空間與輸入模式的機率分佈趨於一致,即機率保持性。網絡的競爭層各神經元競爭對輸入模式的響應機會,獲勝神經元有關的各權重朝着更有利於它競爭的方向調整「即以獲勝神經元爲圓心,對近鄰的神經元表現出興奮性側反饋,而對遠鄰的神經元表現出抑制性側反饋,近鄰者相互激勵,遠鄰者相互抑制」。通常而言,近鄰是指從發出信號的神經元爲圓心,半徑約爲50μm~500μm左右的神經元;遠鄰是指半徑爲200μm~2mm左右的神經元。比遠鄰更遠的神經元則表現弱激勵做用,如下圖所示因爲這種交互做用的曲線相似於墨西哥人帶的帽子,所以也稱這種交互方式爲「墨西哥帽」。
5. 學習向量量化網絡
在競爭網絡結構的基礎上,學習向量化(learning vector quantization,LVQ)網絡被提出來,融合競爭學習思想和有監督學習算法的特色,經過教師信號對輸入樣本的分配類別進行規定,從而克服自組織網絡採用無監督學習算法帶來的缺少分類信息的弱點。
5.1向量量化
向量量化的思路是,將高維輸入空間分紅若干不一樣的區域,對每一個區域肯定一箇中心向量做爲聚類的中心,與其處於同一區域的輸入向量可用該中心向量來表明,從而造成了以各中心向量爲聚類中心的點集。在圖像處理領域經常使用各區域中心點(向量)的編碼代替區域內的點來存儲或傳輸,從而提出了各類基於向量量化的有損壓縮技術。
在二維輸入平面上表示的中心向量分佈稱爲Voronoi圖,以下圖所示,前面介紹的勝者爲王的學習規則以及SOFM競爭學習算法都是一種向量量化算法,能用少許聚類中心表示原始數據,從起到數據壓縮做用。但SOFM的各聚類中心對應的向量具備某種類似的特徵,而通常向量量化的中心不具備這種類似性。
自組織映射能夠起到聚類做用,但沒法直接分類或識別,所以它只是自適應解決模式分類問題兩步中的第一步。且讓我把第二步:學習向量量化,採用監督機制,在訓練中加入教師信號做爲分類信息對權值進行細調,並對輸出神經元預先指定其類別。
5.2 LVQ網絡結構與工做原理
結構以下圖所示:
競爭層有m個神經元,輸入層有n個神經元,兩層之間徹底鏈接。輸出層每一個神經元只與競爭層中的一組神經元鏈接,鏈接權重固定爲1,訓練過程當中輸入層和競爭層之間的權值逐漸被調整爲聚類中心。當一個樣本輸入LVQ網絡時,競爭層的神經元經過勝者爲王學習規則產生獲勝神經元,允許其輸出爲1,其它神經元輸出爲0。與獲勝神經元所在組相連的輸出神經元輸出爲1,而其它輸出神經元爲0,從而給出當前輸入樣本的模式類。將競爭層學習獲得的類成爲子類,而將輸出層學習獲得的類成爲目標類。
5.3 LVQ網絡學習算法
LVQ網絡的學習規則結合了競爭學習規則和有導師學習規則,因此樣本集應當爲{(xi,di)}。其中di爲l維,對應輸出層的l個神經元,它只有一個份量爲1,其餘份量均爲0。一般把競爭層的每一個神經元指定給一個輸出神經元,相應的權值爲1,從而獲得輸出層的權值。好比某LVQ網絡競爭層6個神經元,輸出層3個神經元,表明3類。若將競爭層的1,3指定爲第一個輸出神經元,2,5指定爲第二個輸出神經元,3,6指定爲第三個輸出神經元。則競爭層到輸出層的權值矩陣爲:
訓練前預先定義好競爭層到輸出層權重,從而指定了輸出神經元類別,訓練中再也不改變。網絡的學習經過改變輸入層到競爭層的權重來進行。根據輸入樣本類別和獲勝神經元所屬類別,可判斷當前分類是否正確。若分類正確,則將獲勝神經元的權向量向輸入向量方向調整,分類錯誤則向相反方向調整。以下圖所示:
LVQ網絡學習算法的步驟以下:
(1)初始化。競爭層各神經元權值向量隨機賦值小隨機數,肯定初始學習速率和訓練次數。
(2)輸入樣本向量。
(3)尋找獲勝神經元。
(4)根據分類是否正確按照不一樣規則調整獲勝神經元的權值:當網絡分類結果與教師信號一致時,向輸入樣本方向調整權值:
當網絡分類結果與教師信號不一致時,向輸入樣本反方向調整權值:
其餘非獲勝神經元權值保持不變。
(5)更新學習速率
(6)當訓練次數未達到設定的次數時,轉到步驟(2)輸入下一個樣本,重複各步驟直到達到設定訓練次數爲止。
上述訓練過程當中,要保證η(t)爲單調降低函數。
6.ART神經網絡
ART(Adaptive Resonance Theory)型網絡按照神經網絡的三元素:神經元模型、網絡結構以及學習算法,進行介紹。
6.1 網絡系統結構
以下圖所示:
ART I網絡結構由兩層神經元構成兩個子系統,分別爲比較層C和識別層R,包含3種控制信號:復位信號R、邏輯控制信號G1和G2。
6.1.1 C層結構
以下圖所示:
該層有n個神經元,每一個接收來自3個方面的信號:外界輸入信號,R層獲勝神經元的外星權向量的返回信號和控制信號G1。C層神經元的輸出是根據2/3的多數表決原則產生,輸出值與三個信號中的多數信號值相同。
網絡開始運行時,G1 = 1,識別層還沒有產生競爭獲勝神經元,所以反饋信號爲0。由2/3規則,C層輸出應取決於輸入信號,有C=X。當網絡識別層出現反饋回送信號時,G1=0,由2/3規則,C層輸出取決於輸入信號與反饋信號的比較結果,若是xi = tij,則,ci = xi,不然ci=0。能夠看出控制信號G1的做用是使得比較層可以區分網絡運行的不一樣階段,網絡開始運行階段G1的做用是使得C層對輸入信號直接輸出,以後G1的做用是使C層行使比較功能,此時ci爲xi和tij的比較信號,二者同時爲1,則ci爲1,不然爲0。能夠看出R層反饋信號對C層輸出有調節做用。
6.1.2 R層結構
以下圖所示:
功能至關於前饋競爭網,R層有m個神經元,表明m個輸入模式類,m能夠動態增加,以設立新的模式類。C層的輸出向量C沿着R層神經元的內星權向量到達R層神經元,通過競爭在產生獲勝神經元處指示本次輸入模式的所屬類別。獲勝神經元輸出爲1,其他爲0。R層每一個神經元都對應着兩個權向量,一個是將C層前饋信號匯聚到R層的內星權向量,另外一個是將R層反饋信號散發到C層的外星權向量。
6.1.3控制信號
信號G2檢測輸入模式X是否爲0,它等於X各份量的邏輯或,若是xi全爲0,則G2=0,不然G2=1。R層輸出向量各份量的邏輯或爲R0,則信號G1=G2與(R0的非)。當R層輸出向量的各份量全爲0而輸入向量X不是0向量時,G1爲1,不然G1爲0。G1的做用就是使得比較層可以區分網絡運行的不一樣階段,網絡開始運行階段G1的做用是使得C層對輸入信號直接輸出,以後G1的做用是使C層行使比較功能,此時ci爲xi和tij的比較信號,二者同時爲1,則ci爲1,不然爲0。Reset信號的做用是使得R層競爭獲勝神經元無效,若是根據某種事先設定的測量標準,Tj與X未達到設定的類似度,代表二者未充分接近,因而系統發出Reset信號,使得競爭獲勝神經元無效。
6.2 網絡運行原理
網絡運行時接受來自環境的輸入模式,檢查輸入模式與R層全部已存儲模式類之間的匹配程度。R層所存儲的模式類是經過對應R層神經元的外星權向量體現出來的,對於匹配程度最高的獲勝神經元,網絡要繼續考察其存儲模式類與當前輸入模式的類似程度。類似程度按照預先設計的參考門限來考察,可能出現以下的狀況:
A.若是類似度超過參考門限,將當前輸入模式歸爲該類,全職調整規則是類似度超過參考門限的神經元調整其相應的內外星權向量,以使得之後遇到與當前輸入模式接近的樣本時可以獲得更大的類似度;其餘權向量則不作改動。
B.若是類似度不超過門限值,則對R層匹配程度次高的神經元表明的模式類進行類似度的考察,若超過門限,網絡的運行回到狀況A,不然仍然回到狀況B。若是最終存儲的全部模式類與當前輸入模式的類似度都沒有超過門限,此時需在網絡輸出端設立一個表明新模式類的神經元,用以表明及存儲該模式,以便參加之後的匹配過程。網絡對所接受的每一個新輸入樣本,都進行上面的運行過程。對於每一個輸入模式,網絡運行過程可概括爲4個階段:
(1)匹配階段
網絡在沒有輸入模式以前處於等待狀態,此時輸入端X=0。當輸入不全爲0的模式X時,G1=1容許輸入模式直接從C層經過,並前向傳至R層,與R層神經元對應的所用內星權向量Bj進行匹配計算:
選擇具備最大匹配度(具備最大點積)的競爭獲勝神經元:
使獲勝神經元輸出r∗j=1,其餘神經元輸出爲0。
(2)比較階段
使得R層獲勝神經元所鏈接的外星權向量T∗j激活,從神經元j發出的n個權值信號返回到C層的n個神經元。此時,R層輸出不全爲零,則C層最新的輸出狀態取決於R層返回的外星權向量與網絡輸入模式X的比較結果。因爲外星權向量是R層模式類的典型向量,該比較結果反映了在匹配階段R層競爭排名第一的模式類的典型向量與當前輸入模式X的類似度。類似度的大小可用類似度N0反應,定義爲:
由於輸入xi爲二進制數,N0實際上表示獲勝神經元的類別模式典型向量與輸入模式樣本相同份量同時爲1的次數。輸入模式樣本中的非零份量數位N1
N1=∑1nxi
用於比較警惕門限爲ρ,在0~1之間取值,檢查輸入模式與模式類典型向量之間的類似度是否低於警惕門限,若是有: N0/N1<ρ
則X與T∗j的類似程度不知足要求,網絡發出Reset信號,使得第一階段的匹配失敗,競爭獲勝神經元無效,網絡進入搜索階段。若是有 N0/N1>ρ
代表X與獲勝神經元對應的類別模式很是接近,稱X與T∗j 發生共振,第一階段匹配結果有效,網絡進入學習階段。
(3)搜索階段
網絡發出Reset重置信號後即進入搜索階段,重置信號的做用是使前面經過競爭獲勝的神經元受到抑制,而且在後續過程當中受到持續的抑制,直到輸入一個新的模式爲止。因爲R層中競爭獲勝的神經元被抑制,從而再度出現R0=0,G1=1,所以網絡又從新回到起始的匹配狀態。因爲上次獲勝的神經元持續受到抑制,這次獲勝的必然是上次匹配程度排第二的神經元。而後進入比較階段,將該神經元對應的外星權向量t∗j 與輸入模式進行類似度計算。若是全部R層的模式類,在比較階段類似度檢查中類似度都不能知足要求,說明當前輸入模式無類可歸,須要在網絡輸出層增長一個神經元來表明並存儲該模式類,爲此將其內星權向量B∗j 設計爲當前輸入模式向量,外星權向量T∗j 各份量全設置爲1。
(4)學習階段
在學習階段要對發生共振的獲勝神經元對應的模式類增強學習,使之後出現與該模式類似的輸入樣本時能得到更大的共振。
外星權向量T∗j 和內星權向量B∗j 在運行階段進行調整以進一步強化記憶。通過學習後,對樣本的記憶將留在兩組權向量中,即便輸入樣本改變,權值依然存在,所以稱爲長期記憶。當之後輸入的樣本相似已經記憶的樣本時,這兩組長期記憶將R層輸出回憶至記憶樣本的狀態。
7.對向傳播網絡
1987年,美國學者Robert Hecht-Nielsen提出了對偶傳播神經網絡模型 (Counter Propagation Network,CPN),CPN最先是用來實現樣本選擇匹配系統的。CPN 網能存儲二進制或模擬值的模式對,所以這種網絡模型也可用於聯想存儲、模式分類、函數逼近、統計分析和數據壓縮等用途。
7.1網絡結構與運行原理
網絡結構如圖所示,各層之間的神經元全互聯鏈接。從拓撲結構看,CPN網與三層BP網絡相近,但實際上CPN是由自組織網和Grossberg外星網組合而成。隱層爲競爭層,採用無導師的競爭學習規則,而輸出層爲Grossberg層,採用有導師信號的Widrow-Hoff規則或Grossberg規則學習。
網絡各層按兩種學習規則訓練好以後,運行階段首先向網絡送入輸入變量,隱含層對這些輸入進行競爭計算,獲勝者成爲當前輸入模式類的表明,同時該神經元成爲以下圖(a)所示的活躍神經元,輸出值爲1而其他神經元處於非活躍狀態,輸出值爲0。競爭取勝的隱含神經元激勵輸出層神經元,使其產生以下圖(b)所示的輸出模式。因爲競爭失敗的神經元輸出爲0,不參與輸出層的整合。所以輸出就由競爭勝利的神經元的外星權重肯定。
7.2 學習算法
網絡學習分爲兩個階段:第一階段是競爭學習算法對隱含層神經元的內星權向量進行訓練;第二階段是採用外星學習算法對隱含層的神經元的外星權向量進行訓練。
由於內星權向量採用的是競爭學習規則,跟前幾篇博文所介紹的算法步驟基本相似,這裏不作介紹,值得說明的是競爭算法並不設置優勝臨域,只對獲勝神經元的內星權向量進行調節。
下面重點介紹一下外星權向量的訓練步驟:
(1)輸入一個模式以及對應的指望輸入,計算網絡隱節點淨輸入,隱節點的內星權向量採用上一階段中訓練結果。
(2)肯定獲勝神經元使其輸出爲1。
(3)調整隱含層到輸出層的外星權向量,調整規則以下:
β爲外星規則學習速率,爲隨時間降低的退火函數。O(t)爲輸出層神經元的輸出值。
由以上規則可知,只有獲勝神經元的外星權向量獲得調整,調整的目的是使外星權向量不斷靠近並等於指望輸出,從而將該輸出編碼到外星權向量中。
7.3 改進CPN網
7.3.1 雙獲勝神經元CPN
指的是在完成訓練後的運行階段容許隱層有兩個神經元同時競爭得到勝利,這兩個獲勝神經元均取值爲1,其餘神經元則取值爲0。因而有兩個獲勝神經元同時影響網絡輸出。下圖給出了一個例子,代表了CPN網能對複合輸入模式包含的全部訓練樣本對應的輸出進行線性疊加,這種能力對於圖像的疊加等應用十分合適。
7.3.2雙向CPN網
將CPN網的輸入層和輸出層各自分爲兩組,以下圖所示。雙向CPN網的優勢是能夠同時學習兩個函數,例如:Y=f (X);X′=f (Y′)
當兩個函數互逆時,有X=X′,Y=Y′。雙向CPN可用於數據壓縮與解壓縮,可將其中一個函數f做爲壓縮函數,將其逆函數g做爲解壓縮函數。
事實上,雙向CPN網並不要求兩個互逆函數是解析表達的,更通常的狀況是f和g是互逆的映射關係,從而可利用雙向CPN實現互聯想。
7.3.4CPN網應用
下圖給出了CPN網用於菸葉顏色模式分類的狀況,輸入樣本分佈在下圖(a)所示的三維顏色空間中,該空間的每一個點用一個三維向量表示,各份量分別表明菸葉的平均色調H,平均亮度L和平均飽和度S。能夠看出顏色模式分爲4類,分別對應紅棕色,橘黃色,檸檬色和青黃色。下圖(b)給出了CPN網絡結構,隱層共設了10個神經元,輸出層設4個神經元,學習速率爲隨訓練時間降低的函數,通過2000次遞歸以後,網絡分類的正確率達到96%。
本文分享自微信公衆號 - 瓜大三哥(xiguazai_tortoise)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。