神經網絡學習筆記(十一):多層感知機(下)


       在上一章節中介紹了多層感知機最關鍵的BP算法,在這一節中主要對包括BP算法在內的多層感知機的一些細節問題進行概述。


激活函數


      BP算法中計算多層感知機每一個需要神經元的激活函數的導數知識。從根本上講激活函數必須滿足的要求是可微性。通常用於多層感知機的連續可微非線性函數的一個例子是sigmoid;這裏有兩種形式:

1、logistic函數:
                             (1.1)

這裏,是神經元j的誘導局部域。根據這種非線性性,輸出的範圍位於之內。對式(1.1)兩邊取的微分,得:

                               (1.2)

由於,所以導數可以表示爲:

                                    (1.3)

如果神經元j位於輸出層,,其中爲輸出層的神經元j的輸出結果。因此神經元j的局域梯度可表示爲:

    (1.4)

這裏是輸出層的神經元j的期望響應。對任意一個隱藏層的神經元,可以將局域梯度表示爲:

(1.5)

從式(1.3)可以看出,導數=0.5時取最大值,當=0或1時取最小值0。因此突觸權值改變最多的是那些函數信號位於他們的中間範圍之間的網絡神經元。正是反向傳播的這個特點導致它作爲學習算法的穩定性。

2、雙曲正切函數:

                                  (1.6)

它對的導數如下:

                   (1.7)

如果神經元j位於輸出層,它的局域梯度是:

(1.8)

如果神經元j位於隱藏層,有:

(1.9)

對logistic函數用(1.4)以及(1.5),對雙曲函數使用(1.8)以及(1.9),不需要激活函數的具體信息就可以計算局域梯度


學習率:


       反向傳播算法提供使用最速下降方法在權空間計算得到的軌跡的一種近似。使用的學習率參數η越小,從一次迭代到下一次迭代的網絡突觸權值的變化量越小,軌跡在權值空間就越光滑。然而,這種改進是以減慢學習速度爲代價的。另一方面,如果讓η的值太大以加快學習速度的話,結果可能使網絡的突觸權值的變化量不穩定(即震盪)。一個即加快學習速度又要保持穩定的簡單方法是如下的廣義delta法則:

                   (1.10)

這裏a稱爲動量常數,通常是正數,爲了觀察動量常數對突觸權值的影響,將式(1.10)重寫爲一個時間序列:

                                 (1.11)

又由於等於,因此

                                 (1.12)

在這個關係的基礎上,來做深入的分析:

1、當前修正值代表指數加權的時間序列的和。欲使時間序列收斂,動量常量的絕對值必須限制在0到1之間。當a等於0時,相當於(1.10)中沒有第一項。

2、當偏導數在連續迭代中有相同的代數符號,指數加權和在數量上增加,所以,權值被大幅調整。趨於在穩定的下降方向加速下降。

3、當偏導數在迭代中有相反的代數符號,指數加權和在數量上減少,所以,權值調整不大。迭代中呈現一種左右擺動的穩定效果。


停止準則


       通常不能證明反向傳播算法是收斂的,並且沒有明確定義的算法停止準則。相反,僅有一些合理的準則,它們每個都有自己的實際用處,這些準則可以用於終止權值的調整。要提出這樣一個準則,考慮關於誤差曲面的局部或全局最小的特殊性質是符合邏輯的。將權值向量w*標記爲局部或全局最小點。要使w*成爲最小點的一個必要條件是梯度向量g(w)在w=w*點爲0。可以以此提出一個合理的收斂準則:
      
      當梯度向量的歐幾里得範數達到一個充分小的梯度閾值時,我們認爲反向傳播算法已經收斂。
      
      另一個能夠使用的最小點特性是誤差度量在w=w*是平穩的,因此可以提出另一個不同的收斂準則:
      

      當每一回合的均方誤差變化的絕對速率足夠小時,我們認爲反向傳播算法已經收斂。

     

      但是這兩個收斂準則都有其明顯缺點。另外一個收斂準則就是檢查神經網絡的泛化性能,當泛化性能達到峯值時,停止迭代。

      下面給出反向傳播算法計算局域梯度的一個信號流程圖









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章