支付宝夺冠CVPR 细粒度视觉分类挑战赛:数据增强+知识蒸馏,效果大幅提升

近日,支付宝天筭安全实验室在 CVPR FGVC(细粒度视觉分类)workshop 举办的植物病理学挑战赛(Plant Pathology Challenge)中夺冠。本文介绍了冠军队伍及其解决方案。

CVPR(国际计算机视觉模式识别会议)是由 IEEE 主办的一年一度的世界顶级计算机视觉学术性会议。大会包含多个 workshop,以及对应的许多计算机视觉算法竞赛。

其中 FGVC(细粒度视觉分类)workshop 也举办了多项竞赛,如 Plant Pathology Challenge。该竞赛的任务是:根据苹果树叶子图片区分不同种类的疾病,提高疾病分类的准确率,从而减少化学药品的滥用,及其导致的耐药病原体菌株出现的问题。其带来的效果是显性地减少种植成本投入、错误疾病诊断带来的经济损失,以及不必要的环境污染。

本次竞赛共有 1317 支队伍参加,支付宝天筭安全实验室获得冠军,并与其他队伍拉开较大差距。

本文将为大家介绍此次竞赛冠军团队的解决方案。

Plant Pathology 竞赛简介

赛题数据集

本次竞赛数据集包含 1821 张训练图像和 1821 张测试图像,每张图像有四种可能的标签(健康、锈病、痂病、同时拥有两种疾病),这四种类型的比例为 6:6:6:1,存在数据不平衡问题,且数据集中有一部分不准确标签。

因此如何解决数据量少和标签不准确问题,对所有参赛团队都是个挑战。

评价指标

赛题采用 mean column-wise ROC AUC 作为评价指标来衡量模型的性能,该指标的具体计算方式为各类标签 ROC AUC 值的平均。

冠军解决方案

如前所述,该竞赛数据集存在数据量少以及标签不准确的问题。为此,支付宝天筭安全团队采用了数据增强和知识蒸馏技术。

数据增强

由于竞赛数据集相对较小,直接使用原始数据进行训练会导致模型存在过拟合的风险。为了更好地增加模型鲁棒性,天筭安全团队对数据集进行了如下一系列数据增强操作。

1. 随机光照增强

2. 随机对比度增强

3. 上下翻转增强

4. 左右翻转增强

5. 随机旋转缩放增强

此外,该团队还使用了一些高斯模糊等肉眼不容易区分的增强操作,这些操作极大地丰富了训练数据集,让模型尽可能地学习更多的特征,以增强其泛化程度。


from albumentations import (
     Compose,
     Resize,
     OneOf,
     RandomBrightness,
     RandomContrast,
     MotionBlur,
     MedianBlur,
     GaussianBlur,
     VerticalFlip,
     HorizontalFlip,
     ShiftScaleRotate,
     Normalize,
)


train_transform = Compose(
     [
         Resize(height=image_size[0], width=image_size[1]),
         OneOf([RandomBrightness(limit=0.1, p=1), RandomContrast(limit=0.1, p=1)]),
         OneOf([MotionBlur(blur_limit=3), MedianBlur(blur_limit=3), GaussianBlur(blur_limit=3),], p=0.5,),
         VerticalFlip(p=0.5),
         HorizontalFlip(p=0.5),
         ShiftScaleRotate(
            shift_limit=0.2,
            scale_limit=0.2,
            rotate_limit=20,
            interpolation=cv2.INTER_LINEAR,
            border_mode=cv2.BORDER_REFLECT_101,
            p=1,
         ),
         Normalize(mean=(0.4850.4560.406), std=(0.2290.2240.225), max_pixel_value=255.0, p=1.0),
     ]
)

模型选型

该团队采用 seresnext50 作为训练的模型框架,其中前缀 se 表示 squeeze and excitation 过程。该过程的原理是:通过控制 scale 的大小,把重要的特征增强、不重要的特征减弱,原理和注意力机制相同。其目的是让提取的特征指向性更强,从而更好地对 FGVC 任务中的精细特征做识别。

训练策略

该团队采用 adam + cycle learning rate 的学习策略进行模型训练。

这种学习策略的优势是:通常不会产生太多过拟合,也不需要仔细调参。

误差分析

误差分析是提升深度学习模型性能中十分重要的一环。当模型训练完成后,如何对模型性能进行改进才是提分的关键点。

该团队通过热力图的方式将模型对图片关键识别部位提取出来,这样就能很清晰地了解模型看到了哪些部位才将图片识别为对应的类别。把识别错误的图片进行分析后,就可以知道模型训练的整体环节中有哪些可以被改进。

自蒸馏

由于有些疾病较难区分,导致标签存在一些不准确的情况,这给训练增加了一定的难度,模型很可能被不准确的标签误导。

为了应对这种情况,支付宝团队采用了自蒸馏的方式来解决该问题:训练五折模型,然后将五折的验证集组成 out-of-fold 文件,最后将 out-of-fold 的结果和 ground truth label 按 3:7 混合作为训练新模型的标签。简单来说,就是给每个软化前的标签赋予一定的概率,从而降低模型训练的难度 。

模型预测

在最后提交成绩的阶段,该团队采用了 TTA(Test Time Augmentation)策略,对预测样本都执行了一定的数据增强,然后对这些增强的预测值做平均加权,这也为模型结果起到了一定的提升作用。

小结

细粒度图像分类计算机视觉领域中极具挑战的方向,但这一方向在实际应用中对于提升交易风险辨识度有很大的帮助。支付宝天筭安全团队在此次竞赛中所使用的原创模型,为用户交易纠纷举证、网站内容风险识别等场景的技术优化带来了新思路。

冠军团队介绍

该技术研究团队来自支付宝天筭安全实验室,隶属于支付宝安全实验室。研究方向重点围绕智能风控和反欺诈技术,探索安全领域的机器学习等前沿问题。此次该团队不仅在 Kaggle 挑战赛登顶,在全球仅 180 位 Kaggle Grandmaster 中,天筭安全实验室占了 4 位。该团队还在 2019 年 AI 数据挖掘领域的「世界杯」KDD 比赛中夺冠,在 1600 余支参赛队伍中,碾压了包括谷歌、微软、Facebook 在内的全球强队。

安全科技是支付宝的重要科技实力之一,该实验室是支付宝「你敢付我敢赔」承诺的重要技术力量。
入门CVPR 2020知识蒸馏数据增强细粒度识别图像分类阿里巴巴支付宝
21
相关数据
Microsoft机构

微软是美国一家跨国计算机科技公司,以研发、制造、授权和提供广泛的计算机软件服务为主。总部位于美国华盛顿州的雷德蒙德,最为著名和畅销的产品为Microsoft Windows操作系统和Microsoft Office办公室软件,以及Xbox的游戏业务。微软是美国《财富》杂志2015年评选的世界500强企业排行榜中的第95名。

https://www.microsoft.com/en-us/about
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

模式识别技术

模式识别(英语:Pattern recognition),就是通过计算机用数学技术方法来研究模式的自动处理和判读。 我们把环境与客体统称为“模式”。 随着计算机技术的发展,人类有可能研究复杂的信息处理过程。 信息处理过程的一个重要形式是生命体对环境及客体的识别。其概念与数据挖掘、机器学习类似。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

数据挖掘技术

数据挖掘(英语:data mining)是一个跨学科的计算机科学分支 它是用人工智能、机器学习、统计学和数据库的交叉方法在相對較大型的数据集中发现模式的计算过程。 数据挖掘过程的总体目标是从一个数据集中提取信息,并将其转换成可理解的结构,以进一步使用。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

知识蒸馏技术

Hinton 的工作引入了知识蒸馏压缩框架,即通过遵循“学生-教师”的范式减少深度网络的训练量,这种“学生-教师”的范式,即通过软化“教师”的输出而惩罚“学生”。为了完成这一点,学生学要训练以预测教师的输出,即真实的分类标签。这种方法十分简单,但它同样在各种图像分类任务中表现出较好的结果。

细粒度图像分类技术

细粒度图像分类是对属于同一基础类别的图像(汽车、狗、花、鸟等)进行更加细致的子类划分, 但由于子类别间细微的类间差异以及较大的类内差异, 较之普通的图像分类任务, 细粒度图像分类难度更大。

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

推荐文章
这个方案有具体的代码或者论文吗?