Chapter 5 神經網絡-機器學習-周志華
5.1神經元模型
- 神經網絡:具有適應性的簡單單元組成的廣泛並行互連的網絡,它的組織能夠模擬生物神經系統對真實世界物體所作出的交互反應。
- 神經元模型:一個神經元收到的刺激超過閾值(threshold/bias),它就會被激活。概括爲M-P神經元模型:n個帶權輸入
→ 與threshold比較→ 激活函數處理產生輸出。 - 激活函數中1代表興奮,0代表不興奮。理想中激活函數位階躍函數,爲方便處理用連續的Sigmoid函數。
- 神經網絡:神經元按一定層次結構連接。
- 神經網絡可以視爲包含了許多參數的數學模型,由若干函數(如
yj=f(∑iwixi−θj) )相互嵌套得到。
5.2 感知機與多層網絡
感知機
- 感知機有兩層神經網絡,輸出層爲M-P神經單元——“閾值邏輯單元”。
- 各神經元的
ω 和θ 取適當的值,可以實現邏輯與、或、非運算。 - 給定訓練集,
ω 和θ 可以通過學習得到。θ 可視爲固定輸入爲1的啞結點(dummy node)。 - 感知機的學習規則:
- 當前訓練樣例爲(x,y),當前感知機輸出位
y^ ,則權重調整爲: ωi←ωi+Δωi ,Δωi=η(y−y^)xi η 爲學習率(learning rate)
- 當前訓練樣例爲(x,y),當前感知機輸出位
- 感知機只有輸出層神經元進行激活函數處理,即只有一層功能神經元(functional neuron)。
- 線性可分:存在線性超平面將兩類模式分開。
- 若兩類模式
- 線性可分(如與、或、非),感知機的學習過程會收斂(vonverge);
- 若線性不可分(如異或),則會發生振盪(fluctuation),不能穩定。
多層網絡
- 解決非線性可分問題要使用多層功能神經元。
- 隱層或隱含層(hidden layer):輸出層與輸入層之間的一層神經元。
- 隱含層和輸出層都具有激活函數。
- 多層前饋神經網絡(multi-layer feedforward neural networks):
- 每層神經元與下層完全互連
- 同層間無連接
- 無跨層連接
- 輸入層神經元的唯一作用是接受輸入,不進行函數處理
- 隱層和輸出層包含功能神經元
- 神經網絡的學習過程:根據訓練數據調整神經元之間的“連接權”(connection weight),以及每個功能神經元的閾值。
5.6 深度學習
- 深度學習(deep learning)是很深層的神經網絡。其提高容量的方法是增加隱層數目,這比增加隱層神經元數目更有效,這樣不但增加了擁有激活函數的神經元數目,而且增加了激活函數嵌套的層數。
- 該模型太複雜,下面給出兩種節省開銷的訓練方法:無監督逐層訓練、權共享。
- 無監督逐層訓練(unsupervised layer-wise training):
- 預訓練(pre-training):每次訓練一層,將上層作爲輸入,本層結果作爲下層的輸入。
- 微調訓練(fine-training):預訓練結束後的微調。
- 可視爲將大量參數分組,每組先找到好的設置,基於局部較優進行全局尋優。
- 權共享(weight sharing):讓一組神經元使用相同的連接權。這在卷積神經網絡(Convolutional Neural Network,CNN)發揮了重要作用。