重新理解啟用函式

2021-10-04 23:10:22 字數 779 閱讀 8945

神經網路裡引入啟用函式的目的:

a. 不使用啟用函式,每一層輸出都是上層輸入的線性函式,無論神經網路有多少層,輸出都是輸入的線性組合。

b. 使用啟用函式,能夠給神經元引入非線性因素,使得神經網路可以任意逼近任何非線性函式,這樣神經網路就可以利用到更多的非線性模型中。

啟用函式需要具備以下幾點性質:

1. 連續並可導(允許少數點上不可導)的非線性函式。可導的啟用函式可以直接利用數值優化的方法來學習網路引數。

2. 啟用函式及其導函式要盡可能的簡單,有利於提高網路計算效率。

3. 啟用函式的導函式的值域要在乙個合適的區間內,不能太大也不能太小,否則會影響訓練的效率和穩定性。

relu啟用函式

用relu代替了傳統的tanh或者logistic。好處有:

relu本質上是分段線性模型,前向計算非常簡單,無需指數之類操作;

relu的偏導也很簡單,反向傳播梯度,無需指數或者除法之類操作;

relu不容易發生梯度發散問題,tanh和logistic啟用函式在兩端的時候導數容易趨近於零,多級連乘後梯度更加約等於0;

relu關閉了右邊,從而會使得很多的隱層輸出為0,即網路變得稀疏,起到了類似l1的正則化作用,可以在一定程度上緩解過擬合。

啟發問題:

現階段常用的啟用函式有哪些?

除了sigmod,tanh,relu,swish等外,還有哪些特殊的啟用函式在某些場合有特殊的功用?

啟用函式在bp中扮演了乙個什麼角色?又是如何影響它本身的選擇的?

深入理解啟用函式

說起神經網路肯定會降到神經函式,看了很多資料,也許你對啟用函式這個名詞會感覺很困惑,它為什麼叫啟用函式?它有什麼作用呢?看了很多書籍上的講解說會讓神經網路變成很豐富的演算法,還有的會說讓神經網路的表達能力更強大了,是不是很籠統,看到這些不要煩躁,要有耐心。國內學習深度學習,我看多最好的課程,能看的明...

Swish Mish 啟用函式 理解

啟用函式鼻祖sigmoid雖然現在感覺相當lj,但它的非線性表達能力其實很好,求導性質也不錯 e xe x ex求導仍是自己 最大的問題是飽和導致的梯度瀰散。而之後流行的relu啟用函式,避免了飽和問題,但非線性表達能力其實很弱,因此需要堆疊多層網路,而且求導性質也不好 y x y xy x二次求導...

遠端重新啟用3389

遠端重新啟用3389 端服務連線提供了客戶機可用於登入到伺服器上某個會話的鏈結,這種連線需要rdp 遠端桌面協議 支援。也就是說,在2000server中如果安裝了終端服務元件,而且服務也正常執行,但還是有乙個地方可以關掉3389埠的.你開啟 控制面板 管理工具 終端服務配置 在 連線 裡,再在 r...