【读书笔记】NeurIPS2018的两篇文章:The Tradeoffs of Large Scale Learning和Neural Ordinary Differential Equations
今天看了 NeurIPS 2018 上的兩篇文章,一篇是獲得 best paper 的 Neural Ordinary Differential Equations (陳天奇的文章),一篇是獲經(jīng)典論文獎(jiǎng)的 The Tradeoffs of Large Scale Learning。
The Tradeoffs of Large Scale Learning
Bottou, Léon, and Olivier Bousquet. “The tradeoffs of large scale learning.” Advances in neural information processing systems. 2008.
Abstract
本文研究不同的近似優(yōu)化算法對(duì)學(xué)習(xí)算法的影響。Small-scale learning problems 受到 approximation–estimation 的影響,Large-scale learning problems 受到優(yōu)化算法計(jì)算復(fù)雜度的影響。
Motivation
計(jì)算復(fù)雜度在學(xué)習(xí)算法中的有重要的意義,但很少被提及。Valiant 強(qiáng)調(diào)一個(gè)問(wèn)題是可學(xué)習(xí)的,如果一個(gè)算法能在多項(xiàng)式復(fù)雜度內(nèi)解決它。但是這只是在統(tǒng)計(jì)意義上的解決。
本文發(fā)現(xiàn)近似優(yōu)化算法完全可以滿足學(xué)習(xí)要求,而且降低計(jì)算復(fù)雜度。
Approximate Optimization
Setup
優(yōu)化算法優(yōu)化的對(duì)象是
E(f)=∫l(f(x),y)dP(x,y)=E[l(f(x),y)]E(f)=\int l(f(x),y)dP(x,y)=E[l(f(x),y)]E(f)=∫l(f(x),y)dP(x,y)=E[l(f(x),y)]
也就是要求解
f?=argminfE[l(y^,y)∣x]f^*=argmin_fE[l(\hat{y},y)|x]f?=argminf?E[l(y^?,y)∣x]
盡管P(x,y)P(x,y)P(x,y)未知,我們可以隨機(jī)獨(dú)立采樣得到nnn個(gè)數(shù)據(jù)來(lái)做訓(xùn)練數(shù)據(jù),定義經(jīng)驗(yàn)誤差
En(f)=1n∑i=1nl(f(xi),yi)=En[l(f(xi),yi)]E_n(f)=\frac{1}{n}\sum_{i=1}^nl(f(x_i),y_i)=E_n[l(f(x_i),y_i)]En?(f)=n1?i=1∑n?l(f(xi?),yi?)=En?[l(f(xi?),yi?)]
我們的學(xué)習(xí)過(guò)程實(shí)際上是根據(jù)訓(xùn)練數(shù)據(jù)從一組函數(shù)FFF內(nèi)選擇出函數(shù)fn=argminfEn[f]f_n=argmin_fE_n[f]fn?=argminf?En?[f],定義f?f^*f?為所有可能的最優(yōu)的函數(shù)(可能不在FFF中),在定義fF?=argminfE[f]f^*_F=argmin_fE[f]fF??=argminf?E[f]為FFF中最優(yōu)的函數(shù),那么我們有:
E[E(fn)?E(f?]]=E[E(fF?)?E(f?)]+E[E(fn)?E(fF?)]=eapp+eestE[E(f_n)-E(f^*]]=E[E(f^*_F)-E(f^*)]+E[E(f_n)-E(f^*_F)]=e_{app}+e_{est}E[E(fn?)?E(f?]]=E[E(fF??)?E(f?)]+E[E(fn?)?E(fF??)]=eapp?+eest?
eappe_{app}eapp?表示 approximation error(FFF與最優(yōu)解的差距),eeste_{est}eest?表示 estimation error(由于訓(xùn)練數(shù)據(jù)和優(yōu)化算法得到的函數(shù)與FFF內(nèi)最優(yōu)函數(shù)的差距)。復(fù)雜的模型導(dǎo)致大的FFF,大的FFF導(dǎo)致小的 approximation error 而導(dǎo)致大的 estimation error。
Optimization Error
找到最優(yōu)的fnf_nfn?需要很復(fù)雜的計(jì)算,而我們不需要找到最優(yōu)的fnf_nfn?,因?yàn)?span id="ozvdkddzhkzd" class="katex--inline">En(f)E_n(f)En?(f)本身就是近似的,所以我們可以在優(yōu)化算法收斂前提前終止迭代。
假設(shè)我們得到的近似解為f^n\hat{f}_nf^?n?滿足
En(f^n)<En(fn)+ρE_n(\hat{f}_n)<E_n(f_n)+\rhoEn?(f^?n?)<En?(fn?)+ρ
ρ\rhoρ是預(yù)先定義的 tolerance,那么
E[E(f^n)?E(f?]]=E[E(fF?)?E(f?)]+E[E(fn)?E(fF?)]+E[E(f^n)?E(fn)]=eapp+eest+eoptE[E(\hat{f}_n)-E(f^*]]=E[E(f^*_F)-E(f^*)]+E[E(f_n)-E(f^*_F)]+E[E(\hat{f}_n)-E(f_n)]=e_{app}+e_{est}+e_{opt}E[E(f^?n?)?E(f?]]=E[E(fF??)?E(f?)]+E[E(fn?)?E(fF??)]+E[E(f^?n?)?E(fn?)]=eapp?+eest?+eopt?
就多出一個(gè) optimization error eopte_{opt}eopt?。
The Approximation–Estimation–Optimization Tradeoff
對(duì)于整個(gè)問(wèn)題而言,我們需要優(yōu)化的是
minF,ρ,ne=eapp+eest+eopt,s.t.n≤nmax,T(F,ρ,n)≤Tmaxmin_{F,\rho,n}e=e_{app}+e_{est}+e_{opt},s.t.n\leq n_{max},T(F,\rho,n)\leq T_{max}minF,ρ,n?e=eapp?+eest?+eopt?,s.t.n≤nmax?,T(F,ρ,n)≤Tmax?
nmaxn_{max}nmax?表示最大的可用數(shù)據(jù)量,TmaxT_{max}Tmax?表示能夠訓(xùn)練的最長(zhǎng)時(shí)間。
所謂 Small-scale learning problems 是指主要收到nmaxn_{max}nmax?的限制,計(jì)算復(fù)雜度不成問(wèn)題,eopte_{opt}eopt?可以減少為0;而 Large-scale learning problem 主要受到TmaxT_{max}Tmax?的限制,我們需要選擇合適ρ\rhoρ來(lái)簡(jiǎn)化計(jì)算。
GD:梯度下降法
2GD:二階梯度下降法(牛頓法)
SGD:隨機(jī)梯度下降法
2SGD:二階隨機(jī)梯度下降法
The Asymptotics of Large-scale Learning
涉及到優(yōu)化算法的收斂速度的相關(guān)理論知識(shí)
Conclusion
本文主要思想是考慮數(shù)據(jù)量較大時(shí)對(duì)于時(shí)間的權(quán)衡,我的理解是從理論上給予了隨機(jī)梯度下降和梯度下降選擇的依據(jù)。
Neural Ordinary Differential Equations
Chen, Tian Qi, et al. “Neural Ordinary Differential Equations.” arXiv preprint arXiv:1806.07366 (2018).
引入了一種新型的神經(jīng)網(wǎng)絡(luò),區(qū)別于過(guò)去的多個(gè)離散層的神經(jīng)網(wǎng)絡(luò),我們的神經(jīng)網(wǎng)絡(luò)時(shí)各黑箱的微分方程的求解器。這種連續(xù)深度的神經(jīng)網(wǎng)絡(luò)優(yōu)勢(shì)是只需要花費(fèi)恒定的內(nèi)存,并且可以顯式地以數(shù)值精度換取速度。構(gòu)建 continuous normalizing flows 從而可以通過(guò)最大似然進(jìn)行訓(xùn)練、無(wú)需對(duì)數(shù)據(jù)維度進(jìn)行分區(qū)或排序。對(duì)于訓(xùn)練,我們展示了如何在不訪問(wèn)任何ODE求解器內(nèi)部操作的情況下,可擴(kuò)展地反向傳播。這允許在更大的模型中對(duì)ODE進(jìn)行端到端訓(xùn)練。
思路是常規(guī)的 ResNet 相當(dāng)于
ht+1=ht+f(ht,θt)h_{t+1}=h{t}+f(h_t,\theta_t)ht+1?=ht+f(ht?,θt?)
可以看作是一個(gè)微分方程的 Euler 迭代求解。如果用更多的層數(shù)和更小的步長(zhǎng),可以化為
dhdt=f(h(t),t,θ)\frac{dh}{dt}=f(h(t),t,\theta)dtdh?=f(h(t),t,θ)
根據(jù)流體力學(xué)的一些結(jié)論,推導(dǎo)出了微分方程的解法,細(xì)節(jié)沒(méi)有仔細(xì)看,逛了逛知乎,發(fā)現(xiàn) https://zhuanlan.zhihu.com/p/51514687 上有人也有類似的想法,并且也有一些列的工作,感覺(jué)挺有趣的。主要思想是把常規(guī)的離散形式的神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)化為 ODE 進(jìn)行訓(xùn)練和分析:
- ResNet- ODE的前向歐拉格式
- PolyNet- ODE的反向歐拉格式的逼近
- FractalNet-ODE的Runge-Kutta 格式
感覺(jué)跟跟我的老本行有點(diǎn)像,有空好好研究一下。
總結(jié)
以上是生活随笔為你收集整理的【读书笔记】NeurIPS2018的两篇文章:The Tradeoffs of Large Scale Learning和Neural Ordinary Differential Equations的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: springmvc入门:web.xml编
- 下一篇: 产业区块链的“道”与“术”:区块链技术的