Improving Simple Models with Confidence Profiles
原文地址:Improving Simple Models with Confidence Profiles
Abstract
用ProWeight方法进行模型迁移,使用linear probes通过flattened intermediate representations生成confidence score。在使用中间层的confidence scores的简单模型的训练过程中对样本进行理论上合理的加权。在CIFAR-10上,这个weighting method用一个复杂的Resnet一小部分得到了3-4%的提升;在一个生产问题中使用作者方法,CART模型的精度提升了13%。
1 Introduction
作者提出三个原因用来解释为什么关注提高简单模型:
- 某些领域专家的偏好:一些领域的专家有一些自己喜欢用的模型。
- 可用的数据很少:避免过拟合,提供insight,使用预训练的模型进行迁移也很可取。
- 资源有限:当电力内存受限时,简单模型更可取。
之前提到的linear probes就是logistic分类器,添加到预训练网络中的中间层,以便从该层获取预测。通过这些confidence scores和probe的输出所构成的confidence profile来weight样本来帮助简单模型的训练。作者先后尝试了area under the curve (AUC)和神经网络来学习这些weights。
这种weight样本的思想和curriculum learning类似,就是首先关注那些比较容易学习的样本。
2 General Framework
这里的思想就是得到那些容易训练(easier)的样本去训练,可以通过area under the curve (AUC)算法确定easier的样本,由此可以得到用来训练简单模型的数据集 D S D_S DS每个样本的权重 W = { w 1 , . . . , w m } W=\{w_1,...,w_m\} W={w1,...,wm}。那么优化问题变为:
其中 λ ( ⋅ , ⋅ ) \lambda(\cdot,\cdot) λ(⋅,⋅)是损失函数, B \mathcal{B} B是参数空间, C \mathcal{C} C是权重向量 w w w存在的空间,对权重大小进行了限制以避免权重全为零的解出现。
2.1 Algorithm Description
首先在 D N D_N DN上训练一个复杂的模型, R u ( x ) R_u(x) Ru(x)就是flattened的表征(可能就是说把复杂网络这一层的信息都集中到了 R u ( x ) R_u(x) Ru(x)中,相当于flattened了),那么:
σ ( ⋅ ) \sigma(\cdot) σ(⋅)是softmax, k k k是类别数,在数据集 D N D_N DN上进行训练。 P u ( R u ( x ) ) [ y ] ∈ [ 0 , 1 ] P_u(R_u(x))[y]\in[0,1] Pu(Ru(x))[y]∈[0,1]就是标签 y y y的confidence score。
教师的精度也决定了学生表现的好坏,教师提供的probe confidence scores不能总是太好,也不能总是太差。
ProWeight算法在Algorithm 1中展示步骤(5)计算权重可以使用AUG算法(Algorithm 2),或是将confidence scores作为输入的正则化神经网络,正则项为 R ( w ) = ( 1 m Σ i = 1 m w i − 1 ) 2 R(w)=(\frac{1}{m}\Sigma^m_{i=1}w_i-1)^2 R(w)=(m1Σi=1mwi−1)2,并且神经网络在batch上训练,正则项要计算所有的样本。然后使用weights在 D S D_S DS上训练简单样本就好了。
2.2 Theoretical Justification
这里用了importance weighting的思想,得出:
3 Experiments
主要有两个实验,一个在CIFAR-10上,一个在芯片制造厂商的数据集上。还跟蒸馏(distillation)方法对比了。
3.1 CIFAR-10
复杂网络使用了15个Resnet单元。简单网络使用了复杂网络的一部分,但初始的卷积层,和最后的平均池化层和全连接层都一样,四个简单模型的体积分别是复杂网络的1/5,1/3,1/2,2/3。结果如下:
这里作者中指出,复杂模型的精度太高对简单模型weights的确定也不利,这样会使得 w w w全部接近于1,即不利于区分那些样本容易学习。
3.2 Manufacturing
在另外一个预测芯片刻蚀质量的实验中也表现出了不错的效果,有兴趣的可以看一下原文中的Setup。
4 Related Work and Discussion
这里作者将ProfWeight和其他相关的迁移方法相比较,与Distillation相比,ProfWeight对于模型的适应性更强,因为它只需要对样本进行Weighting,适用于几乎所有的模型,而且相比Distillation,占用的资源更少;相比Curriculum Learning,Weighting过程是通过在复杂网络上训练Probes自动进行的,不需要人工设计;Boosting方法跟ProfWeight差异比较大。
未来的工作中作者提到要研究一下使用Weighted样本对训练简单模型的时间的影响,同时也要探索更多的weighting的策略。