当前位置: 首页 > 编程日记 > 正文

蚂蚁金服AAAI论文:基于长短期老师的样本蒸馏方法和自动车险定损系统的最新突破...


来源 | 蚂蚁金服

出品 | AI科技大本营(ID:rgznai100)


一年一度在人工智能方向的顶级会议之一AAAI 2020于2月7日至12日在美国纽约举行,旨在汇集世界各地的人工智能理论和领域应用的最新成果。以下是蚂蚁金服的技术专家对入选论文《基于长短期老师的样本蒸馏方法》与

《自动车险定损系统:像专业定损员一样读取和理解视频》做出的深度解读。


此前,AI科技大本营(ID:rgznai100)已发布《基于可解释性通道选择的动态网络剪枝方法》与《无语预训练的网络剪枝技术》两篇论文的深度解读文章。

基于长短期老师的样本蒸馏方法(LongShort-Term Sample Distillation

随着深度学习的快速发展,神经网络的深度迅速增加。而由于存在梯度消失、过拟合等问题,越深的神经网络越难训练。在过去的一段时间里,如何训练深度神经网络已经取得了很大的进展。最近一些关于老师-学生模型的研究表明,在同一个训练过程中,前面训练过程的历史信息可以作为后面训练过程的老师,从而使模型的训练更稳定,达到更好的效果。

在这篇文章中,我们提出了Long Short-Term Sample Distillation(LSTSD)方法来从两方面提升深度神经网络的效果。一方面,LSTSD将历史训练过程的信息分为两部分:长期信号和短期信号。长期信号来自于n(n>1)训练周期之前,并在较长的一段时间内保持稳定,从而保证学生模型和老师模型之间的差异性。短期信号来自于上一个训练周期,并在每个周期都更新为最新的信息,从而保证老师模型的质量。

另一方面,每一个样本的老师信号都来自于不同的历史训练时刻,因此在训练的每个时刻,模型都是同时向多个历史时刻的模型学习,集百家之所长,从而得到更好的训练效果。我们在自然语言处理和计算机视觉的多个任务上进行了实验,实验结果证明我们提出的LSTSD的有效性。

简介

近年来的许多工作证明了基于知识蒸馏思想的老师-学生模型能够帮助训练深度神经网络。老师-学生模型的训练通常分为两个阶段:在第一阶段先预训练好一个老师模型,在第二阶段固定老师模型,用于指导学生模型的训练。老师-学生模型最初被应用在将复杂神经网络压缩成简单神经网络,在预测精度几乎无损失的同时获得预测加速。

后来的一些工作发现老师-学生模型还可以用于模型的精度提升,这些工作通常先训练一个老师模型,然后重新随机初始化一个和老师模型有相同结构的学生模型,学生模型的监督信息包括:真实标签和老师模型输出的概率分布。此外,还有一些工作证明同时向多个老师模型学习能进一步提升学生模型的效果。

最近的一些工作提出在一个阶段里实现老师-学生模型优化,核心思想是用前面训练过程的历史信息作为老师,指导模型的后续训练过程。这些工作证明在老师-学生模型中,老师的质量以及老师-学生差异性是非常重要的两个因素。如果老师的质量太差,可能会给学生带来噪声,而如果老师和学生的差异性太小,那么学生没法从老师学到很多知识。而在一阶段老师-学生模型中很难同时保证这两点,因为随着训练的进行,高质量的老师应该是离当前时刻很近的模型;而差异性大的老师却应该是离当前时刻较远的模型,这两者相互矛盾。

我们提出的LSTSD将训练过程的历史信息解构成两部分:长期信号和短期信号。长期信号和短期信号。长期信号来自于n(n>1)训练周期之前,并在较长的一段时间内保持稳定,从而保证学生模型和老师模型之间的差异性。短期信号来自于上一个训练周期,并在每个周期都更新为最新的信息,从而保证老师模型的质量。此外,每一个样本的老师信号都来自于不同的历史训练时刻,因此在训练的每个时刻,模型都是同时向多个历史时刻的模型学习,能进一步提升效果。

 

解读

如上图,首先我们将整个训练过程分为多个子训练过程(mini-generation),每个子训练过程包含若干个训练周期(epoch),每个训练周期中每个样本会随机被挑选一次作为训练样本更新网络参数。每个样本的长期老师来自于上一个子训练过程的最后一个训练周期,短期老师来自于上一个训练周期。

给定一个样本(xi,yi),以其在第(m+1)个子训练过程中第(l+4)个训练周期为例,它的短期老师来自于上一个周期(即第(l+3)个训练周期)中(xi,yi)被选中时的网络参数。假设(xi,yi)在第r步被随机挑选作为训练样本,则其短期老师为此时刻网络对它预测的概率分布:

它的长期老师来自于上一个子训练过程最后一个训练周期(即第l+2个训练周期)中(xi,yi)被选中时的网络参数。假设(xi,yi)在第w步被随机挑选作为训练样本,则其长期老师为此时刻网络对它预测的概率分布:

样本(xi,yi)的监督信号分为三部分:真实标签、长期信号、短期信号。因此总的目标函数为:

由于每个样本的老师信号来自于它被选中时刻的网络对它的概率输出,在每个训练周期中选择训练样本的顺序都不一样,因此在第(l+4)个训练周期中每一批样本来自于第(l+3)、(l+2)个训练周期中不同批,因此每一批样本都对应了多个时刻的老师模型。而学生模型在每一个时刻都在同时向多个老师学习。这种实现方式的好处在于不会增加额外的计算时间代价,相比于存网络参数的方式,耗费的存储空间也非常小。

我们在计算机视觉和自然语言处理的多个分类任务上进行了实验,实验结果表明对于多种网络结构,LSTSD均带了显著的精度提升,也证明LSTSD在不同领域任务上的泛化能力。

应用

我们提出的方法LSTSD已经在蚂蚁金服若干场景落地,包括分类任务、匹配任务、排序任务,这也证明了LSTSD的通用性。未来我们还将继续探索LSTSD的改机,以及在更多场景进行落地。

 

自动车险定损系统:像专业定损员一样读取和理解视频

 

车险定损是车险理赔中最为重要的操作环节。以往传统保险公司的车险处理流程,一般为报案、现场查勘、提交理赔材料、审核、最终赔付。传统流程对用户和保险公司分别造成了时间成本和人力、管理成本。本文提出的自动车险定损系统不仅能通过AI算法替代定损环节中重复性人工作业流程,而且能通过深度学习技术让用户在车险理赔过程中现场拍摄视频,在几秒内就能得到准确的定损结论,并快速获得理赔。

目前有相关工作在用户拍摄的照片上进行车险定损,拍摄照片对拍摄距离有较高的要求,用户交互复杂。也有采用远程视频会议系统,由专业定损员在控制中心指导拍摄过程并进行定损。本系统采用拍摄视频的方式在云端自动定损,简化了用户交互过程,降低了定损成本。

系统架构与实现方案

通过计算机视觉技术进行定损会遇到以下挑战:(1)在不可控的场景下,由于拍摄角度、距离、对焦等因素影响,用户很难拍摄出高质量的视频或图像(2)车辆表面的反光、污渍、贴画等容易被误识别为损伤(3)深度学习需要的训练数据标注成本很高,需要一定的专业知识,像素级分割标注成本更高。针对上述挑战,本文采用前端拍摄模块来引导用户拍摄高质量和适当距离的视频。通过视频中的多帧融合,来抑制定损过程中遇到的噪声。基于弱监督学习模型采用检测框标注数据来提高损伤定位精度以获取像素级分割结果。

系统整体框架

系统主要包括:数据采集、车损识别和定位、车辆部件识别和定位、决策和维修方案四个部分。

  • 数据采集模块 前端交互模块用来引导用户拍摄高质量视频,本文采用移动端的推理引擎来调用部署在移动端的轻量级深度模型,从而指导拍摄过程。在拍摄过程中,通过友好简洁的用户交互来引导拍摄距离的远近,同时视频关键内容和其他相关信息被上传到云端来进行分析识别。

  • 车损识别定位模块 车损识别可被定义为多类别检测或者分割问题。训练模型需要大量的丰富的标注样本,分割所需的像素级标注成本较高,很多情况下损伤纹理边界也难以定义清楚。本文采用检测模型和弱语义分割融合的方法,从标注框中学习更精确的像素级分割结果。另外,可以进一步利用从视频中提取的多帧图像,通过时间一致性和内容互补性进一步滤除噪声提高召回率。

  • 车辆部件识别定位模块 采集的远距离拍摄的帧图像有利于识别车辆部件,近距离的有利于识别损伤细节。现有的基于图片的算法一般需要用户手动拍摄两种图像,用户交互复杂。本文的关键帧抽取算法从视频中自动抽取两种图像,模型检测部件的同时也分割出部件边界,并利用多帧图像结果的融合得到更精确的识别结果。

  • 决策和维修方案模块 给定了损伤和部件识别结果之后,决策模型学习对损伤部件和损伤程度进行预测,系统基于定价策略把预测结果转换为维修方案。上述识别模块和决策模块没有设计成端到端的模型,这样在每个阶段可以利用多个模型的融合来提高精度。

本文分别用基于视频和基于图像的车险定损app采集了1000个以上的案例,并在数据采集质量和定损精度上进行了对比。在预先定义好的高质量数据评测标准上,视频比图像高出20%。在定损平均精度上,视频比图像高出29.1%。

用例

当车辆事故发生时,车主可以用本系统来评估车损。具体来说,用户根据拍摄引导过程,拍摄远距离和近距离的视频。在拍摄过程中,视频被上传到云端完成损伤识别。最终维修方案和价格评估返回前端后,用户可以决定理赔或者个人完成维修。

结束语

本文展示了基于视频采集、理解分析技术的车险自动定损系统,讨论了高质量数据采集、提升车损识别质量、降低分割标注成本的难点和技术方案。实际应用表明本系统比基于图像的定损更有效,不仅提高标准化定损的准确率,更重要的是,可以让没有定损专业知识的普通用户自助定损,进一步提升用户理赔体验,降低保险公司成本。

【end】

精彩推荐

想知道Python如何支援抗“疫”吗?2月15日(全天)Python线上峰会免费学!6场精华分享,用代码“抗”疫!

两种报名方式:

1.点击“立即报名”--结算时使用优惠码“pythonday”,价格变为“0"元--提交订单,免费参与

2.点击“立即报名”--付款“19元”报名--会议官网公示姓名--为疫区捐款表心意

推荐阅读

  • 福利直达!CSDN技术公开课评选进行中

  • 技术驰援抗疫一线, Python 线上峰会免费学!

  • 病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

  • 我是如何用6个月,从0编程经验变成数据科学家的?

  • 孟岩:疫情带来的暂停,会让区块链与数字经济迎来更大反弹|算力大学视频公开课全文

  • 疫情时期的程序员爱情,看完我酸了!

  • 你点的每个“在看”,我都认真当成了AI

相关文章:

C# 实现HTML转换成图片的方法

/// <summary> /// 通过WebBrowser控件来实现从HTML到Bmp图片的生成。 /// </summary> /// <param name"htmPath">HTML路径</param> /// <returns>Bmp图片路径</returns> private static st…

一套使用注入和Hook技术托管入口函数的方案

工作中&#xff0c;我们可能会经常使用开源项目解决一些领域中的问题。这种“拿来主义”是一种“专业人干专业事”的思想&#xff0c;非常实用。&#xff08;转载请指明出于breaksoftware的csdn博客&#xff09; 一般场景下&#xff0c;我们都是把开源项目代码编译到我们自己的…

微软发布虚机管理SCVMM 2008 R2 RC版

来源&#xff1a;IT168服务器频道近日&#xff0c;微软发布了SCVMM&#xff08;系统中心虚拟机管理器&#xff0c;System Center Virtual Machine Manager&#xff09;2008 R2的RC版本。据了解&#xff0c;新的SCVMM相比去年的版本增加了六大新功能&#xff0c;目前用户可以从W…

AI芯片行业发展的来龙去脉

作者 | 清华大学微电子学研究所尹首一来源 | 《微纳电子与智能制造》期刊引言人 工 智 能( aritificial intelligence &#xff0c;AI )是 一 门融合了数学 、计算机科学 、统计学 、脑神经学和社会科学 的前沿综合性技术。它的目标是希望计算机可以像 人一样思考 &#xff0c;…

8)排序②排序算法之选择排序[1]直接选择排序

1 #include<iostream>2 using namespace std;3 4 //*******直接选择排序*********5 int select_sort(int n,int array[100]){6 int i,j;7 for(i0;i<n;i){8 for(ji;j<n;j){9 if(array[i]>array[j]){ 10 int temparr…

一份招聘需求的分析

今早&#xff0c;长期合作伙伴又给我们一份招聘需求&#xff0c;以下是招聘条件&#xff1a; 工作性质&#xff1a;全职 工作地点&#xff1a;南京 发布日期&#xff1a;2009/6/15 截止日期&#xff1a;2009/6/30 招聘人数&#xff1a;6 工作经验&#xff1a;不限 学  历&…

bug诞生记——隐蔽的指针偏移计算导致的数据错乱

C语言为了兼容C语言&#xff0c;做了很多设计方面的考量。但是有些兼容设计产生了不清晰的认识。本文就将讨论一个因为认知不清晰而导致的bug。&#xff08;转载请指明出于breaksoftware的csdn博客&#xff09; class Base { public:Base() default;void set_v_b(int v_b) {_…

福利直投!这个活动承包你2020全年技术干货

CSDN技术公开课有奖评选开始啦~~听过课的小伙伴们&#xff0c;哪位讲师的分享让你获益匪浅&#xff1f;记得给TA投票哦&#xff01;投票后获取入群方式&#xff0c;参与抽奖&#xff0c;奖品很丰厚哦~~进入付费时代&#xff0c;如今我们看似只要招招手&#xff0c;一切知识随手…

第四章 Controller接口控制器详解(5)——跟着开涛学SpringMVC

2019独角兽企业重金招聘Python工程师标准>>> 原创内容&#xff0c;转载请注明iteye http://jinnianshilongnian.iteye.com/ 4.15、MultiActionController 之前学过的控制器如AbstractCommandController、SimpleFormController等一般对应一个功能处理方法&#xff…

自动机器学习:团队如何在自动学习项目中一起工作?(附链接)

来源 | 数据派THU作者 | Francesca Lazzeri翻译 | 王琦责编 | Carol出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;去年11月&#xff0c;我写了一篇关于使用自动机器学习来进行AI民主化&#xff08;democratization&#xff09;的文章&#xff08;见下面链接&#x…

C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g++)——插入

操作系统是ubuntu 18.04.1 server amd64&#xff0c;gcc是 7.3.0。编译产出是64位测试程序。&#xff08;转载请指明出于breaksoftware的csdn博客&#xff09; 因为加入测量&#xff0c;就会导致误差。我已经尽量将环境影响降低&#xff0c;但是还是难免有误差。大家可以通过文…

SSIS中的记录集目标

这一篇&#xff0c;我们来看看另外一个特殊的目标组件&#xff1a;记录集目标。它与DataReader目标有些类似&#xff0c;也是在内存中的。但与DataReader目标不同的是&#xff0c;它可以被下游任务使用。 它的使用也比较简单&#xff0c;我们一般指定一个变量来接收它的结果&am…

Leetcode: Maximum Depth of Binary Tree

题目&#xff1a;算出二叉树的最大深度 解决方案&#xff1a;&#xff08;1&#xff09;BFS &#xff08;2&#xff09;DFS (1)BFS 一层一层往下搜索&#xff0c;一直找到最深的点&#xff0c;这里由于节点的val是没有用的&#xff0c;所以可以用来存储当前节点的深度&#xff…

C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g++)——删除

相关环境和说明在《C拾趣——STL容器的插入、删除、遍历和查找操作性能对比&#xff08;ubuntu g&#xff09;——插入》已给出。本文将分析从头部、中间和尾部对各个容器进行删除的性能。&#xff08;转载请指明出于breaksoftware的csdn博客&#xff09; 删除 头部删除 元素…

一文告诉你,如何使用Python构建一个“谷歌搜索”系统 | 内附代码

来源 | hackernoon编译 | 武明利责编 | Carol出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;在这篇文章中&#xff0c;我将向您展示如何使用Python构建自己的答案查找系统。基本上&#xff0c;这种自动化可以从图片中找到多项选择题的答案。有一件事我们要清楚&…

WatchStor观察:思科携EMC等合作伙伴 圈地数据中心市场

早在今年3月&#xff0c;思科在加利福尼亚州圣何塞市展会中展示了“统一计算系统”(Unified Computing System)之后&#xff0c;我们就明白&#xff0c;数据中心市场将会发生巨大改变&#xff0c;传统的以IBM、惠普、戴尔和Sun为主导的服务器电脑市场&#xff0c;将受到以思科为…

使用BabeLua3.x在cocos2d-x中编辑和调试Lua

BabeLua是一款基于VS2012/2013的Lua集成开发环境&#xff0c;具有Lua语法高亮&#xff0c;语法检查&#xff0c;自动补全&#xff0c;快速搜索&#xff0c;注入宿主程序内对Lua脚本进行调试&#xff0c;设置断点观察变量值&#xff0c;查看堆栈信息等功能。 如何安装 请参考《系…

ASA与PIX的区别

很多年来&#xff0c;Cisco PIX一直都是Cisco确定的防火墙。但是在2005年5月&#xff0c;Cisco推出了一个新的产品——适应性安全产品&#xff08;ASA&#xff0c;Adaptive Security Appliance&#xff09;。不过&#xff0c;PIX还依旧可用。我已听到很多人在多次询问这两个产品…

C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g++)——遍历和查找

相关环境和说明在《C拾趣——STL容器的插入、删除、遍历和查找操作性能对比&#xff08;ubuntu g&#xff09;——插入》已给出。本文将分析各个容器中遍历和查找的性能。&#xff08;转载请指明出于breaksoftware的csdn博客&#xff09; 遍历 从前往后 元素个数>15000 t…

买不到口罩怎么办?Python爬虫帮你时刻盯着自动下单!| 原力计划

作者 | 菜园子哇编辑 | 唐小引来源 | CSDN 博客马上上班了&#xff0c;回来的路上&#xff0c;上班地铁上都是非常急需口罩的。目前也非常难买到正品、发货快的口罩&#xff0c;许多药店都售完了。并且&#xff0c;淘宝上一些新店口罩库存写着非常多&#xff0c;但不发货&#…

GlusterFS下如何修复裂脑文件?(续一)

关于网上一些修复GlusterFS裂脑文件的说明1、Fixing a GlusterFS split-brainhttps://inuits.eu/blog/fixing-glusterfs-split-brain在该文章中&#xff0c;删除无效副本时提供的方法如下&#xff1a;srv02$ sudo find /export/brick1/sdb1/ -samefile /export/brick1/sdb1/tes…

MySQL数据库环境使用全过程

在使用MySQL之前&#xff0c;需要建立数据库的环境来创建数据表&#xff0c;首先我们需要安装该数据库环境&#xff0c;即MySQL。1、下载MySQLMySQL的官方网站是http://www.mysql.org/&#xff0c;如图2-9所示&#xff1a;图2-9 MySQL官方网站当前稳定版本为5.1&#xff0c;我…

C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——插入

操作系统是Windows10 64bit&#xff0c;编译器是 Microsoft Virtual Studio Community 10。编译产出是64位测试程序。&#xff08;转载请指明出于breaksoftware的csdn博客&#xff09; 因为加入测量&#xff0c;就会导致误差。我已经尽量将环境影响降低&#xff0c;但是还是难免…

“夸夸机器人”App来了:变身百万粉丝大V,48万人给你的帖子点赞

来源 | mashable译者 | Kolen出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;我在Botnet上的第一条帖子获得了48万个赞。一款全新的社交媒体风格的应用为用户提供了生活在一个奇特网络虚拟世界的机会。在这个世界里&#xff0c;你将拥有数以百万计的粉丝&#xff0c;…

leetcode Reverse Linked List

Reverse a singly linked list 对于这种可以修改值的&#xff0c;把值逆序就可以了。。。。用vector存&#xff0c;然后逆序读。 都忘了指针怎么赋值初始化了。*p&head; 1 /**2 * Definition for singly-linked list.3 * struct ListNode {4 * int val;5 * Lis…

抗击新冠肺炎,如何进行实时动态时序图谱建模与分析?

作者 | 闭雨哲来源 | ThutmoseAI背景介绍新冠肺炎是一种具有最长达24天潜伏期的新型突发性传染疾病&#xff0c;这种特性给疫情防控带来了巨大的挑战&#xff0c;随着感染规模的不断扩增&#xff0c;简单的人为治理已不太奏效&#xff0c;使用“大数据”技术手段来辅助人为治理…

C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——删除

相关环境和说明在《C拾趣——STL容器的插入、删除、遍历和查找操作性能对比&#xff08;Windows VirtualStudio&#xff09;——插入》已给出。本文将分析从头部、中间和尾部对各个容器进行删除的性能。&#xff08;转载请指明出于breaksoftware的csdn博客&#xff09; 删除 …

关于服务器启动慢的问题

今天去了家医院的机房&#xff0c;走进去一看&#xff0c;TMD的医院就是有钱&#xff0c;全是光纤和千兆网络环境&#xff0c;全全是思科的三层交换机和路由器&#xff0c;HP的服务器。我们需要安装点东西&#xff0c;登录一台服务器&#xff0c;我一看配置&#xff0c;呵呵&am…

python依赖包exe文件安装问题

2019独角兽企业重金招聘Python工程师标准>>> 在使用python的exe程序安装依赖包的时候&#xff0c;经常会出现类似于下面的错误&#xff1a; python version 2.7 required,which was not found in the registry 可以使用如下代码解决该问题: # # script to register …

C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——遍历和删除

相关环境和说明在《C拾趣——STL容器的插入、删除、遍历和查找操作性能对比&#xff08;Windows VirtualStudio&#xff09;——插入》已给出。本文将分析各个容器中遍历和查找的性能。&#xff08;转载请指明出于breaksoftware的csdn博客&#xff09; 遍历 从前往后 travers…