成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

優(yōu)化器怎么選?一文教你選擇適合不同ML項(xiàng)目的優(yōu)化器

新聞 深度學(xué)習(xí)
優(yōu)化器是深度學(xué)習(xí)領(lǐng)域的重要組成模塊之一,執(zhí)行深度學(xué)習(xí)任務(wù)時(shí)采用不同的優(yōu)化器會(huì)產(chǎn)生截然不同的效果。

為機(jī)器學(xué)習(xí)項(xiàng)目選擇合適的優(yōu)化器不是一件簡(jiǎn)單的事。

優(yōu)化器是深度學(xué)習(xí)領(lǐng)域的重要組成模塊之一,執(zhí)行深度學(xué)習(xí)任務(wù)時(shí)采用不同的優(yōu)化器會(huì)產(chǎn)生截然不同的效果。這也是研究者們不遺余力「煉丹」的原因之一。常見的優(yōu)化算法包括梯度下降(變體 BGD、SGD 和 MBGD)、Adagrad、Adam、Momentum 等,如此繁多的優(yōu)化器應(yīng)該如何做出抉擇呢?

[[373866]]

不久前,Lightly-ai 的機(jī)器學(xué)習(xí)工程師 Philipp Wirth 撰寫了一篇指南,總結(jié)了計(jì)算機(jī)視覺、自然語言處理和機(jī)器學(xué)習(xí)領(lǐng)域普遍使用的流行優(yōu)化器,并就如何選擇合適的優(yōu)化器給出了建議。

優(yōu)化器怎么選?一文教你選擇適合不同ML項(xiàng)目的優(yōu)化器

具體而言,這篇文章提出基于以下 3 個(gè)問題來選擇優(yōu)化器:

  • 找到相關(guān)的研究論文,開始時(shí)使用相同的優(yōu)化器;
  • 查看表 1,并一一對(duì)照自己所用數(shù)據(jù)集的屬性以及不同優(yōu)化器的優(yōu)缺點(diǎn);
  • 根據(jù)可用資源調(diào)整優(yōu)化器。

引言

為機(jī)器學(xué)習(xí)項(xiàng)目選擇好的優(yōu)化器不是一項(xiàng)容易的任務(wù)。流行的深度學(xué)習(xí)庫(如 PyTorch 或 TensorFLow)提供了多種優(yōu)化器選擇,它們各有優(yōu)缺點(diǎn)。并且,選擇不合適的優(yōu)化器可能會(huì)對(duì)機(jī)器學(xué)習(xí)項(xiàng)目產(chǎn)生很大的負(fù)面影響。這使得選擇優(yōu)化器成為構(gòu)建、測(cè)試和部署機(jī)器學(xué)習(xí)模型過程中的關(guān)鍵一環(huán)。

優(yōu)化器怎么選?一文教你選擇適合不同ML項(xiàng)目的優(yōu)化器

上圖顯示了由于優(yōu)化器不同,模型性能可能會(huì)差異很大。

選擇優(yōu)化器的問題在于沒有一個(gè)可以解決所有問題的單一優(yōu)化器。實(shí)際上,優(yōu)化器的性能高度依賴于設(shè)置。所以根本問題是:「哪種優(yōu)化器最適合自身項(xiàng)目的特點(diǎn)?

下文就圍繞這個(gè)問題分兩部分展開,第一部分簡(jiǎn)要介紹常用的優(yōu)化器,第二部分講述「三步選擇法」,幫助用戶為自己的機(jī)器學(xué)習(xí)項(xiàng)目挑選出最佳優(yōu)化器。

常用優(yōu)化器

深度學(xué)習(xí)中幾乎所有流行的優(yōu)化器都是基于梯度下降。這意味著它們要反復(fù)估計(jì)給定損失函數(shù) L 的斜率,并沿著相反的方向移動(dòng)參數(shù)(因此向下移動(dòng)至假定的全局最小值)。這種優(yōu)化器最簡(jiǎn)單的示例是自 20 世紀(jì) 50 年代以來一直使用的隨機(jī)梯度下降(SGD)算法。21 世紀(jì)前 10 年,自適應(yīng)梯度法(如 AdaGrad 或 Adam)變得越來越流行。

但最近的趨勢(shì)表明,部分研究轉(zhuǎn)而使用先前的 SGD,而非自適應(yīng)梯度法。此外,當(dāng)前深度學(xué)習(xí)中的挑戰(zhàn)帶來了新的 SGD 變體,例如 LARS、LAMB[6][7]。例如谷歌研究院在其最近的論文中使用 LARS 訓(xùn)練一種強(qiáng)大的自監(jiān)督模型[8]。

本文中用 w 代表參數(shù),g 代表梯度,α為每個(gè)優(yōu)化器的全局學(xué)習(xí)率,t 代表時(shí)間步(time step)。

隨機(jī)梯度下降(SGD)算法

優(yōu)化器怎么選?一文教你選擇適合不同ML項(xiàng)目的優(yōu)化器

在隨機(jī)梯度下降算法(SGD)中,優(yōu)化器基于小批量估計(jì)梯度下降最快的方向,并朝該方向邁出一步。由于步長(zhǎng)固定,因此 SGD 可能很快停滯在平穩(wěn)區(qū)(plateaus)或者局部最小值上。

帶動(dòng)量的 SGD

優(yōu)化器怎么選?一文教你選擇適合不同ML項(xiàng)目的優(yōu)化器

其中β<1。當(dāng)帶有動(dòng)量時(shí),SGD 會(huì)在連續(xù)下降的方向上加速(這就是該方法被稱為「重球法」的原因)。這種加速有助于模型逃脫平穩(wěn)區(qū),使其不易陷入局部極小值。

AdaGrad

優(yōu)化器怎么選?一文教你選擇適合不同ML項(xiàng)目的優(yōu)化器

AdaGrad 是首批成功利用自適應(yīng)學(xué)習(xí)率的方法之一。AdaGrad 基于平方梯度之和的倒數(shù)的平方根來縮放每個(gè)參數(shù)的學(xué)習(xí)率。該過程將稀疏梯度方向放大,以允許在這些方向上進(jìn)行較大調(diào)整。結(jié)果是在具有稀疏特征的場(chǎng)景中,AdaGrad 能夠更快地收斂。

RMSprop

優(yōu)化器怎么選?一文教你選擇適合不同ML項(xiàng)目的優(yōu)化器

RMSprop 是一個(gè)未發(fā)布的優(yōu)化器,但在最近幾年中已被過度使用。其理念類似于 AdaGrad,但是梯度的重新縮放不太積極:用平方梯度的移動(dòng)均值替代平方梯度的總和。RMSprop 通常與動(dòng)量一起使用,可以理解為 Rprop 對(duì)小批量設(shè)置的適應(yīng)。

Adam

優(yōu)化器怎么選?一文教你選擇適合不同ML項(xiàng)目的優(yōu)化器

Adam 將 AdaGrad、RMSprop 和動(dòng)量方法結(jié)合到一起。下一步的方向由梯度的移動(dòng)平均值決定,步長(zhǎng)大小由全局步長(zhǎng)大小設(shè)置上限。此外,類似于 RMSprop,Adam 對(duì)梯度的每個(gè)維度進(jìn)行重新縮放。Adam 和 RMSprop(或 AdaGrad)之間一個(gè)主要區(qū)別是對(duì)瞬時(shí)估計(jì) m 和 v 的零偏差進(jìn)行了矯正。Adam 以少量超參數(shù)微調(diào)就能獲得良好的性能著稱。

AdamW

優(yōu)化器怎么選?一文教你選擇適合不同ML項(xiàng)目的優(yōu)化器

Loshchilov 和 Hutter 在自適應(yīng)梯度方法中確定了 L2 正則化和權(quán)重下降的不等式,并假設(shè)這種不等式限制了 Adam 的性能。然后,他們提出將權(quán)重衰減與學(xué)習(xí)率解耦。實(shí)驗(yàn)結(jié)果表明 AdamW 比 Adam(利用動(dòng)量縮小與 SGD 的差距)有更好的泛化性能,并且對(duì)于 AdamW 而言,最優(yōu)超參數(shù)的范圍更廣。

LARS

優(yōu)化器怎么選?一文教你選擇適合不同ML項(xiàng)目的優(yōu)化器

LARS 是 SGD 的有動(dòng)量擴(kuò)展,可以適應(yīng)每層的學(xué)習(xí)率。LARS 最近在研究界引起了關(guān)注。這是由于可用數(shù)據(jù)的穩(wěn)定增長(zhǎng),機(jī)器學(xué)習(xí)的分布式訓(xùn)練也變得越來越流行。這使得批處理大小開始增長(zhǎng),但又會(huì)導(dǎo)致訓(xùn)練變得不穩(wěn)定。有研究者(Yang et al)認(rèn)為這些不穩(wěn)定性源于某些層的梯度標(biāo)準(zhǔn)和權(quán)重標(biāo)準(zhǔn)之間的不平衡。因此他們提出了一種優(yōu)化器,該優(yōu)化器基于「信任」參數(shù)η<1 和該層梯度的反范數(shù)來重新調(diào)整每層的學(xué)習(xí)率。

如何選擇合適的優(yōu)化器?

如上所述,為機(jī)器學(xué)習(xí)問題選擇合適的優(yōu)化器可能非常困難。更具體地說,沒有萬能的解決方案,只能根據(jù)特定問題選擇合適的優(yōu)化器。但在選擇優(yōu)化其之前應(yīng)該問自己以下 3 個(gè)問題

  • 類似的數(shù)據(jù)集和任務(wù)的 SOTA 結(jié)果是什么?
  • 使用了哪些優(yōu)化器?
  • 為什么使用這些優(yōu)化器?

如果您使用的是新型機(jī)器學(xué)習(xí)方法,那么可能存在一篇或多篇涵蓋類似問題或處理了類似數(shù)據(jù)的優(yōu)秀論文。通常,論文作者會(huì)進(jìn)行廣泛的交叉驗(yàn)證,并且給出最成功的配置。讀者可以嘗試?yán)斫馑麄冞x擇那些優(yōu)化器的原因。

例如:假設(shè)你想訓(xùn)練生成對(duì)抗網(wǎng)絡(luò)(GAN),以對(duì)一組圖像執(zhí)行超分辨率。經(jīng)過一番研究后,你偶然發(fā)現(xiàn)了一篇論文 [12],研究人員使用 Adam 優(yōu)化器解決了完全相同的問題。威爾遜等人[2] 認(rèn)為訓(xùn)練 GAN 并不應(yīng)該重點(diǎn)關(guān)注優(yōu)化問題,并且 Adam 可能非常適合這種情況。所以在這種情況下,Adam 是不錯(cuò)的優(yōu)化器選擇。

此外,你的數(shù)據(jù)集中是否存在可以發(fā)揮某些優(yōu)化器優(yōu)勢(shì)的特性?如果是這樣,則需要考慮優(yōu)化器的選擇問題。

下表 1 概述了幾種優(yōu)化器的優(yōu)缺點(diǎn)。讀者可以嘗試找到與數(shù)據(jù)集特征、訓(xùn)練設(shè)置和項(xiàng)目目標(biāo)相匹配的優(yōu)化器。某些優(yōu)化器在具有稀疏特征的數(shù)據(jù)上表現(xiàn)出色,而有一些將模型應(yīng)用于先前未見過的數(shù)據(jù)時(shí)可能會(huì)表現(xiàn)更好。一些優(yōu)化器在大批處理量下可以很好地工作,而另一些優(yōu)化器會(huì)在泛化不佳的情況下收斂到極小的最小值。

優(yōu)化器怎么選?一文教你選擇適合不同ML項(xiàng)目的優(yōu)化器

舉例而言:如果你需要將用戶給出的反饋分類成正面和負(fù)面反饋,考慮使用詞袋模型(bag-of-words)作為機(jī)器學(xué)習(xí)模型的輸入特征。由于這些特征可能非常稀疏,所以決定采用自適應(yīng)梯度方法。但是具體選擇哪一種優(yōu)化器呢?參考上表 1,你會(huì)發(fā)現(xiàn) AdaGrad 具有自適應(yīng)梯度方法中最少的可調(diào)參數(shù)。在項(xiàng)目時(shí)間有限的情況下,可能就會(huì)選擇 AdaGrad 作為優(yōu)化器。

最后需要考慮的問題:該項(xiàng)目有哪些資源?項(xiàng)目可用資源也會(huì)影響優(yōu)化器的選擇。計(jì)算限制或內(nèi)存限制以及項(xiàng)目時(shí)間范圍都會(huì)影響優(yōu)化器的選擇范圍。

如上表 1 所示,可以看到每個(gè)優(yōu)化器有不同的內(nèi)存要求和可調(diào)參數(shù)數(shù)量。此信息可以幫助你估計(jì)項(xiàng)目設(shè)置是否可以支持優(yōu)化器的所需資源。

舉例而言:你正在業(yè)余時(shí)間進(jìn)行一個(gè)項(xiàng)目,想在家用計(jì)算機(jī)的圖像數(shù)據(jù)集上訓(xùn)練一個(gè)自監(jiān)督的模型(如 SimCLR)。對(duì)于 SimCLR 之類的模型,性能會(huì)隨著批處理大小的增加而提高。因此你想盡可能多地節(jié)省內(nèi)存,以便進(jìn)行大批量的訓(xùn)練。選擇沒有動(dòng)量的簡(jiǎn)單隨機(jī)梯度下降作為優(yōu)化器,因?yàn)榕c其他優(yōu)化器相比,它需要最少的額外內(nèi)存來存儲(chǔ)狀態(tài)。

 

責(zé)任編輯:張燕妮 來源: 機(jī)器之心Pro
相關(guān)推薦

2024-11-18 17:16:18

Python性能優(yōu)化編程

2023-07-31 21:56:54

哨兵系統(tǒng)redis

2022-02-20 09:56:28

TCPIP網(wǎng)絡(luò)協(xié)議

2023-12-27 07:40:43

HTTP服務(wù)器負(fù)載均衡

2021-12-07 06:02:15

Redis Docker運(yùn)維

2023-11-28 09:31:55

MySQL算法

2022-08-01 14:59:57

Web前端后端

2024-11-20 16:42:03

Python科學(xué)計(jì)算

2025-05-30 01:00:00

RAG大模型流程

2024-11-20 16:12:31

Python圖像處理計(jì)算機(jī)視覺

2022-09-05 07:32:46

mock數(shù)據(jù)Stream

2024-12-19 15:00:00

數(shù)據(jù)清洗Python

2021-01-15 13:18:39

數(shù)據(jù)模型領(lǐng)域模型代碼

2025-06-20 08:00:00

硬路由軟路由網(wǎng)絡(luò)

2021-02-06 13:45:59

SQL子查詢數(shù)據(jù)庫

2023-05-11 08:26:56

2019-07-23 07:30:16

2020-12-22 10:02:53

ZabbixMySQL數(shù)據(jù)庫

2023-03-31 08:16:53

Flutter優(yōu)化內(nèi)存管理
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 91在线导航 | 日本久久一区二区三区 | 日韩精品一区二区三区久久 | 亚洲国产18| 久久一久久 | 国产精品久久一区 | 成人日韩精品 | 日本在线观看视频 | 欧美在线视频网站 | 亚洲精品自在在线观看 | 亚洲一区综合 | 欧美成人一区二区三区 | 69av在线视频 | jlzzjlzz国产精品久久 | 日韩a在线 | 一级片在线观看 | 亚洲最大福利网 | 久草院线 | 久久国产日韩 | 成人免费观看男女羞羞视频 | 久久综合欧美 | 欧美久久天堂 | 国产一区二区三区四区五区加勒比 | 久久久精品一区二区三区四季av | 日韩三极 | 欧美精品一区二区三区蜜桃视频 | 97伦理电影 | 色精品视频 | 亚洲精品成人网 | 亚洲一区二区三区免费在线观看 | 久久精品毛片 | 久久精品欧美一区二区三区麻豆 | 干干天天 | 国产精品成人一区二区三区夜夜夜 | 久久久久亚洲精品中文字幕 | 亚洲一级二级三级 | 午夜一区二区三区在线观看 | 日韩精品视频在线 | 欧美一区二区三区在线看 | 欧美一级特黄aaa大片在线观看 | 国产精品亚洲一区二区三区在线 |