查看原文
其他

低碳AI好科技(2):如何降低超30%的算法调用成本?畅聊多专家结构


ICCV 2021 VIPriors图像分类赛道和工业检测赛道的双料冠军方案有何亮点?如何在效果不减的前提下,动态调度网络每日调用量达7亿次,减少34%的算法调用成本?

《追AI的人》第3期直播《国际AI视觉大赛冠军方案分享》圆满结束,AAIG的三位学霸做客现场,畅聊顶会Paper的获奖方案。


接下来,我们将用文字分享3个议题,《训练AI要“什么自行车” 只用了1万辆“小破车”》,《低碳AI“如何降低超30%的成本”》,《AI一眼识别“你算什么鸟”》。本文为第二个议题《低碳AI“如何降低超30%的成本”》,共计5335字。


🔻相关内容推荐:

议题一:低碳AI好科技(1)顶会冠军Writeup:目标检测比赛的常用方法有哪些?

直播详情:三个学霸的顶会Paper中奖座谈会:《追AI的人》直播第3期来咯!


孙鹏飞

阿里安全高级算法工程师,北京邮电大学计算机硕士。主要研究方向为图像分类,校招进阿里一直负责集团内容安全的视觉算法能力建设。

夜清,阿里安全算法工程师,北邮硕士毕业,主要研究的方向为图像分类。从校招实习起就一直在阿里安全,负责内容安全方面的视觉算法能力建设。




框架要点


一、背景介绍
·  业务背景、赛事背景、技术背景

二、方法概览

·  网络结构、多专家结构、知识融合与蒸馏、数据增强、训练策略

三、实验结果与业务应用


01背景介绍


业务背景



  • 在内容安全领域,大部分风险具有突发性,这也对算法模型提出了更高的要求。模型需要具有快速响应的能力,即在最短的时间内用少量样本就能达到识别风险的能力。

  • 关于样本标注,需要投入大量的人力和时间。大家最熟悉的就是是鉴黄师这个岗位,鉴黄师们每天需要面对大量的的样本做鉴黄标注,由于一个人的精力有限,人力鉴黄是一件很浪费人力的事情,如果能发展高效且低能耗的模型训练技术,可以节省大量的人力。

  • 神经网络模型训练时需要大量数据进行长时间训练,并且在这个过程中需要大规模GPU集群来支持训练。其中无论是千万级的数据,还是长达半个月的训练时间,都会浪费很多资源。


基于这些问题,就那需要去设计一个高性能的可用模型,节省训练样本的使用,降低训练资源损耗。在学术界,ICCV就举办了这样一个比赛。


赛事背景



基于视觉先验的高效图像分类的比赛。比赛基于图像分类的公开数据集ImageNet抽取1000个类别的子集作为训练集和测试集,数据包括了生活场景下的常见物体类别。训练数据使用每一个类别当中的50张图片,仅为公开数据集规模的1/26

比赛规定不允许使用任何额外数据或者额外数据上的预训练模型。也就是说在测试数据是不可见的,比赛禁止在测试数据上进行自监督训练,或给测试数据打伪标签用于训练。


技术背景



在技术背景中,有一个较为关键的技术方向是动态网络。传统神经网络的网络结构都是固定的,模型用的训练数据固定,输入的模型结构固定,而动态网络则恰恰相反。动态网络在处理不同的测试样本时,可以动态调整自身的结构和参数,具备更强的自适应性。因此,无论是性能上还是节省计算量上,动态网络技术都有不错的效果。


02方法概览



上图为我们的整体方案“基于多专家知识融合的高效图像分类结构”。在训练过程中,训练样本对于模型来说,其实都是有难易程度之分的。当每个样本都是目标清晰、容易辨别,模型识别难度就会大大降低;但是有的样本背景错综复杂,存在遮挡、形变、模糊等情况,都会导致模型识别难度的增加。

对于模型来说,单个模型很难同时兼顾到不同难度的样本识别,所以我们就针对不同难度的样本设计了多个专家结构,希望由不同的专家负责不同难度的样本识别。因为每个专家各有擅长,使它们一一对应各种难度的样本,来负责自己擅长部分样本的识别。


网络结构-注意力结构



神经网络模型和人一样也是有注意力的,对于一张输入的图片,模型聚焦于图片中的显著性特征。提取显著性特征是图像分类的关键,所以在这里就介绍分类模型中三种不同的注意力结构,通过提升模型的注意力结构来提升模型识别的性能。这里列了三种注意力结构,SE-Net、SK-Net以及ResNeSt。

网络结构-动态深度



动态深度是指模型在训练过程中的深度是可以动态变化的,而动态深度通过调整残差网络中块的数量来实现。残差网络是神经网络的一类,块是其的基本结构单位,而块是由不同的网络层按特定顺序堆叠而成,多个块就构成了一个完整的网络的神经结构。

动态深度使得在训练过程中模型中的每个块都有一定的概率被随机跳过。对于一个网络块来说,输入的特征可能不做任何的操作,就被作为输出直接输出了,这也使得整个网络的结构在深度上是不断的动态变化的,这种模式使得网络的泛化能力的极大加强。

依据块在网络中所处深度的不同,跳过的概率线性增加。浅层的网络块,因为提取到的是一些低级的基础的特征,会被用到后面的网络块中被用到,为了避免浅层的特征频繁的变化,影响后面深层网络块中的学习,浅层网络块被跳过的概率应该更低。

所以跳过的概率就会设计成一个线性递增的一个设计,就是说浅层的块会以更低的概率被跳过,而随着块所处深度的增加,网络块跳过的概率会增大。

在测试阶段这些网络块被丢弃的概率是零,即所有的网络块参数都会被利用到,在少量样本特别容易过拟合的情况下,这个结构十分有利于提升模型的正则化的能力。可以把它看作是网络块间的dropout。

网络结构-平移不变性



另外一个技术就是神经网络的平移不变性。如图片右上角所示,对于一张输入图片,对图片中的目标不断挪动其位置,会发现模型的输出的置信度分值就会上下大幅度抖动,在某些情况下就会出现无法识别的情况,这也说明神经网络对目标的平移是比较敏感的。

为了增强网络模型的平移不变性,我们将网络的池化层和步长为2的卷积层替换为一种带有模糊卷积核的特殊结构,加入这种结构之后,目标不管再怎么平移,模型都是保持相对鲁棒,也可以使得分类模型的识别效果进一步提升。

多专家结构


多专家结构可以解释为:一个模型就是一个专家,多专家结构就是将多个模型整合到一起,然后让多个模型整合的效果优于一个模型的效果。




多专家结构听上去和模型融合类似,但实际上两者有明显区别。模型融合方案中各个模型的训练和测试是独立的,彼此之间互不干扰。训练过程中,每个分类模型的网络结构可以是不同的,但有着相同的收敛目标,每一个模型的效果也都差不多,做完融合之后的效果跟原先单个模型差别不大,会有小幅度提升。

而多专家结构则是将各个专家的认知能力和网络结构作区分,希望每个专家针对不同的任务,学习到不同的知识,每个专家所学到的既有差异性而又有互补性。比如说有的专家学擅长识别简单的样本,有的专家学擅长识别复杂的样本,最后做融合的时候基于样本的不同,选择擅长的专家来做识别,识别效果往往要比三个一模一样的专家要好。

当多个专家联合优化的时候,为保证不同专家学习到的知识尽可能不同,这里添加了损失目标函数KL散度,专门用于度量专家之间学习到知识的差异性,当专家学到的知识越相似,目标函数的惩罚系数就越大。

当专家们学到了各不相同的知识,做融合时往往就能达到三个臭皮匠顶一个诸葛亮的效果。因为专家们各有擅长,最后识别效果往往要比相同结构的专家要好。

知识融合与蒸馏


基于不同的专家学到的不同知识,需要用到融合模块对其进行融合。融合模块需要将所有专家学到的知识整合到一起,做加权平均的融合,而非简单地将所有专家的结果做平均。

对于不同的输入样本,融合模块可以隐式地选择性融合到不同专家的知识,给予不同的专家知识一个动态的权重,这种方法比简单将专家预测结果做加权平均要更有效。


通过观察我们发现,比赛数据中存在数据错误标注和多标签的情况,标签很难直接反应图片中的实际内容,给模型的学习带来困难。因此,我们使用知识蒸馏的方法,来解决上述问题。

知识蒸馏则是指通过在比赛数据上预训练教师模型,把知识通过蒸馏的方式传导给给学生,指导学生进行训练,简单来说就是,对于每个训练样本,教师模型会输出自己的预测分值,作为学生标签的一部分用来训练。

数据增强



除了多专家结构之外,我们也使用了一些常用的数据增强方法提升多专家模型的性能,包括数据增强,通过数据增强使得模型在有限的数据内能够做一些增强策略,让测试的样本尽量丰富,使得模型学到的知识更加的饱满。

数据增强的方式包括随机裁切,基于AutoML的自动增强策略,还有两个样本间的融合的MixUP和CutMix,还有从样本里面随机擦除掉一部分的CutOut,在测试过程中,我们也使用了一些数据增强策略,包括TenCrop和扩大测试样本尺寸。

训练策略



上图为我们的训练策略。其中用到了指数滑动平均,每次参数更新的时候,都会考虑到它会考虑到前t-1时候的状态。对它们进行不同的加权分配,求得一个指数平滑值,作为t时刻的预测值的一种预测方法。

关于学习率,为了让模型的学习稳定且高效,学习率需要有一个循序渐进的过程。在训练过程中,我们使用了warm up。可以理解为它是学习率的一个热身的过程,学习率从很小慢慢线性增大到设定值,然后以cosine的曲线下降,最后模型训练将要结束的时候,使用一个最小的设定学习率进行短时间学习,是整个模型稳定下来。

03实验结果与业务应用



以上为我们的消融实验结果,左图介绍了我们的多专家方法包括不同单专家结构、知识蒸馏、知识融合和专家数量对于整个方案带来的提升。在整个方案中,专家数量越多,是别的准确率也会相应提升。

图片空间业务的实际应用场景中,在保证识别效果不下降的前提下,动态调度网络每日调用量达7亿次,能够减少34%的算法调用成本。

 关注AAIG公众号收获更多干货


 PPT原件下载

请添加【AAIG课代表】微信号




追AI的人 往期推荐点击标题查看文章

三个学霸的顶会Paper中奖座谈会:《追AI的人》直播第3期来咯!



(下)算法黑箱到底要不要打开?万字长文讲述:如何构建更合理的算法透明规则



算法黑箱到底要不要打开?万字长文讲述:如何构建更合理的算法透明规则(上)



打通外卖骑手算法的任督二脉:《追AI的人》直播第2期



50页!《AI与安全治理的恩怨情仇》PPT快来下载~真香!



正在直播!AI讲师的PPT里竟然还有软色情...



AI与安全治理的恩怨情仇?《追AI的人》第1期直播来咯!


产业实践 往期推荐点击标题查看文章

博士毕业后,他在淘宝“扫垃圾”?



阿里AI黑科技成团出道,可防火防伪防疫还能反诈鉴黄与打假……



阿里“塔玑”太逼真:外籍模特不再吃香?



万能的淘宝上买不到什么?



阿里建全球最大奢侈品商标数据库:无偿提供给全球科研团队使用识别假货



AAIG参与发布《人工智能产业担当宣言》



一场猎杀AI的残酷游戏:把枪口对准人工智能,是为了吓退黑暗丛林中的对手



阿里实人认证安全性通过FIDO全球权威认证



多举措提升直播品质 阿里协助警方侦破直播售假案



为AI攻防测能力,清华联合阿里、RealAI发布全新测试基准平台Adversarial Robustness Benchmark



阿里巴巴成立人工智能治理与可持续发展实验室(AAIG)



巡检「局部抄袭」,阿里服饰版权算法入选AAAI 2020



阿里新一代安全架构核心AI技术夺冠,机器阅读理解准确率战胜人工



复工潮的疫情防控多了一双“火眼金睛”——AI防疫师



阿里研发AI技术可识别拦截数十国多语种脏话图



为了对付羊毛党和黑灰产,电商平台的AI大招是这样放的



阿里自研芯片亮相的同时,张勇对外公布了这一计划



治理重构,塑造平台经济的健康生态——《中国平台经济健康指数》报告发布


技术干货 往期推荐点击标题查看文章

AI在茫茫人海中,看到只有你被Deepfake了



给AI系统做“安全体检”,阿里安全提出自动化AI对抗平台CAA | AAAI 2021



给图片打「马赛克」可骗过AI视觉系统,阿里安全新研究入选ICCV 2021



你算个什么鸟?AI十级“找茬”选手诞生



「启发式领域适应」成果入选NIPS2020,新一代算法「鉴黄师」诞生



4项新一代安全架构核心AI技术沉淀的论文被国际会议ICASSP收录



用“算法”模拟光束可攻击自动驾驶车辆,专家呼吁重视AI安全



张钹院士解读AI安全治理三大痛点+信通院AI数据安全治理的七条建议



准确检测DeepFake视频,阿里新算法从多个人物中识别被篡改的人脸



只要AI跑得快,色情黑话就追不上我



让 AI 训练 AI:揭秘阿里、浙大的 AI 训练师助手



阿里AI技术获国际视觉大赛双冠军 “低碳AI”降低30%算力成本


大咖视角 往期推荐点击标题查看文章

阿里巴巴副总裁陈龙:数字科技是绿色低碳发展的催化剂、连通器、放大器



阿里巴巴CTO程立:科技的价值锚点永远是“人”


爱心公益 往期推荐点击标题查看文章

为数十万盲人修建网络盲道:阿里的追光者每天为数亿张图片把脉,帮助盲人“听图”




半夜,他偷偷在互联网上呼救



被隔离的阿里安全工程师们:11 天造出疫情 AI 防控系统


AAIG CUP 往期推荐点击标题查看文章

抱大腿攻击是什么?AAIG CUP暨第三届 Apache Flink 极客挑战赛启动!


更多人工智能治理和可持续发展

技术干货+产业实践分享

点击下方名片关注和星标

【阿里巴巴人工智能治理与可持续发展实验室】

继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存