1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 论文解读 Search to Distill: Pearls are Everywhere but not the Eyes 神经网络架构搜索+知识蒸馏

论文解读 Search to Distill: Pearls are Everywhere but not the Eyes 神经网络架构搜索+知识蒸馏

时间:2019-04-29 13:52:31

相关推荐

论文解读 Search to Distill: Pearls are Everywhere but not the Eyes 神经网络架构搜索+知识蒸馏

目录

Search to Distill: Pearls are Everywhere but not the EyesMotivationMethodExperiments结论

Search to Distill: Pearls are Everywhere but not the Eyes

在 Auto ML 时代,神经网络架构搜索(Neural Architecture Search,NAS)已经广泛应用到了分类、检测、分割等任务。数据增强、网络结构、损失函数等等都可以用机器搜出一个比人工设计更优的方案。

今天介绍的论文Search to Distill: Pearls are Everywhere but not the Eyes则将第一次将 NAS 引入 知识蒸馏(Knowledge Distillation,KD)领域。作者是来自 Google 和港中文的 Yu Liu, Xuhui Jia, Mingxing Tan, Raviteja Vemulapalli, Yukun Zhu, Bradley Green, Xiaogang Wang。应该是要投 CVPR 。

Motivation

知识蒸馏一般是由 teacher,student 两个网络组成,teacher 一般是 ResNet 152 这样的大模型,student 一般是 Res50 这样的小模型。为了让小模型能学的更好,student 网络预测的结果不仅和 ground truth 算 loss,还和 teacher 网络的预测值算 loss。学者一直在研究如何让 teacher 教给 student 更多的内容,从而使 student 涨更多的点。

本文的作者提出一个观点:对于不同结构的 teacher 网络来说,其对应的最优 student 结构是不一样的。如下表所示,如果拿 EfficientNet-B7 做 teacher,student 2 表现比 student 1要好;但是把 teacher 换成 Inception-ResNet-v2 之后,反而是 student 1 表现比 student 2 要好。

之前人们研究 KD 为什么能 work 的时候,主要是从 teacher 提供的 soft label 比 ground truth 的 one-hot label 要好的角度来分析。但是却没有从网络结构的角度来考虑。虽然 KD 可以用在任意两对 teacher-student 网络上,但是作者发问: 所有学生网络是否同样有能力接受不同老师的知识 (are all student networks equally capable of receiving knowledge from different teachers)?

为了验证这个假设,作者选了 8 个不同架构的 teacher 网络,从 ResNet 152 到 EfficientNet-B7,如下表所示:

然后作者又选了 5 个不同的 student 模型。作者说这 5 个模型是从 MNAS 的搜索空间搜出来的,只用 ground truth 训练的话结果相近,从 65.4 到 65.6,只差 0.2。不过作者并没有提供这 5 个模型的结构图、参数量之类的细节。

这样 8 个 teacher,5 个 student 就可以得到 5x8=40 组实验结果,选其中的 20 组如下表所示。可以看出对于相同的 teacher 模型,不同的 student 学的效果能差 1 个点。

下图 (a) 分析了 teacher 之间的相似度:先根据模型输出的过了 softmax 之后的结果算 KL 散度,然后得到 Confusion-Matrix。由图 (a)可以看出 Teacher - a 和 Teacher - b 是分布比较接近的,但是其对应的学的好的 student 模型却完全不一样。

上述的分析都是说明 structural knowledge 对 KD 的重要性, student 的结构对于 KD 能够达到的 upper bound 有影响。作者提出了一种 Architecture-aware Knowledge Distillation (AKD) 的概念:在给定了一个 teacher 模型之后,可以用 NAS 搜一个能在上面学的最好的 student 模型。在比较小的计算量下,作者搜出来的网络最后在 ImageNet、MegaFace 等数据集上都取得了非常好的效果。

由下图可以看出,传统的 NAS 用的是 ground truth 的 one-hot label,搜索空间更大。而本文提出的 AKD 还用到了 teacher 模型提供的 soft label,搜的是对某个 teacher 模型最友好的 student 结构,两者的搜索空间是不一样的。

Method

作者用了基于强化学习的 NAS 方法来搜一个 student 模型,同时也限制了latency 让这个模型不能太大。训练的时候 teacher model 也会提供 reward。如果抛开 teacher model 的监督,其实是一个很常规的 RNN 做 controller 的方法,搜索空间和 Mnasnet 相似。由于要等 teacher 模型的反馈,作者也说明了速度比传统的 NAS 慢 3~4 倍,200 个 TPU 要跑 5 天。整个模型的 pipeline 如下图所示:

作者把基于 KD-guided reward 搜出来的网络结构统称为 AKDNet,而 普通的 classification-guided reward 搜出来的网络统称为 NASNet。

下图展示了 AKDNet 搜索过程中的一些结果,逐一介绍:

(A):target latency 是 15 ms,可以看出采样比较多的地方都集中在 15 ms附近;

(B):latency-accuracy 之间的权衡,x轴越大,latency 越高,准确率越高。因此搜索的最优解就是在画出来的那条红线附近;

(C,D):随着采样时间的增加,latency 越来越接近 15 ms,Acc 也越来越高;

(E):模型的 latency 和 FLOPS 之间的关系,大致是成线性相关的。

为了更好地展示 AKDNet 和 NASNet 的区别,作者把他们两个采样的点随着采样时间的增加的变化可视化的出来。可以看出越到后面的时候,两种方法采样的点完全分开了。

作者认为 teacher 模型的 reward 带来了“结构化信息”(structural knowledge),而 structural knowledge 也是 teacher 教给 student 的一部分,如果 teacher 和 student 的结构差异很大,就会妨碍 student 学到的效果。

为了这个验证假设,作者继续提出了两个问题:

问题1: 如果两个相同的 RL Agent 用不用的 teacher model 提供 award,他们会收敛到搜索空间的相同点上吗?

答案是这两个 Agent 会收敛到完全不同的点,如下图所示

问题2: 如果两个不同的 RL Agent 用相用的 teacher model 提供 award,他们会收敛到搜索空间的相同点上吗?

结论是会收敛到的位置会非常相似,如下图。作者认为这样就验证了 KD 过程中存在 structural knowledge 的假设。

接下来作者可视化了 AKDNet and NASNet 搜出来的结构有什么区别,如下图。可以看出来他们偏爱的运算是不一样的。

Experiments

在 ImageNet 上的详细结果如下表。在 Latency 限制为 75 ms 的时,从74.7->75.5,也就是说搜索模型的时候加入 teacher reward 最终能涨将近一个点。而对于 Latency 限制为 15 ms 的小模型,能从 63.9 涨到 66.5。

下表说明了试了不同的 KD Policy,加在 NAS 上面总是能涨的:

在不同 Latency 限制下,和 SOTA 方法比较的结果如下表,

作者尝试了把 Latency 的约束换成 FLOPS,发现这两个指标之间有一定的线性关系,搜出来的结果差别不大,如下表所示:

换一个数据集,在MegaFace 上验证的结果如下表:

此外,作者也证明了涨点之后并没有过拟合。当 teacher 是多个 model ensemble 的结果的时候,本文提出的方法仍然能涨。

结论

作者在结论中总结说,student model 和 teacher model 结构比较相似的话,学的会比较好。未来一个潜在的研究方向是如何定义一个 metric 指标,衡量不同网络之间的结构相似性。

简单概况的话,本文的目的是在指定 teacher 结构的前提下,搜一个对其学的最好的 student 结构。具体做法是常规的 NAS 里面加一个 teacher reward。

如果有理解不正确的地方,欢迎在评论区指正。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。