日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

从动力学角度看优化算法:一个更整体的视角

發布時間:2024/10/8 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从动力学角度看优化算法:一个更整体的视角 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


作者丨蘇劍林

單位丨廣州火焰信息科技有限公司

研究方向丨NLP,神經網絡

個人主頁丨kexue.fm


最近把優化算法跟動力學結合起來思考得越來越起勁了,這是優化算法與動力學系列的第三篇,我有預感還會有第四篇,敬請期待。


簡單來個劇情回顧:第一篇中我們指出了其實 SGD 相當于常微分方程(ODE)的數值解法:歐拉法;第二篇我們從數值解法誤差分析的角度,分析了為什么可以通過梯度來調節學習率,因此也就解釋了 RMSprop、Adam 等算法中,用梯度調節學習率的原理。


本文將給出一個更統一的觀點來看待這兩個事情,并且試圖回答一個更本質的問題:為什么是梯度下降?


注:本文的討論沒有涉及到動量加速部分。


梯度下降再述


前兩篇文章討論的觀點是“梯度下降相當于解 ODE”,可是我們似乎還沒有回答過,為什么是梯度下降?它是怎么來的?也就是說,之前我們只是在有了梯度下降之后,去解釋梯度下降,還沒有去面對梯度下降的起源問題。?


下降最快的方向


基本的說法是這樣的:梯度的反方向,是 loss 下降得最快的方向,所以要梯度下降。人們一般還會畫出一個等高線圖之類的示意圖,來解釋為什么梯度的反方向是loss下降得最快的方向。


因此,很多人詬病 RMSprop 之類的自適應學習率優化器的原因也很簡單:因為它們改變了參數下降的方向,使得優化不再是往梯度方向下降,所以效果不好。?


但這樣解釋是不是足夠合理了呢?


再描述一下問題?


正式討論之前,我們把問題簡單定義一下:


1. 我們有一個標量函數 L(θ)≥0,這里的參數 θ 可以是一個多元向量;


2. 至少存在一個點,使得,也就是說,L(θ) 的最小值就是 0;


3. 給定 L(θ) 的具體形式,我們當然希望找到讓 L(θ)=0 的 θ,就算不行,也希望找到一個 θ 讓 L(θ) 盡量小一些。


值得一提的是第 2 點,它其實并不是必要的,但有助于我們后面描述的一些探討。也就是說,第 2 點其實只是一個假設,要知道,隨便給我們一個函數,要我們求最小值的位置,但一般來說我們并不能事先知道它的最小值是多少。


但是在深度學習中,這一點基本是成立的,因為我們通常會把 loss 設置成非負,并且得益于神經網絡強大的擬合能力,loss 很大程度上都能足夠接近于 0。


考慮loss的變化率


好,進入正題。假設在優化過程中參數 θ 按照某種軌跡 θ(t) 進行變化,那么 L(θ) 也變成了 t 的函數 L(θ(t))。注意這里的 t 不是真實的時間,它只是用來描述變化的參數,相當于迭代次數。?


現在我們考慮?L(θ(t))?的變化率:



這里就是 dθ/dt,??? 表示普通的內積。我們希望 L 越小越好,自然是希望上式右端為負數,而且絕對值越大越好。假如固定的模長,那么要使得上式右端最小,根據內積的特點,?θL 和的夾角應該要是 180 度,也就是:



這也就說明了,梯度的反方向確實是 loss 下降最快的方向。而根據第一篇文章,上式不就是梯度下降?于是我們就很干脆地導出了梯度下降了。并且將 (2) 代入到 (1) 中,我們得到:



這表明,只要學習率足夠小(模擬 ODE 模擬到足夠準確),并且 ?θL≠0,那么 L 就一定會下降,直到 ?θL=0,這時候停留的位置,是個極小值點或者鞍點,理論上不可能是極大值點。


此外,我們經常用的是隨機梯度下降,mini-batch 的做法會帶來一定的噪聲,而噪聲在一定程度上能降低鞍點的概率(鞍點有可能對擾動不魯棒),所以通常隨機梯度下降效果比全量梯度下降要好些。


RMSprop再述?


其實如果真的理解了上述推導過程,那么讀者可以自己折騰出很多不同的優化算法出來。?


不止有一個方向


比如,雖然前面已經證明了梯度的反方向是 loss 下降最快的方向,但憑什么就一定要往降得最快的的方向走呢?雖然梯度的反方向是堂堂正道,但也總有一些劍走偏鋒的,理論上只要我保證能下降就行了,比如我可以取:



注意 ?θL 是一個向量,sign(?θL) 指的是對每一個分量取符號函數,得到一個元素是 -1 或 0 或 1 的向量。這樣一來式 (1) 變為:



其中表示向量的 L1 距離。這樣選取也保證了 loss 在下降,理論上它收斂在 ?θL=0 之處。


其實我們還有(假設梯度分量非零):



結合 (4) 和第二篇文章,再配合滑動平均,可以發現這一節說的就是 RMSprop 算法。


也就是說,自適應學習率優化器中,“學習率變成了向量,使得優化方向不再是梯度方向”根本不是什么毛病,也就不應該是自適應學習率優化器被人詬病之處。


不走捷徑會怎樣


但事實上是,真的精細調參的話,通常來說自適應學習率最終效果真的是不如 SGD,說明自適應學習率優化器確實是有點毛病的。也就是說,如果你劍走偏鋒,雖然一開始你走的比別人快,后期你就不如別人了。?


毛病在哪呢?其實,如果是 Adagrad,那問題顯然是“太早停下來了”,因為它將歷史梯度求和了(而不是平均),導致后期學習率太接近 0 了;如果是上面說的 RMSprop,那么問題是——“根本停不下來”。?


其實結合 (4) 和 (6) 我們得到:



這個算法什么時候停下來呢?實際上它不會停,因為只要梯度分量非零,那么對應的的分量也非零(不是 1 就是 -1),從而在理論上看,這個算法并沒有不動點,所以它根本不會停。


為了緩解這個情況,RMSprop 在實際使用的時候,采取了對分母滑動平均、加上 epsilon(防止除零錯誤)這兩個技巧。


但這只能算是緩解了問題,用 ODE 的話說就是“這個 ODE 并不是漸近穩定的”,所以終究會經常與局部最優點插肩而過。這才是自適應學習率算法的問題。


一點搗鼓


前面說了,如果真的理解過這個過程,其實自己都可以搗鼓出一些“獨創的”優化算法出來,順便還分析收斂情況。下面介紹我自己的一個搗鼓過程,還讓我誤以為是一個能絕對找出全局最優點的優化器。


觀看下面內容之前,請確保自己已經理解前述內容,否則可能造成誤導。


以全局最優為導向


這個搗鼓的出發點在于,不管是 (2)(對應的收斂速率為 (3))還是 (7)(對應的收斂速率為 (5)),就算它們能收斂,都只能保證 ?θL=0 ,無法保證是全局最優點(也就是不一定能做到 L(θ)=0)。


于是一個很簡單的想法是:既然我們已經知道了最小值是零,為什么不把這個信息加上去呢??


于是類比前面的思考過程,我們可以考慮:



這時候式 (1) 變得非常簡單:



這只是一個普通的線性微分方程,而且解是,隨著 t→+∞,L(t)→0,也就是說 loss 一定能收斂到零。


真有這樣的好事?


當然沒有,我們來看式 (8) ,如果跑到了一個局部最優點,滿足 ?θL=0, L>0,那么式 (8) 的右端就是負無窮了,這在理論上沒有問題,但是在數值計算上是無法實現的。


開始我以為這個問題很容易解決,似乎對分母加個 epsilon 避開原點就行了。但進一步分析才發現,這個問題是致命性的。?


為了觀察原因,我們把式 (8) 改寫為:



問題就在于 1/||?θL|| 會變得無窮大(出現了奇點),那能不能做個截斷?比如考慮:



其中 M?0 是個常數,這樣就繞開了奇點。這樣子做倒是真的能繞開一些局部最優點,比如下面的例子:


?含有兩個極小值點的一元函數


這個函數大約在 x=0.41 之間有一個全局最優點,函數值能取到 0,但是在 x=3 的時候有一個次最優點。如果以 x0=4 為初始值,單純是用梯度下降的話,那么基本上都會收斂到 x=3,但是用 (11),還是從 x0=4 出發,那么經過一定振蕩后,最終能收斂到 x=0.41 附近:


?模擬“獨創版”梯度下降軌跡


可以看到,開始確實會在 x=3 附近徘徊,振蕩一段時間后就跳出來了,到了 x=0.41 附近。作圖代碼:


import?numpy?as?np
import?matplotlib.pyplot?as?plt


def?f(x):
????return?x?*?(x?-?1)?*?(x?-?3)?*?(x?-?3)?+?1.62276

def?g(x):
????return?-9?+?30?*?x?-?21?*?x**2?+?4?*?x**3

ts?=?[0]
xs?=?[4]
h?=?0.01
H?=?2500

for?i?in?range(H):
????x?=?xs[-1]
????delta?=?-np.sign(g(x))?*?min(abs(g(x))?/?g(x)**2,?1000)?*?f(x)
????x?+=?delta?*?h
????xs.append(x)
????ts.append(ts[-1]?+?h)

print?f(xs[-1])
plt.figure()
plt.clf()
plt.plot(ts,?xs,?'g')
plt.legend()
plt.xlabel('$t$')
plt.ylabel('$\\theta(t)$')
plt.show()


然而,看上去很美好,實際上它沒有什么價值,因為真的要保證跳出所有的局部最優點,M 必須足夠大(這樣才能跟原始的 (10) 足夠接近),而且迭代步數足夠多。


但如果真能達到這個條件,其實還不如我們自己往梯度下降中加入高斯噪聲,因為在第一篇文章我們已經表明,如果假設梯度的噪聲是高斯的,那么從概率上來看,總能達到全局最優點(也需要迭代步數足夠多)。所以,這個看上去很漂亮的玩意,并沒有什么實用價值。


文章小結


好了,哆里哆嗦搗鼓了一陣,又水了一篇文章。個人感覺從動力學角度來分析優化算法是一件非常有趣的事情,它能讓你以一種相對輕松的角度來理解優化算法的魅力,甚至能將很多方面的知識聯系起來。


一般的理解優化算法的思路,是從凸優化出發,然后把凸優化的結果不嚴格地用到非凸情形中。我們研究凸優化,是因為“凸性”對很多理論證明都是一個有力的條件,然而深度學習幾乎處處都是非凸的。


既然都已經是非凸了,也就是凸優化中的證明完備的這一優點已經不存在了,我覺得倒不如從一個更輕松的角度來看這個事情。這個更輕松的角度,就是動力系統,或者說常微分方程組。


事實上,這個視角的潛力很大,包括 GAN 的收斂分析,以及膾炙人口的“神經 ODE”,都終將落到這個視角來。當然這些都是后話了。




點擊以下標題查看作者其他文章:?


  • 變分自編碼器VAE:原來是這么一回事 | 附開源代碼

  • 再談變分自編碼器VAE:從貝葉斯觀點出發

  • 變分自編碼器VAE:這樣做為什么能成?

  • 從變分編碼、信息瓶頸到正態分布:論遺忘的重要性

  • 深度學習中的互信息:無監督提取特征

  • 全新視角:用變分推斷統一理解生成模型

  • 細水長flow之NICE:流模型的基本概念與實現

  • 細水長flow之f-VAEs:Glow與VAEs的聯姻

  • 深度學習中的Lipschitz約束:泛化與生成模型




#投 稿 通 道#

?讓你的論文被更多人看到?



如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢??答案就是:你不認識的人。


總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?


PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得技術干貨。我們的目的只有一個,讓知識真正流動起來。


??來稿標準:

? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?

? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?

? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志


? 投稿郵箱:

? 投稿郵箱:hr@paperweekly.site?

? 所有文章配圖,請單獨在附件中發送?

? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通




?


現在,在「知乎」也能找到我們了

進入知乎首頁搜索「PaperWeekly」

點擊「關注」訂閱我們的專欄吧



關于PaperWeekly


PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。


▽ 點擊 |?閱讀原文?| 查看作者博客

總結

以上是生活随笔為你收集整理的从动力学角度看优化算法:一个更整体的视角的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产日韩欧美综合在线 | 久久无码人妻一区二区三区 | 超薄肉色丝袜一区二区 | 天天草视频| 久久久久亚洲精品国产 | 成人做爰www看视频软件 | 不卡的av在线播放 | 一级片黄色片 | 中文字幕视频在线播放 | 国产男女猛烈无遮挡免费视频动漫 | 中文二区| 91桃色网站 | 中文字幕第九页 | 熟女视频一区二区三区 | 天天爽夜夜爽一区二区三区 | 中国黄色三级视频 | 中文字幕日韩精品在线 | 亚洲每日在线 | 青青视频在线播放 | 天天做天天爱天天爽综合网 | 午夜免费在线观看 | 亚洲精品一二区 | 国产精品制服诱惑 | 好男人www社区在线视频夜恋 | 国产高清自拍视频 | 在线观看国产小视频 | 日韩一区二区三区四区五区 | 亚洲淫欲| 亚洲乱码在线 | 国产精品制服诱惑 | 中文字幕精品三级久久久 | 香蕉精品视频在线观看 | 秋霞成人午夜伦在线观看 | 国产成人在线视频免费观看 | 亚洲成a人片77777精品 | 91中文字幕在线播放 | 国产乱淫av麻豆国产免费 | 污污污污污污www网站免费 | 91国产在线看 | 日韩在线观看你懂的 | www.四虎在线观看 | 国内自拍一区 | 国产精品蜜臀 | 中文字幕av影片 | 精品视频导航 | 我们好看的2018视频在线观看 | 亚洲高清毛片 | www.三区 | 久久最新| 国产乱xxⅹxx国语对白 | 久久久久久国产精品三区 | 美女让男生桶 | 色呦呦在线观看视频 | 久热精品视频在线观看 | 国产乱淫精品一区二区三区毛片 | 99视频一区 | 朋友人妻少妇精品系列 | 91插视频 | 黑人与日本少妇 | 亚洲一区二区三区在线 | 影音先锋黄色资源 | 天堂在线资源8 | 午夜a区 | 夜间福利网站 | 亚洲欧美日韩在线一区二区 | 激情小说中文字幕 | 国产麻豆成人 | 欧美熟妇久久久久 | 亚洲国产日韩一区 | 邵氏电影《金莲外传2》免费观看 | 国产第一页第二页 | 久久青草热| 欧美极品在线观看 | 日韩在线精品 | a级黄色片| 青青草视频成人 | 国产九九九九九 | 农村搞破鞋视频大全 | 久久一级电影 | 欧美性猛交乱大交xxxx | 免费黄色小视频网站 | 亚洲国产aⅴ成人精品无吗 日韩乱论 | 中文字幕av不卡 | 丰满熟妇肥白一区二区在线 | 黄色三级在线视频 | 欧美国产日韩一区 | 亚洲一区二区三区国产 | 美女视频黄免费 | avtt久久| japanese av在线| 日韩亚洲欧美综合 | 狠狠躁日日躁夜夜躁 | 成人免费无码av | 黑人欧美一区二区三区 | 日美韩一区二区三区 | 青青艹视频| 欧美性猛交xxxx黑人交 | 天天摸天天碰天天爽天天弄 | 日韩一级 |