国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

深入淺出地介紹了牛頓法、動量法、RMSProp、Adam優化算法

zhKF_jqr_AI ? 來源:未知 ? 作者:李倩 ? 2018-10-08 09:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

編者按:DRDO研究人員Ayoosh Kathuria深入淺出地介紹了牛頓法、動量法、RMSProp、Adam優化算法

本系列的上一篇文章介紹了隨機梯度下降,以及如何應對陷入局部極小值或鞍點的問題。在這篇文章中,我們將查看另一個困擾神經網絡訓練的問題,病態曲率。

局部極小值和鞍點會使訓練停滯,而病態曲率則會減慢訓練速度,以至于機器學習從業者可能會覺得搜索收斂到了一個次優極小值。讓我們深入了解下什么是病態曲率。

病態曲率

考慮下面的損失曲面。

如你所見,我們從隨機點開始,漸漸進入藍色的溝壑區。(顏色表示損失函數在特定點的值是高是低,紅色表示高值,藍色表示低值。)

在到達最小值之前,我們需要首先穿過溝壑區,也就是病態曲率。讓我們放大一下這一區域,看看為什么稱病態?

紅線為梯度下降的路徑;藍線為理想路徑

如上圖所示,梯度下降在溝壑區的脊間反復振蕩,極其緩慢地向最小值處移動。這是因為w1方向要陡峭得多。

考慮下圖中A點的梯度,可以分解為w1、w2方向的兩個分量。w1方向的梯度要大很多,因此梯度的方向大為偏向w1,而不是w2(但w2才是能夠更快到達最小值處的梯度方向)。

通常情況下,我們使用低學習率來應對這樣的反復振蕩,但在病態曲率區域使用低學習率,可能要花很多時間才能達到最小值處。事實上,有論文報告,防止反復振蕩的足夠小的學習率,也許會導致從業者相信損失完全沒有改善,干脆放棄訓練。

大概,我們需要找到一種方法,首先緩慢地進入病態曲率的平坦底部,然后加速往最小值方向移動。二階導數可以幫助我們做到這一點。

牛頓法

梯度下降是一階優化方法。它只考慮損失函數的一階導數,不考慮高階函數。基本上這意味著它對損失函數的曲率一無所知。梯度下降可以告訴我們損失是否下降,下降得有多快,但無法區分曲線的的彎曲程度。

上圖三條曲線,紅點處的梯度都是一樣的,但曲率大不一樣。解決方案?考慮二階導數,或者說梯度改變得有多快。

使用二階導數解決這一問題的一個非常流行的技術是牛頓法(Newton's Method)。為了避免偏離本文的主題,我不會過多探究牛頓法的數學。相反,我將嘗試構建牛頓法的直覺。

牛頓法可以提供向梯度方向移動的理想步幅。由于我們現在具備了損失曲面的曲率信息,步幅可以據此確定,避免越過病態曲率的底部。

牛頓法通過計算Hessian矩陣做到這一點。Hessian矩陣是損失函數在所有權重組合上的二階導數的矩陣。

Hessian提供了損失曲面每一點上的曲率估計。正曲率意味著隨著我們的移動,損失曲面變得不那么陡峭了。負曲率則意味著,損失曲面變得越來越陡峭了。

注意,如果這一步的計算結果是負的,那就意味著我們可以切換回原本的算法。這對應于下面梯度變得越來越陡峭的情形。

然而,如果梯度變得越來越不陡峭,那么我們也許正向病態曲率的底部移動。這時牛頓算法提供了一個修正過的學習步幅,和曲率成反比。換句話說,如果損失曲面變得不那么陡峭,學習步幅就下降。

為何我們不常使用牛頓法?

你已經看到公式中的Hessian矩陣了。Hessian矩陣需要我們計算損失函數在所有權重組合上的梯度。也就是說,需要做的計算的數量級是神經網絡所有權重數量的平方。

現代神經網絡架構的參數量可能是數億,計算數億的平方的梯度在算力上不可行。

雖然高階優化方法在算力上不太可行,但二階優化關于納入梯度自身如何改變的想法是可以借鑒的。雖然我們無法準確計算這一信息,但我們可以基于之前梯度的信息使用啟發式算法引導優化過程。

動量

搭配SGD使用的一個非常流行的技術是動量(Momentum)。動量法不僅使用當前的梯度,同時還利用之前的梯度提供的信息。

上面的第一個等式就是動量,動量等式由兩部分組成,第一項是上一次迭代的動量,乘以“動量系數”。

比如,假設我們將初始動量v設為0,系數定為0.9,那么后續的更新等式為:

我們看到,后續的更新保留了之前的梯度,但最近的梯度權重更高。(致喜歡數學的讀者,這是梯度的指數平均。)

下面我們來看看動量法如何幫助我們緩解病態曲率的問題。下圖中,大多數梯度更新發生在之字形方向上,我們將每次更新分解為w1和w2方向上的兩個分量。如果我們分別累加這些梯度的兩個分量,那么w1方向上的分量將互相抵消,而w2方向上的分量得到了加強。

也就是說,基于動量法的更新,積累了w2方向上的分量,清空了w1方向上的分量,從而幫助我們更快地通往最小值。從這個意義上說,動量法也有助于抑制振蕩。

動量法同時提供了加速度,從而加快收斂。但你可能想要搭配模擬退火,以免跳過最小值。

在實踐中,動量系數一般初始化為0.5,并在多個epoch后逐漸退火至0.9.

RMSProp

RMSProp,也就是均方根傳播的歷史很有趣。它是傳奇人物Geoffrey Hinton在Coursera授課時初次提出的。

RMSProp也試圖抑制振蕩,但采取的方法和動量不同。此外,RMSProp可以自動調整學習率。還有,RMSProp為每個參數選定不同的學習率。

在第一個等式中,類似之前的動量法,我們計算了梯度平方的指數平均。由于我們為每個參數單獨計算,這里的梯度gt表示正更新的參數上的梯度投影。

第二個等式根據指數平均決定步幅大小。我們選定一個初始學習率η,接著除以平均數。在我們上面舉的例子中,w1的梯度指數平均比w2大得多,所以w1的學習步幅比w2小得多。這就幫助我們避免了脊間振蕩,更快地向最小值移動。

第三個等式不過是權重更新步驟。

上面的等式中,超參數ρ一般定為0.9,但你可能需要加以調整。等式2中的ε是為了確保除數不為零,一般定為1e-10.

注意RMSProp隱式地應用了模擬退火。在向最小值移動的過程中,RMSProp會自動降低學習步幅,以免跳過最小值。

Adam

Adam,即Adaptive Moment Optimization算法結合了動量和RMSProp的啟發式算法。

這里,我們計算了梯度的指數平均和梯度平方的指數平均(等式1和等式2)。為了得出學習步幅,等式3在學習率上乘以梯度的平均(類似動量),除以梯度平方平均的均方根(類似RMSProp)。等式4是權重更新步驟。

超參數β1一般取0.9,β2一般取0.99. ε一般定為1e-10.

結語

本文介紹了三種應對病態曲率同時加速訓練過程的梯度下降方法。

在這三種方法之中,也許動量法用得更普遍,盡管從論文上看Adam更吸引人。經驗表明這三種算法都能收斂到給定損失曲面的不同的最優局部極小值。然而,動量法看起來要比Adam更容易找到比較平坦的最小值,而自適應方法(自動調整學習率)傾向于迅速地收斂于較尖的最小值。比較平坦的最小值概括性更好。

盡管這些方法有助于我們馴服深度網絡難以控制的損失平面,隨著網絡日益變深,它們開始變得不夠用了。除了選擇更好的優化方法,有相當多的研究試圖尋找能夠生成更平滑的損失曲面的架構。批量歸一化(Batch Normalization)和殘差連接(Residual Connections)正是這方面的兩個例子。我們會在后續的文章中詳細介紹它們。但這篇文章就到此為止了

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4838

    瀏覽量

    107773
  • 函數
    +關注

    關注

    3

    文章

    4417

    瀏覽量

    67513

原文標題:深度學習優化算法入門:二、動量、RMSProp、Adam

文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    電動重卡直流充電槍為何要選易?

    隨著“雙碳”目標深入推進,新能源重卡銷量持續攀升,2024年電動重卡占比已超90%。然而,重卡日均行駛里程長、運輸頻次高,傳統充電方案難以滿足其“高頻次、短間隔”的運營需求。易技術團隊指出
    的頭像 發表于 03-06 14:48 ?19次閱讀
    電動重卡直流充電槍為何要選<b class='flag-5'>法</b><b class='flag-5'>法</b>易?

    節點分析的工作原理和基本步驟

    節點分析(節點電壓、節點電位)是一種電路分析技術,以電路中各節點(連接點)的電位作為未知量,運用基爾霍夫電流定律(KCL)建立聯立方程進行求解。作為與網孔分析同樣重要的經典電路
    的頭像 發表于 02-05 14:50 ?364次閱讀
    節點分析<b class='flag-5'>法</b>的工作原理和基本步驟

    單片機ADC采樣算法-中位值平均濾波

    中位值平均濾波濾波就是通過連續采樣N個數據,然后對數據從小到大排序,然后去掉最大值和最小值,對剩余的N-2個值計算算數平均值。也就是中位值濾波和算數平均濾波的結合。 下面看C代碼的實現
    發表于 01-22 06:17

    深入淺出:SN65LVDSxxx高速差分線驅動與接收器解析

    深入淺出:SN65LVDSxxx高速差分線驅動與接收器解析 在高速數據傳輸的領域中,低電壓差分信號(LVDS)技術以其低功耗、高速度和抗干擾能力強等優勢,成為了眾多電子工程師的首選。德州儀器(TI
    的頭像 發表于 01-15 15:30 ?223次閱讀

    深入淺出GMSSL:掌握SM2、SM3、SM4國密算法的高效實踐

    隨著國家信息安全戰略的推進,國密算法在各類安全系統中的應用日益廣泛。GMSSL作為支持國密標準的重要工具庫,為開發者提供SM2(非對稱加密)、SM3(哈希算法)和SM4(對稱加密)的完整實現。本文
    的頭像 發表于 12-12 18:20 ?615次閱讀
    <b class='flag-5'>深入淺出</b>GMSSL:掌握SM2、SM3、SM4國密<b class='flag-5'>算法</b>的高效實踐

    易二代充電槍解鎖充電新境界

    的基礎上采用零鎖槍方案和更輕的槍體設計,重新定義充電新體驗。傳統鎖槍機制因操作復雜或故障率高,易引發用戶抱怨。易推出零鎖槍方案,用戶無需等待,即插即用,大幅提升
    的頭像 發表于 07-07 10:41 ?673次閱讀
    <b class='flag-5'>法</b><b class='flag-5'>法</b>易二代充電槍解鎖充電新境界

    100微電容怎么測量

    本文介紹三種主流測量電容的方法:萬用表直接測量、指針式萬用表、差動式直流充電。其中,萬用表直接測量操作簡單、成本低,適合現場維修等場
    的頭像 發表于 06-22 09:52 ?2123次閱讀
    100微<b class='flag-5'>法</b>電容怎么測量

    VirtualLab:光柵的優化與分析

    算法: TEA和FMM(也稱為RCWA)。比較不同周期的兩種類型的光柵(正弦和閃耀)結果。 傾斜光柵的參數優化及公差分析 以傅里葉模態(FMM)作為參數
    發表于 05-23 08:49

    門老師教你快速看懂電子電路圖

    本文從最基本的電容電阻開講,包含模電數電,以及部分電氣知識點,深入淺出。 資料介紹: 全文共分7課,以老師授課和師生交流的形式系統地介紹電子電路識圖方面的基本知識和技能,包括電路圖的
    發表于 05-16 15:17

    程序設計與數據結構

    的地址)出發,采用推導的方式,深入淺出的分析廣大C程序員學習和開發中遇到的難點。 2. 從方法論的高度對C語言在數據結構和算法方面的應用進行了深入講解和闡述。 3. 講解了絕大多
    發表于 05-13 16:45

    深入淺出解析低功耗藍牙協議棧

    深入Bluetooth LE協議棧各個組成部分之前,我們先看一下Bluetooth LE協議棧整體架構。 如上圖所述,要實現一個Bluetooth LE應用,首先需要一個支持Bluetooth
    的頭像 發表于 04-09 14:49 ?1295次閱讀
    <b class='flag-5'>深入淺出</b>解析低功耗藍牙協議棧

    2025 中國華東智能家居創新技術研討會現場直擊,高精度算法如何改變生活?--其利天下

    在此次展會上,我司技術總監馮建武先生帶來了《智能家居的 “心臟” 革命:高精度電機驅動算法如何重塑未來生活》的演講,深入淺出地闡述我司目前在無刷馬達自適應算法、FOC控制
    的頭像 發表于 03-30 11:11 ?987次閱讀
    2025 中國華東智能家居創新技術研討會現場直擊,高精度<b class='flag-5'>算法</b>如何改變生活?--其利天下

    易400A風冷充電槍助力電動重卡充電提速

    易官方消息,易400A風冷充電槍已成功在重卡充電站上得到了廣泛的應用。目前重卡充電在行業內受到廣泛的關注,
    的頭像 發表于 03-18 16:29 ?1519次閱讀
    <b class='flag-5'>法</b><b class='flag-5'>法</b>易400A風冷充電槍助力電動重卡充電提速

    《零基礎開發AI Agent——手把手教你用扣子做智能體》

    《零基礎開發AI Agent——手把手教你用扣子做智能體》是一本為普通人量身打造的AI開發指南。它不僅深入淺出地講解了Agent的概念和發展,還通過詳細的工具介紹和實戰案例,幫助讀者快速掌握
    發表于 03-18 12:03

    VirtualLab Fusion應用:非近軸衍射分束器的設計與優化

    介紹這一部分。 非近軸衍射分束器的嚴格分析 采用傅里葉模態(FMM)對非近軸衍射分束器進行了嚴格的評價,該方法最初采用迭代傅里葉變換算法(IFTA)和薄元近似
    發表于 03-10 08:56