1. 程式人生 > 其它 >西瓜書讀書筆記 task04

西瓜書讀書筆記 task04

第五章 神經網路

5.1 神經元模型

"神經網路是由具有適應性的 簡單單元組成的廣泛並行互連的網路,它的組織能夠模擬生物神經系統對真實 世界物體所作出的互動反應" [Kohonen, 1988]

理想中的啟用函式是圖 5 .2(a) 所示的階躍函式,它將輸入值對映為輸出值 "0" 或勺"顯然 "1" 對應於神經元興奮,"0" 對應於神 經元抑制.然而,躍函式具有不連 續 、不光滑等不太好的性質,因此實際常 用 Sigmoid函式作為啟用函式典型的 Sigmoid 函式如 圖 5.2(b) 所示? 它把可能在較大範圍內變化的輸入值擠壓到 (0, 1) 輸出值範圍內,因此有時也稱為 "擠壓函
數" (squashi噸 functio)

此處的人工神經網路,不是生物學意義上的神經網路

5.2 感知機與多層網路

感知機(Perceptron) 由兩層神經元組成,輸入層接收外界輸入訊號後傳遞給輸出層, 輸出 層是 M-P 神 經元,亦稱"闊值邏輯單元" (threshold logic unit) .

輸入層只接受輸入而沒有權重以及閾值,輸出層的神經元有閾值,兩層間連線有權重。
把閾值當做是第n+1個權重,第n+1個輸入是-1,那麼就可以把閾值放進權重裡了。那麼只需要做權重的學習。

根據錯誤程度進行調整。這樣兩層神經元只能處理線性問題,而非線性問題則需要多層網路。

更一般的,常見的神經網路是形如 圖 5 .6 所示的層級結構,每層神經元與下

層神經元全互連 3 神經元之間不存在同層連線, 也不存在跨層連線. 這樣的
神經網路結構通常稱為" 多層前饋神經網路 " (multi-layer feedforward neuralnetworks) ,其中輸入層神經兀接收外界輸入?隱層與輸出層神經元對訊號進行加工,最終結果由輸出層神經λ輸出:換言之,輸入層神經元僅是接受輸入,不進行函式處理,隱居與輸出層包含功能神經元.因此,圖 5.6(a) 通常被稱為"兩層網路"為避免歧義,本書稱其為"單隱層網路"只需包含隱層,即可稱為多層網路.神經網路的學習過程,就是根據訓練資料來調整神經元之間的"連線權" (connection weight) 以及每個功能神經元的闌值;換言之,神經網路"學"到的東西,蘊涵在連線權與闕值中,

5.3 誤差逆傳播演算法

訓練多層網路要比感知機複雜多了,感知機的學習方法是不夠的。誤差逆傳播演算法(error BackPropagation,簡稱BP) 也稱為 反向傳播演算法,是最為成功的一種神經網路學習方法之一。一般而言,BP神經網路 是指用BP演算法訓練的多層前饋神經網路,但BP演算法也能訓練其他型別的神經網路,如遞迴神經網路。


圖 5 .7 的 網路中有 (d + l 十 1) q 十 l 個引數需確定:輸入層到隱層的 dxq個權值 、 隱層到輸出層的 q x l 個權值 、 q 個隱層神經元的闊值 、l個輸出層神
經元的 闊值. BP 是一個法代學習演算法,在迭代的每一輪中採用廣義的感知機學
習 規則對引數進行更新估計?即與式 (5 .1 )類似,任意引數 υ 的更新估計式為

標準BP演算法
假設要訓練的是一個單隱層的前饋神經網路,BP演算法使用 均方誤差 作為效能度量,基於 梯度下降(gradient descent) 策略,以目標函式的負梯度方向對引數進行調整。
流程如下:

所謂 逆傳播 其實就是從輸出層開始逐步往後更新,因為輸出層的誤差確定後就可以對輸出層的連線權和閾值進行更新,並且可以推算出隱含層輸出的“真實值”,從而計算出隱含層的“誤差”,然後更新隱含層的連線權和閾值。BP就是這樣一種 利用一層層倒推來最終更新整個神經網路 的方法,每一層的更新公式其實和感知機用的是類似的。
在學習過程中,學習率 $\eta$ 控制著每一輪迭代的更新步長,太大則容易振盪,太小則收斂速度太慢。有時為了 精細調節,輸出層和隱含層更新引數時會 使用不同的學習率。

5.4 全域性最小與區域性極小

區域性極小:區域性極小解是引數空間中的某個點,其鄰域點的誤差函式值均不小於該點的函式值。

全域性最小:全域性最小解則是指引數空間中所有的點的誤差函式值均不小於該點的誤差函式值。

可能存在多個區域性極小值,但卻只會有一個全域性最小值。

“ 全域性最小 ” 一定是 “ 區域性極小 ”;但“區域性極小 ” 不一定是“全域性最小 ”。

因此我們的目標是找到 “ 全域性最小 ”。

5.5 其他常見神經網路

RBF網路
徑向基函式網路,通常為單隱層網路,使用徑向基函式作為啟用函式。
高斯徑向基函式

ART網路
自適應諧振理論網路。使用競爭學習的思想進行無監督學習。
競爭學習中每一時刻僅有一個競爭獲勝的神經元被啟用,其他的被抑制。
識別層每個神經元記錄一個模式類。計算輸入向量與每個神經元的距離值,如果距離小於設定的閾值則啟用某一個神經元並抑制其他的,同時更新引數。如果距離都大於閾值則將輸入向量設定為新的一類。ART網路緩解了可塑性-穩定性窘境。可以增量學習和線上學習。

SOM網路
自組織(特徵)對映網路。將高維資料對映到低維空間並保持資料點之間的拓撲關係。輸出層神經元按矩陣形式排列。訓練時根據輸入選擇啟用的神經元,同時更新權值使臨近神經元與當前樣本距離減小。

級聯相關網路
屬於一種結構自適應網路,網路結構也是學習目標之一。初始情況只有輸入和輸出,訓練過程中逐漸增加隱層單元,通過最大化新單元的輸出和誤差函式的相關性來訓練引數。

Elman網路
是最常用的遞迴神經網路之一,網路的輸出不僅取決於當前輸入還取決於上一時間步的輸出。隱層神經元的輸出參與下一時刻的輸入。

Boltzmann機
神經網路中有一類 基於能量的模型(energy-based model),把網路狀態定義為一個能量,能量最小時網路達到理想狀態,模型的學習過程就是最小化能量函式。Boltzmann機就是這樣的模型,同時也是一種RNN。Boltzmann機的神經元 分為顯層與隱層,顯層用於表達資料的輸入與輸出,隱層則是資料的內在。每個神經元只有0、1兩種狀態,也即抑制和啟用。標準的Boltzmann機是全連線圖,即任意兩個神經元之間都相連。但複雜度太高,難以用於解決現實任務,實際應用中用的是 受限Boltzmann機(Restricted Boltzmann Machine,簡稱RBM),把標準Boltzmann機退化為二部圖,只保留顯層和隱層之間的連線,同一層直接不相連。

5.6 深度學習

典型深度學習模型就是深層的神經網路,通過增加隱層的數量來增加模型複雜度。多隱層的神經網路難以直接使用BP演算法訓練,會出現不收斂的情況。主要有兩種解決方法。使用無監督逐層訓練的方法,每次訓練一層隱節點,稱為預訓練,全部完成後進行微調。使用權共享的思路,讓一組神經元使用相同的權。在卷積神經網路中有非常重要的作用。(在CNN中每個卷積層包含多個特徵對映,每個池化層基於區域性相關性原理進行壓取樣,其中每一組神經元都使用相同的連線權,減少引數數量。)深度學習可以理解為特徵學習或者表示學習。傳統機器學習中通過人工設計樣本特徵,而特徵學習通過機器學習技術自適應產生特徵。