【读书笔记】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 ) d P ( 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 ∗ = a r g m i n f E [ l ( y ^ , y ) ∣ x ] f^*=argmin_fE[l(\hat{y},y)|x] f=argminfE[l(y^,y)x]

尽管 P ( x , y ) P(x,y) P(x,y)未知,我们可以随机独立采样得到 n n n个数据来做训练数据,定义经验误差
E n ( f ) = 1 n ∑ i = 1 n l ( f ( x i ) , y i ) = E n [ l ( f ( x i ) , y i ) ] 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)=n1i=1nl(f(xi),yi)=En[l(f(xi),yi)]

我们的学习过程实际上是根据训练数据从一组函数 F F F内选择出函数 f n = a r g m i n f E n [ f ] f_n=argmin_fE_n[f] fn=argminfEn[f],定义 f ∗ f^* f为所有可能的最优的函数(可能不在 F F F中),在定义 f F ∗ = a r g m i n f E [ f ] f^*_F=argmin_fE[f] fF=argminfE[f] F F F中最优的函数,那么我们有:
E [ E ( f n ) − E ( f ∗ ] ] = E [ E ( f F ∗ ) − E ( f ∗ ) ] + E [ E ( f n ) − E ( f F ∗ ) ] = e a p p + e e s t E[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

e a p p e_{app} eapp表示 approximation error( F F F与最优解的差距), e e s t e_{est} eest表示 estimation error(由于训练数据和优化算法得到的函数与 F F F内最优函数的差距)。复杂的模型导致大的 F F F,大的 F F F导致小的 approximation error 而导致大的 estimation error。

Optimization Error

找到最优的 f n f_n fn需要很复杂的计算,而我们不需要找到最优的 f n f_n fn,因为 E n ( f ) E_n(f) En(f)本身就是近似的,所以我们可以在优化算法收敛前提前终止迭代。
假设我们得到的近似解为 f ^ n \hat{f}_n f^n满足
E n ( f ^ n ) < E n ( f n ) + ρ E_n(\hat{f}_n)<E_n(f_n)+\rho En(f^n)<En(fn)+ρ

ρ \rho ρ是预先定义的 tolerance,那么
E [ E ( f ^ n ) − E ( f ∗ ] ] = E [ E ( f F ∗ ) − E ( f ∗ ) ] + E [ E ( f n ) − E ( f F ∗ ) ] + E [ E ( f ^ n ) − E ( f n ) ] = e a p p + e e s t + e o p t E[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 e o p t e_{opt} eopt

The Approximation–Estimation–Optimization Tradeoff

对于整个问题而言,我们需要优化的是
m i n F , ρ , n e = e a p p + e e s t + e o p t , s . t . n ≤ n m a x , T ( F , ρ , n ) ≤ T m a x min_{F,\rho,n}e=e_{app}+e_{est}+e_{opt},s.t.n\leq n_{max},T(F,\rho,n)\leq T_{max} minF,ρ,ne=eapp+eest+eopt,s.t.nnmax,T(F,ρ,n)Tmax

n m a x n_{max} nmax表示最大的可用数据量, T m a x T_{max} Tmax表示能够训练的最长时间。
所谓 Small-scale learning problems 是指主要收到 n m a x n_{max} nmax的限制,计算复杂度不成问题, e o p t e_{opt} eopt可以减少为0;而 Large-scale learning problem 主要受到 T m a x T_{max} Tmax的限制,我们需要选择合适 ρ \rho ρ来简化计算。
【读书笔记】NeurIPS2018的两篇文章:The Tradeoffs of Large Scale Learning和Neural Ordinary Differential Equations_第1张图片
【读书笔记】NeurIPS2018的两篇文章:The Tradeoffs of Large Scale Learning和Neural Ordinary Differential Equations_第2张图片
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 相当于
h t + 1 = h t + f ( h t , θ t ) h_{t+1}=h{t}+f(h_t,\theta_t) ht+1=ht+f(ht,θt)

可以看作是一个微分方程的 Euler 迭代求解。如果用更多的层数和更小的步长,可以化为
d h d t = 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 格式

感觉跟跟我的老本行有点像,有空好好研究一下。

你可能感兴趣的:(读书笔记,机器学习)