最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

深度學(xué)習(xí)中用的最多的優(yōu)化算法:Adam算法

2023-05-07 17:08 作者:數(shù)學(xué)建模學(xué)習(xí)交流  | 我要投稿

剛?cè)腴T深度學(xué)習(xí)時(shí),所有課程都會(huì)介紹梯度下降算法,以梯度下降為基礎(chǔ),通常會(huì)接著介紹:SGD(隨機(jī)梯度下降)、BGD(批量梯度下降)和Mini-BGD(小批量梯度下降)三種變形。

然而,傳統(tǒng)的梯度算法有下面兩個(gè)最大的缺點(diǎn):

(1)學(xué)習(xí)率保持不變

學(xué)習(xí)率保持不變的話有以下幾個(gè)缺點(diǎn):若設(shè)置的學(xué)習(xí)率過大,可能會(huì)導(dǎo)致梯度下降算法在最優(yōu)解附近震蕩,無法收斂,或者跳過最優(yōu)解,導(dǎo)致?lián)p失函數(shù)增大。若學(xué)習(xí)率過小,可能會(huì)導(dǎo)致梯度下降算法收斂速度過慢,需要更多的迭代次數(shù),或者陷入局部最優(yōu)解,無法達(dá)到全局最優(yōu)解。另外,固定的學(xué)習(xí)率可能會(huì)導(dǎo)致梯度下降算法無法適應(yīng)不同的數(shù)據(jù)分布和模型復(fù)雜度,需要手動(dòng)調(diào)整或選擇合適的學(xué)習(xí)率。

(2)在鞍點(diǎn)處震蕩且容易陷入局部最優(yōu)點(diǎn)

普通的梯度下降方法更新最優(yōu)解的方向完全依賴于計(jì)算出來的梯度,所以很容易陷入局部最優(yōu)的馬鞍點(diǎn)。

如何解決上面兩點(diǎn)問題呢?

針對問題(1),可以采用自適應(yīng)梯度下降解決。自適應(yīng)梯度下降是一類改進(jìn)的隨機(jī)梯度下降算法,它可以根據(jù)參數(shù)的稀疏程度或歷史梯度信息,動(dòng)態(tài)地調(diào)整每個(gè)參數(shù)的學(xué)習(xí)率。其優(yōu)點(diǎn)是可以加速收斂,適應(yīng)不同的數(shù)據(jù)分布和模型復(fù)雜度,減少手動(dòng)調(diào)參的工作。常見的自適應(yīng)梯度下降算法有AdaGrad,RMSProp等。Adam算法也采用了自適應(yīng)梯度下降的策略。

針對問題(2),可以使用動(dòng)量梯度下降法,其優(yōu)點(diǎn)有以下幾點(diǎn):可以加速梯度下降算法的收斂速度,特別是在損失函數(shù)存在鞍點(diǎn)或者曲率不一致的情況下;可以抑制梯度下降算法的震蕩,使其沿著最優(yōu)方向更新參數(shù),而不是隨機(jī)地變換方向;可以克服梯度下降算法的局部最優(yōu)解問題,使其更有可能達(dá)到全局最優(yōu)解。


Adam算法在2014年底由Kingma和Lei Ba兩位學(xué)者共同提出。首先,Adam算法是自適應(yīng)梯度下降算法的一種,因?yàn)樗梢愿鶕?jù)梯度的一階矩和二階矩的估計(jì),為每個(gè)參數(shù)的學(xué)習(xí)率進(jìn)行自適應(yīng)調(diào)整。這樣可以避免使用固定的或者手動(dòng)調(diào)節(jié)的學(xué)習(xí)率,提高優(yōu)化效率和穩(wěn)定性。同時(shí),Adam算法是添加了動(dòng)量的梯度下降算法,因?yàn)樗梢岳锰荻鹊囊浑A矩的估計(jì),為每個(gè)參數(shù)的更新方向增加一個(gè)慣性項(xiàng),使得更新方向更加平滑和穩(wěn)定。這樣可以避免梯度下降算法在噪聲或者曲率不一致的情況下產(chǎn)生的震蕩或者偏離最優(yōu)解的問題。實(shí)踐表明,在NLP、CV等問題的優(yōu)化上,Adam算法取得了較好的成功。

原論文如下,根據(jù)google學(xué)術(shù)上的數(shù)據(jù),目前該論文被引用次數(shù)有14w次,這數(shù)據(jù)太夸張了。。。

Kingma D , ?Ba J . Adam: A Method for Stochastic Optimization[J]. Computer Science, 2014.

下面我們直接來看論文中的核心步驟:

上圖是原作者給的偽代碼,翻譯成中文如下:

原文作者還給出了一組表現(xiàn)較好的默認(rèn)參數(shù):學(xué)習(xí)率取為0.001,一階矩估計(jì)的指數(shù)衰減率為0.9,二階矩估計(jì)的指數(shù)衰減率為0.999。


Adam算法和其他優(yōu)化算法的優(yōu)缺點(diǎn)如下:

  • 優(yōu)點(diǎn):

  • Adam算法可以自適應(yīng)地調(diào)整學(xué)習(xí)率,不需要手動(dòng)設(shè)置或調(diào)整。

  • Adam算法可以有效地處理稀疏梯度或噪聲梯度的問題。

  • Adam算法可以快速收斂,適用于大規(guī)模的數(shù)據(jù)集和模型。

  • 缺點(diǎn):

  • Adam算法有一些超參數(shù),如β1,β2,需要根據(jù)問題進(jìn)行選擇或調(diào)整。

  • Adam算法可能會(huì)導(dǎo)致過擬合,特別是在小數(shù)據(jù)集或正則化不足的情況下。

  • Adam算法可能會(huì)陷入局部最優(yōu)解,而不是全局最優(yōu)解。

在MATLAB中也有相應(yīng)的介紹:

https://ww2.mathworks.cn/help/deeplearning/ref/trainingoptions.html

深度學(xué)習(xí)中用的最多的優(yōu)化算法:Adam算法的評(píng)論 (共 條)

分享到微博請遵守國家法律
衡山县| 寿阳县| 临猗县| 新晃| 阿拉善右旗| 浙江省| 上林县| 青铜峡市| 香港| 塘沽区| 抚远县| 莲花县| 新野县| 卫辉市| 阳信县| 南丰县| 建宁县| 永康市| 繁昌县| 邵武市| 徐汇区| 明光市| 遂平县| 寻乌县| 舟山市| 固阳县| 景东| 洪湖市| 颍上县| 盘山县| 洛川县| 梅河口市| 南雄市| 乐安县| 普安县| 安阳县| 宁城县| 仙居县| 新竹县| 丹江口市| 阳城县|