TensorFlow筆記:啟用函式
阿新 • • 發佈:2018-12-12
tf.nn.sigmid()函式
函式表示式
函式影象
函式性質
對其求導可得到
sigmoid函式取值範圍在 (0, 1)
區間內,常用於輸出層進行二分類
sigmoid函式之前使用很廣泛,但因為sigmoid函式的特點,也存在一些缺點
- 在輸入點遠離零點時,其梯度就會變得很小,在反向傳播中容易出現梯度消散
- 函式的輸出得到的值永遠為正,均值非零,這在前向傳播中算是一種缺陷
tf.nn.tanh()函式
函式表示式
函式影象
函式性質
對其求導可得到
tanh又稱為雙曲正切函式,函式取值範圍在 (0, 1)
區間內,可以看做對sigmoid函式做了拉伸和平移,解決了sigmoid均值不為零的特點
tf.nn.relu()函式
函式表示式
函式影象
函式性質
relu函式對輸入小於零的部分進行了修正,其梯度計算方便,並且在輸入為正時不會產生梯度消散
但是當輸入小於零時,對應的神經元輸出為零,及不被啟用的狀態,並且該節點的梯度也隨即變為零,造成神經元死掉( die
)
因此在使用relu作為啟用函式時,learning_rate
的設定很重要,通常不能太大
tf.nn.leaky_relu()函式
函式表示式
函式影象
函式性質
leaky_relu是對relu函式小於零的部分進行了修正,為其提供了一個較小的導數 α
對於其中的 α
引數,通常是通過先驗知識人工賦予一個值。但是如果將其作為一個引數進行訓練,則得到了另一個啟用函式prelu,此處就不介紹了。