从学徒到大师:知识重组网络的进阶之路

训练一个新的网络,最直观的想法是什么?常规的想法用一个有着大量标注样本的数据集从头训练一个目标网络。但不可忽视的问题是,标注一个大规模数据集需要消耗很多人力,尤其是在训练多任务的网络过程中需要多标注的数据集。考虑到线上很多研究人员提供了训练好的网络模型,将这些训练好的网络作为教师网络并进行应用,AZFT研究中心的Visual Intelligence and Pattern Analysis (VIPA) 实验室提出了一种教师->学徒模式的训练方法,这是一种利用教师网络的知识进行重组,不需要真实标注的数据,来指导目标的学徒网络训练的方法:Knowledge Amalgamation for Joint Scene Parsing, Depth Estimation, and More (KA)。该成果已经被国际顶级会议CVPR接收。


在现实生活中,一个学生可以分别向不同的老师学习多门功课。同样在网络的训练中,经过多个教师网络的指导,学徒网络可以有能力同时进行多个任务。通过KA学习的策略,学徒网络的野心不仅仅局限于单纯地学习,而是想要逆袭成大师。学徒在接受教师网络的指导时,对学到的知识有消化吸收的能力,他能将知识融会贯通并且互补。


图示为一个学徒网络,它由一个编码器和一个有若干分支的解码器构成。下图的学徒网络在场景分割的应用中同时进行图像分割,深度估计和法向量估计的任务:

 



下面看一下学徒是如何逆袭的。学徒网络上的每个任务公用一个编码器,在解码器处进行了分流,确保在合适的位置分流能够获取指定任务最佳的效果,将不同的任务进行了一定的分层。通过KA,学徒网络利用教师网络的知识进行监督学习,不再需要额外的标注数据。下面介绍一下KA的基本工作原理,其整体的思想如下所示:



 

图中描绘的是一个学徒网络受到两个教师网络的指导的情形。首先需要明确的是,教师网络的知识在这里被定义为其中间层的特征。KA充分利用了每一层的特征也就是之前提过的知识,通过逐层训练来指导学徒网络。在指导学徒网络时,输入一张无标注的图像至学徒网络和所有的教师网络中。在特征提取阶段,学徒网络的编码器提取的特征同时包含两个教师网络的信息。而在解码阶段,学徒网络每一层的特征都能够重新复原回相应的教师网络的特征。学徒网络中获取的特征向量在这里可以被认为是一个容器,包含着两个的教师网络特征。进行特征复原时,对于每一个教师网络,构建一个通道编码模块。利用该模块将学徒网络中的容器中的总特征转换为对应的教师网络的特征。紧接着用转换后的特征替代教师网络对应层的特征,在教师网络的最后一层获取教师网络上的预测。将这个预测联合之前无标注图像直接输入至教师网络所获取的预测,进行loss的计算。多个教师网络的loss进行加权相加来对学徒网络的参数进行更新。考虑到逐层训练的特性,KA用于训练学徒网络的的每一层,因此每次参数的更新只存在于当层的学徒网络和对应的两个通道编码模块。最后从训练完毕的学徒网络中选择出最佳的分流点,接上对应旁路的教师网络的后几层,这样就形成了一个拥有一个解码器和若干分流的编码器的学徒网络。KA的学习策略很容易扩展到三个及以上的教师网络对应一个学徒网络的情形。该学习策略在很多数据集上进行了实验验证,训练好的学徒网络上的每一个任务的表现均优于对应的教师网络。


目前,该成果已经被国际顶级会议CVPR接收,论文 Student Becoming the Master: Knowledge Amalgamation for Joint Scene Parsing, Depth Estimation, and More。


阿里技术 | 达摩院 copyright@2017-2018 阿里巴巴-浙江大学前沿技术联合研究中心《法律声明》
浙公网安备: 33010002000092号
| ICP备案网站信息: 浙B2-20120091-4