【心理學(xué)與AI】Efficient Mini-batch Training for Stochastic Optimization

高效的隨機(jī)優(yōu)化mini-batch訓(xùn)練

Mu Li, Tong Zhang, Yuqiang Chen, Alexander J. Smola, 2014.


本文提出了一種mini-batchSGD算法,該算法的收斂速度隨批量的增大而增大柒傻。

它解決了每個(gè)迭代中的保守子問題红符,以最大限度地利用小批處理预侯,同時(shí)通過保守約束控制方差萎馅。

結(jié)果表明糜芳,該算法具有最優(yōu)的收斂速度耍目,并提出了實(shí)用的分布式實(shí)現(xiàn)邪驮。

在大規(guī)模數(shù)據(jù)集的串行和分布式實(shí)驗(yàn)中毅访,驗(yàn)證了該方法的有效性喻粹。



1 ? 介紹

傳統(tǒng)的SGD每次迭代處理一個(gè)示例守呜,這種連續(xù)的特性使得SGD很難處理分布式推理弥喉。

一個(gè)常見的實(shí)際解決方案是使用mini-batch訓(xùn)練由境,它在每個(gè)迭代中聚合多個(gè)示例虏杰。然而纺阔,對于大規(guī)模的應(yīng)用程序來說州弟,mini-batch training同步成本可能仍然太大。在實(shí)際應(yīng)用中掏婶,雖然可以采用mini-batch的方法來降低通信成本雄妥,但可能會(huì)降低收斂速度老厌。

\bullet 對于一般的凸目標(biāo)函數(shù)枝秤,SGD的收斂性為

\bullet 對于小批量規(guī)模b的SGD淀弹,收斂性為

為了解決這個(gè)問題,提出了一個(gè)替代的mini-batch更新策略缭乘,該策略不會(huì)隨著mini-batch大小的增加而降低收斂速度

具體地說邑时,在每次迭代中刁愿,我們都求解一個(gè)保守的風(fēng)險(xiǎn)最小化子問題铣口。它由兩部分組成:mini-batch的原始目標(biāo)函數(shù)和保守懲罰(conservative penalty)脑题。為了達(dá)到目標(biāo)叔遂,我們需要兩個(gè)要素:一個(gè)更復(fù)雜的更新策略已艰;第二蚕苇,一個(gè)解決保守子問題的有效方法嚼吞。


作者的方法不同于以往的工作舱禽,除了簡單的梯度計(jì)算外恩沽,還增加了一個(gè)保守的懲罰罗心,并以非平凡(nontrivial)的方式使用每個(gè)數(shù)據(jù)分區(qū):

\bullet 提出了一種新的和通用的方式來執(zhí)行mini-batch更新超越簡單的參數(shù)平均协屡。

\bullet 結(jié)果表明肤晓,該算法具有最優(yōu)的收斂速度,

提高了批量(batch size)b較大時(shí)的收斂速度。此外卷员,進(jìn)一步證明了對于一個(gè)λ-強(qiáng)凸目標(biāo)函數(shù)毕骡,它可以改進(jìn)為

\bullet 提出了兩種策略來解決保守子問題未巫,并演示了如何在一個(gè)通信高效的分布式實(shí)現(xiàn)(distributed implementation)中擴(kuò)展它們叙凡。

\bullet 在大型數(shù)據(jù)集上驗(yàn)證了該算法的有效性握爷。



2??算法

推理問題的通用形式:

其中\phi _{i} :\Omega →R

為凸損失函數(shù),w為共享參數(shù)燥撞。

這種通用形式解決了大量的機(jī)器學(xué)習(xí)問題教硫。

2.1 有效的mini-batch training

在實(shí)踐中瞬矩,當(dāng)我們使用大型的迷你批處理大小時(shí)景用,在處理的示例數(shù)量方面伞插,收斂速度會(huì)顯著降低媚污。

給定一個(gè)隨機(jī)的mini-batchI\subset \left\{ 1,....,n \right\} 耗美,大小為b,我們可以將I上的目標(biāo)函數(shù)定義為

\Omega =R^d的簡單情況下堰怨,迷你批處理SGD采用以下隨機(jī)更新規(guī)則:在每個(gè)迭代t,我們選擇迷你批處理It\subset \left\{ 1,....,n \right\} 揽涮,大小b隨機(jī)取弃鸦,令

只要\Omega 有一個(gè)非平凡的形狀家破,我們就需要添加一個(gè)投影步驟汰聋,它會(huì)找到Wt在可行集\Omega 中的最近鄰居烹困。

對于一般域\Omega 髓梅,可以將更新(5)重寫為小批量的優(yōu)化問題

在本文中枯饿,我們提出通過在迭代t處求解以下子問題來更新參數(shù):

它由兩個(gè)部分組成:第一部分最小化了對mini-batch It的目標(biāo)函數(shù),旨在實(shí)現(xiàn)對mini-batch的充分利用蟋字。第二個(gè)組件是一個(gè)保守約束鹊奖,它限制參數(shù)的劇烈變化嫉入,以避免過度使用。

下圖給出該算法:

2.2? 理論分析

解決保守子問題(6)的優(yōu)點(diǎn)是當(dāng)mini-batch大小增加時(shí),收斂速度不會(huì)顯著降低垫竞。

這反映在主要結(jié)果中欢瞪。

在說明定理之前遣鼓,需要引入凸函數(shù)f的Bregman散度的概念如下:?

定理需要以下假設(shè):

假設(shè)1 ? 假設(shè)對于所有t:

只要我們選擇\gamma t大于或等于\phi 的平滑度參數(shù)回懦,假設(shè)成立:

換句話說怯晕,強(qiáng)凸性的對應(yīng)項(xiàng)舟茶,即變化量存在一個(gè)二次上界堵第,就足以保證這個(gè)條件阀捅。事實(shí)上也搓,可以證明\gamma t=O(1/b)是充分的。

基本上幔摸,假設(shè)1限定了當(dāng)用子集上的一個(gè)和一個(gè)保守懲罰替換全部Bregman散度時(shí)我們可以預(yù)期的‘surprise’的數(shù)量摸柄。

定理1 ?考慮隨機(jī)更新規(guī)則(6),假設(shè)對于所有iλ-強(qiáng)凸既忆。

在假設(shè)1下驱负,當(dāng)選擇更新參數(shù)\gamma t=\gamma +λ(t-1)時(shí)嗦玖,對于所有的w*\in Ω

由于增加小批量尺寸時(shí),方差隨著 O(1/b)的減小而減小跃脊,因此γ=O(1/\sqrt宇挫 )的縮放是合適的。這將產(chǎn)生以下總計(jì)regret bound:

這意味著如果小批量大小為b,在T步之后欣除,我們的收斂邊界為 。因此,增加小批量大小并不影響算法處理的訓(xùn)練實(shí)例數(shù)量的收斂性卓研。


3 實(shí)際考慮

兩種求解保守問題(6)的優(yōu)化近似方法及其分布式實(shí)現(xiàn)。

3.1 早期停止近似

3.1.1 EMSO-GD

EMSO-GD是SGD的直接擴(kuò)展。它通過梯度下降法求解(6)。標(biāo)準(zhǔn)停止標(biāo)準(zhǔn)可用于實(shí)現(xiàn)早期停止搪锣。在實(shí)踐中,使用最簡單的策略是最方便的:限制最大的迭代次數(shù)L弹澎。這種策略的一個(gè)主要好處是簡化了將在下一節(jié)中介紹的分布式實(shí)現(xiàn)的同步。

算法如下:

3.1.2 EMSO-CD

利用坐標(biāo)下降法求解mini-batch線性SVM的對偶形式,在每一個(gè)時(shí)間EMSO-CD隨機(jī)選取一個(gè)坐標(biāo)j∈[1,p],其中p為坐標(biāo)的總數(shù)躺涝,然后求解一維問題:

與EMSO-GD類似苍蔬,使用最大迭代次數(shù)作為早期停止條件。

算法如下:

3.2 分布式模型平均

在分布式計(jì)算中,我們假設(shè)有d臺機(jī)器。通過網(wǎng)絡(luò)連接侮东。其中每臺機(jī)器獨(dú)立地解決保守的子問題,然后所有機(jī)器平均其結(jié)果煤伟。

算法如算法4所示。前面部分介紹的算法適用放案。


4 實(shí)驗(yàn)

4.1 數(shù)據(jù)集

使用三個(gè)不同尺度的二分類數(shù)據(jù)集友雳,如表1所示。

KDD04來自于2004年KDD杯的粒子物理任務(wù),其目標(biāo)是對高能對撞機(jī)實(shí)驗(yàn)中產(chǎn)生的兩種粒子進(jìn)行分類神帅。

URL數(shù)據(jù)集的目的是檢測惡意的URLs萎坷。

CTR是一個(gè)包含顯示廣告的私人數(shù)據(jù)集,隨機(jī)采樣時(shí)間為三個(gè)月。目標(biāo)是預(yù)測一個(gè)廣告是否會(huì)被點(diǎn)擊插佛。

KDD04是一個(gè)密集的數(shù)據(jù)集,而其他兩個(gè)數(shù)據(jù)非常稀疏嫩海。最大的數(shù)據(jù)集CTR有超過1億個(gè)示例深滚,原始文本文件大小約為300 GB血柳。

4.2 設(shè)置

用邏輯回歸的方法來研究分類問題栖榨。通過令

目標(biāo)函數(shù)可以寫成(1)的形式。這里令(yi, xi)為第i個(gè)樣本對。

評估五種算法鞍陨,如表2所示寿烟。

L-BFGS 這是經(jīng)典內(nèi)存受限BFGS方法的一個(gè)并行版本,如[18]中所述。也就是說炉擅,根機(jī)器從每個(gè)客戶機(jī)獲得次梯度來聚合成一個(gè)全局次梯度莹汤。隨后更新參數(shù)并傳播其新值。按構(gòu)造方法是一個(gè)批量優(yōu)化解決方案。

LibLinear 這是由林志仁的網(wǎng)站獲得的單機(jī)實(shí)現(xiàn)。我們將它包括進(jìn)來,為現(xiàn)有的和著名的“解決方案”提供一個(gè)參考點(diǎn)逗旁。這是一個(gè)對于凸問題復(fù)雜的批量求解堤舒。

Mini-Batch SGD 這可以有效地為每臺機(jī)器上的小批量SGD計(jì)算次梯度国撵。這些次梯度然后聚合环础,以獲得一個(gè)完整的小批量超梯度。之后,我們使用(5)更新服務(wù)器并重新廣播參數(shù)勺三。我們使用O(1/\sqrt{t} )衰減學(xué)習(xí)率的小批量算法刻蚯。具體來說,我們設(shè)定

對于迭代t充甚,其中常數(shù)和a分別指定初始規(guī)模和衰減速度技矮。通過對收斂過程的分析樊零,進(jìn)行網(wǎng)格搜索塑悼,選擇最優(yōu)解斑鸦。我們搜索范圍

EMSO-GD 使用算法4中引入的參數(shù)平均方法,同時(shí)通過(10)對每個(gè)客戶機(jī)執(zhí)行參數(shù)更新。它不同于以前的方法,在處理一個(gè)小批處理時(shí)考慮到損失函數(shù)的高階信息下愈。

EMSO-CD 與EMSO-GD的關(guān)鍵區(qū)別在于,它使用坐標(biāo)下降來更新一個(gè)minibatch中的參數(shù)。除此之外,結(jié)構(gòu)基本上是相同的。對于兩個(gè)EMSO變量寸爆,我們設(shè)置λ=0魔种。內(nèi)部迭代的數(shù)量分別為5和2,并從{10^0去扣,...艾岂,10^5  }搜索λ氓辣。

4.3 小批量和收斂性

第一個(gè)完整性檢查是確定關(guān)于單個(gè)節(jié)點(diǎn)hold上的微型批處理方法的收斂結(jié)果。為此蹬敲,將批量大小從103增加到105.處理107個(gè)實(shí)例后的目標(biāo)值如圖1所示闹究。

圖1:在單個(gè)節(jié)點(diǎn)中處理107個(gè)示例后的目標(biāo)值與小批量大小自娩。從上到下姊扔,數(shù)據(jù)集分別是KDD04、URL和CTR绵载,由于單個(gè)節(jié)點(diǎn)的容量有限著摔,CTR被向下采樣到400萬個(gè)示例。

EMSO-GD緩解了小批量SGD的目標(biāo)值會(huì)增加(也就是說處理的例子的收斂速度變慢)的問題。EMSO-CD求解保守子問題時(shí)优床,收斂性更穩(wěn)定仍翰。

總之喧笔,與單純的梯度計(jì)算相比,在mini-batch上求解保守優(yōu)化問題是有益的割按。

4.4 與其他算法的比較

根據(jù)目標(biāo)值對比表2中列出的算法和運(yùn)行時(shí)够吩,但只報(bào)告最佳批處理大小的結(jié)果鱼鼓。圖2顯示了結(jié)果于樟,可以看出关霸,這兩批處理算法的收斂性。

圖2:單個(gè)節(jié)點(diǎn)的目標(biāo)值與運(yùn)行時(shí)間相恃。數(shù)據(jù)集與圖1相同苍苞,從上到下依次是KDD04歉铝、URL和CTR邻吭。

對于mini-batch處理算法。EMSO-GD與SGD相當(dāng)翅楼。同時(shí),即使使用更小的批處理大小胎挎,EMSO-CD也比其他兩種方法快10倍。

4.5 小批量生產(chǎn)和同步成本

圖3顯示了使用12臺機(jī)器時(shí)同步成本對算法整體運(yùn)行時(shí)間的貢獻(xiàn)。

圖3:當(dāng)在12個(gè)和12個(gè)節(jié)點(diǎn)之間通信時(shí),同步成本的一部分作為小批量大小的函數(shù)页响。

由于EMSO-GD和EMSO-CD在每個(gè)mini-batch中都比SGD解決了更復(fù)雜的優(yōu)化問題盼玄,因此它們的同步成本也相應(yīng)地比SGD小暴心。它比梯度下降占用更多的CPU時(shí)間,即使后者處理最少的批處理5次买决,因此同步性進(jìn)一步降低成本。

各種小批量條件下的收斂結(jié)果如圖4所示。

圖4:使用12個(gè)節(jié)點(diǎn)改變迷你批處理大小時(shí)的目標(biāo)值。頂部:對于固定總數(shù)的例子設(shè)置為5x106。底部:對于固定運(yùn)行時(shí)間設(shè)置為1000秒筑凫。

EMSO-GD稍微改進(jìn)了SGD瓦盛,而EMSO-CD有彈性地增加了mini-batch處理的大小谒麦。盡管在單節(jié)點(diǎn)實(shí)驗(yàn)中SGD與EMSO-GD具有可比性臣咖,但由于分布式環(huán)境中的通信成本,后者的性能優(yōu)于前者波闹。

此外,EMSO-CD使用大批大小有明顯的優(yōu)勢庄撮,因?yàn)樗趍ini-batch大小增加時(shí)收斂得更快。

4.6 可伸縮性

圖5比較了以下兩種算法:EMSO-CD和LBFGS吞琐,評估不同節(jié)點(diǎn)數(shù)量的運(yùn)行時(shí)結(jié)果。

這兩種算法都受益于節(jié)點(diǎn)數(shù)量的增加趾牧。但L-BFGS比EMSO-CD獲益更多。然而, 由于更快的對流速率,EMSO-CD仍然比L-BFGS快10倍。

表3顯示了EMSO-CD達(dá)到特定目標(biāo)值的定量加速发笔。

當(dāng)節(jié)點(diǎn)數(shù)量從5個(gè)增加到10個(gè)時(shí)盟萨,兩個(gè)目標(biāo)值的平均加速倍數(shù)都是1.75倍,如果節(jié)點(diǎn)數(shù)量增加4倍了讨,則加速倍數(shù)增加到2.5倍捻激。


5 結(jié)論

作者提出了一種新的mini-batch算法,在每一步中以原始形式解決一個(gè)正則化優(yōu)化問題前计。結(jié)果表明胞谭,該方法在理論上也能達(dá)到最優(yōu)收斂速度,并給出了該方法的實(shí)際實(shí)現(xiàn)男杈。在各種情況下丈屹,所得到的方法的實(shí)際性能都優(yōu)于mini-batch SGD。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末伶棒,一起剝皮案震驚了整個(gè)濱河市旺垒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌肤无,老刑警劉巖先蒋,帶你破解...
    沈念sama閱讀 212,294評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異宛渐,居然都是意外死亡竞漾,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,493評論 3 385
  • 文/潘曉璐 我一進(jìn)店門窥翩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來业岁,“玉大人,你說我怎么就攤上這事鳍烁∵督螅” “怎么了?”我有些...
    開封第一講書人閱讀 157,790評論 0 348
  • 文/不壞的土叔 我叫張陵幔荒,是天一觀的道長糊闽。 經(jīng)常有香客問我梳玫,道長,這世上最難降的妖魔是什么右犹? 我笑而不...
    開封第一講書人閱讀 56,595評論 1 284
  • 正文 為了忘掉前任提澎,我火速辦了婚禮,結(jié)果婚禮上念链,老公的妹妹穿的比我還像新娘盼忌。我一直安慰自己,他們只是感情好掂墓,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,718評論 6 386
  • 文/花漫 我一把揭開白布谦纱。 她就那樣靜靜地躺著,像睡著了一般君编。 火紅的嫁衣襯著肌膚如雪跨嘉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,906評論 1 290
  • 那天吃嘿,我揣著相機(jī)與錄音祠乃,去河邊找鬼。 笑死兑燥,一個(gè)胖子當(dāng)著我的面吹牛亮瓷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播降瞳,決...
    沈念sama閱讀 39,053評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼嘱支,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了力崇?” 一聲冷哼從身側(cè)響起斗塘,我...
    開封第一講書人閱讀 37,797評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎亮靴,沒想到半個(gè)月后馍盟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,250評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡茧吊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,570評論 2 327
  • 正文 我和宋清朗相戀三年贞岭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片搓侄。...
    茶點(diǎn)故事閱讀 38,711評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡瞄桨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出讶踪,到底是詐尸還是另有隱情芯侥,我是刑警寧澤,帶...
    沈念sama閱讀 34,388評論 4 332
  • 正文 年R本政府宣布,位于F島的核電站柱查,受9級特大地震影響廓俭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜唉工,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,018評論 3 316
  • 文/蒙蒙 一研乒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧淋硝,春花似錦雹熬、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,796評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至参歹,卻和暖如春仰楚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背犬庇。 一陣腳步聲響...
    開封第一講書人閱讀 32,023評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留侨嘀,地道東北人臭挽。 一個(gè)月前我還...
    沈念sama閱讀 46,461評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像咬腕,于是被迫代替她去往敵國和親欢峰。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,595評論 2 350

推薦閱讀更多精彩內(nèi)容