日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

什么是梯度爆炸/梯度消失?

發布時間:2024/9/27 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 什么是梯度爆炸/梯度消失? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

深度神經網絡訓練的時候,采用的是反向傳播方式,該方式使用鏈式求導,計算每層梯度的時候會涉及一些連乘操作,因此如果網絡過深。
那么如果連乘的因子大部分小于1,最后乘積的結果可能趨于0,也就是梯度消失,后面的網絡層的參數不發生變化.
那么如果連乘的因子大部分大于1,最后乘積可能趨于無窮,這就是梯度爆炸

如何防止梯度消失?

sigmoid容易發生,更換激活函數為 ReLU即可。
權重初始化用高斯初始化

如何防止梯度爆炸?

1 設置梯度剪切閾值,如果超過了該閾值,直接將梯度置為該值。

2 使用ReLU,maxout等替代sigmoid
區別:

  • sigmoid函數值在[0,1],ReLU函數值在[0,+無窮],所以sigmoid函數可以描述概率,ReLU適合用來描述實數;
  • sigmoid函數的梯度隨著x的增大或減小和消失,而ReLU不會。
  • Relu會使一部分神經元的輸出為0,這樣就造成了網絡的稀疏性,并且減少了參數的相互依存關系,緩解了過擬合問題的發生

  • sigmoid導數最大為1/4
    a的數值變化范圍很小,若x數值僅在[-4,4]窄范圍內會出現梯度消失,若大于4則梯度爆炸。
    對于sigmoid更容易出現梯度消失。

    Battch Normal

    ref

    解決了梯度消失與加速收斂(數據本身在0均值處)和internal covariate shift(內部神經元分布的改變) 數據分布不一致問題。
    傳統的深度神經網絡在訓練是,每一層的輸入的分布都在改變,因此訓練困難,只能選擇用一個很小的學習速率,但是每一層用了BN后,可以有效的解決這個問題,學習速率可以增大很多倍.

  • 通過將activation規范為均值和方差一致的手段使得原本會減小的activation的scale變大。

  • 初始化的時候,我們的參數一般都是0均值的,因此開始的擬合y=Wx+b,基本過原點附近,如圖b紅色虛線。因此,網絡需要經過多次學習才能逐步達到如紫色實線的擬合,即收斂的比較慢。如果我們對輸入數據先作減均值操作,如圖c,顯然可以加快學習。更進一步的,我們對數據再進行去相關操作,使得數據更加容易區分,這樣又會加快訓練,如圖d。 通過把梯度映射到一個值大但次優的變化位置來阻止梯度過小變化。

  • 統計機器學習中的一個經典假設是“源空間(source domain)和目標空間(target domain)的數據分布(distribution)是一致的”。如果不一致,那么就出現了新的機器學習問題,如,transfer learning/domain adaptation等。
    covariate shift就是分布不一致假設之下的一個分支問題,它是指源空間和目標空間的條件概率是一致的,但是其邊緣概率不同,即:對所有x∈X,Ps(Y|X=x)=Pt(Y|X=x)

  • ,但是Ps(X)≠Pt(X)

  • .
    對于神經網絡的各層輸出,由于它們經過了層內操作作用,其分布顯然與各層對應的輸入信號分布不同,而且差異會隨著網絡深度增大而增大,可是它們所能“指示”的樣本標記(label)仍然是不變的,這便符合了covariate shift的定義。由于是對層間信號的分析,也即是“internal”的來由。
    因此至少0均值1方差的數據集可以減少樣本分布的變化問題

  • 使用BN訓練時,一個樣本只與minibatch中其他樣本有相互關系;對于同一個訓練樣本,網絡的輸出會發生變化。這些效果有助于提升網絡泛化能力,像dropout一樣防止網絡過擬合,同時BN的使用,可以減少或者去掉dropout類似的策略。

  • BN(Batch Normalization)層的作用

  • 加速收斂
  • 控制過擬合,可以少用或不用Dropout和正則
  • 降低網絡對初始化權重敏感
  • 允許使用較大的學習率
    在每一層輸入的時候,加個BN預處理操作。BN應作用在非線性映射前,即對x=Wu+b做規范化。在BN中,是通過將activation規范為均值和方差一致的手段使得原本會減小的activation的scale變大。可以說是一種更有效的local response normalization方法

  • PS:
    Batch Norm會忽略圖像像素(或者特征)之間的絕對差異(因為均值歸零,方差歸一),而只考慮相對差異,所以在不需要絕對差異的任務中(比如分類),有錦上添花的效果。而對于圖像超分辨率這種需要利用絕對差異的任務,Batch Norm只會添亂。

    參考
    參考

    常見問題備查
    1
    2
    3

    總結

    以上是生活随笔為你收集整理的什么是梯度爆炸/梯度消失?的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。