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

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

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

深層神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練:過擬合優(yōu)化

電子設(shè)計(jì) ? 來源:TOMORROW 星辰 ? 作者:TOMORROW 星辰 ? 2020-12-02 14:17 ? 次閱讀

·過擬合(Overfitting)

深層神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練過程,就是尋找一個(gè)模型能夠很好的擬合現(xiàn)有的數(shù)據(jù)(訓(xùn)練集),同時(shí)能夠很好的預(yù)測(cè)未來的數(shù)據(jù)。

在訓(xùn)練過程中由于模型建立的不恰當(dāng),往往所訓(xùn)練得到的模型能夠?qū)τ?xùn)練集的數(shù)據(jù)非常好的擬合,但是卻在預(yù)測(cè)未來的數(shù)據(jù)上表現(xiàn)得非常差,這種情況就叫做過擬合(Overfitting)。

為了訓(xùn)練出高效可用的深層神經(jīng)網(wǎng)絡(luò)模型,在訓(xùn)練時(shí)必須要避免過擬合的現(xiàn)象。過擬合現(xiàn)象的優(yōu)化方法通常有三種,分別是:正則化(Regulation),擴(kuò)增訓(xùn)練集(Data augmentation)以及提前停止迭代(Early stopping)。

·正則化(Regulation)

正則化方法是指在進(jìn)行損失函數(shù)(costfunction)優(yōu)化時(shí),在損失函數(shù)后面加上一個(gè)正則項(xiàng)。

正則化方法中目前常用的有兩種方法:L2 正則化和 Dropout 正則化。

L2 正則

L2 正則是基于 L2 范數(shù),即在函數(shù)后面加上參數(shù)的 L2 范數(shù)的平方,即:

其中J0是原損失函數(shù),m 表示數(shù)據(jù)集的大小。使用下式對(duì)參數(shù)進(jìn)行更新:

其中,因此知道 w 在進(jìn)行權(quán)重衰減。在神經(jīng)網(wǎng)絡(luò)中,當(dāng)一個(gè)神經(jīng)元的權(quán)重越小時(shí),那么該神經(jīng)元在神經(jīng)網(wǎng)絡(luò)中起到的作用就越小,當(dāng)權(quán)重為 0 時(shí),那么該神經(jīng)元就可以被神經(jīng)網(wǎng)絡(luò)剔除。而過擬合現(xiàn)象出現(xiàn)的原因之一就是,模型復(fù)雜度過高。那么,也就是說 L2 正則化后,權(quán)重會(huì)衰減,從而降低了模型的復(fù)雜度,從而一定程度上避免對(duì)數(shù)據(jù)過擬合。

隨機(jī)失活(Dropout)正則

其實(shí) Dropout 的思路與 L2 的思路是一致的,都是降低模型的復(fù)雜度,從而避免過擬合。只是實(shí)現(xiàn)的方法有所不同。

Dropout 的做法是,在訓(xùn)練過程中,按照一定的概率隨機(jī)的忽略掉一些神經(jīng)元,使其失活,從而就降低了模型的復(fù)雜度,提高了泛化的能力,一定程度上避免了過擬合。

常用的實(shí)現(xiàn)方法是 InvertedDropout。

使用 Dropout 的小技巧

·1、通常丟棄率控制在 20%~50%比較好,可以從 20%開始嘗試。如果比例太低則起不到效果,比例太高則會(huì)導(dǎo)致模型的欠學(xué)習(xí)。

·2、在大的網(wǎng)絡(luò)模型上應(yīng)用。當(dāng) dropout 用在較大的網(wǎng)絡(luò)模型時(shí)更有可能得到效果的提升,模型有更多的機(jī)會(huì)學(xué)習(xí)到多種獨(dú)立的表征。

·3、在輸入層(可見層)和隱藏層都使用 dropout。在每層都應(yīng)用 dropout 被證明會(huì)取得好的效果。

·4、增加學(xué)習(xí)率和沖量。把學(xué)習(xí)率擴(kuò)大 10~100 倍,沖量值調(diào)高到 0.9~0.99.

·5、限制網(wǎng)絡(luò)模型的權(quán)重。大的學(xué)習(xí)率往往導(dǎo)致大的權(quán)重值。對(duì)網(wǎng)絡(luò)的權(quán)重值做最大范數(shù)正則化等方法被證明會(huì)提升效果。

·擴(kuò)增訓(xùn)練集(Data augmentation)

“有時(shí)候不是因?yàn)?a target="_blank">算法好贏了,而是因?yàn)閾碛懈嗟臄?shù)據(jù)才贏了?!?/p>

特別在深度學(xué)習(xí)中,更多的訓(xùn)練數(shù)據(jù),意味著可以訓(xùn)練更深的網(wǎng)絡(luò),訓(xùn)練出更好的模型。

然而很多時(shí)候,收集更多的數(shù)據(jù)并不那么容易,要付出很大的代價(jià)。那么,為了得到更多的訓(xùn)練數(shù)據(jù),我們可以在原有的數(shù)據(jù)上做一些改動(dòng)產(chǎn)生新的可用數(shù)據(jù),以圖片數(shù)據(jù)為例,將圖片水平翻轉(zhuǎn),放大或者選擇一個(gè)小角度都可以得到新的圖片數(shù)據(jù)用于訓(xùn)練。

雖然這樣的效果沒有全新的數(shù)據(jù)更加好,但是付出的代價(jià)卻是接近于零的。所以,很多情況下,這是一個(gè)非常好的數(shù)據(jù)擴(kuò)增方法。

·提前停止迭代(Early stopping)

在訓(xùn)練過程中繪制訓(xùn)練集誤差函數(shù)的同時(shí)也繪制交叉驗(yàn)證集的誤差。從下面的圖可以看出,訓(xùn)練集誤差隨著迭代次數(shù)增加而不斷降低,而驗(yàn)證集誤差卻是先降低后上升。很明顯,在這個(gè)模型中,我們希望驗(yàn)證集誤差和訓(xùn)練集誤差都盡量的小,那么最優(yōu)點(diǎn)就是在驗(yàn)證集誤差的最低點(diǎn),訓(xùn)練應(yīng)該在該點(diǎn)處停止,也就是選取該點(diǎn)處的權(quán)重值作為神經(jīng)網(wǎng)絡(luò)的參數(shù)。

但是這種優(yōu)化方法有很大的缺點(diǎn)。因?yàn)樘崆巴V褂?xùn)練,也就是停止優(yōu)化訓(xùn)練集的誤差,通常情況下,在驗(yàn)證集誤差達(dá)到最小值時(shí),訓(xùn)練集誤差還未處于一個(gè)足夠小的值。從而使得該模型雖然沒有出現(xiàn)過擬合現(xiàn)象,卻是出現(xiàn)了欠擬合的情況。當(dāng)然,這種優(yōu)化方法還是有著表現(xiàn)優(yōu)異的使用場(chǎng)景的。
編輯:hfy

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

    評(píng)論

    相關(guān)推薦

    如何使用經(jīng)過訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型

    使用經(jīng)過訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型是一個(gè)涉及多個(gè)步驟的過程,包括數(shù)據(jù)準(zhǔn)備、模型加載、預(yù)測(cè)執(zhí)行以及后續(xù)優(yōu)化等。
    的頭像 發(fā)表于 07-12 11:43 ?648次閱讀

    神經(jīng)網(wǎng)絡(luò)優(yōu)化器有哪些

    神經(jīng)網(wǎng)絡(luò)優(yōu)化器是深度學(xué)習(xí)中用于調(diào)整網(wǎng)絡(luò)參數(shù)以最小化損失函數(shù)的重要工具。這些優(yōu)化器通過不同的策略來更新網(wǎng)絡(luò)權(quán)重,以提高
    的頭像 發(fā)表于 07-11 16:33 ?415次閱讀

    神經(jīng)網(wǎng)絡(luò)辨識(shí)模型具有什么特點(diǎn)

    神經(jīng)網(wǎng)絡(luò)辨識(shí)模型是一種基于人工神經(jīng)網(wǎng)絡(luò)的系統(tǒng)辨識(shí)方法,它具有以下特點(diǎn): 非線性映射能力 :神經(jīng)網(wǎng)絡(luò)能夠處理非線性問題,可以很好地擬合復(fù)雜的非
    的頭像 發(fā)表于 07-11 11:12 ?331次閱讀

    怎么對(duì)神經(jīng)網(wǎng)絡(luò)重新訓(xùn)練

    重新訓(xùn)練神經(jīng)網(wǎng)絡(luò)是一個(gè)復(fù)雜的過程,涉及到多個(gè)步驟和考慮因素。 引言 神經(jīng)網(wǎng)絡(luò)是一種強(qiáng)大的機(jī)器學(xué)習(xí)模型,廣泛應(yīng)用于圖像識(shí)別、自然語言處理、語音識(shí)別等領(lǐng)域。然而,隨著時(shí)間的推移,數(shù)據(jù)分布可
    的頭像 發(fā)表于 07-11 10:25 ?375次閱讀

    pytorch中有神經(jīng)網(wǎng)絡(luò)模型

    當(dāng)然,PyTorch是一個(gè)廣泛使用的深度學(xué)習(xí)框架,它提供了許多預(yù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型。 PyTorch中的神經(jīng)網(wǎng)絡(luò)模型 1. 引言 深度學(xué)習(xí)是
    的頭像 發(fā)表于 07-11 09:59 ?582次閱讀

    PyTorch神經(jīng)網(wǎng)絡(luò)模型構(gòu)建過程

    PyTorch,作為一個(gè)廣泛使用的開源深度學(xué)習(xí)庫,提供了豐富的工具和模塊,幫助開發(fā)者構(gòu)建、訓(xùn)練和部署神經(jīng)網(wǎng)絡(luò)模型。在神經(jīng)網(wǎng)絡(luò)模型中,輸出層是
    的頭像 發(fā)表于 07-10 14:57 ?374次閱讀

    人工神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的基本原理

    圖像識(shí)別、語音識(shí)別、自然語言處理等。本文將介紹人工神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的基本原理。 1. 神經(jīng)網(wǎng)絡(luò)的基本概念 1.1 神經(jīng)
    的頭像 發(fā)表于 07-05 09:16 ?479次閱讀

    神經(jīng)網(wǎng)絡(luò)擬合的誤差怎么分析

    神經(jīng)網(wǎng)絡(luò)擬合誤差分析是一個(gè)復(fù)雜且深入的話題,涉及到多個(gè)方面,需要從數(shù)據(jù)質(zhì)量、模型結(jié)構(gòu)、訓(xùn)練過程和正則化方法等多個(gè)角度進(jìn)行綜合考慮。 引言 神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-03 10:36 ?419次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練的是什么

    、訓(xùn)練過程以及應(yīng)用場(chǎng)景。 1. 卷積神經(jīng)網(wǎng)絡(luò)的基本概念 1.1 卷積神經(jīng)網(wǎng)絡(luò)的定義 卷積神經(jīng)網(wǎng)絡(luò)是一種前饋深度學(xué)習(xí)模型,其核心思想是利用卷積
    的頭像 發(fā)表于 07-03 09:15 ?276次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)和bp神經(jīng)網(wǎng)絡(luò)的區(qū)別

    不同的神經(jīng)網(wǎng)絡(luò)模型,它們?cè)诮Y(jié)構(gòu)、原理、應(yīng)用等方面都存在一定的差異。本文將從多個(gè)方面對(duì)這兩種神經(jīng)網(wǎng)絡(luò)進(jìn)行詳細(xì)的比較和分析。 引言 神經(jīng)網(wǎng)絡(luò)是一種模擬人腦
    的頭像 發(fā)表于 07-02 14:24 ?1790次閱讀

    數(shù)學(xué)建模神經(jīng)網(wǎng)絡(luò)模型的優(yōu)缺點(diǎn)有哪些

    、預(yù)測(cè)分析等。然而,神經(jīng)網(wǎng)絡(luò)模型也存在一些優(yōu)缺點(diǎn)。本文將詳細(xì)分析神經(jīng)網(wǎng)絡(luò)模型的優(yōu)缺點(diǎn)。 一、優(yōu)點(diǎn) 強(qiáng)大的非線性擬合能力
    的頭像 發(fā)表于 07-02 11:36 ?698次閱讀

    如何訓(xùn)練優(yōu)化神經(jīng)網(wǎng)絡(luò)

    神經(jīng)網(wǎng)絡(luò)是人工智能領(lǐng)域的重要分支,廣泛應(yīng)用于圖像識(shí)別、自然語言處理、語音識(shí)別等多個(gè)領(lǐng)域。然而,要使神經(jīng)網(wǎng)絡(luò)在實(shí)際應(yīng)用中取得良好效果,必須進(jìn)行有效的訓(xùn)練優(yōu)化。本文將從
    的頭像 發(fā)表于 07-01 14:14 ?329次閱讀

    助聽器降噪神經(jīng)網(wǎng)絡(luò)模型

    抑制任務(wù)是語音增強(qiáng)領(lǐng)域的一個(gè)重要學(xué)科, 隨著深度神經(jīng)網(wǎng)絡(luò)的興起,提出了幾種基于深度模型的音頻處理新方法[1,2,3,4]。然而,這些通常是為離線處理而開發(fā)的,不需要考慮實(shí)時(shí)性。當(dāng)使用神經(jīng)網(wǎng)絡(luò)
    發(fā)表于 05-11 17:15

    Kaggle知識(shí)點(diǎn):訓(xùn)練神經(jīng)網(wǎng)絡(luò)的7個(gè)技巧

    科學(xué)神經(jīng)網(wǎng)絡(luò)模型使用隨機(jī)梯度下降進(jìn)行訓(xùn)練模型權(quán)重使用反向傳播算法進(jìn)行更新。通過訓(xùn)練神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 12-30 08:27 ?597次閱讀
    Kaggle知識(shí)點(diǎn):<b class='flag-5'>訓(xùn)練</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的7個(gè)技巧

    如何訓(xùn)練這些神經(jīng)網(wǎng)絡(luò)來解決問題?

    神經(jīng)網(wǎng)絡(luò)建模中,經(jīng)常會(huì)出現(xiàn)關(guān)于神經(jīng)網(wǎng)絡(luò)應(yīng)該有多復(fù)雜的問題,即它應(yīng)該有多少層,或者它的濾波器矩陣應(yīng)該有多大。這個(gè)問題沒有簡(jiǎn)單的答案。與此相關(guān),討論網(wǎng)絡(luò)
    發(fā)表于 11-24 15:35 ?672次閱讀
    如何<b class='flag-5'>訓(xùn)練</b>這些<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>來解決問題?