深度學習:前饋神經網絡與BP反向傳播

1. 定義

前饋神經網絡(feedforward neural network),簡稱前饋網絡,是人工神經網絡的一種。在此種神經網絡中,各神經元從輸入層開始,接收前一級輸入,並輸出到下一級,直至輸出層。整個網絡中無反饋,可用一個有向無環圖表示。

前饋神經網絡採用一種單向多層結構。其中每一層包含若干個神經元,同一層的神經元之間沒有互相連接,層間信息的傳送只沿一個方向進行。其中第一層稱爲輸入層。最後一層爲輸出層.中間爲隱含層,簡稱隱層。隱層可以是一層。也可以是多層。

對於前饋神經網絡結構設計,通常採用的方法有3類:直接定型法、修剪法和生長法。直接定型法設計一個實際網絡對修剪法設定初始網絡有很好的指導意義;修剪法由於要求從一個足夠大的初始網絡開始,註定了修剪過程將是漫長而複雜的,更爲不幸的是,BP訓練只是最速下降優化過程,它不能保證對於超大初始網絡一定能收斂到全局最小或是足夠好的局部椎小。因此,修剪法並不總是有效的,生長法似乎更符合人的認識事物、積累知識的過程,具有自組織的特點,則生長法可能更有前途,更有發展潛力。

常見前饋神經網絡

  • 感知器網絡
感知器(又叫感知機)是最簡單的前饋網絡,它主要用於模式分類,也可用在基於模式分類的學習控制和多模態控制中。感知器網絡可分爲單層感知器網絡和多層感知器網絡。
  • BP網絡
BP網絡是指連接權調整採用了反向傳播(Back Propagation)學習算法的前饋網絡。與感知器不同之處在於,BP網絡的神經元變換函數採用了S形函數(Sigmoid函數),因此輸出量是0~1之間的連續量,可實現從輸入到輸出的任意的非線性映射。
  • RBF網絡
RBF網絡是指隱含層神經元由RBF神經元組成的前饋網絡。RBF神經元是指神經元的變換函數爲RBF(Radial Basis Function,徑向基函數)的神經元。典型的RBF網絡由三層組成:一個輸入層,一個或多個由RBF神經元組成的RBF層(隱含層),一個由線性神經元組成的輸出層。

2. 向前傳播

下圖直觀解釋了層神經網絡模型向前傳播的一個例子,圓圈表示神經網絡的輸入,「+1」的圓圈被稱爲偏置節點。神經網絡最左邊的一層叫做輸入層,最右的一層叫做輸出層。中間所有節點組成的一層叫做隱藏層。 

這裏寫圖片描述

每個神經元的表達式如下: 

這裏寫圖片描述

單層前饋神經網絡

單層前饋神經網絡是最簡單的一種 人工神經網絡,其只包含一個輸出層,輸出層上節點的值(輸出值)通過輸入值乘以權重值直接得到。取出其中一個元進行討論,其輸入到輸出的變換關係爲

上式中,  是輸入 特徵向量      的連接權,輸出量  是按照不同特徵的分類結果。

多層前饋神經網絡

多層前饋神經網絡有一個輸入層,中間有一個或多個隱含層,有一個 輸出層多層感知器網絡中的輸入與輸出變換關係爲
這時每一層相當於一個單層前饋神經網絡,如對第  層,它形成一個  超平面。它對於該層的輸入模式進行線性分類,但是由於多層的組合,最終可以實現對輸入模式的較複雜的分類。

3. 反向傳播算法

反向傳播算法的含義是:第l 層的一個神經元的殘差是所有與該神經元相連的第l+ 1 層的神經元的殘差的權重和,然後在乘上該神經元激活函數的梯度。

借網上一張圖,反向傳播算法可表示爲以下幾個步驟:

圖片名稱