KDforAA论文笔记

本文介绍了KDforAA论文,即通过知识蒸馏来避免AutoAugment中的异常值问题。异常值可能导致图像关键信息丢失,形成噪声。论文提出在交叉熵损失基础上加入KL散度项,利用预训练模型作为教师模型生成软标签,从而减少噪声影响。实验结果显示,这种方法在Cifar-10、Cifar-100和ImageNet上提高了模型的准确性。
摘要由CSDN通过智能技术生成

KDforAA,论文全称是Circumventing Outliers of AutoAugment with Knowledge Distillation,论文的大概意思就是使用蒸馏的方法规避掉AutoAugment中的一些异常值,何为异常值,后面会详细说到。这篇论文也在ImageNet上取得不错的成绩,将EfficientNet-B8网络的top-1提升到85.8%的高度。

论文先简单介绍了之前AutoML在数据增强中的应用。图1是论文中使用到的数据增强的transform搜索列表,沿用了AutoAugment的设置。Augment的搜索目的是在训练集中找一种最佳的增强策略,应用在验证集中。在搜索时,每次最多选择两种增强方式,选中的增强方式中再选择其增强的力度。搜索的方法有强化学习和权值共享等方式,最后会学习出一组transform的选中和力度的概率分布。

图1. Augment的transform列表
在这里插入图片描述

论文接下来分析了增大Augment的力度会带来两个影响:

  1. 使训练集更加多样化,避免网络过拟合。
  2. 力度过大的话会导致图像的关键语义缺失,标签失去意义,变成噪声。

举个平移的transform为例,如果平移力度过大的话,会导致图像的主要内容信息被移出图像之外,但是在标签上还是属于该内容的类别,这种情况下图像本身已经无法和标签对应上了,就可以认为是一个被错误标记的噪声图片。这种现象就是第一段中提到的异常值。

怎么解决这种噪声图片的异常现象呢?作者给出的解决方法很简单——改Loss!

在原本交叉熵Loss的基础上,添加了KL散度项。添加的方法是:使用一个预训练好的模型作为教师模型,将图片送入教师模型中,得到的输出向量作为软标签,该软标签和我们要训练的目标模型(学生模型)的输出计算KL散度值,修改后的Loss方程如下所示。

在这里插入图片描述

其中,等号右边的第一项就是标准的交叉熵计算公式,第二项就是KL散度值, λ \lambda λ表示散度值的权重系数。论文中KL散度值只选择最高的K个预测值(教师模型的输出)进行计算,KL散度的计算方法如下所示。

在这里插入图片描述

KL的散度的计算公式形式和交叉熵很像,有两个区别的地方:1. 常规交叉熵会计算所有元素的熵值总和,而这边的KL散度只计算K个最高的软标签值;2. 常规交叉熵中每个元素的 l n ln

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值