從動力學角度看優化算法:SGD ≈ SVM?

©PaperWeekly 原創 · 作者|蘇劍林

單位|追一科技

研究方向|NLP、神經網絡

衆所周知,在深度學習之前,機器學習是 SVM(Support Vector Machine,支持向量機)的天下,曾經的它可謂紅遍機器學習的大江南北,迷倒萬千研究人員,直至今日,“手撕 SVM”仍然是大廠流行的面試題之一。然而,時過境遷,當深度學習流行起來之後,第一個革的就是 SVM 的命,現在只有在某些特別追求效率的場景以及大廠的面試題裏邊,才能看到 SVM 的蹤跡了。

峯迴路轉的是,最近 Arxiv 上的一篇論文 Every Model Learned by Gradient Descent Is Approximately a Kernel Machine 做了一個非常“霸氣”的宣言:任何由梯度下降算法學出來的模型,都是可以近似看成是一個 SVM!

論文標題:

Every Model Learned by Gradient Descent Is Approximately a Kernel Machine

論文鏈接:

https://arxiv.org/abs/2012.00152

這結論真不可謂不“霸氣”,因爲它已經不只是針對深度學習了,而且只要你用梯度下降優化的,都不過是一個 SVM(的近似)。筆者看了一下原論文的分析,感覺確實挺有意思也挺合理的,有助於加深我們對很多模型的理解,遂跟大家分享一下。

SVM基礎

一般的 SVM 可以表示爲如下形式:

其中 是訓練數據對, 是可學習參數,標準核機器的輸出是一個標量,所以這裏考慮的 都是標量。 則稱爲“核函數”,它衡量了輸入 x 與訓練樣本 之間的某種相似度。SVM 是更廣義的“核機器(Kernel Machine)”模型的一種(可能是最出名的一種),屬於“核方法”範疇。

直觀理解,其實 SVM 就是一個檢索模型,它檢索了輸入與所有訓練樣本的相似度 ,然後加權求和。所以,嚴格上來說,SVM 的參數量除了各個 和 外,還包括訓練集的輸入 ,說白了,它就是把整個訓練集都給記下來了。

相比之下,深度學習模型也有很多參數,但這些參數都是直接由梯度下降求出來的,並不是直接把訓練集存起來,而由於這個特點,所以深度學習模型通常認爲是能自動學習到更智能的特徵。

解析推導

SVM 理論不是本文的重點,我們知道它的形式如(1),即可。在這一節中,我們將會推導梯度下降的一個解析解,並且發現這個解跟式(1),具有非常相似的形式,因而我們說梯度下降出來的模型都可以近似看成一個 SVM 模型。

假設我們的模型是 , 是可訓練參數,單個樣本的損失函數是 ,那麼訓練所用的損失函數爲:

爲了使得後面的推導更簡潔,這裏使用了求和的形式,一般情況下是求平均纔對,但這不影響最終的結果。在“從動力學角度看優化算法”系列文章中,我們堅持的觀點是梯度下降求解參數 ,相當於在求解動力系統:

這同樣也是本文的重要出發點。現在,我們考慮 的變化情況:

可以看到,對 j 求和這一步,事實上就是梯度的內積 ,在神經網絡中它還有一個非常酷的名字,叫做“Neural Tangent Kernel”,我們將其記爲:

並且記 ,那麼:

可見,模型 每個時刻的變化量都是一個 SVM,假如我們已經知道優化過程中 的變化軌跡爲 ,那麼最終的模型就是

結果分析

經過一番推導,我們的得到了式(7),它是當學習率趨於 0 的梯度下降的理論解。從推導過程可以看到,這個結果只依賴於梯度下降本身,跟模型具體結構沒關係。對於式(7),我們可以從下面的角度理解它。

首先,我們將記 ,它其實就是初始化模型,儘管它理論上是依賴於 x 的,但很多時候它會表現得接近一個常數(比如多分類模型時,初始化模型的輸出通常接近一個均勻分佈),因此我們可以將當它是一個常數項。然後,我們可以記:

那麼:

這在形式上就跟 SVM 很像了,區別就在於 SVM 的 應該是獨立於 x 的,而這裏則依賴於 x。 我們已經分析過了,而 由於它是數學期望的形式,被期望的對象不依賴於 x,而是權重依賴於 x,那麼它可能對 x 的依賴也相對弱些,因此跟 一樣,我們也許可以近似地忽略它對 x 的依賴。

不過,在筆者看來,依不依賴 x 並不算是關鍵,最重要的是最終的結果呈現出了 的形式,那就意味着它在一定程度上也是學習到了一個檢索訓練集的過程,這纔是它真正跟 SVM 的相似之處。

上述討論的是輸出標量的模型,如果輸出是一個 d 維向量,那麼最終形式也是相同的,只不過此時 也是一個 d 維向量,而 是一個 的矩陣,這種情況下哪怕 與 x 無關,也不是我們通常意義下的(多分類) SVM 模型。但它依然具有 的形式,因此某種意義上來說它仍然是檢索訓練集的操作。

此外,上述結論針對的是(全量)梯度下降,而對於隨機梯度下降(SGD)來說,我們不再是用全量數據來算損失函數,對此我們在第一篇從動力學角度看優化算法 SGD:一些小啓示也做過討論,可以認爲 SGD 是在梯度下降的基礎上引入了噪聲,也就是收斂路徑 帶有隨機噪聲,其餘結果基本不變,因此上述結論對 SGD 也是成立的。

拓展思考

那麼,這個結果能給我們帶來什麼思想衝擊呢?原論文在“Discussion”那一節花了相當長的篇幅討論這個事情,這裏我們也來琢磨一下這個事情。

從深度學習的視角來看,這個結果揭示了深層神經網絡模型與傳統的核方法之間的聯繫,藉助核方法的可解釋性來增強神經網絡的可解釋性。比如,通過梯度內積作爲相似度度量,我們或許可以從訓練集中檢索出與輸入相近的訓練樣本,以解釋輸出的決策過程。

更進一步地,如果該方向能夠得到更爲精確的量化,那麼它有可能大大改進增量學習的方法,即對於新來的標註樣本,我們可能只需要想辦法往模型中添加 的項,而不需要重新訓練模型。

反過來看,該結果也許能促進核機器、核方法的發展。傳統的核函數依賴於認爲定義,而上述梯度內積形式的核函數給我們帶來了新的構建核函數的思路,增強核方法對複雜函數的建模能力。同時,由於梯度下降與核機器的相似性,我們最終或許可以通過梯度下降來訓練核機器,從而克服核機器在大規模數據下的訓練難題,等等。

還有一些別的腦洞可以發散一下,比如我們知道對於凸優化問題有唯一解,並且理論上梯度下降總可以找到這個解,而前面又說梯度下降相當於一個 SVM。所以,這是不是意味着所有凸優化問題的解都相當於一個 SVM?這個腦洞夠不夠大?

總之,揭示梯度下降與核機器之間的聯繫,有助於兩者的進一步借鑑與融合,並且有可能發展出一些新的研究思路。

更多閱讀

#投 稿 通 道#

 讓你的論文被更多人看到 

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

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

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

???? 來稿標準:

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

• 如果文章並非首發,請在投稿時提醒並附上所有已發佈鏈接 

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

???? 投稿郵箱:

• 投稿郵箱:[email protected] 

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

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

????

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

進入知乎首頁搜索「PaperWeekly」

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

關於PaperWeekly

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章