0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

詳解十種激活函數的優(yōu)缺點

深度學習自然語言處理 ? 來源:機器之心 ? 作者:機器之心 ? 2021-03-05 16:15 ? 次閱讀

激活函數是神經網絡模型重要的組成部分,本文作者Sukanya Bag從激活函數的數學原理出發(fā),詳解了十種激活函數的優(yōu)缺點。

b15119da-7c22-11eb-8b86-12bb97331649.png

激活函數(Activation Function)是一種添加到人工神經網絡中的函數,旨在幫助網絡學習數據中的復雜模式。類似于人類大腦中基于神經元的模型,激活函數最終決定了要發(fā)射給下一個神經元的內容。 在人工神經網絡中,一個節(jié)點的激活函數定義了該節(jié)點在給定的輸入或輸入集合下的輸出。標準的計算機芯片電路可以看作是根據輸入得到開(1)或關(0)輸出的數字電路激活函數。因此,激活函數是確定神經網絡輸出的數學方程式,本文概述了深度學習中常見的十種激活函數及其優(yōu)缺點。 首先我們來了解一下人工神經元的工作原理,大致如下:

b172c7ce-7c22-11eb-8b86-12bb97331649.png

上述過程的數學可視化過程如下圖所示:

b1b42b38-7c22-11eb-8b86-12bb97331649.png

1. Sigmoid 激活函數

b21b8076-7c22-11eb-8b86-12bb97331649.png

Sigmoid 函數的圖像看起來像一個 S 形曲線。 函數表達式如下:

b23e4d0e-7c22-11eb-8b86-12bb97331649.png

在什么情況下適合使用 Sigmoid 激活函數呢?

Sigmoid 函數的輸出范圍是 0 到 1。由于輸出值限定在 0 到 1,因此它對每個神經元的輸出進行了歸一化;

用于將預測概率作為輸出的模型。由于概率的取值范圍是 0 到 1,因此 Sigmoid 函數非常合適;

梯度平滑,避免「跳躍」的輸出值;

函數是可微的。這意味著可以找到任意兩個點的 sigmoid 曲線的斜率;

明確的預測,即非常接近 1 或 0。

Sigmoid 激活函數有哪些缺點?

傾向于梯度消失;

函數輸出不是以 0 為中心的,這會降低權重更新的效率;

Sigmoid 函數執(zhí)行指數運算,計算機運行得較慢。

2. Tanh / 雙曲正切激活函數

b2893b8e-7c22-11eb-8b86-12bb97331649.png

tanh 激活函數的圖像也是 S 形,表達式如下:

b2c9a2be-7c22-11eb-8b86-12bb97331649.png

tanh 是一個雙曲正切函數。tanh 函數和 sigmoid 函數的曲線相對相似。但是它比 sigmoid 函數更有一些優(yōu)勢。

b3075dde-7c22-11eb-8b86-12bb97331649.png

首先,當輸入較大或較小時,輸出幾乎是平滑的并且梯度較小,這不利于權重更新。二者的區(qū)別在于輸出間隔,tanh 的輸出間隔為 1,并且整個函數以 0 為中心,比 sigmoid 函數更好;

在 tanh 圖中,負輸入將被強映射為負,而零輸入被映射為接近零。

注意:在一般的二元分類問題中,tanh 函數用于隱藏層,而 sigmoid 函數用于輸出層,但這并不是固定的,需要根據特定問題進行調整。 3. ReLU 激活函數

b33e4402-7c22-11eb-8b86-12bb97331649.png

ReLU 激活函數圖像如上圖所示,函數表達式如下:

b3655d1c-7c22-11eb-8b86-12bb97331649.png

ReLU 函數是深度學習中較為流行的一種激活函數,相比于 sigmoid 函數和 tanh 函數,它具有如下優(yōu)點:

當輸入為正時,不存在梯度飽和問題。

計算速度快得多。ReLU 函數中只存在線性關系,因此它的計算速度比 sigmoid 和 tanh 更快。

當然,它也有缺點:

Dead ReLU 問題。當輸入為負時,ReLU 完全失效,在正向傳播過程中,這不是問題。有些區(qū)域很敏感,有些則不敏感。但是在反向傳播過程中,如果輸入負數,則梯度將完全為零,sigmoid 函數和 tanh 函數也具有相同的問題;

我們發(fā)現(xiàn) ReLU 函數的輸出為 0 或正數,這意味著 ReLU 函數不是以 0 為中心的函數。

4. Leaky ReLU 它是一種專門設計用于解決 Dead ReLU 問題的激活函數:

b38eadde-7c22-11eb-8b86-12bb97331649.png

ReLU vs Leaky ReLU 為什么 Leaky ReLU 比 ReLU 更好?

b3bcabe4-7c22-11eb-8b86-12bb97331649.png

Leaky ReLU 通過把 x 的非常小的線性分量給予負輸入(0.01x)來調整負值的零梯度(zero gradients)問題;

leak 有助于擴大 ReLU 函數的范圍,通常 a 的值為 0.01 左右;

Leaky ReLU 的函數范圍是(負無窮到正無窮)。

注意:從理論上講,Leaky ReLU 具有 ReLU 的所有優(yōu)點,而且 Dead ReLU 不會有任何問題,但在實際操作中,尚未完全證明 Leaky ReLU 總是比 ReLU 更好。 5. ELU

b3f5188a-7c22-11eb-8b86-12bb97331649.png

ELU vs Leaky ReLU vs ReLU ELU 的提出也解決了 ReLU 的問題。與 ReLU 相比,ELU 有負值,這會使激活的平均值接近零。均值激活接近于零可以使學習更快,因為它們使梯度更接近自然梯度。

b435ac06-7c22-11eb-8b86-12bb97331649.png

顯然,ELU 具有 ReLU 的所有優(yōu)點,并且:

沒有 Dead ReLU 問題,輸出的平均值接近 0,以 0 為中心;

ELU 通過減少偏置偏移的影響,使正常梯度更接近于單位自然梯度,從而使均值向零加速學習;

ELU 在較小的輸入下會飽和至負值,從而減少前向傳播的變異和信息。

一個小問題是它的計算強度更高。與 Leaky ReLU 類似,盡管理論上比 ReLU 要好,但目前在實踐中沒有充分的證據表明 ELU 總是比 ReLU 好。 6. PReLU(Parametric ReLU)

b45f86d4-7c22-11eb-8b86-12bb97331649.png

PReLU 也是 ReLU 的改進版本:

b4bbf5e0-7c22-11eb-8b86-12bb97331649.png

看一下 PReLU 的公式:參數α通常為 0 到 1 之間的數字,并且通常相對較小。

如果 a_i= 0,則 f 變?yōu)?ReLU

如果 a_i> 0,則 f 變?yōu)?leaky ReLU

如果 a_i 是可學習的參數,則 f 變?yōu)?PReLU

PReLU 的優(yōu)點如下:

在負值域,PReLU 的斜率較小,這也可以避免 Dead ReLU 問題。

與 ELU 相比,PReLU 在負值域是線性運算。盡管斜率很小,但不會趨于 0。

7. Softmax

b4d0365e-7c22-11eb-8b86-12bb97331649.png

Softmax 是用于多類分類問題的激活函數,在多類分類問題中,超過兩個類標簽則需要類成員關系。對于長度為 K 的任意實向量,Softmax 可以將其壓縮為長度為 K,值在(0,1)范圍內,并且向量中元素的總和為 1 的實向量。

b4f3cfec-7c22-11eb-8b86-12bb97331649.png

Softmax 與正常的 max 函數不同:max 函數僅輸出最大值,但 Softmax 確保較小的值具有較小的概率,并且不會直接丟棄。我們可以認為它是 argmax 函數的概率版本或「soft」版本。 Softmax 函數的分母結合了原始輸出值的所有因子,這意味著 Softmax 函數獲得的各種概率彼此相關。 Softmax 激活函數的主要缺點是:

在零點不可微;

負輸入的梯度為零,這意味著對于該區(qū)域的激活,權重不會在反向傳播期間更新,因此會產生永不激活的死亡神經元。

8. Swish

b50f8ef8-7c22-11eb-8b86-12bb97331649.png

函數表達式:y = x * sigmoid (x) Swish 的設計受到了 LSTM 和高速網絡中 gating 的 sigmoid 函數使用的啟發(fā)。我們使用相同的 gating 值來簡化 gating 機制,這稱為 self-gating。 self-gating 的優(yōu)點在于它只需要簡單的標量輸入,而普通的 gating 則需要多個標量輸入。這使得諸如 Swish 之類的 self-gated 激活函數能夠輕松替換以單個標量為輸入的激活函數(例如 ReLU),而無需更改隱藏容量或參數數量。 Swish 激活函數的主要優(yōu)點如下:

「無界性」有助于防止慢速訓練期間,梯度逐漸接近 0 并導致飽和;(同時,有界性也是有優(yōu)勢的,因為有界激活函數可以具有很強的正則化,并且較大的負輸入問題也能解決);

導數恒 > 0;

平滑度在優(yōu)化和泛化中起了重要作用。

9. Maxout

在 Maxout 層,激活函數是輸入的最大值,因此只有 2 個 maxout 節(jié)點的多層感知機就可以擬合任意的凸函數。 單個 Maxout 節(jié)點可以解釋為對一個實值函數進行分段線性近似 (PWL) ,其中函數圖上任意兩點之間的線段位于圖(凸函數)的上方。

b59cad06-7c22-11eb-8b86-12bb97331649.png

Maxout 也可以對 d 維向量(V)實現(xiàn):

假設兩個凸函數 h_1(x) 和 h_2(x),由兩個 Maxout 節(jié)點近似化,函數 g(x) 是連續(xù)的 PWL 函數。

b5cba674-7c22-11eb-8b86-12bb97331649.png

因此,由兩個 Maxout 節(jié)點組成的 Maxout 層可以很好地近似任何連續(xù)函數。

10. Softplus

b614c44e-7c22-11eb-8b86-12bb97331649.png

Softplus 函數:f(x)= ln(1 + exp x) Softplus 的導數為 f ′(x)=exp(x) / ( 1+exp? x ) = 1/ (1 +exp(?x )) ,也稱為 logistic / sigmoid 函數。 Softplus 函數類似于 ReLU 函數,但是相對較平滑,像 ReLU 一樣是單側抑制。它的接受范圍很廣:(0, + inf)。

責任編輯:lq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4773

    瀏覽量

    100889
  • 函數
    +關注

    關注

    3

    文章

    4338

    瀏覽量

    62738
  • 神經元
    +關注

    關注

    1

    文章

    363

    瀏覽量

    18470

原文標題:【基礎】深度學習最常用的10個激活函數!(數學原理+優(yōu)缺點)

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    鋅銀電池的優(yōu)缺點_鋅銀電池的應用

    鋅銀電池,也稱為銀鋅電池,是一具有顯著特點的電池類型。以下是鋅銀電池的優(yōu)缺點詳細分析:
    的頭像 發(fā)表于 10-03 14:51 ?1200次閱讀

    雪崩晶體管有哪些優(yōu)缺點

    雪崩晶體管作為一特殊的半導體器件,在電子領域具有其獨特的優(yōu)缺點。
    的頭像 發(fā)表于 09-23 18:05 ?329次閱讀

    GaN HEMT有哪些優(yōu)缺點

    GaN HEMT(氮化鎵高電子遷移率晶體管)作為一先進的功率半導體器件,在電力電子、高頻通信、汽車電子等多個領域展現(xiàn)出了顯著的優(yōu)勢,但同時也存在一些缺點。以下是對GaN HEMT優(yōu)缺點的詳細分析:
    的頭像 發(fā)表于 08-15 11:09 ?1441次閱讀

    十種常見硬件電路,你都用過沒(下)

    十種電路已經列舉完成了,分別是電源電路、放大電路、濾波電路、振蕩電路、調制解調電路、邏輯電路、開關電源電路、傳感器電路、混合信號電路、射頻電路。
    的頭像 發(fā)表于 08-01 18:55 ?2656次閱讀
    <b class='flag-5'>十種</b>常見硬件電路,你都用過沒(下)

    神經元模型激活函數通常有哪幾類

    Sigmoid函數是一常見的激活函數,其數學表達式為:f(x) = 1 / (1 + exp(-x))。Sigmoid函數的特點是將輸入
    的頭像 發(fā)表于 07-11 11:33 ?1085次閱讀

    AI大模型與小模型的優(yōu)缺點

    在人工智能(AI)的廣闊領域中,模型作為算法與數據之間的橋梁,扮演著至關重要的角色。根據模型的大小和復雜度,我們可以將其大致分為AI大模型和小模型。這兩模型在定義、優(yōu)缺點及應用場景上存在著顯著的差異。本文將從多個維度深入探討AI大模型與小模型的特點,并分析其各自的
    的頭像 發(fā)表于 07-10 10:39 ?2878次閱讀

    前饋神經網絡的基本結構和常見激活函數

    激活函數的非線性變換,能夠學習和模擬復雜的函數映射,從而解決各種監(jiān)督學習任務。本文將詳細闡述前饋神經網絡的基本結構,包括其組成層、權重和偏置、激活
    的頭像 發(fā)表于 07-09 10:31 ?934次閱讀

    BP神經網絡激活函數怎么選擇

    中,激活函數起著至關重要的作用,它決定了神經元的輸出方式,進而影響整個網絡的性能。 一、激活函數的作用 激活
    的頭像 發(fā)表于 07-03 10:02 ?731次閱讀

    卷積神經網絡激活函數的作用

    卷積神經網絡(Convolutional Neural Networks, CNNs)是深度學習中一重要的神經網絡結構,廣泛應用于圖像識別、語音識別、自然語言處理等領域。在卷積神經網絡中,激活函數
    的頭像 發(fā)表于 07-03 09:18 ?1138次閱讀

    神經網絡中激活函數的定義及類型

    引言 神經網絡是一模擬人腦神經元結構的計算模型,廣泛應用于圖像識別、自然語言處理、語音識別等領域。在神經網絡中,激活函數起著至關重要的作用,它決定了神經元的輸出值,進而影響整個網絡的性能。本文將
    的頭像 發(fā)表于 07-02 10:09 ?564次閱讀

    神經網絡中的激活函數有哪些

    在神經網絡中,激活函數是一個至關重要的組成部分,它決定了神經元對于輸入信號的反應方式,為神經網絡引入了非線性因素,使得網絡能夠學習和處理復雜的模式。本文將詳細介紹神經網絡中常用的激活函數
    的頭像 發(fā)表于 07-01 11:52 ?610次閱讀

    nbiot和lora的優(yōu)缺點是什么?

    nbiot和lora的優(yōu)缺點
    發(fā)表于 06-04 06:37

    PyTorch中激活函數的全面概覽

    為了更清晰地學習Pytorch中的激活函數,并對比它們之間的不同,這里對最新版本的Pytorch中的激活函數進行了匯總,主要介紹激活
    的頭像 發(fā)表于 04-30 09:26 ?566次閱讀
    PyTorch中<b class='flag-5'>激活</b><b class='flag-5'>函數</b>的全面概覽

    數組和鏈表在內存中的區(qū)別 數組和鏈表的優(yōu)缺點

    數組和鏈表在內存中的區(qū)別 數組和鏈表的優(yōu)缺點? 數組和鏈表是常見的數據結構,用于組織和存儲數據。它們在內存中的存儲方式以及優(yōu)缺點方面存在一些顯著的差異。本文將詳細探討這些差異以及它們的優(yōu)缺點。 1.
    的頭像 發(fā)表于 02-21 11:30 ?1060次閱讀

    光耦隔離 電容隔離 磁隔離這三隔離方式各有什么優(yōu)缺點

    光耦隔離、電容隔離和磁隔離是三常見的隔離方式,它們各有優(yōu)缺點,適用于不同的應用場景。
    的頭像 發(fā)表于 01-30 15:38 ?6133次閱讀