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

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

3天內(nèi)不再提示

改進Hinton的Dropout:可以用來減輕欠擬合了

深度學習自然語言處理 ? 來源:機器之心 ? 2023-03-13 10:15 ? 次閱讀

深度學習三巨頭之一 Geoffrey Hinton 在 2012 年提出的 dropout 主要用來解決過擬合問題,但近日的一項工作表明,dropout 能做的事情不止于此。

2012 年,Hinton 等人在其論文《Improving neural networks by preventing co-adaptation of feature detectors》中提出了 dropout。同年,AlexNet 的出現(xiàn)開啟了深度學習的新紀元。AlexNet 使用 dropout 顯著降低了過擬合,并對其在 ILSVRC 2012 競賽中的勝利起到了關(guān)鍵作用??梢赃@么說,如果沒有 dropout,我們目前在深度學習領(lǐng)域看到的進展可能會被推遲數(shù)年。

自 dropout 推出以后,它被廣泛用作正則化器,降低神經(jīng)網(wǎng)絡(luò)中的過擬合。dropout 使用概率 p 停用每個神經(jīng)元,防止不同的特征相互適應(yīng)。應(yīng)用 dropout 之后,訓練損失通常增加,而測試誤差減少,從而縮小模型的泛化差距。深度學習的發(fā)展不斷引入新的技術(shù)和架構(gòu),但 dropout 依然存在。它在最新AI 成果中繼續(xù)發(fā)揮作用,比如 AlphaFold 蛋白質(zhì)預測、DALL-E 2 圖像生成等,展現(xiàn)出了通用性和有效性。

盡管 dropout 持續(xù)流行,但多年來其強度(以drop rate p 表示)一直在下降。最初的 dropout 工作中使用了 0.5 的默認drop rate。然而近年來常常采用較低的drop rate,比如 0.1,相關(guān)示例可見訓練 BERT 和 ViT。這一趨勢的主要動力是可用訓練數(shù)據(jù)的爆炸式增長,使得過擬合越來越困難。加之其他因素,我們可能很快會遇到更多欠擬合而非過擬合問題。

近日在一篇論文《Dropout Reduces Underfitting》中,Meta AI、加州大學伯克利分校等機構(gòu)的研究者展示了如何使用 dropout 來解決欠擬合問題。

af69e298-c142-11ed-bfe3-dac502259ad0.png

論文標題:

Dropout Reduces Underfitting

論文鏈接:

https://arxiv.org/abs/2303.01500

他們首先通過對梯度范數(shù)的有趣觀察來研究 dropout 的訓練動態(tài),然后得出了一個關(guān)鍵的實證發(fā)現(xiàn):在訓練初始階段,dropout 降低小批量的梯度方差,并允許模型在更一致的方向上更新。這些方向也更與整個數(shù)據(jù)集的梯度方向保持一致,具體如下圖 1 所示。

因此,模型可以更有效地優(yōu)化整個訓練集的訓練損失,而不會受到個別小批量的影響。換句話說,dropout 抵消了隨機梯度下降(SGD)并防止訓練早期采樣小批量的隨機性所造成的過度正則化。

af825184-c142-11ed-bfe3-dac502259ad0.png

基于這一發(fā)現(xiàn),研究者提出了 early dropout(即 dropout 僅在訓練早期使用),來幫助欠擬合模型更好地擬合。與無 dropout 和標準 dropout 相比,early dropout 降低了最終的訓練損失。相反,對于已經(jīng)使用標準 dropout 的模型,研究者建議在早期訓練 epoch 階段移除 dropout 以降低過擬合。他們將這一方法稱為 late dropout,并證明它可以提升大模型的泛化準確率。下圖 2 比較了標準 dropout、early 和 late dropout。

afd0d444-c142-11ed-bfe3-dac502259ad0.png

研究者在圖像分類和下游任務(wù)上使用不同的模型來評估 early dropout 和 late dropout,結(jié)果顯示二者始終比標準 dropout 和無 dropout 產(chǎn)生了更好的效果。他們希望自己的研究發(fā)現(xiàn)可以為 dropout 和過擬合提供新穎的見解,并激發(fā)人們進一步開發(fā)神經(jīng)網(wǎng)絡(luò)正則化器。

分析與驗證

在提出 early dropout 和 late dropout 之前,該研究探討了是否可以使用 dropout 作為減少欠擬合的工具。該研究使用其提出的工具和指標對 dropout 的訓練動態(tài)進行了詳細分析,并比較了 ImageNet 上兩個 ViT-T/16 的訓練過程(Deng et al., 2009):一個沒有 dropout 作為基線;另一個在整個訓練過程中有 0.1 的 dropout 率。

梯度范數(shù)(norm)。該研究首先分析了 dropout 對梯度 g 強度的影響。如下圖 6(左)所示,dropout 模型產(chǎn)生范數(shù)較小的梯度,表明它在每次梯度更新時采用較小的步長(step)。

模型距離。由于梯度步長更小,我們期望 dropout 模型相對于其初始點移動的距離比基線模型更小。如下圖 6(右)所示,該研究繪制了每個模型與其隨機初始化的距離。然而,令人驚訝的是,dropout 模型實際上比基線模型移動了更大的距離,這與該研究最初基于梯度范數(shù)的預期相反。

aff07286-c142-11ed-bfe3-dac502259ad0.png

梯度方向方差。該研究首先假設(shè) dropout 模型在小批量中產(chǎn)生更一致的梯度方向。下圖 7 所示的方差與假設(shè)基本一致。直到一定的迭代次數(shù)(大約 1000 次)以后,dropout 模型和基線模型的梯度方差都在一個較低的水平波動。

b03f45d2-c142-11ed-bfe3-dac502259ad0.png

梯度方向誤差。然而,正確的梯度方向應(yīng)該是什么?為了擬合訓練數(shù)據(jù),基本目標是最小化整個訓練集的損失,而不僅僅是任何一個小批量的損失。該研究在整個訓練集上計算給定模型的梯度,其中 dropout 設(shè)置為推理模式以捕獲完整模型的梯度。梯度方向誤差如下圖 8 所示。

b062345c-c142-11ed-bfe3-dac502259ad0.png

基于上述分析,該研究發(fā)現(xiàn)盡早使用 dropout 可以潛在地提高模型對訓練數(shù)據(jù)的擬合能力。而是否需要更好地擬合訓練數(shù)據(jù)取決于模型是處于欠擬合還是過擬合狀態(tài),這可能很難精確定義。該研究使用如下標準:

1. 如果一個模型在標準 dropout 下泛化得更好,則認為它處于過擬合狀態(tài);

2. 如果模型在沒有 dropout 的情況下表現(xiàn)更好,則認為它處于欠擬合狀態(tài)。

模型所處的狀態(tài)不僅取決于模型架構(gòu),還取決于所使用的數(shù)據(jù)集和其他訓練參數(shù)。

然后,該研究提出了 early dropout 和 late dropout 兩種方法:

early dropout:在默認設(shè)置下,欠擬合狀態(tài)下的模型不使用 dropout。為了提高其適應(yīng)訓練數(shù)據(jù)的能力,該研究提出 early dropout:在某個迭代之前使用 dropout,然后在其余的訓練過程中禁用 dropout。該研究實驗表明,early dropout 減少了最終的訓練損失并提高了準確性。

late dropout:過擬合模型的訓練設(shè)置中已經(jīng)包含了標準的 dropout。在訓練的早期階段,dropout 可能會無意中造成過擬合,這是不可取的。為了減少過擬合,該研究提出 late dropout:在某個迭代之前不使用 dropout,而是在其余的訓練中使用 dropout。

該研究提出的方法在概念和實現(xiàn)上都很簡單,如圖 2 所示。實現(xiàn)時需要兩個超參數(shù):1) 在打開或關(guān)閉 dropout 之前等待的 epoch 數(shù);2)drop rate p,類似于標準的 dropout rate。該研究表明,這兩種超參數(shù)可以保證所提方法的穩(wěn)健性。

實驗及結(jié)果

研究者在具有 1000 個類和 1.2M 張訓練圖像的 ImageNet-1K 分類數(shù)據(jù)集上進行了實證評估,并報告了 top-1 驗證準確率。

具體結(jié)果首先如下表 1(上部)所示,early dropout 持續(xù)提升測試準確率,降低訓練損失,表明早期階段的 dropout 有助于模型更好地擬合數(shù)據(jù)。研究者還展示了使用 drop rate 為 0.1 時與標準 dropout、隨機深度(s.d.)的比較結(jié)果,這兩者都對模型具有負面影響。

此外,研究者將訓練 epoch 增加一倍并減少 mixup 和 cutmix 強度,從而改進了這些小模型的方法。下表 1(底部)的結(jié)果表明,基線準確率顯著提升,有時甚至大大超越了以往工作的結(jié)果。

b0b8aea4-c142-11ed-bfe3-dac502259ad0.png

為了評估 late dropout,研究者選擇了更大的模型,即分別具有 59M 和 86M 參數(shù)的 ViT-B 和 Mixer-B,使用了基礎(chǔ)的訓練方法。

結(jié)果如下表 3 所示,與標準 s.d. 相比,late s.d. 提升了測試準確率。這一提升是在保持 ViT-B 或增加 Mixer-B 訓練損失的同時實現(xiàn)的,表明 late s.d. 有效降低了過擬合。

b0e8ad98-c142-11ed-bfe3-dac502259ad0.png

最后,研究者在下游任務(wù)上對預訓練 ImageNet-1K 模型進行微調(diào),并對它們進行評估。下游任務(wù)包括 COCO 目標檢測與分割、ADE20K 語義分割以及在 C-100 等五個數(shù)據(jù)集上的下游分類。目標是在微調(diào)階段不使用 early dropout 或 late dropout 的情況下評估學得的表示。

結(jié)果如下表 4、5 和 6 所示,首先當在 COCO 上進行微調(diào)時,使用 early dropout 或 s.d. 進行預訓練的模型始終保持優(yōu)勢。

b157f59a-c142-11ed-bfe3-dac502259ad0.png

其次對于 ADE20K 語義分割任務(wù)而言,使用本文方法進行預訓練的模型優(yōu)于基準模型。

b18abc3c-c142-11ed-bfe3-dac502259ad0.png

最后是下游分類任務(wù),本文方法在大多數(shù)分類任務(wù)上提升了泛化性能。

b194344c-c142-11ed-bfe3-dac502259ad0.png

審核編輯 :李倩

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

    關(guān)注

    1

    文章

    3073

    瀏覽量

    48583
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1199

    瀏覽量

    24594
  • 深度學習
    +關(guān)注

    關(guān)注

    73

    文章

    5442

    瀏覽量

    120799

原文標題:改進Hinton的Dropout:可以用來減輕欠擬合了

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

收藏 人收藏

    評論

    相關(guān)推薦

    壓保護電路的少許改進方案

    仔細分析一款簡單的壓保護電路發(fā)現(xiàn)它并不能實現(xiàn)壓保護功能,需要進行改進改進后的電路比原電路使用的l1個元件數(shù)量還要少。
    發(fā)表于 01-11 10:38 ?4157次閱讀
    <b class='flag-5'>欠</b>壓保護電路的少許<b class='flag-5'>改進</b>方案

    機器學習基礎(chǔ)知識 包括評估問題,理解過擬合、擬合以及解決問題的技巧

    本章涵蓋了以下主題: · 分類和回歸之外的其他類型的問題; · 評估問題,理解過擬合、擬合,以及解決這些問題的技巧; · 為深度學習準備數(shù)據(jù)。 請記住,在本章中討論的大多數(shù)技術(shù)都是機器學習和深度
    發(fā)表于 07-12 09:28 ?900次閱讀
    機器學習基礎(chǔ)知識 包括評估問題,理解過<b class='flag-5'>擬合</b>、<b class='flag-5'>欠</b><b class='flag-5'>擬合</b>以及解決問題的技巧

    FPGA可以用來做數(shù)字電源嗎?

    請問: FPGA可以用來做數(shù)字電源嗎?有參考設(shè)計案例嗎? FPGA和DSP做數(shù)字電源的優(yōu)缺點是什么?
    發(fā)表于 01-08 22:24

    擬合,擬合以及模型的判斷

    python-學習曲線,判斷過擬合擬合
    發(fā)表于 04-24 10:23

    模型的過擬合擬合總體解決方案

    15 模型的過擬合 & 擬合 & 總體解決方案
    發(fā)表于 05-15 07:49

    深度學習中過擬合/擬合的問題及解決方案

    的數(shù)據(jù)可以對未來的數(shù)據(jù)進行推測與模擬,因此都是使用歷史數(shù)據(jù)建立模型,即使用已經(jīng)產(chǎn)生的數(shù)據(jù)去訓練,然后使用該模型去擬合未來的數(shù)據(jù)。 在我們機器學習和深度學習的訓練過程中,經(jīng)常會出現(xiàn)過擬合
    發(fā)表于 01-28 06:57

    VHDL語言是什么可以用來干嘛?

    VHDL語言是什么可以用來干嘛
    發(fā)表于 10-18 07:34

    MP3不僅是用來聽的,也可以用來玩的

    MP3不僅是用來聽的,也可以用來玩的 以VX系列MP3為例,將固件及其升級所帶來的好處做一些案例性的介紹,可以將MP3與手機的使用做
    發(fā)表于 02-02 11:42 ?634次閱讀

    基于動態(tài)dropout改進堆疊自動編碼機方法

    針對堆疊自動編碼機( SA)容易產(chǎn)生過擬合而降低垃圾郵件分類精度的問題,提出了一種基于動態(tài)dropout改進堆疊自動編碼機方法。首先分析垃圾郵件分類問題的特殊性,將
    發(fā)表于 12-26 14:37 ?0次下載
    基于動態(tài)<b class='flag-5'>dropout</b>的<b class='flag-5'>改進</b>堆疊自動編碼機方法

    Python編程一般可以用來做什么

    很多朋友可能會問,為什么要學Python, 就算學會了Python 可以用來干什么呢? 一般都會首先想到爬蟲.爬蟲不是說的那種蟲子哦, 爬蟲其實就是 類似于百度蜘蛛,谷歌蜘蛛一樣的. 會自動的爬取網(wǎng)頁上的內(nèi)容。
    發(fā)表于 07-05 14:51 ?5962次閱讀

    擬合和過擬合是什么?解決方法總結(jié)

    擬合是指模型在訓練集上表現(xiàn)很好,到了驗證和測試階段就大不如意,即模型的泛化能力很差。
    的頭像 發(fā)表于 01-29 17:48 ?3.1w次閱讀
    <b class='flag-5'>欠</b><b class='flag-5'>擬合</b>和過<b class='flag-5'>擬合</b>是什么?解決方法總結(jié)

    深度學習中過擬合、擬合問題及解決方案

    如何判斷過擬合呢?我們在訓練過程中會定義訓練誤差,驗證集誤差,測試集誤差(泛化誤差)。訓練誤差總是減少的,而泛化誤差一開始會減少,但到一定程序后不減反而增加,這時候便出現(xiàn)擬合的現(xiàn)象。
    發(fā)表于 01-22 07:44 ?6次下載
    深度學習中過<b class='flag-5'>擬合</b>、<b class='flag-5'>欠</b><b class='flag-5'>擬合</b>問題及解決方案

    cbb電容可以用來阻容降壓嗎

    阻容降壓電路也是非常常見的一種電路,它特別簡單,而且成本極低,性價比特別高,所以平時的使用量還是特別大的,通常用于小功率的負載供電,比如電表、溫控器、LED燈等,cbb電容可以用來阻容降壓嗎?本文
    的頭像 發(fā)表于 12-31 11:09 ?1333次閱讀
    cbb電容<b class='flag-5'>可以用來</b>阻容降壓嗎

    mos管可以用來轉(zhuǎn)電源極性嗎?

    mos管可以用來轉(zhuǎn)電源極性嗎? MOS管是一個基本的電子元件,由于其高頻特性、低開關(guān)電阻和低噪聲水平而得到了廣泛的應(yīng)用。它也被稱為“金屬氧化物半導體場效應(yīng)晶體管”(MOSFET)。 它是一種晶體管
    的頭像 發(fā)表于 09-17 09:57 ?681次閱讀

    地球上有多少硅原子可以用來生成晶體管呢?

    硅是常見的元素,那么地球上有多少硅原子可以用來生成晶體管
    的頭像 發(fā)表于 12-22 10:51 ?1364次閱讀
    地球上有多少硅原子<b class='flag-5'>可以用來</b>生成晶體管呢?