什么是學(xué)習(xí)率?它的用途是什么?
神經(jīng)網(wǎng)絡(luò)計算其輸入的加權(quán)和,并通過一個激活函數(shù)得到輸出。為了獲得準確的預(yù)測,一種稱為梯度下降的學(xué)習(xí)算法會在從輸出向輸入后退的同時更新權(quán)重。
梯度下降優(yōu)化器通過最小化一個損失函數(shù)(L)來估計模型權(quán)重在多次迭代中的良好值,這就是學(xué)習(xí)率發(fā)揮作用的地方。它控制模型學(xué)習(xí)的速度,換句話說,控制權(quán)重更新到l最小點的速度。新(更新后)和舊(更新前)權(quán)重值之間的關(guān)系如下:

學(xué)習(xí)率是否為負值?
梯度L/w是損失函數(shù)遞增方向上的向量。L/w是L遞減方向上的向量。由于η大于0,因此是正值,所以-ηL/w朝L的減小方向向其最小值邁進。如果η為負值,則您正在遠離最小值,這是它正在改變梯度下降的作用,甚至使神經(jīng)網(wǎng)絡(luò)無法學(xué)習(xí)。如果您考慮一個負學(xué)習(xí)率值,則必須對上述方程式做一個小更改,以使損失函數(shù)保持最?。?/p>

學(xué)習(xí)率的典型值是多少?
學(xué)習(xí)率的典型值范圍為10 E-6和1。
梯度學(xué)習(xí)率選擇錯誤的問題是什么?
達到最小梯度所需的步長直接影響機器學(xué)習(xí)模型的性能:
小的學(xué)習(xí)率會消耗大量的時間來收斂,或者由于梯度的消失而無法收斂,即梯度趨近于0。
大的學(xué)習(xí)率使模型有超過最小值的風(fēng)險,因此它將無法收斂:這就是所謂的爆炸梯度。

梯度消失(左)和梯度爆炸(右)
因此,您的目標是調(diào)整學(xué)習(xí)率,以使梯度下降優(yōu)化器以最少的步數(shù)達到L的最小點。通常,您應(yīng)該選擇理想的學(xué)習(xí)率,該速率應(yīng)足夠小,以便網(wǎng)絡(luò)能夠收斂但不會導(dǎo)致梯度消失,還應(yīng)足夠大,以便可以在合理的時間內(nèi)訓(xùn)練模型而不會引起爆炸梯度。
除了對學(xué)習(xí)率的選擇之外,損失函數(shù)的形狀以及對優(yōu)化器的選擇還決定了收斂速度和是否可以收斂到目標最小值。
錯誤的權(quán)重學(xué)習(xí)率有什么問題?
當(dāng)我們的輸入是圖像時,低設(shè)置的學(xué)習(xí)率會導(dǎo)致如下圖所示的噪聲特征。平滑、干凈和多樣化的特征是良好調(diào)優(yōu)學(xué)習(xí)率的結(jié)果。是否適當(dāng)?shù)卦O(shè)置學(xué)習(xí)率決定了機器學(xué)習(xí)模型的預(yù)測質(zhì)量:要么是進行良好的訓(xùn)練,要么是不收斂的網(wǎng)絡(luò)。

繪制神經(jīng)網(wǎng)絡(luò)第一層產(chǎn)生的特征:不正確(左)和正確(右)設(shè)置學(xué)習(xí)率的情況
我們可以事先計算出最佳學(xué)習(xí)率嗎?
通過理論推導(dǎo),不可能計算出導(dǎo)致最準確的預(yù)測的最佳學(xué)習(xí)率。為了發(fā)現(xiàn)給定數(shù)據(jù)集上給定模型的最佳學(xué)習(xí)率值,必須進行觀察和體驗。
我們?nèi)绾卧O(shè)置學(xué)習(xí)率?
以下是配置η值所需了解的所有內(nèi)容。
使用固定學(xué)習(xí)率:
您確定將在所有學(xué)習(xí)過程中使用的學(xué)習(xí)率的值。這里有兩種可能的方法。第一個很簡單的。它由實踐中常用的常用值組成,即0.1或0.01。第二種方法,您必須尋找適合您的特定問題和神經(jīng)網(wǎng)絡(luò)架構(gòu)的正確學(xué)習(xí)率。如前所述,學(xué)習(xí)率的典型值范圍是10 E-6和1。因此,你粗略地在這個范圍內(nèi)搜索10的各種階數(shù),為你的學(xué)習(xí)率找到一個最優(yōu)的子范圍。然后,您可以在粗略搜索所找到的子范圍內(nèi)以較小的增量細化搜索。你在實踐中可能看到的一種啟發(fā)式方法是在訓(xùn)練時觀察損失,以找到最佳的學(xué)習(xí)率。
學(xué)習(xí)率時間schedule的使用:
與固定學(xué)習(xí)率不同,此替代方法要求根據(jù)schedule在訓(xùn)練epochs內(nèi)改變η值。在這里,您將從較高的學(xué)習(xí)率開始,然后在模型訓(xùn)練期間逐漸降低學(xué)習(xí)率。在學(xué)習(xí)過程的開始,權(quán)重是隨機初始化的,遠遠沒有優(yōu)化,因此較大的更改就足夠了。隨著學(xué)習(xí)過程的結(jié)束,需要更完善的權(quán)重更新。通常每隔幾個epochs減少一次學(xué)習(xí)Learning step。學(xué)習(xí)率也可以在固定數(shù)量的訓(xùn)練epochs內(nèi)衰減,然后對于其余的訓(xùn)練epochs保持較小的恒定值。
常見的兩種方案。第一種方案,對于固定數(shù)量的訓(xùn)練epochs,每次損失平穩(wěn)(即停滯)時,學(xué)習(xí)率都會降低。第二種方案,降低學(xué)習(xí)率,直到達到接近0的較小值為止。三種衰減學(xué)習(xí)率的方法,即階躍衰減、指數(shù)衰減和1/t衰減。
在SGD中添加Momentum:
它是在經(jīng)典的SGD方程中加入一項:

這個附加項考慮了由于Vt-1而帶來的權(quán)重更新的歷史,Vt-1是過去梯度的指數(shù)移動平均值的累積。這就平滑了SGD的進程,減少了SGD的振蕩,從而加速了收斂。然而,這需要設(shè)置新的超參數(shù)γ。除了學(xué)習(xí)率η的挑戰(zhàn)性調(diào)整外,還必須考慮動量γ的選擇。γ設(shè)置為大于0且小于1的值。其常用值為0.5、0.9和0.99。
自適應(yīng)學(xué)習(xí)率的使用:
與上述方法不同,不需要手動調(diào)整學(xué)習(xí)率。根據(jù)權(quán)重的重要性,優(yōu)化器可以調(diào)整η來執(zhí)行更大或更小的更新。此外,對于模型中的每個權(quán)重值,都確保了一個學(xué)習(xí)率。Adagrad,Adadelta,RMSProp和Adam是自適應(yīng)梯度下降變體的例子。您應(yīng)該知道,沒有哪個算法可以最好地解決所有問題。

學(xué)習(xí)率配置主要方法概述
學(xué)習(xí)率的實際經(jīng)驗法則是什么?
學(xué)習(xí)率是機器學(xué)習(xí)模型所依賴的最重要的超參數(shù)。因此,如果您不得不設(shè)置一個且只有一個超參數(shù),則必須優(yōu)先考慮學(xué)習(xí)率。
機器學(xué)習(xí)模型學(xué)習(xí)率的調(diào)整非常耗時。因此,沒有必要執(zhí)行網(wǎng)格搜索來找到最佳學(xué)習(xí)率。為了得到一個成功的模型,找到一個足夠大的學(xué)習(xí)率使梯度下降法有效收斂就足夠了,但又不能大到永遠不收斂。
如果您選擇一種非自適應(yīng)學(xué)習(xí)率設(shè)置方法,則應(yīng)注意該模型將具有數(shù)百個權(quán)重(或者數(shù)千個權(quán)重),每個權(quán)重都有自己的損失曲線。因此,您必須設(shè)置一個適合所有的學(xué)習(xí)率。此外,損失函數(shù)在實際中往往不是凸的,而是清晰的u形。他們往往有更復(fù)雜的非凸形狀局部最小值。
自適應(yīng)方法極大地簡化了具有挑戰(zhàn)性的學(xué)習(xí)率配置任務(wù),這使得它們變得更加常用。此外,它的收斂速度通常更快,并且優(yōu)于通過非自適應(yīng)方法不正確地調(diào)整其學(xué)習(xí)率的模型。
SGD with Momentum,RMSProp和Adam是最常用的算法,因為它們對多種神經(jīng)網(wǎng)絡(luò)架構(gòu)和問題類型具有魯棒性。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4838瀏覽量
107801 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4417瀏覽量
67521 -
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8553瀏覽量
136962
發(fā)布評論請先 登錄
人工智能與機器學(xué)習(xí)在這些行業(yè)的深度應(yīng)用
強化學(xué)習(xí)會讓自動駕駛模型學(xué)習(xí)更快嗎?
學(xué)習(xí)電子電路中常見的問題
爬壁機器人磁鐵的一些常見問題
機器學(xué)習(xí)和深度學(xué)習(xí)中需避免的 7 個常見錯誤與局限性
如何深度學(xué)習(xí)機器視覺的應(yīng)用場景
如何在機器視覺中部署深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)
ZYNQ UltraScalePlus RFSOC QSPI Flash固化常見問題說明
貿(mào)澤電子2025邊緣AI與機器學(xué)習(xí)技術(shù)創(chuàng)新論壇回顧(上)
FPGA在機器學(xué)習(xí)中的具體應(yīng)用
PCBA代工避坑指南:常見問題+解決方案全解析
使用MATLAB進行無監(jiān)督學(xué)習(xí)
deepin 25系統(tǒng)安裝常見問題
十大鮮為人知卻功能強大的機器學(xué)習(xí)模型
解決機器學(xué)習(xí)中有關(guān)學(xué)習(xí)率的常見問題
評論