mlp神經網路 MLP(全連線神經網路)的反向傳播

2021-10-11 15:40:51 字數 1317 閱讀 4320

3 梯度消失與**

mlp可以說是最簡單的一種ann結構了,輸入通過若干個隱藏層後,進入輸出層得到輸出。下圖展示了只有乙個單隱層的mlp。

圖1 單隱層mlp

如果使用交叉熵損失函式(cross entropy error function),需要在輸出層的狀態值

如果使用mse損失函式(mean squared error function),則可以不使用 softmax 歸一化函式。對應的方程為:

我們需要優化的引數為:第一層的

,第二層(輸出層)的

。由鏈式法則可知,損失值對第

層輸出的梯度

(稱為啟用值梯度),可以由前一層迭代求出:

然後通過

計算出狀態值梯度,一般記為

。最後就可以計算第

層中各個引數的梯度:

下面,我們將以圖1中的單隱層mlp為例,來演示梯度的計算。為簡便起見,輸入的batch num設為1。

本節的目標是求得輸出層的引數梯度

,(8),以及前乙個隱藏層的啟用值梯度

(9)。

微分:

向量化:

其中 是逐元素取倒數。

得到:其中 為逐元素指數函式,

表示與

同型的全1向量,

表示對

各元素求和得到乙個標量。記

。微分:

向量化:

得到:由(4)(5),有:

微分後向量化:

有:由於 ,有:

觀察(6-a)和(6-b)可知,無論是採用mse還是交叉熵,輸出層的狀態值梯度

都是網路輸出與目標輸出之間的殘差(餘差)

。在實際計算中,可以跳過

而直接計算

。微分:

向量化:

得到:其中 表示單位陣,其大小與第2層輸出維度大小一致。

結合(6)(7)有:

在實際計算中,一般將

進一步化簡,消掉kronecker積:

結合(9)可得:

與 類似。

回顧式(7)

與式(10)

,有:推廣到多隱層mlp,有:

記為jacobian矩陣的形式,

,特別地,

。由鏈式法則有:

記。

神經網路 全連線神經網路

全連線神經網路 也稱作多層感知機 mlp 1.1 神經元 神經元接收輸入向量x xx神經元節點有權重向量w和偏置項b 輸出值為f w tx b f w tx b f wtx b 在經過類似線性回歸之後 使用啟用函式對得到值進行操作 1.2 網路結構 個人對於每一層的理解就是 使用 這層維度,上層維度...

從MLP到神經網路

多層感知器 mlp 是一種非常簡單的神經網路,其實現起來也是非常容易滴。那我們就來看一看吧 首先,先看一下來自維基百科的介紹 多層感知器 multilayer perceptron,縮寫mlp 是一種前向結構的 人工神經網路 對映一組輸入向量到一組輸出向量。mlp可以被看作是乙個有向圖,由多個的節點...

MLP 多層神經網路 介紹

接觸神經網路 ann 的時間很長了,以前也只是學了學原理,做過乙個bpn的練習,沒有系統的總結過,最近看torch的原始碼,對mlp有了更多的了解,寫寫自己學到的東西吧,算是做了一次總結!1 高度的並行性 人工神經網路是由許多相同的簡單處理單元併聯組合而成,雖然每個單元的功能簡單,但大量簡單單元的並...