【论文阅读笔记】Rocket Launching: A Universal and Efficient Framework for Training Well-performing Light Net

【作者】周国睿、范颖、崔润鹏、卞维杰、朱小强、盖坤

【团队名称】阿里巴巴

【收录】AAAI2018论文 

【论文链接】https://arxiv.org/abs/1708.04106

   深度网络通常采用复杂的网络结构来实现精确预测,但对于点击率预估这样的在线实时响应系统对响应时间要求非常严格。结构复杂,层数很深的深度模型不能很好的满足严苛的响应时间的限制。为了在满足响应时间的前提下还能保证很好的预测性能,本文提出了火箭发射网络(Rocket Launching):其中简单的网络称为轻量网络(lightnet),复杂的网络称为助推器网络(booster net),相比前者,有更强的学习能力。两个网络共享部分参数和层次,分别学习类别标记,此外,轻量网络通过学习助推器的soft target来模仿助推器的学习过程,从而得到更好的训练效果。测试阶段,仅采用轻量网络进行预测。

   通过论文的introduction部分,可以目前对这种时延约束要求的深度学习已经有了不少研究,主要分为两类:一类方法采取的是优化算法,压缩网络结构,如[Denton et al. 2014] 采用的Matrix SVD(文章:Exploiting linear structure within convolutional networks forefficient evaluation.)和[Howard et al. 2017]为移动设备设计的简化网络ShuffleNet(文章:Mobilenets: Efficient convolutional neural networks for mobilevision applications);另一类采用Teacher-student策略,即通过复杂的Teacher网络训练得出的参数指导Student网络,相关研究如:[Hinton, Vinyals, and Dean 2015](文章:Distilling theknowledge in a neural network),[Zagoruyko and Komodakis 2016](文章:Paying moreattention to attention: Improving the performance of convolutional neuralnetworks via attention transfer)。本文的灵感就来源于Teacher-Student strategy。

一、文章提出的模型

【论文阅读笔记】Rocket Launching: A Universal and Efficient Framework for Training Well-performing Light Net_第1张图片

   训练阶段,同时学习两个网络(这点与以往的方法不同,以往的方法是使用复杂网络训练的结果参数用于简单网络,作者认为学习的过程和结果都很重要):Light Net 和Booster Net,两个网络共享部分信息。把大部分的模型理解为表示层学习和判别层学习,表示层学习的是对输入信息做一些高阶处理,而判别层则是和当前子task目标相关的学习,文章认为表示层的学习是可以共享的,如multi-task learning中的思路。文章中共享的信息为底层参数(如图像领域的前几个卷积层,NLP中的embedding),这些底层参数能一定程度上反应了对输入信息的基本刻画。

二、通过hint loss在两个网络间共享学习信息

【论文阅读笔记】Rocket Launching: A Universal and Efficient Framework for Training Well-performing Light Net_第2张图片

   公式中最后一项就是hint-loss,前面两项是交叉熵损失。L(x)和Z(x)是两个网络在进入Softmax判别前的参数集合。通过这种类似正则化的方法使得两个网络参数接近,达到知识传递的目的。文中还对比了几种不同的hint loss function。

三、通过Gradient block防止Booster Net性能受Light Net牵连

   本文由于采用同时训练两个网络,因此两个网络的性能会接近,这会妨碍Booster Net直接从Ground Truth的学习,Booster Net不能达到更有,使得两个网络的性能都下降。文章设计了Gradient block模块:在训练的反向传播hint loss项阶段,固定Booster Net的Wb权重参数来实现,即该参数仅通过H(y,q(x))的反向传播更新。

四、未来可能的改进方向

   不仅减少网络层数,也考虑减少神经元的个数;引入attention机制减少推理时间。


你可能感兴趣的:(机器学习)