機器學習筆記 (七)神經網路
神經網路
神經網路
神經元模型
神經網路:是由具有適應性的簡單單元組成的廣泛並行互連的網路,它能夠模擬生物神經系統對真實世界物體所作出的互動反應。
神經網路中最基本的成分是神經元模型,即上述定義中的“簡單單元”。
把許多個這樣的神經元按一定的層次結構連線起來,就得到了神經網路。
感知機與多層網路
感知機(Perceptron)由兩層神經元組成(輸入層、輸出層),輸入層接收外界輸入訊號後傳遞給輸出層,輸出層是M-P神經元,亦稱“閾值邏輯單元”(threshold logic unit)。
感知機能容易的實現邏輯與、或、非運算。
要解決非線性可分問題,需考慮使用多層功能神經元。如下圖中這個簡單的兩層感知機就能解決異或問題。
多層前饋神經網路(multi-layer feedforward neural networks)
每層神經元與下一層神經元完全互連,神經元之間不存在同層連線,也不存在跨層連線。
誤差逆傳播(error BackPropagation,簡稱BP)演算法
BP演算法的工作流程:
累積誤差逆傳播(accumulated error backpropagation)演算法
只需要一個包含足夠多神經元的隱層,多層前饋網路就能以任意精度逼近任意複雜度的連續函式。
緩解BP網路過擬合的策略:
-
早停(early stopping)
將資料分成訓練集和驗證集,訓練集用來計算梯度、更新連線權和閾值,驗證集用來估計誤差,若訓練集誤差降低但驗證集誤差升高,則停止訓練,同事返回具有最小驗證集誤差的連線權和閾值。 -
正則化(regularization)
全域性最小與區域性極小
其他常見神經網路
RBF(Radial Basis Function,徑向基函式)網路
RBF(Radial Basis Function,徑向基函式)網路是一種單隱層前饋神經網路,使用徑向基函式作為隱層神經元啟用函式,而輸出層則是對隱層神經元輸出的線性組合。
假定輸入為 d 維向量 x ,輸出為實值,則RBF網路可表示為:
ART網路
競爭性學習(competitive learning)是神經網路中一種常用的無監督學習策略——網路的輸出神經元相互競爭,每一時刻僅有一個競爭獲勝的神經元被啟用,其他神經元的狀態被抑制。這種機制亦稱“勝者通吃”(winner-take-all)原則。
ART(Adaptive Resonance Theory,自適應諧振理論)網路是競爭型學習的重要代表。該網路由比較層、識別層、識別閾值和重置模組構成。
比較層負責接收輸入樣本,並將其傳遞給識別層神經元。
識別層每個神經元對應一個模式類,神經元數目可在訓練過程中動態增長以增加新的模式類。
- 在接收到比較層的輸入訊號後,識別層神經元之間相互競爭以產生獲勝神經元。競爭的最簡單方式是,計算輸入向量與每個識別層神經元所對應的模式類的代表向量之間的距離,距離最小者勝。
- 獲勝神經元將向其他識別層神經元傳送訊號,抑制其啟用。
- 若輸入向量與獲勝神經元所對應的代表向量之間的相似度大於識別閾值,則當前輸入樣本將被歸為該代表向量所屬類別,同時,網路連線權將會更新,使得以後在接收到相似輸入樣本時該模式類會計算出更大的相似度,從而使該獲勝神經元有更大可能獲勝;
- 若相似度不大於識別閾值,則重置模組將在識別層增設一個新的神經元,其代表向量就設定為當前輸入向量。
可塑性(plasticity):神經網路學習新知識的能力
穩定性(stability):神經網路在學習新知識時要保持對舊知識的記憶
穩定性-可塑性窘境(stability-plasticity dilemma)
ART網路的重要優點:可進行增量學習(incremental learning)
增量學習是指在學得模型後,再接受到訓練樣例時,僅需根據新樣例對模型進行更新,不必重新訓練整個模型,而且先前學得的有效資訊不會被沖掉。
SOM網路
SOM(Self-Organizing Map,自組織對映)網路是一種競爭學習型的無監督神經網路,它能將高維輸入資料對映到低維空間(通常為二維),同事保持輸入資料在高維空間的拓撲結構,即將高維空間中相似的樣本點對映到網路輸出層中的鄰近神經元。
SOM的訓練目標就是為每個輸出層神經元找到合適的權向量,以達到保持拓撲結構的目的。
SOM訓練過程:
- 在接收到一個訓練樣本後,每個輸出層神經元會計算該樣本與自身攜帶的權向量之間的距離,距離最近的神經元成為競爭獲勝者,稱為最佳匹配單元(best matching unit)。
- 最佳匹配單元及其鄰近神經元的權向量被調整,以使得這些權向量與當前輸入樣本的距離縮小。這個過程不斷迭代,直至收斂。
級聯相關網路
結構自適應網路將網路結構也當做學習的目標之一,並希望能在訓練過程中找到最符合資料特點的網路結構。
級聯相關(Cascade-Correlation)網路是結構自適應網路的重要代表。
級聯:指建立層次連線的層級結構。
相關:指最大化新神經元的輸出與網路誤差之間的相關性來訓練相關的引數。
優點:
級聯相關網路無需設定網路層數、隱層神經元數目,且訓練速度較快。
缺點:
在資料較小時易陷入過擬合。
Elman網路
遞迴神經網路(recurrent neural networks)允許網路中出現環形結構,從而可讓一些神經元的輸出反饋回來作為輸入訊號。
Elman網路是最常用的遞迴神經網路之一。
Boltzmann機
Boltzmann機是一種基於能量的模型——為網路狀態定義一個能量,能量最小化時網路達到理想狀態,網路的訓練就是在最小化這個能量函式。
Boltzmann機的神經元分為兩層:顯層和隱層。
顯層用於資料的輸入和輸出;
隱層被理解為資料的內在表達。
若網路中的神經元以任意不依賴於輸入值的順序進行更新,則網路最終將達到Boltzmann分佈,此時狀態向量 s 出現的概率將僅由其能量與所有可能狀態向量的能量確定:
受限的Boltzmann機
深度學習
**無監督逐層訓練(unsupervised layer-wise training)**是多隱層網路訓練的有效手段。
其基本思想是:
- 每次訓練一層隱結點,訓練時將上一隱層結點的輸出作為輸入,而本層隱結點的輸出作為下一層隱結點的輸入,這稱為預訓練(pre-training)。
- 在預訓練全部完成後,再對整個網路進行微調(fine-tuning)訓練。
預訓練+微調的做法可視為將大量引數分組,對每組先找到區域性看來比較好的設定,然後再基於這些區域性較優的結果聯合起來進行全域性尋優。這樣就在利用了模型大量引數所提供的自由度的同時,有效的節省了訓練開銷。
另一種節省訓練開銷的策略是權共享(weight sharing),即讓一組神經元使用相同的連線權。這個策略在卷積神經網路(Convolutional Neural Network)中發揮了重要作用。