多層感知機

2021-10-02 19:06:31 字數 1278 閱讀 4427

知識拓展

多層感知機就是含有至少乙個隱藏層的由全連線層組成的神經網路,且每個隱藏層的輸出通過啟用函式進行變換。

多層感知機按以下方式計算輸出

多層感知機中最為重要的自然是「多層」

兩個線性層復合,是不可行的,無論多少層線性層復合最後得到的結果仍然是等價於線性層。

tanh函式的導數。當輸入為0時,tanh函式的導數達到最大值1;當輸入越偏離0時,tanh函式的導數越接近0。

為什麼新增激勵函式後可以擬合「幾乎」任意乙個函式?將函式分成三類:邏輯函式,分類函式,連續函式(分類的原則是輸入輸出形式)

通過乙個激勵函式可以完成簡單的或與非門邏輯,因此通過隱藏層中神經元復合就可以完成任何乙個邏輯函式擬合。只需要通過神經網路的擬合將真值表完全表示

通過之前使用的線性分類器構成的線性邊界進行復合便可以得到任意乙個分類函式。

通過積分微元法的思想可以擬合任何乙個普通的可積函式

為什麼sigmoid函式這類函式不行?

中間部分梯度值過小(最大只有0.25)因此即使在中間部分也沒有辦法明顯的啟用,反而會在多層中失活,表現非常不好。

指數運算在計算中過於複雜,不利於運算,反而relu函式用最簡單的梯度

relu函式所遇到的問題

在負向部分完全失活,如果選擇的超引數不好等情況,可能會出現過多神經元失活,從而整個網路死亡。

relu函式不是zero-centered,即啟用函式輸出的總是非負值,而gradient也是非負值,在back propagate情況下總會得到與輸入x相同的結果,同正或者同負,因此收斂會顯著受到影響,一些要減小的引數和要增加的引數會受到**限制。

這兩個問題的解決方法分別是

如果出現神經元失活的情況,可以選擇調整超引數或者換成leaky relu 但是,沒有證據證明任何情況下都是leaky-relu好

針對非zero-centered情況,可以選擇用minibatch gradient decent 通過batch裡面的正負調整,或者使用elu(exponential linear units)但是同樣具有計算量過大的情況,同樣沒有證據elu總是優於relu。

多層感知機

1 單輸出多層感知機 單輸出多層感知機 圖中各變數滿足公式 假如現在有乙個樣本 x 1,x2 t 用該樣本訓練網路時,網路優化的目標為lossfun最小。lossfun是乙個關於變數w和v多元函式。網路的訓練又變成多元函式求極值的問題。求v1的梯度 同理可得v i的梯度 求w11的梯度 同理,可得w...

多層感知機

import d2lzh as d2l from mxnet import nd from mxnet.gluon import loss as gloss 讀取資料集 batch size 256 train iter,test iter d2l.load data fashion mnist b...

多層感知機MLP

關於感知機 1.什麼是感知機 perceptron 感知機是最簡單的神經網路,具備神經網路的必備要素。感知機也稱為感知器,是一種雙層神經網路,即只有輸入層和輸出層而沒有隱層的神經網路。感知機是一種二類分類的線性分類器,其輸入為例項的特徵向量,輸出為例項的類別,感知機屬於判別模型,旨在求出將訓練資料進...