<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          詳解 Deep Learning 中的各種激活函數(shù)

          共 4096字,需瀏覽 9分鐘

           ·

          2021-08-11 23:47

          1. 什么是激活函數(shù)?

          在神經網絡中,一個節(jié)點的激活函數(shù)定義了給定輸入或一組輸入的輸出。一個標準的集成電路可以看作一個由激活函數(shù)組成的數(shù)字網絡,根據輸入可以“開”(1)或“關”(0)。這類似于神經網絡中的線性感知機。然而只有非線性激活函數(shù)才能使這種網絡只用少量的節(jié)點來計算非線性問題。

          在深度學習中,我們之所以要使用諸如 ReLU,Sigmoid 以及 Tanh 等激活函數(shù)是為了增加一個非線性屬性。通過這種方式,得到的網絡可以模擬數(shù)據更復雜的關系和模式,擁有更好的泛化能力。

          1.1. 回顧:前向傳播

          為了理解激活函數(shù)的重要性,我們先回顧一個神經網絡如何計算一個預測/輸出。這通常稱為前向傳播。在前向傳播過程中,神經網絡收到輸入向量 并得到一個預測輸出向量 ??紤]以下具有一個輸入、一個輸出和三個隱藏層的神經網絡:網絡的層之間通過權值矩陣連接,該網絡擁有 4 個權值矩陣 以及 。

          給定一個輸入向量 ,我們計算與第一個權重矩陣 的點乘并且應用激活函數(shù)處理計算結果,得到的 代表第一層神經元的值并作為下一層的輸入重復上述操作。直到得到最后輸出向量 ,其代表了神經網絡的預測值。

          整套操作可以用以下公式表示,其中 代表一個任意的激活函數(shù):

          ??


          1.2 將神經網絡看成一個函數(shù)

          在這一點上,討論另一種可以用來描述神經網絡的解釋。與其把神經網絡看作是一個節(jié)點和邊緣的集合,我們可以簡單地把它稱為一個函數(shù)。就像任何常規(guī)的數(shù)學函數(shù)一樣,神經網絡執(zhí)行了從輸入 到輸出 的映射。

          在神經網絡的情況下,相應函數(shù)的參數(shù)是權重。這意味著我們在訓練神經網絡時的目標是找到一組特定的權重或參數(shù),以便給定特征向量 ,我們可以計算出一個與實際目標值相對應的預測結果 ?;蛘邠Q句話說,我們正試圖建立一個能夠為我們的訓練數(shù)據建模的擬合函數(shù)

          一個問題是,我們能一直對數(shù)據進行建模嗎?我們總能找到定義一個函數(shù)的權重,該函數(shù)可以為給定的特征 計算出一個特定的預測值 嗎?答案是否定的。只有當特征 和標簽 之間存在數(shù)學上的相關性時,我們才能對數(shù)據進行建模。這種數(shù)學上的相關性可以有不同的復雜性。而在大多數(shù)情況下,我們看數(shù)據的時候,無法用直接得到這種關系。然而,如果在特征和標簽之間存在某種數(shù)學上的依賴關系,在神經網絡的訓練過程中,網絡會識別這種依賴關系,并調整其權重,以便在訓練數(shù)據中模擬這種依賴關系?;蛘邠Q句話說,這樣它就可以實現(xiàn)從輸入特征 到輸出 ?的數(shù)學映射。

          1.3 激活函數(shù)的作用

          激活函數(shù)的目的是為函數(shù)添加某種非線性屬性,這就是神經網絡。如果沒有激活函數(shù),神經網絡只能進行從輸入 到輸出 的線性映射.因為如果沒有激活函數(shù),前向傳播過程中唯一的數(shù)學操作就是輸入向量和權重矩陣之間的點乘。

          由于單個點積是一個線性運算,連續(xù)的點積將只不過是一個接一個重復的多個線性運算。而連續(xù)的線性運算可以轉換為一個單一的線性運算。

          為了增加網絡的泛化能力,神經網絡必須能夠接近從輸入特征到輸出標簽的非線性關系。通常情況下,我們試圖從中學習的數(shù)據越復雜,特征到標簽的映射就越非線性。一個沒有任何激活函數(shù)的神經網絡將無法在數(shù)學上實現(xiàn)復雜的映射,也無法解決我們希望網絡解決的任務。

          2. 不同的激活函數(shù)

          2.1 Sigmoid

          通常最常見的激活函數(shù)是 sigmoid 函數(shù)。sigmoid 函數(shù)將傳入的輸入映射到 0 和 1 之間的范圍:2a55a98ef1a7d346138acee72207dd36.webp

          Sigmoid 函數(shù)定義如下:

          ??

          在實踐中,sigmoid 非線性特性最近已不再受青睞,它很少被使用。它有兩個主要的缺點:

          • 梯度消失:神經元的激活在 0 或 1 的尾部過分稠密,接近 0 的導數(shù)會使得損失函數(shù)的梯度非常小,導致梯度消失的問題。
          • 非 0 點對稱:Sigmoid 的另一個不理想的特性是,該函數(shù)的輸出不是以零為中心的。通常情況下,這使得神經網絡的訓練更加困難和不穩(wěn)定。這里有一個小例子: ,其中 和 是上一層經過 Sigmoid 的輸出,所以 和 總是非零正數(shù)。根據整個表達式的梯度,相對于 和 的梯度將始終是正值或始終為負值。通常情況下,最佳梯度下降步驟需要增加 和減少 。因此,由于 和 總是正的,我們不能同時分別增加和減少權重,而只能同時增加或減少所有的權重。

          2.2 Tanh

          深度學習中另一個非常常見的激活函數(shù)是 Tanh 函數(shù)。正切雙曲線如下圖所示:

          56ba68c926ea874c9ddc02988360300c.webp

          該函數(shù)根據以下公式將一個實值數(shù)映射到[-1, 1]范圍:

          ??

          與 Sigmoid 函數(shù)一樣,神經元對兩端大的負值和正值都會飽和,且函數(shù)的導數(shù)為 0 。但與 Sigmoid 函數(shù)不同,它的輸出是以零為中心的。

          因此,在實踐中,tanh 非線性總是優(yōu)于 Sigmoid 的非線性。

          2.3 ReLU (Rectified Linear Unit)

          ReLU 在過去幾年變得非常流行。

          對于大于零的輸入,我們得到一個線性映射:

          0e6ed1f7d8d8e9ce83c47644aeee03c8.webp

          使用 ReLU 有幾個優(yōu)點和缺點:

          • 優(yōu)點:

            • 實踐證明,與其他激活函數(shù)相比,ReLU 加速了梯度下降向損失函數(shù)的全局最小值的收斂。這是因為它具有線性、非飽和的特性。

            • 其他激活函數(shù)(Tanh 和 sigmoid )涉及非常復雜的計算操作,如指數(shù)運算等,而 ReLU 則可以通過簡單地將一個值向量的閾值設為零來輕松實現(xiàn)。

          • 缺點:

            • 因為對于低于零的輸入值,這個函數(shù)的輸出為零,這些網絡神經元在訓練過程中會非常脆弱,甚至會 "死亡"。這是什么意思呢?在權重更新過程中,權重的調整方式可能會導致某些神經元的輸入值總是低于零,這種情況可能會發(fā)生(有可能性)。這意味著這些神經元的隱藏值始終為零,對訓練過程沒有貢獻。這意味著流經這些 ReLU 神經元的梯度也將從這一點開始為零。我們說,這些神經元是無效的。例如,觀察到整個使用 ReLU 激活的神經網絡中多達 20-50% 的神經元可能是 "死 "的,這是非常常見的。或者換句話說,這些神經元在訓練期間使用的整個數(shù)據集中永遠不會激活。

          2.4 Leaky ReLU

          Leaky ReLu 是ReLU激活函數(shù)的一個改進版本。正如上一節(jié)所提到的,通過使用ReLU,可能會 "殺死 "神經網絡中的一些神經元,這些神經元將永遠不會再激活任何數(shù)據。Leaky ReLU是為了解決這個問題而定義的。與 ReLU相反,在 Leaky ReLU中,我們在函數(shù)中加入一個小的線性成分:

          ??

          Leaky ReLU 如下所示:?

          fa42ae74a4134f3bf4515781f0e06d7f.webp

          基本上,我們已經用一條非水平的線性線取代了低于零值的水平線。這條線性線的斜率可以通過與輸入 相乘的參數(shù) (通常取 )來調整。 使用 Leaky ReLU 并替換 ReLU 的優(yōu)點是我們避免了零梯度。因為在這種情況下,我們不再有總是為零的“死”神經元導致我們的梯度變?yōu)榱?/span>

          2.5 Softmax

          同樣重要的是 Softmax 激活函數(shù)。這個激活函數(shù)是非常獨特的。

          Softmax 只在最后一層應用,而且只有當我們希望神經網絡在分類任務中預測概率分數(shù)時才會用到

          簡單地說,softmax 激活函數(shù)輸出神經元的值在 0 和 1 之間取值,因此它們可以代表概率分數(shù)。還有一點,我們必須考慮的是,當我們將輸入的特征分類到不同的類時,這些類是相互排斥的。這意味著,每個特征向量 只屬于一個類別。在互斥類的情況下,所有輸出神經元的概率分數(shù)總和必須為 1。只有這樣,神經網絡才能代表一個合理的概率分布。

          Softmax 函數(shù)不僅強制輸出到 0 和?1?之間的范圍,而且該函數(shù)還確保所有可能的類的輸出之和為 1 。

          5c24f919ff6298cca40fe57a2acaf0d8.webp

          當我們使用 Softmax 時,輸出層中神經元的每個輸出都根據以下等式計算:

          ??

          正如所看到的,一個特定的神經元的每個值 不僅取決于神經元收到的值 ,而且取決于向量 中的所有值。這使得輸出神經元的每個值y都是 0 和 1 之間的概率值。這樣一來,輸出神經元現(xiàn)在代表了互斥類標簽的概率分布。

          2.6 ELU

          ELU 也是 ReLU 的一種衍生版本:

          e5851984572d0015aeb0f1573b9438e4.webp

          ELU 已被證明比 ReLU 產生更準確的結果,而且收斂速度也更快。ELU 和 ReLU 對于正的輸入是一樣的,但是對于負的輸入,ELU 平滑得很慢,而 ReLU 迅速變?yōu)?0 :

          ??

          值得注意的是常數(shù) 必須是正數(shù)。?相比 ReLU,ELU 可以取到負值,這讓單元激活均值可以更接近 0 ,類似于 Batch Normalization 的效果但是只需要更低的計算復雜度雖然 Leaky ReLU 也有負值,但是它不保證在不激活狀態(tài)下(就是在輸入為負的狀態(tài)下)對噪聲魯棒反觀 ELU 在輸入取較小值時具有軟飽和的特性,提升了對噪聲的魯棒性。

          3. 選擇激活函數(shù)

          具體來說,這取決于要解決的問題和你所期望的輸出值范圍。如果你想讓你的神經網絡預測大于1的值,那么 Tanh 或 Sigmoid 就不適合用在輸出層,我們必須用 ReLU 代替。 另一方面,如果我們希望輸出值在 或 范圍內,那么 ReLU 就不是輸出層的好選擇,我們必須使用 Sigmoid 或 Tanh。 如果執(zhí)行分類任務,并希望神經網絡預測互斥類標簽的概率分布,那么在最后一層應該使用 Softmax 激活函數(shù)。 然而,關于隱層,作為經驗法則,一般來說默認使用 ReLU 作為這些層的激活。

          參考資料

          • Activation function - Wikipedia

          • 線性整流函數(shù)- 維基百科,自由的百科全書

          • 雙曲函數(shù)- 維基百科,自由的百科全書

          • Sigmoid function - Wikipedia

          • Activation Functions : Sigmoid, tanh, ReLU, Leaky ReLU, PReLU, ELU, Threshold ReLU and Softmax basics for Neural Networks and Deep Learning | by Himanshu S | Medium

          • Softmax function - Wikipedia


          瀏覽 65
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚非日韩观看专区 | 中国夫妻操比视频 | 欧美人一区二区三区免费听 | 精品人要播放 | 不卡日系视频 |