鏈接:https://www.zhihu.com/question/44328472/answer/128973724
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
BP Neural Network - 使用 Automatic Differentiation (Backpropagation) 進行導數計算的層級圖模型 (layer-by-layer graphical model)
只要模型是一層一層的,並使用AD/BP算法,就能稱作 BP Network。RBF Network 是其中一個特例。
關於 AD 與 BP 算法的介紹
1. 請問自動微分法(Automatic differentiation)是如何用C++實現的? - 李瞬生的回答
2. Backwards differentiation in AD and neural nets: Past links and new opportunities
接下來簡單介紹 RBF Network 相比一般 Neural Network 具有的特點。
機器學習的模型通常存在各種解讀。相對正統的是統計上的解讀。但這里只談直觀上的解讀,以求易讀。
圖一
如此可見,和普通的三層神經網絡,RBF 神經網絡的區別在中間層。中間層采用 RBF Kernel 對輸入作非線性變換,以便輸出層訓練線性分類器。
那么RBF Kernel 有什么特點呢?
圖二 Radial Basis Function
圖三 Plot of Radial Basis Function with 2D input
RBF 擁有較小的支集。針對選定的樣本點,它只對樣本附近的輸入有反應,如下圖。
圖四 RBF 使樣本點只被附近(圈內)的輸入激活
T. Poggio 將 RBF 比作記憶點。與記憶樣本越近,該記憶就越被激活。
有的同學看到這,也許會說:這不就是 SVM with RBF Kernel 么。
這些同學對了一半。光看模型,RBF Network 確實與 SVM with RBF kernel 無異。區別在於訓練方式。
其實在深度學習出現之前,RBF神經網絡就已經提出了 2-stage training。
第一階段為非監督學習,從數據中選取記憶樣本(圖四中的紫色中心)。例如聚類算法可在該階段使用。
第二階段為監督學習,訓練記憶樣本與樣本輸出的聯系。該階段根據需要可使用 AD/BP。
1. RBF神經網絡的訓練過程可以使用BP,因此應納入BP神經網絡的范疇。
2. RBF神經網絡的訓練分兩階段,這一點類似深度學習,且使RBF神經網絡不同於SVM with RBF kernel。
鏈接:https://www.zhihu.com/question/44328472/answer/155506678
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
RBF神經網絡與BP神經網絡都是非線性多層前向網絡,它們都是通用逼近器。對於任一個BP神經網絡,總存在一個RBF神經網絡可以代替它,反之亦然。但是這兩個網絡也存在着很多不同點,這里從網絡結構、訓練算法、網絡資源的利用及逼近性能等方面對RBF神經網絡和BP神經網絡進行比較研究。
- 從網絡結構上看。 BP神經網絡實行權連接,而RBF神經網絡輸入層到隱層單元之間為直接連接,隱層到輸出層實行權連接。BP神經網絡隱層單元的轉移函數一般選擇非線性函數(如反正切函數),RBF神經網絡隱層單元的轉移函數是關於中心對稱的RBF(如高斯函數)。BP神經網絡是三層或三層以上的靜態前饋神經網絡,其隱層和隱層節點數不容易確定,沒有普遍適用的規律可循,一旦網絡的結構確定下來,在訓練階段網絡結構將不再變化;RBF神經網絡是三層靜態前饋神經網絡,隱層單元數也就是網絡的結構可以根據研究的具體問題,在訓練階段自適應地調整,這樣網絡的適用性就更好了。
- 從訓練算法上看。 BP神經網絡需要確定的參數是連接權值和閾值,主要的訓練算法為BP算法和改進的BP算法。但BP算法存在許多不足之處,主要表現為易限於局部極小值,學習過程收斂速度慢,隱層和隱層節點數難以確定;更為重要的是,一個新的BP神經網絡能否經過訓練達到收斂還與訓練樣本的容量、選擇的算法及事先確定的網絡結構(輸入節點、隱層節點、輸出節點及輸出節點的傳遞函數)、期望誤差和訓練步數有很大的關系。RBF神經網絡的訓練算法在前面已做了論述,目前,很多RBF神經網絡的訓練算法支持在線和離線訓練,可以動態確定網絡結構和隱層單元的數據中心和擴展常數,學習速度快,比BP算法表現出更好的性能。
- 從網絡資源的利用上看。 RBF神經網絡原理、結構和學習算法的特殊性決定了其隱層單元的分配可以根據訓練樣本的容量、類別和分布來決定。如采用最近鄰聚類方式訓練網絡,網絡隱層單元的分配就僅與訓練樣本的分布及隱層單元的寬度有關,與執行的任務無關。在隱層單元分配的基礎上,輸入與輸出之間的映射關系,通過調整隱層單元和輸出單元之間的權值來實現,這樣,不同的任務之間的影響就比較小,網絡的資源就可以得到充分的利用。這一點和BP神經網絡完全不同,BP神經網絡權值和閾值的確定由每個任務(輸出節點)均方差的總和直接決定,這樣,訓練的網絡只能是不同任務的折中,對於某個任務來說,就無法達到最佳的效果。而RBF神經網絡則可以使每個任務之間的影響降到較低的水平,從而每個任務都能達到較好的效果,這種並行的多任務系統會使RBF神經網絡的應用越來越廣泛。
- 局部逼近與全局逼近
- BP神經網絡的隱節點采用輸入模式與權向量的內積作為激活函數的自變量,而激活函數采用Sigmoid函數。各隱節點對BP網絡的輸出具有同等地位的影響,因此BP神經網絡是對非線性映射的全局逼近。
- RBF神經網絡的隱節點采用輸入模式與中心向量的距離(如歐式距離)作為函數的自變量,並使用徑向基函數(如Gaussian函數)作為激活函數。神經元的輸入離徑向基函數中心越遠,神經元的激活程度就越低。RBF網絡的輸出與數據中心離輸入模式較勁的“局部”隱節點關系較大,RBF神經網絡因此具有“局部映射”特性。
總之,RBF神經網絡可以根據具體問題確定相應的網絡拓撲結構,具有自學習、自組織、自適應功能,它對非線性連續函數具有一致逼近性,學習速度快,可以進行大范圍的數據融合,可以並行高速地處理數據。RBF神經網絡的優良特性使得其顯示出比BP神經網絡更強的生命力,正在越來越多的領域內替代BP神經網絡。目前,RBF神經網絡已經成功地用於非線性函數逼近、時間序列分析、數據分類、模式識別、信息處理、圖像處理、系統建模、控制和故障診斷等。
[1] MATLAB中文論壇. MATLAB神經網絡30個案例分析[M]. 北京航空航天大學出版社, 2010.
[2] letsgoaway. 神經網絡及BP與RBF比較[EB/OL]. https://wenku.baidu.com/view/fdcb2ba7195f312b3069a54c.html.
