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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

深度学习中的正则化

發布時間:2023/12/13 pytorch 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习中的正则化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?正則化方法有如下幾種:

一、參數范數懲罰

?其中L2、L1參數正則化介紹與關系如下

1、L2 參數正則化

直觀解釋如下:

2、L1 參數正則化

?

二、獲取更多數據(擴樣本)

? ? ? ??避免過擬合的基本方法之一是從數據源獲得更多數據,當訓練數據有限時,可以通過數據增強(data augmentation)變換原有的數據生成新的數據來擴大訓練集。即使擁有大量數據,進行數據增強也是有必要的,因為可以防止神經網絡學習到不相干的模式,從根本上提升整體性能。還要注意在使用增強技術的同時,必須確保不增加無關(無意義)的數據。數據增強的主要方法,請移步:https://www.cnblogs.com/CJT-blog/p/10423213.html

?

三、噪聲魯棒性

將噪聲加入到輸入。在一般情況下,注入噪聲遠比簡單地收縮參數強大,特別是噪聲被添加到隱藏單元時會更加強大(如Dropout)。對于某些模型而言,向輸入添加方差極小的噪聲等價于對權重施加范數懲罰。

將噪聲加入到權重。這項技術主要用于循環神經網絡。權重上的噪聲相當于鼓勵參數進入權重小擾動對輸出相對影響較小的參數空間區域。或者說,推動模型進入對權重小的變化相對不敏感的區域,找到的點不只是極小點,還是由平坦區域包圍的極小點。

?

四、BN層

請移步:https://www.cnblogs.com/CJT-blog/p/10424058.html

?

五、限制訓練時間、次數,及早停止(可以看作正則化方法一種)

數據集一般分為訓練集、驗證集和測試集。訓練過程中,每隔一定step就會在驗證集上測試一次,訓練集和測試集上的Loss變化趨勢如下圖所示(圖片來自Deep Learning)。?

從上圖可以看出,訓練到一定步數后,訓練集上的損失還在下降, 但驗證集上的損失已經不變(甚至增大)。這時,模型就有過擬合的風險,應提前終止模型訓練。

?

六、參數綁定和參數共享
參數范數懲罰或約束是相對于固定區域或點,如 L2 正則化是對參數偏離0 固定值進行懲罰。但有時我們需要對模型參數之間的相關型進行懲罰,使模型參數盡量接近或者相等。

卷積神經網絡
參數共享:強迫模型某些參數相等
主要應用:卷積神經網絡(CNN)
優點:顯著降低了CNN模型的參數數量(CNN模型參數數量經常是千萬量級以上),減少模型所占用的內存,并且顯著提高了網絡大小而不需要相應的增加訓練數據。

?

七、稀疏表示
稀疏表示也是卷積神經網絡經常用到的正則化方法。 L1 正則化會誘導稀疏的參數,使得許多參數為0;而稀疏表示是懲罰神經網絡的激活單元,稀疏化激活單元。換言之,稀疏表示是使得每個神經元的輸入單元變得稀疏,很多輸入是0。?

?

八、多種模型結合

其實bagging的方法是可以起到正則化的作用,因為正則化就是要減少泛化誤差,而bagging的方法可以組合多個模型起到減少泛化誤差的作用.?
在深度學習中同樣可以使用此方法,但是其會增加計算和存儲的成本.

?

九、Dropout策略

Dropout是一種非常有效的防止模型過擬合的技術,可以看作正則化方法一種,參考論文《ImageNet Classification with Deep Convolutional》。其基本原理是,在深度神經網絡訓練過程中,按照一定的概率隨機丟棄(dropout)一些神經元的激活,提高模型的泛化能力,使模型更為魯棒。下圖給出Dropout的示意圖:

Dropout在模型訓練中非常有效,尤其是當數據量大時,效果會很好。但Dropout為什么會起作用呢?

  • 在每次訓練過程中,Dropout強迫一個神經元和隨機挑選出來的其他神經元共同工作,消弱減除了神經元節點之間的聯合適應性,可以阻止某些特征的協同作用,使得模型不會太依賴某些局部特征,從而增強模型的魯棒性。
  • 模型組合(ensemble):每次做完Dropout,相當于從整個網絡中得到一個子網絡。通過多個網絡的組合,能夠提高模型的泛化能力。而且,這些子網絡權值共享,具有相同的網絡層數,能夠大大減小計算量(與直接把n個結構完全不同的網絡組合相比)。需要注意的是,使用dropout后會使訓練時間加長(收斂速度變慢),但是對測試階段沒有影響。
  • 使用dropout進行訓練時,相當于做了data augmentation,因為總可以找到一個樣本,使得在原始網絡上也能達到dropout后的效果。同時,使用dropout后,相當于得到了更多的局部簇,同等數據下,簇變多了,使得區分性變大,同時稀疏性也變大。

?

十、半監督學習、多任務學習、對抗學習

?

?參考文獻:

https://blog.csdn.net/u011239443/article/details/78152022

https://blog.csdn.net/red_stone1/article/details/80755144

轉載于:https://www.cnblogs.com/CJT-blog/p/10424060.html

總結

以上是生活随笔為你收集整理的深度学习中的正则化的全部內容,希望文章能夠幫你解決所遇到的問題。

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