幾種常見的激活函數(shù)


??? 常見的傳統(tǒng)激活函數(shù)主要有兩個(gè):sigmoid和tanh。


代碼運(yùn)行figure1

首先說一下sigmoid函數(shù)娃肿。

sigmoid函數(shù)

??? 它是使用范圍最廣的一類激活函數(shù)疾嗅,具有指數(shù)函數(shù)形狀,在物理上最接近神經(jīng)元谴蔑。它的輸出范圍在(0,1)之間豌骏,可以被表示成概率龟梦,或者用于數(shù)據(jù)的歸一化。

但是它有兩個(gè)嚴(yán)重的缺陷:

?????? 1. 軟飽和性——導(dǎo)數(shù) f'(x)=f(x)(1-f(x))窃躲,當(dāng)x趨于無窮時(shí)变秦,f(x)的兩側(cè)導(dǎo)數(shù)逐漸趨于0。

?????? 在后向傳遞時(shí)框舔,sigmoid向下傳遞的梯度包含了一個(gè)f'(x)因子蹦玫,因此,一旦落入飽和區(qū)f'(x)就變得接近于0刘绣,導(dǎo)致了向后傳遞的梯度也非常小樱溉。此時(shí),網(wǎng)絡(luò)參數(shù)很難得到有效訓(xùn)練纬凤,這種現(xiàn)象被稱為梯度消失福贞。一般在5層以內(nèi)就會(huì)產(chǎn)生梯度消失的現(xiàn)象。

??????? 2. sigmoid函數(shù)的輸出均大于0停士,這就使得輸出不是0均值挖帘,這稱為偏置現(xiàn)象。這將會(huì)導(dǎo)致后一層的神經(jīng)元將得到上一層輸出的非0均值的信號(hào)作為輸入恋技。

然后是tanh函數(shù)拇舀。


tanh函數(shù)

??? tanh函數(shù)與sigmoid函數(shù)相比,輸出均值為0蜻底,這就使得其收斂速度要比sigmoid快骄崩,從而可以減少迭代次數(shù)。

??? 缺點(diǎn)就是同樣具有軟飽和性薄辅,會(huì)造成梯度消失要拂。

針對(duì)sigmoid和tanh的飽和性,產(chǎn)生了ReLU函數(shù)站楚。


ReLU函數(shù)

??? ReLU全稱為Rectified Linear Units脱惰,可以翻譯成線性整流單元或者修正線性單元。

??? 它在x>0時(shí)不存在飽和問題窿春,從而使保持梯度不衰減拉一,從而解決了梯度消失問題。這讓我們能夠直接以監(jiān)督的方式訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)谁尸,而無需依賴無監(jiān)督的逐層預(yù)訓(xùn)練舅踪。然而,隨著訓(xùn)練的推進(jìn)良蛮,部分輸入會(huì)落入硬飽和區(qū)抽碌,導(dǎo)致對(duì)應(yīng)權(quán)重?zé)o法更新,這種現(xiàn)象稱為“神經(jīng)元死亡”

??? 與sigmoid類似,ReLU的輸出均值也大于0货徙,所以偏移現(xiàn)象和神經(jīng)元死亡共同影響網(wǎng)絡(luò)的收斂性左权。

Leaky-ReLU


Leaky-Relu函數(shù)

??? 為了避免ReLU在x<0時(shí)的神經(jīng)元死亡現(xiàn)象,添加了一個(gè)參數(shù)痴颊。

代碼運(yùn)行figure2

之后就是ELU函數(shù)赏迟。


ELU函數(shù)

它結(jié)合了sigmoid和ReLU函數(shù),左側(cè)軟飽和蠢棱,右側(cè)無飽和锌杀。

??? 右側(cè)線性部分使得ELU能緩解梯度消失,而左側(cè)軟飽和能讓對(duì)ELU對(duì)輸入變化或噪聲更魯棒泻仙。ELU的輸出均值接近于0糕再,所以收斂速度更快。

最后附上常見的幾種激活函數(shù)的圖像實(shí)現(xiàn)(運(yùn)行結(jié)果已給出):

import matplotlib.pyplotas plt


import numpyas np


x = np.linspace(-10, 10, 60)


def elu(x, a):


y = []


for iin x:


if i >=0:


y.append(i)


else:


y.append(a * np.exp(i) -1)


return y


relu = np.maximum(x, [0] *60)


relu6 = np.minimum(np.maximum(x, [0] *60), [6] *60)


softplus = np.log(np.exp(x) +1)


elu = elu(x, 1)


softsign = x / (np.abs(x) +1)


sigmoid =1 / (1 + np.exp(-x))


tanh = np.tanh(x)


lrelu = np.maximum(0.1 * x, x)


plt.figure()


plt.plot(x, relu6, label='relu6', linewidth=3.0)


plt.plot(x, relu, label='relu', color='black', linestyle='--', linewidth=2.0)


plt.plot(x, elu, label='elu', linewidth=2.0)


plt.plot(x, lrelu, label='lrelu', linewidth=1.0)


ax = plt.gca()


ax.spines['right'].set_color('none')


ax.spines['top'].set_color('none')


ax.xaxis.set_ticks_position('bottom')


ax.spines['bottom'].set_position(('data', 0))


ax.yaxis.set_ticks_position('left')


ax.spines['left'].set_position(('data', 0))


plt.legend(loc='best')


plt.figure()


plt.ylim((-1.2, 1.2))


plt.plot(x, softsign, label='softsign', linewidth=2.0)


plt.plot(x, sigmoid, label='sigmoid', linewidth=2.0)


plt.plot(x, tanh, label='tanh', linewidth=2.0)


plt.plot(x, softplus, label='softplus', linewidth=2.0)


# plt.plot(x, hyperbolic_tangent,label='hyperbolic_tangent',linewidth=2.0)


ax = plt.gca()


ax.spines['right'].set_color('none')


ax.spines['top'].set_color('none')


ax.xaxis.set_ticks_position('bottom')


ax.spines['bottom'].set_position(('data', 0))


ax.yaxis.set_ticks_position('left')


ax.spines['left'].set_position(('data', 0))


plt.legend(loc='best')


plt.show()




參考文獻(xiàn):深度學(xué)習(xí)筆記(三):激活函數(shù)和損失函數(shù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末玉转,一起剝皮案震驚了整個(gè)濱河市突想,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌究抓,老刑警劉巖猾担,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異刺下,居然都是意外死亡绑嘹,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門怠李,熙熙樓的掌柜王于貴愁眉苦臉地迎上來圾叼,“玉大人蛤克,你說我怎么就攤上這事捺癞。” “怎么了构挤?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵髓介,是天一觀的道長。 經(jīng)常有香客問我筋现,道長唐础,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任矾飞,我火速辦了婚禮一膨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘洒沦。我一直安慰自己豹绪,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布申眼。 她就那樣靜靜地躺著瞒津,像睡著了一般蝉衣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上巷蚪,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天病毡,我揣著相機(jī)與錄音,去河邊找鬼屁柏。 笑死啦膜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的淌喻。 我是一名探鬼主播功戚,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼似嗤!你這毒婦竟也來了啸臀?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤烁落,失蹤者是張志新(化名)和其女友劉穎乘粒,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體伤塌,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡灯萍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了每聪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片旦棉。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖药薯,靈堂內(nèi)的尸體忽然破棺而出绑洛,到底是詐尸還是另有隱情,我是刑警寧澤童本,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布真屯,位于F島的核電站,受9級(jí)特大地震影響穷娱,放射性物質(zhì)發(fā)生泄漏绑蔫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一泵额、第九天 我趴在偏房一處隱蔽的房頂上張望配深。 院中可真熱鬧,春花似錦嫁盲、人聲如沸篓叶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽澜共。三九已至向叉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間嗦董,已是汗流浹背母谎。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留京革,地道東北人奇唤。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像匹摇,于是被迫代替她去往敵國和親咬扇。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容