最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決BN和Dropout共同使用時(shí)會(huì)出現(xiàn)的問(wèn)題

 更新時(shí)間:2021年06月03日 09:57:07   作者:sliderSun  
這篇文章主要介紹了解決BN和Dropout共同使用時(shí)會(huì)出現(xiàn)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

BN與Dropout共同使用出現(xiàn)的問(wèn)題

BN和Dropout單獨(dú)使用都能減少過(guò)擬合并加速訓(xùn)練速度,但如果一起使用的話并不會(huì)產(chǎn)生1+1>2的效果,相反可能會(huì)得到比單獨(dú)使用更差的效果。

相關(guān)的研究參考論文:Understanding the Disharmony between Dropout and Batch Normalization by Variance Shift

本論文作者發(fā)現(xiàn)理解 Dropout 與 BN 之間沖突的關(guān)鍵是網(wǎng)絡(luò)狀態(tài)切換過(guò)程中存在神經(jīng)方差的(neural variance)不一致行為。

試想若有圖一中的神經(jīng)響應(yīng) X,當(dāng)網(wǎng)絡(luò)從訓(xùn)練轉(zhuǎn)為測(cè)試時(shí),Dropout 可以通過(guò)其隨機(jī)失活保留率(即 p)來(lái)縮放響應(yīng),并在學(xué)習(xí)中改變神經(jīng)元的方差,而 BN 仍然維持 X 的統(tǒng)計(jì)滑動(dòng)方差。

這種方差不匹配可能導(dǎo)致數(shù)值不穩(wěn)定(見(jiàn)下圖中的紅色曲線)。

而隨著網(wǎng)絡(luò)越來(lái)越深,最終預(yù)測(cè)的數(shù)值偏差可能會(huì)累計(jì),從而降低系統(tǒng)的性能。

簡(jiǎn)單起見(jiàn),作者們將這一現(xiàn)象命名為「方差偏移」。

事實(shí)上,如果沒(méi)有 Dropout,那么實(shí)際前饋中的神經(jīng)元方差將與 BN 所累計(jì)的滑動(dòng)方差非常接近(見(jiàn)下圖中的藍(lán)色曲線),這也保證了其較高的測(cè)試準(zhǔn)確率。

作者采用了兩種策略來(lái)探索如何打破這種局限。

一個(gè)是在所有 BN 層后使用 Dropout,另一個(gè)就是修改 Dropout 的公式讓它對(duì)方差并不那么敏感,就是高斯Dropout。

第一個(gè)方案比較簡(jiǎn)單

把Dropout放在所有BN層的后面就可以了,這樣就不會(huì)產(chǎn)生方差偏移的問(wèn)題,但實(shí)則有逃避問(wèn)題的感覺(jué)。

第二個(gè)方案

來(lái)自Dropout原文里提到的一種高斯Dropout,是對(duì)Dropout形式的一種拓展。作者進(jìn)一步拓展了高斯Dropout,提出了一個(gè)均勻分布Dropout,這樣做帶來(lái)了一個(gè)好處就是這個(gè)形式的Dropout(又稱為“Uout”)對(duì)方差的偏移的敏感度降低了,總得來(lái)說(shuō)就是整體方差偏地沒(méi)有那么厲害了。

BN、dropout的幾個(gè)問(wèn)題和思考

1、BN的scale初始化

scale一般初始化為1.0。

聯(lián)想到權(quán)重初始化時(shí),使用relu激活函數(shù)時(shí)若采用隨機(jī)正太分布初始化權(quán)重的公式是sqrt(2.0/Nin),其中Nin是輸入節(jié)點(diǎn)數(shù)。即比一般的方法大了2的平方根(原因是relu之后一半的數(shù)據(jù)變成了0,所以應(yīng)乘以根號(hào)2)。

那么relu前的BN,是否將scale初始化為根號(hào)2也會(huì)加速訓(xùn)練?

這里主要有個(gè)疑點(diǎn):BN的其中一個(gè)目的是統(tǒng)一各層的方差,以適用一個(gè)統(tǒng)一的學(xué)習(xí)率。那么若同時(shí)存在sigmoid、relu等多種網(wǎng)絡(luò),以上方法會(huì)不會(huì)使得統(tǒng)一方差以適應(yīng)不同學(xué)習(xí)率的效果打了折扣?

沒(méi)來(lái)得及試驗(yàn)效果,如果有試過(guò)的朋友請(qǐng)告知下效果。

2、dropout后的標(biāo)準(zhǔn)差改變問(wèn)題

實(shí)踐發(fā)現(xiàn)droput之后改變了數(shù)據(jù)的標(biāo)準(zhǔn)差(令標(biāo)準(zhǔn)差變大,若數(shù)據(jù)均值非0時(shí),甚至均值也會(huì)產(chǎn)生改變)。

如果同時(shí)又使用了BN歸一化,由于BN在訓(xùn)練時(shí)保存了訓(xùn)練集的均值與標(biāo)準(zhǔn)差。dropout影響了所保存的均值與標(biāo)準(zhǔn)差的準(zhǔn)確性(不能適應(yīng)未來(lái)預(yù)測(cè)數(shù)據(jù)的需要),那么將影響網(wǎng)絡(luò)的準(zhǔn)確性。

若輸入數(shù)據(jù)為正太分布,只需要在dropout后乘以sqrt(0.5)即可恢復(fù)原來(lái)的標(biāo)準(zhǔn)差。但是對(duì)于非0的均值改變、以及非正太分布的數(shù)據(jù)數(shù)據(jù),又有什么好的辦法解決呢?

3、稀疏自編碼的稀疏系數(shù)

稀疏自編碼使用一個(gè)接近0的額外懲罰因子來(lái)使得隱層大部分節(jié)點(diǎn)大多數(shù)時(shí)候是抑制的,本質(zhì)上使隱層輸出均值為負(fù)數(shù)(激活前),例如懲罰因子為0.05,對(duì)應(yīng)sigmoid的輸入為-3.5,即要求隱層激活前的輸出中間值為-3.5,那么,是不是可以在激活前加一層BN,beta設(shè)為-3.5,這樣學(xué)起來(lái)比較快?

經(jīng)過(guò)測(cè)試,的確將BN的beta設(shè)為負(fù)數(shù)可加快訓(xùn)練速度。因?yàn)榫W(wǎng)絡(luò)初始化時(shí)就是稀疏的。

但是是不是有什么副作用,沒(méi)有理論上的研究。

4、max pooling是非線性的,avg pooling是線性的

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 用Python實(shí)現(xiàn)給Word文檔蓋章

    用Python實(shí)現(xiàn)給Word文檔蓋章

    大家好,本篇文章主要講的是用Python實(shí)現(xiàn)給Word文檔蓋章,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-02-02
  • Python語(yǔ)言快速上手學(xué)習(xí)方法

    Python語(yǔ)言快速上手學(xué)習(xí)方法

    今天小編就為大家分享一篇關(guān)于Python語(yǔ)言快速上手學(xué)習(xí)方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • Python中Get()函數(shù)用法舉例介紹

    Python中Get()函數(shù)用法舉例介紹

    這篇文章主要給大家介紹了關(guān)于Python中Get()函數(shù)用法的相關(guān)資料,Python get()函數(shù)是一個(gè)非常重要的函數(shù),它可以幫助我們從字典中獲取對(duì)應(yīng)鍵的值,避免了因?yàn)殒I不存在而發(fā)生錯(cuò)誤的情況,需要的朋友可以參考下
    2023-10-10
  • 淺談Python中函數(shù)的參數(shù)傳遞

    淺談Python中函數(shù)的參數(shù)傳遞

    下面小編就為大家?guī)?lái)一篇淺談Python中函數(shù)的參數(shù)傳遞。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • Python 如何創(chuàng)建一個(gè)線程池

    Python 如何創(chuàng)建一個(gè)線程池

    這篇文章主要介紹了Python 如何創(chuàng)建一個(gè)線程池,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • 跟老齊學(xué)Python之玩轉(zhuǎn)字符串(2)

    跟老齊學(xué)Python之玩轉(zhuǎn)字符串(2)

    上一篇文章章中已經(jīng)講到連接兩個(gè)字符串的一種方法,本文繼續(xù)講訴連接字符串的方法2,字符串復(fù)制,字符串長(zhǎng)度,字符大小寫(xiě)的轉(zhuǎn)換,希望對(duì)大家有所幫助。
    2014-09-09
  • 利用Python批量識(shí)別電子賬單數(shù)據(jù)的方法

    利用Python批量識(shí)別電子賬單數(shù)據(jù)的方法

    這篇文章主要介紹了利用Python批量識(shí)別電子賬單數(shù)據(jù)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • 對(duì)python數(shù)據(jù)清洗容易遇到的函數(shù)-re.sub bytes string詳解

    對(duì)python數(shù)據(jù)清洗容易遇到的函數(shù)-re.sub bytes string詳解

    今天小編就為大家分享一篇對(duì)python數(shù)據(jù)清洗容易遇到的函數(shù)-re.sub bytes string詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • python實(shí)現(xiàn)視頻抽幀與添加背景音頻和字幕朗讀的腳本分享

    python實(shí)現(xiàn)視頻抽幀與添加背景音頻和字幕朗讀的腳本分享

    這篇文章主要為大家詳細(xì)介紹了如何使用python實(shí)現(xiàn)視頻抽幀、添加srt字幕朗讀、添加背景音頻等功能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • 從基礎(chǔ)到高階探索Python中的文件操作

    從基礎(chǔ)到高階探索Python中的文件操作

    文件操作在Python編程中是不可或缺的一部分,在本篇博客中,我們將全面、深入地探討Python中的文件操作,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)學(xué)習(xí)
    2023-06-06

最新評(píng)論

色达县| 青冈县| 梁平县| 平潭县| 三台县| 手游| 西丰县| 澄迈县| 和平县| 台江县| 雷波县| 沂水县| 阿鲁科尔沁旗| 德保县| 雷波县| 广饶县| 溆浦县| 铁岭市| 临西县| 丰都县| 平定县| 西平县| 元氏县| 上虞市| 石家庄市| 志丹县| 成都市| 尼勒克县| 临洮县| 米易县| 刚察县| 平山县| 漳平市| 台安县| 舞阳县| 班玛县| 铜山县| 花莲县| 金门县| 石棉县| 石屏县|