1. 程式人生 > >機器學習-周志華-第五章筆記 CNN

機器學習-周志華-第五章筆記 CNN

Chapter 5 神經網路-機器學習-周志華

5.1神經元模型

  1. 神經網路:具有適應性的簡單單元組成的廣泛並行互連的網路,它的組織能夠模擬生物神經系統對真實世界物體所作出的互動反應。
  2. 神經元模型:一個神經元收到的刺激超過閾值(threshold/bias),它就會被啟用。概括為M-P神經元模型:n個帶權輸入與threshold比較啟用函式處理產生輸出。
  3. 啟用函式中1代表興奮,0代表不興奮。理想中啟用函式位階躍函式,為方便處理用連續的Sigmoid函式。
  4. 神經網路:神經元按一定層次結構連線。
  5. 神經網路可以視為包含了許多引數的數學模型,由若干函式(如yj=f(iwixiθj))相互巢狀得到。

5.2 感知機與多層網路

感知機
  1. 感知機有層神經網路,輸出層為M-P神經單元——“閾值邏輯單元”。
  2. 各神經元的ωθ取適當的值,可以實現邏輯與、或、非運算。
  3. 給定訓練集,ωθ可以通過學習得到。θ可視為固定輸入為1的啞結點(dummy node)。
  4. 感知機的學習規則:
    • 當前訓練樣例為(x,y),當前感知機輸出位y^,則權重調整為:
    • ωiωi+ΔωiΔωi=η(yy^)xi
    • η為學習率(learning rate)
  5. 感知機只有輸出層神經元進行啟用函式處理,即只有一層功能神經元(functional neuron)。
  6. 線性可分:存線上性超平面將兩類模式分開。
  7. 若兩類模式
    • 線性可分(如與、或、非),感知機的學習過程會收斂(vonverge);
    • 若線性不可分(如異或),則會發生振盪(fluctuation),不能穩定。
多層網路
  1. 解決非線性可分問題要使用多層功能神經元
  2. 隱層隱含層(hidden layer):輸出層與輸入層之間的一層神經元。
  3. 隱含層和輸出層都具有啟用函式。
  4. 多層前饋神經網路(multi-layer feedforward neural networks):
    • 每層神經元與下層完全互連
    • 同層間無連線
    • 無跨層連線
    • 輸入層神經元的唯一作用是接受輸入,不進行函式處理
    • 隱層和輸出層包含功能神經元
  5. 神經網路的學習過程:根據訓練資料調整神經元之間的“連線權”(connection weight),以及每個功能神經元的閾值

5.6 深度學習

  1. 深度學習(deep learning)是很深層的神經網路。其提高容量的方法是增加隱層數目,這比增加隱層神經元數目更有效,這樣不但增加了擁有啟用函式的神經元數目,而且增加了啟用函式巢狀的層數。
  2. 該模型太複雜,下面給出兩種節省開銷的訓練方法:無監督逐層訓練、權共享。
  3. 無監督逐層訓練(unsupervised layer-wise training):
    • 預訓練(pre-training):每次訓練一層,將上層作為輸入,本層結果作為下層的輸入。
    • 微調訓練(fine-training):預訓練結束後的微調。
    • 可視為將大量引數分組,每組先找到好的設定,基於區域性較優進行全域性尋優。
  4. 權共享(weight sharing):讓一組神經元使用相同的連線權。這在卷積神經網路(Convolutional Neural Network,CNN)發揮了重要作用。