在上一章節中介紹了多層感知機最關鍵的BP算法,在這一節中主要對包括BP算法在內的多層感知機的一些細節問題進行概述。
激活函數
這裏,是神經元j的誘導局部域。根據這種非線性性,輸出的範圍位於之內。對式(1.1)兩邊取的微分,得:
如果神經元j位於輸出層,,其中爲輸出層的神經元j的輸出結果。因此神經元j的局域梯度可表示爲:
這裏是輸出層的神經元j的期望響應。對任意一個隱藏層的神經元,可以將局域梯度表示爲:
從式(1.3)可以看出,導數當=0.5時取最大值,當=0或1時取最小值0。因此突觸權值改變最多的是那些函數信號位於他們的中間範圍之間的網絡神經元。正是反向傳播的這個特點導致它作爲學習算法的穩定性。
2、雙曲正切函數:
如果神經元j位於輸出層,它的局域梯度是:
如果神經元j位於隱藏層,有:
對logistic函數用(1.4)以及(1.5),對雙曲函數使用(1.8)以及(1.9),不需要激活函數的具體信息就可以計算局域梯度。
學習率:
這裏a稱爲動量常數,通常是正數,爲了觀察動量常數對突觸權值的影響,將式(1.10)重寫爲一個時間序列:
在這個關係的基礎上,來做深入的分析:
1、當前修正值代表指數加權的時間序列的和。欲使時間序列收斂,動量常量的絕對值必須限制在0到1之間。當a等於0時,相當於(1.10)中沒有第一項。
2、當偏導數在連續迭代中有相同的代數符號,指數加權和在數量上增加,所以,權值被大幅調整。趨於在穩定的下降方向加速下降。
3、當偏導數在迭代中有相反的代數符號,指數加權和在數量上減少,所以,權值調整不大。迭代中呈現一種左右擺動的穩定效果。
停止準則
當每一回合的均方誤差變化的絕對速率足夠小時,我們認爲反向傳播算法已經收斂。
但是這兩個收斂準則都有其明顯缺點。另外一個收斂準則就是檢查神經網絡的泛化性能,當泛化性能達到峯值時,停止迭代。
下面給出反向傳播算法計算局域梯度的一個信號流程圖