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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

梯度下降(Gradient Descent)的收敛性分析

發(fā)布時(shí)間:2024/10/8 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 梯度下降(Gradient Descent)的收敛性分析 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?作者 | 黃秋實(shí)

單位 | 香港中文大學(xué)(深圳)

研究方向 | 智能電網(wǎng)

梯度下降是一種簡(jiǎn)單且常用的優(yōu)化方法,它可以被用來求解很多可導(dǎo)的凸優(yōu)化問題(如邏輯回歸,線性回歸等)。同時(shí),梯度下降在非凸優(yōu)化問題的求解中也占有一席之地。我們常聽到神經(jīng)網(wǎng)絡(luò)(neural network),也常常使用梯度下降及其變種(如隨機(jī)梯度下降,Adam 等)來最小化經(jīng)驗(yàn)誤差(empirical loss)。

不妨設(shè)可導(dǎo)的目標(biāo)函數(shù)(objective function)為f(w),其中 w 為優(yōu)化變量。對(duì)于優(yōu)化問題(1):

我們可以使用如下算法進(jìn)行求解:

  • 隨機(jī)初始化優(yōu)化變量 ?

  • 重復(fù)如下步驟直至收斂:,其中 為優(yōu)化步長(zhǎng)

算法收斂后得到的 即為原優(yōu)化問題的一個(gè)解。顯然,對(duì)于凸優(yōu)化問題,梯度下降可以讓帶領(lǐng)我們找到全局的最優(yōu)解(global minima);但是對(duì)于非凸優(yōu)化問題,梯度下降有很大的可能只能讓我們得到一個(gè)局部最優(yōu)(local minima)或者鞍點(diǎn)(saddle point)。

1. 在什么條件下,梯度下降可以保證 更新后的目標(biāo)函數(shù)值 更小?

2. 優(yōu)化步長(zhǎng) 應(yīng)該如何設(shè)定?可以隨意選擇嗎?

3. 梯度下降的優(yōu)化算法為什么可以收斂?收斂的速度又是多快呢?

為了回答以上問題,我們需要先回顧一些數(shù)學(xué)知識(shí)。

多元泰勒展開(multivariate Taylor expansion)

對(duì)于一個(gè)二階可導(dǎo)的函數(shù) ,它的泰勒展開可以表示為:

其中, 和 為函數(shù)定義域中任意兩點(diǎn), 是 和 眾多凸組合(convex combination)中的一個(gè)()。


Lipschitz 連續(xù)性

給定兩個(gè)度量空間 和 , 是集合 X 上的測(cè)度, 是集合 Y 上的測(cè)度。一個(gè)從集合 X 到集合 Y 函數(shù) 滿足 Lipschitz 連續(xù),則存在一個(gè)常數(shù) 對(duì)于集合 X 中任意兩點(diǎn) 和 有:

因此對(duì)于函數(shù) ,若其滿足 Lipschitz 連續(xù),則對(duì)于任意兩點(diǎn) w 和 v,都滿足:

一個(gè)函數(shù) f(x) 滿足 Lipschitz 連續(xù),可以理解為該函數(shù)的變化速率受到了限制。這個(gè)變化速率的上界就被稱為 Lipschitz 常數(shù)。函數(shù)梯度的 Lipschitz 連續(xù)性在實(shí)際情況中相對(duì)容易得到滿足,因?yàn)檎鎸?shí)世界中的數(shù)據(jù)的變化幅度并不大。這也是很多其他數(shù)據(jù)處理方法物理釋義,例如應(yīng)用數(shù)據(jù)低秩性與稀疏性的 Robust PCA 等用壓縮感知方法。對(duì)于常用的機(jī)器學(xué)習(xí)模型,例如邏輯回歸,SVM等方法,大多可以證明其損失函數(shù)的梯度在一定條件下滿足 Lipschitz 連續(xù)性。但是對(duì)于深度學(xué)習(xí)模型,我們無法證明。

有了如上兩個(gè)至關(guān)重要的數(shù)學(xué)知識(shí),我們就可以開始回答最開始的問題了。我們首先去回答:在什么條件下,梯度下降可以保證 更新后的目標(biāo)函數(shù)值 更小?


下降引理 (Descent Lemma)

對(duì)于一個(gè)二階可導(dǎo)的函數(shù) ,它的導(dǎo)數(shù) 滿足 Lipschitz 連續(xù),則它的 Hessian 矩陣滿足:


我們可以從這個(gè)角度來理解式(5):首先,我們知道導(dǎo)數(shù) 變化最快的方向就是它的 Hessian 矩陣 絕對(duì)值最大特征值所對(duì)應(yīng)的特征向量。由于 Hessian 矩陣 是對(duì)稱矩陣(symmetric matrix),于是根據(jù) Rayleigh quotient,我們就可以得到,對(duì)于任意 v 都滿足:


因此,對(duì)于導(dǎo)數(shù) 滿足 Lipschitz 連續(xù)的函數(shù) ,它任意點(diǎn) w 的 Hessian 矩陣 都滿足 ,即式(5)。

當(dāng)我們對(duì)這樣滿足二階可導(dǎo),且導(dǎo)數(shù) 滿足 Lipschitz 連續(xù)的函數(shù) 進(jìn)行泰勒展開時(shí),我們可以得到

式(7)就是很多梯度相關(guān)的優(yōu)化算法收斂性證明中常用的下降引理。

應(yīng)用下降引理,我們就可以直接回答當(dāng)前的問題了。我們將梯度下降的更新公式 代入式(7)中,我們就可以得到:

從式(8)中,我們可以看到,由于 ,所以當(dāng) 時(shí)(即 ),我們就可以保證梯度下降算法的更新過程中,目標(biāo)函數(shù)值的大小始終保持單調(diào)遞減(非嚴(yán)格)的狀態(tài)。并且當(dāng)優(yōu)化步長(zhǎng)選取 時(shí), 目標(biāo)函數(shù)值縮減的速度最快(讀者可以自行驗(yàn)證)。因此,我們可以看到選擇最優(yōu)的優(yōu)化步長(zhǎng)其實(shí)就是在估計(jì)目標(biāo)函數(shù)的 Lipschitz 常數(shù)。

梯度下降的收斂性與收斂速度

在上面的論述中,我們已經(jīng)回答了梯度下降算法為什么可以優(yōu)化目標(biāo)函數(shù),讓每一步優(yōu)化得到的結(jié)果的目標(biāo)函數(shù)的函數(shù)值更小。同時(shí)我們也給出了如何選擇優(yōu)化步長(zhǎng)的指標(biāo)?,F(xiàn)在我們就來回答,為什么梯度下降的優(yōu)化算法可以收斂?它的收斂速度又是多少?

梯度下降算法收斂性的證明依賴于如下三個(gè)條件:

  • 目標(biāo)函數(shù)的梯度 滿足 Lipschitz 連續(xù)?

  • 目標(biāo)函數(shù) ,即目標(biāo)函數(shù)有一個(gè)下界?

  • 優(yōu)化步長(zhǎng) ?

我們來簡(jiǎn)單分析一下這三個(gè)條件:條件(1)和條件(3)使得下降引理成立,保證了梯度下降算法在優(yōu)化目標(biāo)函數(shù)過程中的正確性。同時(shí),條件(3)也使得梯度下降算法處于收斂速度最快的狀態(tài),這有助于我們對(duì)算法收斂速度進(jìn)行計(jì)算。條件(2)是一個(gè)不可或缺的條件,它保證了原始的優(yōu)化問題存在可行解。例如,當(dāng) 時(shí),我們可以看到這個(gè)優(yōu)化問題并不存在可行解;而當(dāng) 時(shí),這個(gè)優(yōu)化問題就存在唯一可行解 。

我們注意到我們平時(shí)常用的損失函數(shù),例如交叉熵,均方誤差等,在一定的范圍內(nèi)(部分損失函數(shù)會(huì)依賴于一個(gè)好的初始值的選擇)都可以滿足以上三個(gè)條件。

首先我們證明梯度下降的收斂性。對(duì)于梯度下降算法的收斂條件,我們可以遵循如下定義:

其中 為任意常數(shù), 是對(duì)應(yīng)的收斂指標(biāo)。根據(jù)優(yōu)化定理,我們將優(yōu)化步長(zhǎng) 代入式(8),進(jìn)而可以得到:

因此,當(dāng)我們將前 K 步的 進(jìn)行加和時(shí),我們可以(神奇的)得到:

但是式(11)左側(cè)的部分仍和 t 相關(guān),我們可以通過放縮來去除它們與 t 之間的相關(guān)性。我們將每一個(gè) 放縮成為 進(jìn)而得到:

于是,我們就得到了,從 到 的一共 步, 個(gè)梯度中,至少存在一個(gè)最小的梯度滿足

由式(13),我們知道:雖然我們無法保證梯度下降的更新過程中每一步的 都隨著算法迭代次數(shù)的增加而減小;但是對(duì)于收斂指標(biāo)為 的情況下,算法可以保證在 步之內(nèi)收斂。同時(shí),對(duì)于任意給定的收斂指標(biāo) ,我們可以保證算法在 步之內(nèi)收斂。

文章部分內(nèi)容參考 [1],Lipschitz 連續(xù)性部分參考 [2]。

參考文獻(xiàn)

[1] CPSC 540 - Machine Learning (January-April, 2018)?https://www.cs.ubc.ca/~schmidtm/Courses/540-W18/

[2] Lipschitz_continuity?https://en.wikipedia.org/wiki/Lipschitz_continuity

更多閱讀

#投 稿?通 道#

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

如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達(dá)讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認(rèn)識(shí)的人。

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

PaperWeekly 鼓勵(lì)高校實(shí)驗(yàn)室或個(gè)人,在我們的平臺(tái)上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)術(shù)熱點(diǎn)剖析科研心得競(jìng)賽經(jīng)驗(yàn)講解等。我們的目的只有一個(gè),讓知識(shí)真正流動(dòng)起來。

📝?稿件基本要求:

? 文章確系個(gè)人原創(chuàng)作品,未曾在公開渠道發(fā)表,如為其他平臺(tái)已發(fā)表或待發(fā)表的文章,請(qǐng)明確標(biāo)注?

? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發(fā)送,要求圖片清晰,無版權(quán)問題

? PaperWeekly 尊重原作者署名權(quán),并將為每篇被采納的原創(chuàng)首發(fā)稿件,提供業(yè)內(nèi)具有競(jìng)爭(zhēng)力稿酬,具體依據(jù)文章閱讀量和文章質(zhì)量階梯制結(jié)算

📬?投稿通道:

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

? 來稿請(qǐng)備注即時(shí)聯(lián)系方式(微信),以便我們?cè)诟寮x用的第一時(shí)間聯(lián)系作者

? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿

△長(zhǎng)按添加PaperWeekly小編

🔍

現(xiàn)在,在「知乎」也能找到我們了

進(jìn)入知乎首頁(yè)搜索「PaperWeekly」

點(diǎn)擊「關(guān)注」訂閱我們的專欄吧

·

總結(jié)

以上是生活随笔為你收集整理的梯度下降(Gradient Descent)的收敛性分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。