目录
摘要
提出了用好网络帮助小网络训练的新的统一框架
这个框架中,好网络全程都在帮助小网络学习
分析了不同的loss的效果
用叫做gradient block的技巧同时提升了小网络和好网络的性能
引言
- 之前
分解和压缩解决推理时间长的问题,有矩阵SVD,MobileNet以及ShuffleNet
知识蒸馏,有KD,Fitnets
- 本文工作
名字叫做rocket launching
booster对应深的复杂的teacher,light net是student
light net和booster net都是这个架构的组成成分,训练的时候都参与训练
light net在训练过程中会学习booster net的知识
- 总结
设计了一个统一叫做rocket launching的架构,booster全程对student监督,student可以达到接近booster的效果
分析了不同的知识蒸馏函数
设计了gradient block技巧,使得booster在训练的时候不受light net的影响,给了booster更多的自由性
相关工作
- 简化计算和裁剪
SVD近似卷积
深度可分离卷积( MobileNets )
pointwise组卷积和通道的打乱(ShuffleNet)
用下一层的数据信息裁剪当前层的filters(ThiNet )
- teacher-student
用集成模型标记没有标签的数据,将数据用来训练小网络,表明大网络的知识可以迁移到小网络中
有论文使用softmax前的logits作为要迁移的知识,训练小网络
KD,用了T来放大输出概率的分布信息,证明了T无限大时,logits的方法是它的特例
用中间层的信息作为要迁移的知识(Fitnets)
用多层的信息,但是用attention map作为要迁移的知识
- 本文和之前做法的不同点
booster会在自己训练的整个过程的同时提供给light net知识,这是因为light net不仅仅需要最后尘埃落定后的知识,还需要整个训练过程的优化走向知识,也就是说怎么走到终点也是一个重要的要传递的知识
booster和light net底层的参数是共享的,这是因为同样的任务,低层次的特征表达应该是相同的