梯度下降(Gradient Descent)的收敛性分析
?作者 | 黃秋實(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)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10怎么更改屏保时间设置 Win1
- 下一篇: 知识图谱有哪些方向是可以深入研究的?