自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

避免神經(jīng)網(wǎng)絡(luò)過(guò)擬合的5種技術(shù)

新聞 深度學(xué)習(xí)
最近一年我一直致力于深度學(xué)習(xí)領(lǐng)域。這段時(shí)間里,我使用過(guò)很多神經(jīng)網(wǎng)絡(luò),比如卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、自編碼器等等。我遇到的最常見(jiàn)的一個(gè)問(wèn)題就是在訓(xùn)練時(shí),深度神經(jīng)網(wǎng)絡(luò)會(huì)過(guò)擬合。

 本文介紹了5種在訓(xùn)練神經(jīng)網(wǎng)絡(luò)中避免過(guò)擬合的技術(shù)。

最近一年我一直致力于深度學(xué)習(xí)領(lǐng)域。這段時(shí)間里,我使用過(guò)很多神經(jīng)網(wǎng)絡(luò),比如卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、自編碼器等等。我遇到的最常見(jiàn)的一個(gè)問(wèn)題就是在訓(xùn)練時(shí),深度神經(jīng)網(wǎng)絡(luò)會(huì)過(guò)擬合。

當(dāng)模型試著預(yù)測(cè)噪聲較多的數(shù)據(jù)的趨勢(shì)時(shí),由于模型參數(shù)過(guò)多、過(guò)于復(fù)雜,就會(huì)導(dǎo)致過(guò)擬合。過(guò)擬合的模型通常是不精確的,因?yàn)檫@樣的預(yù)測(cè)趨勢(shì)并不會(huì)反映數(shù)據(jù)的真實(shí)情況。我們可以通過(guò)模型在已知的數(shù)據(jù)(訓(xùn)練集)中有好的預(yù)測(cè)結(jié)果,但在未知的數(shù)據(jù)(測(cè)試集)中較差的表現(xiàn)來(lái)判斷是否存在過(guò)擬合。機(jī)器學(xué)習(xí)模型的目的是從訓(xùn)練集到該問(wèn)題領(lǐng)域的任何數(shù)據(jù)集上均有泛化的較好表現(xiàn),因?yàn)槲覀兿MP湍軌蝾A(yù)測(cè)未知的數(shù)據(jù)。

在本文中,我將展示5種在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí)避免過(guò)擬合的技術(shù)。

一、簡(jiǎn)化模型

處理過(guò)擬合的第一步就是降低模型復(fù)雜度。為了降低復(fù)雜度,我們可以簡(jiǎn)單地移除層或者減少神經(jīng)元的數(shù)量使得網(wǎng)絡(luò)規(guī)模變小。與此同時(shí),計(jì)算神經(jīng)網(wǎng)絡(luò)中不同層的輸入和輸出維度也十分重要。雖然移除層的數(shù)量或神經(jīng)網(wǎng)絡(luò)的規(guī)模并無(wú)通用的規(guī)定,但如果你的神經(jīng)網(wǎng)絡(luò)發(fā)生了過(guò)擬合,就嘗試縮小它的規(guī)模。

二、早停

在使用迭代的方法(例如梯度下降)來(lái)訓(xùn)練模型時(shí),早停是一種正則化的形式。因?yàn)樗械纳窠?jīng)網(wǎng)絡(luò)都是通過(guò)梯度下降的方法來(lái)學(xué)習(xí)的,所以早停是一種適用于所有問(wèn)題的通用技術(shù)。使用這種方法來(lái)更新模型以便其在每次迭代時(shí)能更好地適應(yīng)訓(xùn)練集。在一定程度上,這種方法可以改善模型在測(cè)試集上的表現(xiàn)。但是除此之外,改善模型對(duì)訓(xùn)練集的擬合會(huì)增加泛化誤差。早停規(guī)則指定了模型在過(guò)擬合之前可以迭代的次數(shù)。

避免神經(jīng)網(wǎng)絡(luò)過(guò)擬合的5種技術(shù)(附鏈接)

早停

上圖展示了這種技術(shù)。正如我們看到的,在幾次迭代后,即使訓(xùn)練誤差仍然在減少,但測(cè)驗(yàn)誤差已經(jīng)開(kāi)始增加了。

三、使用數(shù)據(jù)增強(qiáng)

在神經(jīng)網(wǎng)絡(luò)中,數(shù)據(jù)增強(qiáng)只意味著增加數(shù)據(jù)規(guī)模,也就是增加數(shù)據(jù)集里中圖像的數(shù)量。一些熱門(mén)的圖像增強(qiáng)技術(shù)有翻轉(zhuǎn)、平移、旋轉(zhuǎn)、縮放、改變亮度、添加噪聲等等。獲取更全面的參考,可訪問(wèn):

Albumentations:

https://github.com/albumentations-team/albumentations

Imgaug:

https://github.com/aleju/imgaug

避免神經(jīng)網(wǎng)絡(luò)過(guò)擬合的5種技術(shù)(附鏈接)

數(shù)據(jù)增強(qiáng)

如上圖所示,使用數(shù)據(jù)增強(qiáng)可以生成多幅相似圖像。這可以幫助我們?cè)黾訑?shù)據(jù)集規(guī)模從而減少過(guò)擬合。因?yàn)殡S著數(shù)據(jù)量的增加,模型無(wú)法過(guò)擬合所有樣本,因此不得不進(jìn)行泛化。

四、使用正則化

正則化是一種降低模型復(fù)雜度的方式。它是通過(guò)在損失函數(shù)中添加一個(gè)懲罰項(xiàng)來(lái)實(shí)現(xiàn)正則化。最常見(jiàn)的技術(shù)是L1和L2正則化:

  • L1懲罰項(xiàng)的目的是使權(quán)重絕對(duì)值最小化。公式如下:
避免神經(jīng)網(wǎng)絡(luò)過(guò)擬合的5種技術(shù)(附鏈接)

L1正則化

  • L2懲罰項(xiàng)的目的是使權(quán)重的平方最小化。公式如下:
避免神經(jīng)網(wǎng)絡(luò)過(guò)擬合的5種技術(shù)(附鏈接)

L2正則化

以下表格對(duì)兩種正則化方法進(jìn)行了對(duì)比。

L1正則化

L2正則化

1. L1懲罰權(quán)重絕對(duì)值的總和

1. L2懲罰權(quán)重平方和的總和

2. L1生成簡(jiǎn)單、可解釋的模型

2. L2正則化能夠?qū)W習(xí)復(fù)雜數(shù)據(jù)模式

3. L1受極端值影響較小

3. L2受極端值影響較大

L1正則化vs L2正則化

那么哪一種方式更有利于避免過(guò)擬合呢?答案是——看情況。如果數(shù)據(jù)過(guò)于復(fù)雜以至于無(wú)法準(zhǔn)確地建模,那么L2是更好的選擇,因?yàn)樗軌驅(qū)W習(xí)數(shù)據(jù)中呈現(xiàn)的內(nèi)在模式。而當(dāng)數(shù)據(jù)足夠簡(jiǎn)單,可以精確建模的話,L1更合適。對(duì)于我遇到的大多數(shù)計(jì)算機(jī)視覺(jué)問(wèn)題,L2正則化幾乎總是可以給出更好的結(jié)果。然而L1不容易受到離群值的影響。所以正確的正則化選項(xiàng)取決于我們想要解決的問(wèn)題。

五、使用丟棄法(Dropouts)

丟棄法是一種避免神經(jīng)網(wǎng)絡(luò)過(guò)擬合的正則化技術(shù)。像L1和L2這樣的正則化技術(shù)通過(guò)修改代價(jià)函數(shù)來(lái)減少過(guò)擬合。而丟棄法修改神經(jīng)網(wǎng)絡(luò)本身。它在訓(xùn)練的每一次迭代過(guò)程中隨機(jī)地丟棄神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元。當(dāng)我們丟棄不同神經(jīng)元集合的時(shí)候,就等同于訓(xùn)練不同的神經(jīng)網(wǎng)絡(luò)。不同的神經(jīng)網(wǎng)絡(luò)會(huì)以不同的方式發(fā)生過(guò)擬合,所以丟棄的凈效應(yīng)將會(huì)減少過(guò)擬合的發(fā)生。

避免神經(jīng)網(wǎng)絡(luò)過(guò)擬合的5種技術(shù)(附鏈接)

使用丟棄法

如上圖所示,丟棄法被用于在訓(xùn)練神經(jīng)網(wǎng)絡(luò)的過(guò)程中隨機(jī)丟棄神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元。這種技術(shù)被證明可以減少很多問(wèn)題的過(guò)擬合,這些問(wèn)題包括圖像分類(lèi)、圖像切割、詞嵌入、語(yǔ)義匹配等問(wèn)題。

結(jié)論

簡(jiǎn)單回顧下上述內(nèi)容,我解釋了什么是過(guò)擬合以及為什么它是神經(jīng)網(wǎng)絡(luò)當(dāng)中常見(jiàn)的問(wèn)題。接下來(lái)我又給出了五種最常見(jiàn)的在訓(xùn)練神經(jīng)網(wǎng)絡(luò)過(guò)程中避免過(guò)擬合的方法——簡(jiǎn)化模型、早停、數(shù)據(jù)增強(qiáng)、正則化以及丟棄法。

 

責(zé)任編輯:張燕妮 來(lái)源: 今日頭條
相關(guān)推薦

2020-07-14 10:40:49

Keras權(quán)重約束神經(jīng)網(wǎng)絡(luò)

2020-07-03 08:45:26

神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)

2018-07-03 16:10:04

神經(jīng)網(wǎng)絡(luò)生物神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò)

2021-06-29 09:53:06

神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)圖形

2025-02-25 10:50:11

2021-05-06 08:00:00

人工智能神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)

2020-04-20 13:45:32

神經(jīng)網(wǎng)絡(luò)模型代碼

2018-08-03 16:00:09

人工智能神經(jīng)網(wǎng)絡(luò)高級(jí)算法

2025-02-25 14:13:31

2020-08-06 10:11:13

神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)算法

2022-06-14 13:55:30

模型訓(xùn)練網(wǎng)絡(luò)

2017-07-05 15:14:30

神經(jīng)網(wǎng)絡(luò)連接方式網(wǎng)絡(luò)單元

2019-06-27 22:23:56

谷歌Android開(kāi)發(fā)者

2017-06-18 16:20:57

神經(jīng)網(wǎng)絡(luò)單元

2023-06-18 23:00:39

神經(jīng)網(wǎng)絡(luò)損失函數(shù)隨機(jī)變量

2019-03-26 19:00:02

神經(jīng)網(wǎng)絡(luò)AI人工智能

2020-03-16 10:16:19

代碼開(kāi)發(fā)工具

2024-09-26 07:39:46

2025-03-03 08:10:00

神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)人工智能

2017-09-10 07:07:32

神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)集可視化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)