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