本文名字Dynamical System Inspired Adaptive Time Stepping Controller for Residual Network Families,是林老师等在AAAI2020上的工作,干的啥看标题能知道个大概,这个工作就是对网络方程离散化形式的优化取了步长可变的策略,而这个步长控制器TSC正是一个元学习器!
本文引了NODE、FOCNet,网络和方程结合的一部分思想可以说是从这里来的
文献信息
作者有北大有山大的,包括北大的林宙辰老师,发表在AAAI2020
文献链接AAAI或者ArXiv,建议参考ArXiv,因为有附录
背景方法
背景是结合神经网络和方程迭代机制的方法,历史思路有
- 1个思路是基于欧拉前向法,改进方向是多步、高阶方程、分数阶方程(比如FOCNet);
- 另一个思路是基于ResNet/NODE的稳定性改进
本文主要参考的背景方法是ResNet的离散化形式,其实和NODE应该是一致的。这个离散化形式刚开始我没看明白,是因为没搞清楚它的符号,看下图即可。里面的式$(7,8)$刚开始我不会推,看了附录1可以手推一遍了,其中式$(8)$用$\displaystyle \dfrac{\partial L}{\partial y_n}=\dfrac{\partial L}{\partial y_D}\dfrac{\partial y_D}{\partial y_n}$即可
动机/idea
整体的大动机是理解深度网络的行为behaviors,小动机可以从文章给的例子看出来,就是自适应地调节方程步长以增强稳定性和表达能力
具体的动机主要是:
ResNet和动力系统之间的一致性,unravel残差网络
由Runge-Kutta-Fehlberg自适应步长的思路,希望把此迭代机制设置到网络中,平衡稳定性和有效性
RKF说明:
- 这个博客是代码,留在这里自取:http://blog.sciencenet.cn/blog-398465-326487.html
- 这个ppt介绍龙格库塔法比较全面:https://wenku.baidu.com/view/4e3b3068ddccda38376baf25.html
模型TSC
研究ResNet和欧拉前向法的联系,但不太同NODE,本文主要考虑时间步长的影响
模型本身就简记为TSC好了,全称time stepping controller
具体方案是设计时间步长控制器,与当前状态参数无关,与先前的信息有关,它与主网络的训练是交替优化的。其实模型本身没什么,看原文第3页的式$(9)$即可:
这个式子看起来吓人,其实比较简单,就是带ODE约束的能量泛函优化问题:
(1)优化的目标$J$其实就是数据项➕正则项,$\Phi$是损失函数,两个输入是图像$y_s$经主网络演化到时刻$T$(就是算到最后)的值和监督标签$y_s^*$;正则项和每层的主网络参数$w$和TSC副网络参数$\theta$有关,其引入与观察到基本模型,ResNet的残差形式中,数值稳定性与卷积参数$w$的核范数等有关,因此加了正则;
(2)约束条件还是ODE,即第一行就是主网络ResNet的离散形式;
(3)其中的步长$\Delta t_d$是交替优化来的,见条件第二行,即副网络TSC$\Theta$的形式,它包括自己的网络参数$\theta$,当前状态的主网络参数$w$和之前全部历史步长信息;
(4)后面的就是初值条件什么的了,没啥好说的
这样解读的话,这个副网络TSC$\Theta$其实就是一个元学习器!
实验
在三个数据集ImageNet和CIFAR-10、CIFAR-100上进行了实验
在实验中,作者尝试了三种TSC元学习器,分别是LSTM、2层FC和一个只和历史步长信息有关的函数,显然LSTM是🐂🐂一点的,虽然推断的时候大家计算复杂度一样(原文表$(1)$),训练的时候LSTM计算稍有复杂,但是人家效果更好啊
网络结构如下,基本上是元学习,只是其中有些操作special一点
训练的策略具体有:
- 式$(1)$中的主网络参数$w_d$指的是每个残差block的参数,有几个卷积层,就把它们平均平均再concatenate作为$w_d$,若超过两个就只concatenate首尾的两个卷积参数
- 实验包括了对TSC策略的有效性和稳定性验证,有效就是性能好,稳定性就是收敛得快、稳定啥的
- 实验也包括对三种元学习器的比较
- 实验还包括对非残差网络的实验,这说明
- 把约束中的离散化形式换了,这个框架也是work的
- 元学习器其实可以泛化到不同网络对应的方程
优缺点
优点:
- 结合方程的联系,研究了步长对ResNet稳定性的影响
- 自适应步长控制器和主网络的交替优化可视为元学习器,且验证了有泛化能力
- 元学习器的概念使推断/测试过程中没有引入额外的计算消耗(只有元学习器确定步长)
思考小结
本文其实,总结的话就是网络用方程的离散化解释,引入迭代优化机制,且只考虑欧拉前向法。把对于步长的自适应改进方法做成了一个交替优化的网络,即元学习器
思路棒棒,不过原文似乎没有意识到这个概念
参考文献
[1] Yang, Y., Wu, J., Li, H., Li, X., Shen, T., & Lin, Z. (2020). Dynamical System Inspired Adaptive Time Stepping Controller for Residual Network Families. Proceedings of the AAAI Conference on Artificial Intelligence, 34(04), 6648-6655. https://doi.org/10.1609/aaai.v34i04.6141