在線最優化求解(Online Optimization)之五:FTRL


在線最優化求解(Online Optimization)之五:FTRL

 在上一篇博文中中我們從原理上定性比較了L1-FOBOS和L1-RDA在稀疏性上的表現。有實驗證明,L1-FOBOS這一類基於梯度下降的方法有比較高的精度,但是L1-RDA卻能在損失一定精度的情況下產生更好的稀疏性。那么這兩者的優點能不能在一個算法上體現出來?這就是FTRL要解決的問題。

FTRL(Follow the Regularized Leader)是由Google的H. Brendan McMahan在2010年提出的[1],后來在2011年發表了一篇關於FTRL和AOGD、FOBOS、RDA比較的論文[2],2013年又和Gary Holt, D. Sculley, Michael Young等人發表了一篇關於FTRL工程化實現的論文[3]。

本節我們首先從形式上將L1-FOBOS和L1-RDA進行統一,然后介紹從這種統一形式產生FTRL算法,以及介紹FTRL算法工程化實現的算法邏輯。

1.  L1-FOBOS和L1-RDA在形式上的統一

L1-FOBOS在形式上,每次迭代都可以表示為(這里我們令,是一個隨變化的非增正序列):

 

 

把這兩個公式合並到一起,有:

 

 

通過這個公式很難直接求出的解析解,但是我們可以按維度將其分解為個獨立的最優化步驟:

由於與變量無關,因此上式可以等價於:

 

 

再將這N個獨立最優化子步驟合並,那么L1-FOBOS可以寫作:

 

 

而對於L1-RDA,我們可以寫作:

 

 

這里;如果令,上面兩個式子可以寫作:

 

   公式(1)
    公式(2)

 

需要注意,與論文[2]中的Table 1不同,我們並沒有將L1-FOBOS也寫成累加梯度的形式。

比較公式(1)和公式(2),可以看出L1-FOBOS和L1-RDA的區別在於:(1) 前者對計算的是累加梯度以及L1正則項只考慮當前模的貢獻,而后者采用了累加的處理方式;(2) 前者的第三項限制的變化不能離已迭代過的解太遠,而后者則限制不能離點太遠。

2. FTRL算法原理

FTRL綜合考慮了FOBOS和RDA對於正則項和W限制的區別,其特征權重的更新公式為:

 

   公式(3)

 

注意,公式(3)中出現了L2正則項,在論文[2]的公式中並沒有這一項,但是在其2013年發表的FTRL工程化實現的論文[3]卻使用到了L2正則項。事實上該項的引入並不影響FRTL的稀疏性,后面的推導過程會顯示這一點。L2正則項的引入僅僅相當於對最優化過程多了一個約束,使得結果求解結果更加“平滑”。

公式(3)看上去很復雜,更新特征權重貌似非常困難的樣子。不妨將其進行改寫,將最后一項展開,等價於求下面這樣一個最優化問題:

 

 

上式中最后一項相對於來說是一個常數項,並且令,上式等價於:

 

 

針對特征權重的各個維度將其拆解成N個獨立的標量最小化問題:

 

 

到這里,我們遇到了與上一篇RDA中類似的優化問題,用相同的分析方法可以得到:

 

   公式(4)

 

從公式(4)可以看出,引入L2正則化並沒有對FTRL結果的稀疏性產生任何影響。

3. Per-Coordinate Learning Rates

前面介紹了FTRL的基本推導,但是這里還有一個問題是一直沒有被討論到的:關於學習率的選擇和計算。事實上在FTRL中,每個維度上的學習率都是單獨考慮的(Per-Coordinate Learning Rates)。

在一個標准的OGD里面使用的是一個全局的學習率策略,這個策略保證了學習率是一個正的非增長序列,對於每一個特征維度都是一樣的。

考慮特征維度的變化率:如果特征1比特征2的變化更快,那么在維度1上的學習率應該下降得更快。我們很容易就可以想到可以用某個維度上梯度分量來反映這種變化率。在FTRL中,維度i上的學習率是這樣計算的:

 

 公式(5)

 

由於,所以公式(4)中有,這里的是需要輸入的參數,公式(4)中學習率寫成累加的形式,是為了方便理解后面FTRL的迭代計算邏輯。

4. FTRL算法邏輯

到現在為止,我們已經得到了FTRL的特征權重維度的更新方法(公式(4)),每個特征維度的學習率計算方法(公式(5)),那么很容易寫出FTRL的算法邏輯(這里是根據公式(4)和公式(5)寫的L1&L2-FTRL求解最優化的算法邏輯,而論文[3]中Algorithm 1給出的是L1&L2-FTRL針對Logistic Regression的算法邏輯):

FTRL里面的4個參數需要針對具體的問題進行設置,指導性的意見參考論文[3]。

結束語

本系列博文作為在線最優化算法的整理和總結,沿着稀疏性的主線,先后介紹了簡單截斷法、TG、FOBOS、RDA以及FTRL。從類型上來看,簡單截斷法、TG、FOBOS屬於同一類,都是梯度下降類的算法,並且TG在特定條件可以轉換成簡單截斷法和FOBOS;RDA屬於簡單對偶平均的擴展應用;FTRL可以視作RDA和FOBOS的結合,同時具備二者的優點。目前來看,RDA和FTRL是最好的稀疏模型Online Training的算法。

談到高維高數據量的最優化求解,不可避免的要涉及到並行計算的問題。作者之前有篇博客[4]討論了batch模式下的並行邏輯回歸,其實只要修改損失函數,就可以用於其它問題的最優化求解。另外,對於Online下,文獻[5]給出了一種很直觀的方法:

Algorithm 7. ParallelSGD

 對於Online模式的並行化計算,一方面可以參考ParallelSGD的思路,另一方面也可以借鑒batch模式下對高維向量點乘以及梯度分量並行計算的思路。總之,在理解算法原理的基礎上將計算步驟進行拆解,使得各節點能獨自無關地完成計算最后匯總結果即可。

 最后,需要指出的是相關論文里面使用的數學符號不盡相同,並且有的論文里面也存在一定的筆誤,但是並不影響我們對其的理解。在本系列博文中盡量采用了統一風格和含義的符號、變量等,因此在與參考文獻中的公式對比的時候會稍有出入。另外,由於筆者的水平有限,行文中存在的錯誤難以避免,歡迎大家指正、拍磚。

另外,為了方便閱讀,本系列博文被整理成pdf:在線最優化求解(Online Optimization)-馮揚-2014.12.09

參考文獻

[1] H. Brendan McMahan & M Streter. Adaptive Bound Optimization for Online Convex Optimization. In COLT, 2010

[2] H. Brendan McMahan. Follow-the-Regularized-Leader and Mirror Descent: Equivalence Theorems and L1 Regularization. In AISTATS, 2011

[3] H. Brendan McMahan, Gary Holt, D. Sculley, Michael Young, Dietmar Ebner, Julian Grady, Lan Nie, Todd Phillips, Eugene Davydov, Daniel Golovin, Sharat Chikkerur, Dan Liu, Martin Wattenberg, Arnar Mar Hrafnkelsson, Tom Boulos, Jeremy Kubica, Ad Click Prediction: a View from the Trenches. In ACM SIGKDD, 2013

[4] 馮揚. 並行邏輯回歸.http://blog.sina.com.cn/s/blog_6cb8e53d0101oetv.html

[5] Martin A. Zinkevich, Markus Weimer, Alex Smola & Lihong Li. Parallelized Stochastic Gradient Descent. In NIPS 2010


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM