這一系列文章介紹了在神經網路的設計和訓練過程中,可能提公升網路效果的一些小技巧。前文介紹了在訓練過程中的一系列經驗,這篇文章將重點關注其中的啟用函式部分。更新於2018.11.1。
啟用函式(activation function)是指放在層與層之間,使得網路的輸出控制在某乙個範圍內的函式,也稱作傳遞函式(transfer function)。這些函式通常是非線性的,正是因為這些函式的存在,才使得神經網路能夠描述非線性變換。否則,無論多少層卷積層等線性變換的疊加,都相當於一層非常寬的線性變換層的結果。
比較常用的啟用函式有:
目前最常用的啟用函式是relu系列,因為其不容易造成梯度消失等問題。所以,對於損失函式,除非有特殊需求,通常都採取relu系列的啟用函式。具體應用的種類,可以直接借助各種深度學習庫中提供的現有函式,比如caffe中提供的就是leaky relu,但是當其中的引數設定成0的時候,其就會退化成普通的relu了。
至於其他種類的啟用函式,博主認為,對於應用神經網路的人而言,除非有特殊需求,否則暫時沒有必要深究。當然,如果在日後的研究過程中博主有了不同的看法,會回來更新的,這個也只是博主的乙個建議,大家有選擇地看。
比較古老的一篇,從數學角度的解釋:
神經網路啟用函式
2018,jul 23 學了深度學習也快近一年了,在學deep learning的時候什麼教程都去看,起初學起來也特別的雜亂,前面的基礎沒弄懂還一直往下學,自然導致我學到後面的時候有點崩潰什麼都看不懂,並且因為自己還是一名在校生,平常課程也非常多,沒有乙個連續的學習時間也導致我的學習是斷斷續續,在學...
啟用函式 神經網路
andrew的 neural networks and deep learning 課程學習筆記 如圖所示,是乙個簡單的三層神經網路,如果只使用線性啟用函式或者恒等啟用函式 不使用啟用函式 那麼神經網路的輸出就只是輸入函式的線性變化,因為線性啟用函式的組合依然是線性啟用函式。這種情況下,不管使用多少...
神經網路啟用函式
1.sigmoid sigmoid散活函式是將 乙個實數輸入轉化至 0 1 之間的輸出,具體來說也就是將越大的負數轉化到越靠近 0 越大的正數轉化到越靠近1。多用於二分類。缺點 1 sigmoid 函式會造成梯度消失。乙個非常不好的特點就是 sigmoid 函式在靠近 1和0 的兩端時,梯度會幾乎變...