來源:Coggle數(shù)據(jù)科學(xué)
神經(jīng)網(wǎng)絡(luò)模型使用隨機(jī)梯度下降進(jìn)行訓(xùn)練,模型權(quán)重使用反向傳播算法進(jìn)行更新。通過訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型解決的優(yōu)化問題非常具有挑戰(zhàn)性,盡管這些算法在實(shí)踐中表現(xiàn)出色,但不能保證它們會及時(shí)收斂到一個(gè)良好的模型。
- 訓(xùn)練神經(jīng)網(wǎng)絡(luò)的挑戰(zhàn)在訓(xùn)練數(shù)據(jù)集的新示例之間取得平衡。
- 七個(gè)具體的技巧,可幫助您更快地訓(xùn)練出更好的神經(jīng)網(wǎng)絡(luò)模型。
學(xué)習(xí)和泛化
使用反向傳播設(shè)計(jì)和訓(xùn)練網(wǎng)絡(luò)需要做出許多看似任意的選擇,例如節(jié)點(diǎn)的數(shù)量和類型、層的數(shù)量、學(xué)習(xí)率、訓(xùn)練和測試集等。這些選擇可能至關(guān)重要,但卻沒有百分之百可靠的決策法則,因?yàn)樗鼈冊诤艽蟪潭壬先Q于問題和數(shù)據(jù)。訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型的目標(biāo)最具挑戰(zhàn)性,因?yàn)樗鉀Q兩個(gè)難題:
- 學(xué)習(xí)訓(xùn)練數(shù)據(jù)集以最小化損失。
- 泛化模型性能以便在未見過的示例上進(jìn)行預(yù)測。
在這些問題之間存在權(quán)衡,因?yàn)閷W(xué)得太好的模型泛化能力可能較差,而泛化良好的模型可能欠擬合。訓(xùn)練神經(jīng)網(wǎng)絡(luò)的目標(biāo)是在這兩方面找到一個(gè)良好的平衡。在擬合神經(jīng)網(wǎng)絡(luò)模型時(shí),這些術(shù)語可以定義為:
- 偏差:衡量網(wǎng)絡(luò)輸出在所有數(shù)據(jù)集上的平均差異與期望函數(shù)的差異。
方差:衡量網(wǎng)絡(luò)輸出在數(shù)據(jù)集之間變化的程度。
這種表述將模型的容量定義為偏差的選擇,控制可以學(xué)習(xí)的函數(shù)范圍。它將方差視為訓(xùn)練過程的函數(shù),并在過擬合訓(xùn)練數(shù)據(jù)集和泛化誤差之間取得平衡。
- 在訓(xùn)練初期,偏差較大,因?yàn)榫W(wǎng)絡(luò)輸出與期望函數(shù)相差很遠(yuǎn)。方差非常小,因?yàn)閿?shù)據(jù)尚未產(chǎn)生太大的影響。在訓(xùn)練后期,偏差較小,因?yàn)榫W(wǎng)絡(luò)已經(jīng)學(xué)到了基本函數(shù)。
然而,如果訓(xùn)練時(shí)間太長,網(wǎng)絡(luò)還將學(xué)到特定數(shù)據(jù)集的噪聲,這稱為過度訓(xùn)練。在這種情況下,方差將很大,因?yàn)樵肼曉跀?shù)據(jù)集之間變化。
技巧1:隨機(jī)梯度下降與批量學(xué)習(xí)
隨機(jī)梯度下降,也稱為在線梯度下降,是指從訓(xùn)練數(shù)據(jù)集中隨機(jī)選擇一個(gè)示例,估算誤差梯度,然后更新模型參數(shù)(權(quán)重)的算法版本。它的效果是快速訓(xùn)練模型,盡管可能會導(dǎo)致模型權(quán)重的大幅、嘈雜的更新。
通常情況下,基本反向傳播首選隨機(jī)學(xué)習(xí),原因有三:
- 隨機(jī)學(xué)習(xí)通常比批量學(xué)習(xí)快得多。
- 隨機(jī)學(xué)習(xí)通常會導(dǎo)致更好的解決方案。
- 隨機(jī)學(xué)習(xí)可用于跟蹤變化。
批量梯度下降涉及使用訓(xùn)練數(shù)據(jù)集中所有示例的平均值來估算誤差梯度。它執(zhí)行更快,從理論上更容易理解,但導(dǎo)致學(xué)習(xí)速度較慢。
盡管隨機(jī)學(xué)習(xí)具有諸多優(yōu)勢,仍有理由考慮使用批量學(xué)習(xí):
- 收斂條件是眾所周知的。
- 許多加速技術(shù)(例如共軛梯度)僅在批量學(xué)習(xí)中操作。
對權(quán)重動(dòng)態(tài)和收斂速率的理論分析更簡單。
盡管批量更新具有優(yōu)勢,但在處理非常大的數(shù)據(jù)集時(shí),隨機(jī)學(xué)習(xí)仍然通常是首選方法,因?yàn)樗唵胃臁?/p>
技巧2:打亂樣本順序
神經(jīng)網(wǎng)絡(luò)從最意外的樣本中學(xué)得最快。因此,建議在每次迭代中選擇對系統(tǒng)最不熟悉的樣本。實(shí)現(xiàn)這個(gè)技巧的一個(gè)簡單方法是確保用于更新模型參數(shù)的連續(xù)示例來自不同的類別。
這個(gè)技巧也可以通過向模型展示并重新展示它在進(jìn)行預(yù)測時(shí)犯的最多錯(cuò)誤或產(chǎn)生最多錯(cuò)誤的示例來實(shí)現(xiàn)。這種方法可能是有效的,但如果在訓(xùn)練期間過度表示的示例是離群值,它也可能導(dǎo)致災(zāi)難。
選擇信息內(nèi)容最大的示例:
- 打亂訓(xùn)練集,使連續(xù)的訓(xùn)練示例永遠(yuǎn)(很少)不屬于同一類別。
更頻繁地呈現(xiàn)產(chǎn)生大誤差的輸入示例,而不是產(chǎn)生小誤差的示例。
技巧3:標(biāo)準(zhǔn)化輸入
當(dāng)訓(xùn)練數(shù)據(jù)集中的示例總和為零時(shí),神經(jīng)網(wǎng)絡(luò)通常學(xué)得更快。這可以通過從每個(gè)輸入變量中減去平均值(稱為居中)來實(shí)現(xiàn)。通常,如果訓(xùn)練集上每個(gè)輸入變量的平均值接近零,收斂速度會更快。
此外將輸入居中也會提高模型對來自先前層的輸入到隱藏層的收斂性。這是令人著迷的,因?yàn)樗鼮楹髞斫?5年發(fā)展并廣泛流行的批量歸一化技術(shù)奠定了基礎(chǔ)。
因此,最好將輸入移動(dòng),以使訓(xùn)練集的平均值接近零。這個(gè)啟發(fā)式方法應(yīng)該應(yīng)用于所有層,這意味著我們希望節(jié)點(diǎn)的輸出的平均值接近零,因?yàn)檫@些輸出是下一層的輸入。
轉(zhuǎn)換輸入
- 訓(xùn)練集上每個(gè)輸入變量的平均值應(yīng)接近零。
- 縮放輸入變量,使它們的協(xié)方差大致相同。
如果可能的話,輸入變量應(yīng)該無關(guān)聯(lián)。
技巧4:Sigmoid 激活函數(shù)
非線性激活函數(shù)賦予神經(jīng)網(wǎng)絡(luò)非線性能力。其中一種最常見的激活函數(shù)形式是 Sigmoid。
在隱藏層使用 logistic 和 tanh 激活函數(shù)不再是一個(gè)合理的默認(rèn)選擇,因?yàn)槭褂?ReLU 的性能模型收斂速度更快。
技巧5:選擇目標(biāo)值
在二元分類問題的情況下,目標(biāo)變量可能是 logistic 激活函數(shù)的漸近值集合 {0, 1},或者是雙曲正切函數(shù)的漸近值集合 {-1, 1},分別對應(yīng)使用交叉熵或鉸鏈損失函數(shù),即使在現(xiàn)代神經(jīng)網(wǎng)絡(luò)中也是如此。在激活函數(shù)的飽和點(diǎn)(邊緣)取得值可能需要更大的權(quán)重,這可能使模型變得不穩(wěn)定。
技巧6:初始化權(quán)重
權(quán)重的初始值對訓(xùn)練過程有很大影響。權(quán)重應(yīng)該隨機(jī)選擇,但以 sigmoid 函數(shù)的線性區(qū)域?yàn)橹饕せ顓^(qū)域。這個(gè)建議也適用于 ReLU 的權(quán)重激活,其中函數(shù)的線性部分是正的。
初始權(quán)重對模型學(xué)習(xí)有重要影響,其中大權(quán)重使激活函數(shù)飽和,導(dǎo)致不穩(wěn)定的學(xué)習(xí),而小權(quán)重導(dǎo)致梯度非常小,進(jìn)而學(xué)習(xí)緩慢。理想情況下,我們尋求模型權(quán)重位于激活函數(shù)的線性(非曲線)部分之上。
技巧7:選擇學(xué)習(xí)率
學(xué)習(xí)率是模型權(quán)重在算法的每次迭代中更新的量。較小的學(xué)習(xí)率可能導(dǎo)致收斂較慢,但可能得到更好的結(jié)果,而較大的學(xué)習(xí)率可能導(dǎo)致更快的收斂,但可能得到不太理想的結(jié)果。
建議當(dāng)權(quán)重值開始來回變化,例如振蕩時(shí),減小學(xué)習(xí)率。
- 大多數(shù)方案在權(quán)重向量“振蕩”時(shí)減小學(xué)習(xí)率,并在權(quán)重向量遵循相對穩(wěn)定方向時(shí)增加學(xué)習(xí)率。
顯然,為網(wǎng)絡(luò)中的每個(gè)權(quán)重選擇不同的學(xué)習(xí)率(eta)可以提高收斂性。[…] 主要思想是確保網(wǎng)絡(luò)中的所有權(quán)重大致以相同的速度收斂。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4722瀏覽量
100306 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4256瀏覽量
62223 -
模型
+關(guān)注
關(guān)注
1文章
3054瀏覽量
48569
發(fā)布評論請先 登錄
相關(guān)推薦
評論