最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

深度學(xué)習(xí)知識:超全激活函數(shù)學(xué)習(xí)總結(jié)!

2021-11-02 17:41 作者:深度之眼官方賬號  | 我要投稿

本文的選材來自學(xué)習(xí)交流群中一位朋友,提出了有關(guān)激活函數(shù)的問題。在收集了一下相關(guān)內(nèi)容后整理了一些知識點,來對比激活函數(shù)的缺點和不足。



什么是激活函數(shù)


文章主要從激活函數(shù)概念,數(shù)學(xué)形式分析,Python代碼形式展現(xiàn),優(yōu)缺點對比等方面進行學(xué)習(xí)。


關(guān)于激活函數(shù)的定義維基百科解釋是:


節(jié)點的激活函數(shù)定義了給定一個輸入或一組輸入的節(jié)點的輸出。標(biāo)準(zhǔn)集成電路可以被視為激活函數(shù)的數(shù)字網(wǎng)絡(luò),根據(jù)輸入可以是“ON”(1)或“OFF”(0)。此定義與邏輯回歸的定義相似。


換句話說,激活函數(shù)是一種添加到神經(jīng)網(wǎng)絡(luò)中的函數(shù),旨在幫助網(wǎng)絡(luò)學(xué)習(xí)數(shù)據(jù)中的復(fù)雜模式。類似于人類大腦中基于神經(jīng)元的模型,激活函數(shù)最終決定了要傳送給下一個神經(jīng)元的內(nèi)容。在人工神經(jīng)網(wǎng)絡(luò)中,一個節(jié)點的激活函數(shù)定義了該節(jié)點在給定的輸入或輸入集合下的輸出。


激活函數(shù)就是確定神經(jīng)網(wǎng)絡(luò)輸出的數(shù)學(xué)方程。



當(dāng)神經(jīng)元接收到了其他神經(jīng)元或外界傳來的數(shù)字信號,神經(jīng)元通過權(quán)重和偏置對輸入信息進行線性變換,由于線性方程很簡單解決復(fù)雜問題的能力有限,因此加入激活函數(shù)對輸入進行非線性變換使其能夠?qū)W習(xí)和執(zhí)行更復(fù)雜的任務(wù)。此時激活函數(shù)的意義尤為重要,合適的激活函數(shù)也十分重要。




激活函數(shù)種類


常見的激活函數(shù)可以分為三類:嶺函數(shù),徑向函數(shù),以及應(yīng)用在卷積神經(jīng)網(wǎng)絡(luò)中的折疊激活函數(shù)。


  • 嶺函數(shù):作用與輸入變量的線性組合多元函數(shù)

  • 線性函數(shù)

  • ReLU函數(shù):



  • Heaviside函數(shù):



  • Logistic函數(shù):



  • 徑向激活函數(shù):在歐幾里得空間中求得點與點之間距離,作為通用的函數(shù)逼近器具有很好的效果。


  • 高斯函數(shù):



  • 多項式函數(shù):



注意:c為函數(shù)中心的向量和,a為影響半徑傳播的參數(shù)


  • 折疊激活函數(shù):廣泛使用池層在卷積神經(jīng)網(wǎng)絡(luò)中和多分類網(wǎng)絡(luò)的輸出層中。激活函數(shù)使用取均值,最小值或最大值。在多分類中,經(jīng)常使用software激活



激活函數(shù)數(shù)學(xué)特性


每個激活函數(shù)都有著其特性,根據(jù)特性它可能適用在某一種模型中能夠展現(xiàn)更好的效果。除了數(shù)學(xué)結(jié)構(gòu),激活函數(shù)還具有不同的數(shù)學(xué)特性:


非線性:


當(dāng)激活函數(shù)為非線性,那么可以證明兩層神經(jīng)網(wǎng)絡(luò)是一個通用函數(shù)逼近器。換句話說神經(jīng)網(wǎng)絡(luò)是由很多層神經(jīng)元組成的,使用非線性激活函數(shù)可以把整個網(wǎng)絡(luò)看作一個單層模型。使得神經(jīng)網(wǎng)絡(luò)可以任意逼近任何非線性函數(shù),這個特性使神經(jīng)網(wǎng)絡(luò)應(yīng)用到眾多非線性模型中。


范圍:


激活函數(shù)的輸出值的范圍可以是有限的也可以是無限的。當(dāng)輸出值是有限的時候,基于梯度的優(yōu)化方法會更加穩(wěn)定,因為特征的表示受有限權(quán)值的影響更加顯著;當(dāng)輸出值無限時,模型的訓(xùn)練會更加高效。注意在這種情況,一般需要更小的學(xué)習(xí)率。


連續(xù)可微:


這個特性并不是必須的(ReLu部分點不可微影響不大)這個特性保證了優(yōu)化中梯度的可計算性。


非飽和性:


飽和指的是某些區(qū)間梯度接近0(梯度消失),使得參數(shù)無法繼續(xù)更新。Sigmoid它的導(dǎo)數(shù)在接近正無窮和負無窮時都會接近0。躍階函數(shù)幾乎所有位置梯度都為0,無法作為激活函數(shù)。因此有一些學(xué)者提出了一些改進激活函數(shù)解決這類問題。


單調(diào)性:


即導(dǎo)數(shù)符號不變,大部分激活函數(shù)都具有該特點。換句話說就是單調(diào)性使得激活函數(shù)的梯度方向不會經(jīng)常改變,使訓(xùn)練更容易收斂,效果更佳。


接近恒等變換:


這個特性使得網(wǎng)絡(luò)更加穩(wěn)定,存在于少量激活函數(shù)中在Tanh中只有原點附近導(dǎo)數(shù)為1,ReLu只在x>0時為線性。這一結(jié)構(gòu)設(shè)計與CNN中的ReNet和RNN中的LSTM


參數(shù)少:


參數(shù)少可以減少網(wǎng)絡(luò)的大小。


歸一化:


主要思想是使樣本分布自動歸一化到零均值,單位方差的分布,從而穩(wěn)定訓(xùn)練。


這些數(shù)學(xué)特性不會決定性的影響模型效果,也不存在唯一有用屬性,通過這些屬性可以方便我們在構(gòu)建模型時選出合適的激活函數(shù)。



激活函數(shù)比較


接下來到了最關(guān)鍵的部分,激活函數(shù)的對比,我們以及掌握了激活函數(shù)的種類以及特性,那么都有哪些常用的激活函數(shù),以及他們的特性都有哪些呢。如下所示為多種常見激活函數(shù)的收集整理,里面包含內(nèi)容有函數(shù)曲線,數(shù)學(xué)結(jié)構(gòu),范圍,可導(dǎo)區(qū)間,以及連續(xù)性。


常見激活函數(shù):



以及折疊函數(shù):




如何選取恰當(dāng)?shù)募せ詈瘮?shù)


通過了解這些函數(shù)的,以及特性分析,我們可以總結(jié)一下如何選擇正確的激活函數(shù);根據(jù)問題的性質(zhì),我們可以為構(gòu)建模型作出更佳選擇。結(jié)合一些文章提供的經(jīng)驗之說選取規(guī)則如下所示(僅供參考)


  • 首先考慮常見的激活函數(shù):Sigmoid,TanH,ReLU,Leaky ReLU,ELU,SoftPlus,Binary step,Maxout,以及Mish.


  • 用于分類器時,Sigmoid函數(shù)及其組合通常效果更好


  • 關(guān)于避免梯度消失問題,需要避免使用Sigmoid,TanH


  • 首先考慮ReLU,速度最快,觀察模型的表現(xiàn),如果效果不好可以嘗試Leaky ReLU,Maxout

  • ReLU只能在隱藏層中使用


  • 當(dāng)層數(shù)不多時的CNN中,激活函數(shù)影響不大。



代碼實現(xiàn)


搞定了理論基礎(chǔ),接下來就該實戰(zhàn)準(zhǔn)備造輪子環(huán)節(jié)了,建議收藏這些代碼部分以備不時之需。


Sigmoid代碼實現(xiàn):


適用于二分類,多分類,效果一般,注意梯度消失問題



TanH代碼實現(xiàn):


注意梯度消失問題



ReLU代碼實現(xiàn):


最常用,只用于隱藏層



Leaky ReLU代碼實現(xiàn):


應(yīng)用于當(dāng)構(gòu)建網(wǎng)絡(luò)中存在大量未激活神經(jīng)元時



ELU代碼實現(xiàn)



Softmax代碼實現(xiàn)



Binary step代碼實現(xiàn)





Maxout代碼實現(xiàn):


比賽中使用



Mish代碼實現(xiàn):較新的激活函數(shù),表現(xiàn)優(yōu)于ReLU和Swish,TanH和Softplus組合


原理如下:有興趣的可以看一看



作弊代碼:小樣本




總結(jié)

經(jīng)過盤點總結(jié)激活函數(shù)的意義,種類,數(shù)學(xué)特性,以及使用范圍等方面,我們可以很好的認(rèn)識了激活函數(shù),并且在構(gòu)建模型時如何選擇使用。當(dāng)我看到這個問題,并且開始學(xué)習(xí),通過深入了解原理意義,理解為什么選非常重要。不能只做代碼的搬運工,應(yīng)該有自己的思考見解,追求境界高了,眼界高了,才能有更多的發(fā)展空間。


這次文章的描寫使用了很多公式展示,讓我的Latex編寫能力有了大大的提高,也發(fā)現(xiàn)使用才有價值才能更快的成長。


參考文獻:


1.Activation function


https://en.wikipedia.org/wiki/Activation_function


2.非線性激活函數(shù)


https://zhuanlan.zhihu.com/p/260970955


3.常見流行激活函數(shù)


https://cloud.tencent.com/developer/article/1591132


4.Mish As Neural Networks Activation Function


https://sefiks.com/2019/10/28/mish-as-neural-networks-activation-function/


5.Understand Maxout Activation Function in Deep Learning – Deep Learning Tutorial


https://www.tutorialexample.com/und


更多干貨!



深度學(xué)習(xí)知識:超全激活函數(shù)學(xué)習(xí)總結(jié)!的評論 (共 條)

分享到微博請遵守國家法律
确山县| 巫溪县| 乐昌市| 台东市| 虹口区| 苏尼特右旗| 开封市| 莲花县| 雅江县| 都江堰市| 彝良县| 洪雅县| 资阳市| 寿阳县| 太原市| 台中县| 浪卡子县| 高青县| 昂仁县| 南江县| 吴桥县| 科技| 都匀市| 台前县| 榆社县| 镇安县| 化州市| 木兰县| 湛江市| 玉溪市| 夏邑县| 香港 | 桦甸市| 巴林右旗| 聂荣县| 衢州市| 交口县| 宝丰县| 芒康县| 静乐县| 祁门县|