什么是學(xué)習(xí)率?它的用途是什么?
神經(jīng)網(wǎng)絡(luò)計(jì)算其輸入的加權(quán)和,并通過一個(gè)激活函數(shù)得到輸出。為了獲得準(zhǔn)確的預(yù)測,一種稱為梯度下降的學(xué)習(xí)算法會(huì)在從輸出向輸入后退的同時(shí)更新權(quán)重。
梯度下降優(yōu)化器通過最小化一個(gè)損失函數(shù)(L)來估計(jì)模型權(quán)重在多次迭代中的良好值,這就是學(xué)習(xí)率發(fā)揮作用的地方。它控制模型學(xué)習(xí)的速度,換句話說,控制權(quán)重更新到l最小點(diǎn)的速度。新(更新后)和舊(更新前)權(quán)重值之間的關(guān)系如下:
學(xué)習(xí)率是否為負(fù)值?
梯度L/w是損失函數(shù)遞增方向上的向量。L/w是L遞減方向上的向量。由于η大于0,因此是正值,所以-ηL/w朝L的減小方向向其最小值邁進(jìn)。如果η為負(fù)值,則您正在遠(yuǎn)離最小值,這是它正在改變梯度下降的作用,甚至使神經(jīng)網(wǎng)絡(luò)無法學(xué)習(xí)。如果您考慮一個(gè)負(fù)學(xué)習(xí)率值,則必須對上述方程式做一個(gè)小更改,以使損失函數(shù)保持最?。?/p>
學(xué)習(xí)率的典型值是多少?
學(xué)習(xí)率的典型值范圍為10 E-6和1。
梯度學(xué)習(xí)率選擇錯(cuò)誤的問題是什么?
達(dá)到最小梯度所需的步長直接影響機(jī)器學(xué)習(xí)模型的性能:
小的學(xué)習(xí)率會(huì)消耗大量的時(shí)間來收斂,或者由于梯度的消失而無法收斂,即梯度趨近于0。
大的學(xué)習(xí)率使模型有超過最小值的風(fēng)險(xiǎn),因此它將無法收斂:這就是所謂的爆炸梯度。
梯度消失(左)和梯度爆炸(右)
因此,您的目標(biāo)是調(diào)整學(xué)習(xí)率,以使梯度下降優(yōu)化器以最少的步數(shù)達(dá)到L的最小點(diǎn)。通常,您應(yīng)該選擇理想的學(xué)習(xí)率,該速率應(yīng)足夠小,以便網(wǎng)絡(luò)能夠收斂但不會(huì)導(dǎo)致梯度消失,還應(yīng)足夠大,以便可以在合理的時(shí)間內(nèi)訓(xùn)練模型而不會(huì)引起爆炸梯度。
除了對學(xué)習(xí)率的選擇之外,損失函數(shù)的形狀以及對優(yōu)化器的選擇還決定了收斂速度和是否可以收斂到目標(biāo)最小值。
錯(cuò)誤的權(quán)重學(xué)習(xí)率有什么問題?
當(dāng)我們的輸入是圖像時(shí),低設(shè)置的學(xué)習(xí)率會(huì)導(dǎo)致如下圖所示的噪聲特征。平滑、干凈和多樣化的特征是良好調(diào)優(yōu)學(xué)習(xí)率的結(jié)果。是否適當(dāng)?shù)卦O(shè)置學(xué)習(xí)率決定了機(jī)器學(xué)習(xí)模型的預(yù)測質(zhì)量:要么是進(jìn)行良好的訓(xùn)練,要么是不收斂的網(wǎng)絡(luò)。
繪制神經(jīng)網(wǎng)絡(luò)第一層產(chǎn)生的特征:不正確(左)和正確(右)設(shè)置學(xué)習(xí)率的情況
我們可以事先計(jì)算出最佳學(xué)習(xí)率嗎?
通過理論推導(dǎo),不可能計(jì)算出導(dǎo)致最準(zhǔn)確的預(yù)測的最佳學(xué)習(xí)率。為了發(fā)現(xiàn)給定數(shù)據(jù)集上給定模型的最佳學(xué)習(xí)率值,必須進(jìn)行觀察和體驗(yàn)。
我們?nèi)绾卧O(shè)置學(xué)習(xí)率?
以下是配置η值所需了解的所有內(nèi)容。
使用固定學(xué)習(xí)率:
您確定將在所有學(xué)習(xí)過程中使用的學(xué)習(xí)率的值。這里有兩種可能的方法。第一個(gè)很簡單的。它由實(shí)踐中常用的常用值組成,即0.1或0.01。第二種方法,您必須尋找適合您的特定問題和神經(jīng)網(wǎng)絡(luò)架構(gòu)的正確學(xué)習(xí)率。如前所述,學(xué)習(xí)率的典型值范圍是10 E-6和1。因此,你粗略地在這個(gè)范圍內(nèi)搜索10的各種階數(shù),為你的學(xué)習(xí)率找到一個(gè)最優(yōu)的子范圍。然后,您可以在粗略搜索所找到的子范圍內(nèi)以較小的增量細(xì)化搜索。你在實(shí)踐中可能看到的一種啟發(fā)式方法是在訓(xùn)練時(shí)觀察損失,以找到最佳的學(xué)習(xí)率。
學(xué)習(xí)率時(shí)間schedule的使用:
與固定學(xué)習(xí)率不同,此替代方法要求根據(jù)schedule在訓(xùn)練epochs內(nèi)改變?chǔ)侵?。在這里,您將從較高的學(xué)習(xí)率開始,然后在模型訓(xùn)練期間逐漸降低學(xué)習(xí)率。在學(xué)習(xí)過程的開始,權(quán)重是隨機(jī)初始化的,遠(yuǎn)遠(yuǎn)沒有優(yōu)化,因此較大的更改就足夠了。隨著學(xué)習(xí)過程的結(jié)束,需要更完善的權(quán)重更新。通常每隔幾個(gè)epochs減少一次學(xué)習(xí)Learning step。學(xué)習(xí)率也可以在固定數(shù)量的訓(xùn)練epochs內(nèi)衰減,然后對于其余的訓(xùn)練epochs保持較小的恒定值。
常見的兩種方案。第一種方案,對于固定數(shù)量的訓(xùn)練epochs,每次損失平穩(wěn)(即停滯)時(shí),學(xué)習(xí)率都會(huì)降低。第二種方案,降低學(xué)習(xí)率,直到達(dá)到接近0的較小值為止。三種衰減學(xué)習(xí)率的方法,即階躍衰減、指數(shù)衰減和1/t衰減。
在SGD中添加Momentum:
它是在經(jīng)典的SGD方程中加入一項(xiàng):
這個(gè)附加項(xiàng)考慮了由于Vt-1而帶來的權(quán)重更新的歷史,Vt-1是過去梯度的指數(shù)移動(dòng)平均值的累積。這就平滑了SGD的進(jìn)程,減少了SGD的振蕩,從而加速了收斂。然而,這需要設(shè)置新的超參數(shù)γ。除了學(xué)習(xí)率η的挑戰(zhàn)性調(diào)整外,還必須考慮動(dòng)量γ的選擇。γ設(shè)置為大于0且小于1的值。其常用值為0.5、0.9和0.99。
自適應(yīng)學(xué)習(xí)率的使用:
與上述方法不同,不需要手動(dòng)調(diào)整學(xué)習(xí)率。根據(jù)權(quán)重的重要性,優(yōu)化器可以調(diào)整η來執(zhí)行更大或更小的更新。此外,對于模型中的每個(gè)權(quán)重值,都確保了一個(gè)學(xué)習(xí)率。Adagrad,Adadelta,RMSProp和Adam是自適應(yīng)梯度下降變體的例子。您應(yīng)該知道,沒有哪個(gè)算法可以最好地解決所有問題。
學(xué)習(xí)率配置主要方法概述
學(xué)習(xí)率的實(shí)際經(jīng)驗(yàn)法則是什么?
學(xué)習(xí)率是機(jī)器學(xué)習(xí)模型所依賴的最重要的超參數(shù)。因此,如果您不得不設(shè)置一個(gè)且只有一個(gè)超參數(shù),則必須優(yōu)先考慮學(xué)習(xí)率。
機(jī)器學(xué)習(xí)模型學(xué)習(xí)率的調(diào)整非常耗時(shí)。因此,沒有必要執(zhí)行網(wǎng)格搜索來找到最佳學(xué)習(xí)率。為了得到一個(gè)成功的模型,找到一個(gè)足夠大的學(xué)習(xí)率使梯度下降法有效收斂就足夠了,但又不能大到永遠(yuǎn)不收斂。
如果您選擇一種非自適應(yīng)學(xué)習(xí)率設(shè)置方法,則應(yīng)注意該模型將具有數(shù)百個(gè)權(quán)重(或者數(shù)千個(gè)權(quán)重),每個(gè)權(quán)重都有自己的損失曲線。因此,您必須設(shè)置一個(gè)適合所有的學(xué)習(xí)率。此外,損失函數(shù)在實(shí)際中往往不是凸的,而是清晰的u形。他們往往有更復(fù)雜的非凸形狀局部最小值。
自適應(yīng)方法極大地簡化了具有挑戰(zhàn)性的學(xué)習(xí)率配置任務(wù),這使得它們變得更加常用。此外,它的收斂速度通常更快,并且優(yōu)于通過非自適應(yīng)方法不正確地調(diào)整其學(xué)習(xí)率的模型。
SGD with Momentum,RMSProp和Adam是最常用的算法,因?yàn)樗鼈儗Χ喾N神經(jīng)網(wǎng)絡(luò)架構(gòu)和問題類型具有魯棒性。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4779瀏覽量
101088 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4345瀏覽量
62905 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8438瀏覽量
132986
發(fā)布評論請先 登錄
相關(guān)推薦
評論