多層感知器(MLP)

轉自:http://www.voidcn.com/article/p-uwmutaug-bmr.html


一. 簡述多層感知器(MLP)

1. 深度前饋網絡(deep feedforward network),也叫前饋神經網絡(feedforward neuarl network)或者多層感知機(multilayer perceptron,MLP),是典型的深度學習模型。這種模型被稱爲前向(feedforward)的,是因爲信息流過x的函數,流經用於定義f的中間計算過程,最終到達輸出y。在模型的輸出和模型本身之間沒有反饋(feedback)連接。當前饋神經網絡被擴展成包含反饋連接時,它們被稱爲循環神經網絡(recurrent neural network)。

2. 隱含層

隱含層是神經網絡的一個重要概念,它是指除輸入,輸出層外,中間的那些層。輸入和輸出層是對外可見的,成爲可視層,而中間層不直接暴露,是模型的黑箱部分,比較難解釋,所以一般也叫隱含層。隱含層認爲:f()函數爲激活函數(activation function),一般有Sigmoid函數或者Tanh函數。

3. 神經網絡就是將許多哥單一的“神經元”連接,一個“神經元”的輸出就是另一個“神經元”的輸入。


4. DL常見問題

(1)過擬合(overfit)

過擬合是指模型預測準確率在訓練集上提高,但在測試集上反而下降了,這通常意味着泛化性不好,model只記憶了當前數據的特徵,不具備推廣能力。

(2)Dropout

dropout可以比較有效地減輕過擬合的發生,一定程度上達到了正則化的效果。大致思想是在訓練時,將神經網絡某一層的輸出節點數據隨機丟掉一部分。

(3)參數難以調試

參數難於調試是神經網絡的另一大痛點。神經網絡到處充滿着局部最優,需要反覆調試,因此像Adagrad,Adam,Adadelta等自適應方法可以減輕調試參數的負擔。

(4)梯度彌散

梯度彌散是另一個神經網絡的問題。傳統的神經網絡訓練大多用Sigmoid作爲激活函數,但神經網絡層數較多時,Sigmoid函數在反向傳播中梯度逐漸減小,經過多層的傳遞後會呈現指數級急劇減小,因此梯度值在傳遞的前幾層就變得非常小了。這時反饋(backward)的參數更新基本不起作用。

(5)ReLU函數

ReLU函數可以解決以上問題。



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