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

仅50张图片训练数据的AI分类技术PK​,阿里拿下ECCV 2020竞赛冠军

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

近日,两年一度的世界计算机视觉领域顶会ECCV 2020的各项挑战赛结果出炉,在图像分类赛中,阿里安全的高效AI分类技术超越三星、深兰科技、同济大学等国内外多支队伍的同类技术获得冠军。目前,阿里安全团队提出的“A visual inductive priors framework for data-efficient image classification”也已被ECCV 2020 Workshop VIPriors接收。

人工智能的崛起以海量的带标签训练数据作为基石,海量数据可以保障AI模型的效果,但是数据的收集和标注需要昂贵的人力成本,进行训练则需要消耗大量计算资源。ECCV 2020分类比赛的难题是,与其他比赛动辄使用十几万的数据不同,ECCV 2020的分类比赛共有1000个类别,每个类别仅有50张图片作为训练数据。比赛要求选手在不使用任何预训练模型和额外数据情况下,从零训练模型。这意味着训练难度巨大,几乎是不可能完成的任务。

不过,这也正是ECCV 2020为了考验参赛队伍如何对来之不易的训练数据进行充分利用,促使AI神经网络进行高效学习,降低神经网络训练过程中的人力和计算资源消耗,也就是说,参赛队伍要打造一个高效能、低成本的分类AI。

阿里安全图灵实验室算法工程师夜清介绍,阿里安全智能算法团队从数据增强、神经网络结构、目标函数三大技术方向进行了突破。

 

数据增强通过向训练数据中增加转换或者人工增加训练数据等操作来丰富训练样本。在阿里安全的数据增强方案中,训练时将从训练数据中随机抽取两张图像A和B,使用自动增强方法预处理,然后对裁剪出B中一块方形图像块并贴在A中,组成拼接图像。相比如现有的图像增强方法,他们的方案能够最大程度上丰富训练样本,充分利用每一张图像。

在网络模型的选择上由于训练样本样本较少和缺乏预训练模型带来的先验性知识,他们发现现有的backbone都无法很好地完成特征提取任务,且容易发生过拟合,性能较为有限。他们总结出显著性特征、平移不变性和正则化能力是提升分类性能的关键。

显著性特征是每个类别有特有的能够显著区别其他类别的特征,如老虎的花纹、狐狸的脸部以及长长的尾巴的等等。而神经网络是不具备平移不变性的,因此图像中的目标稍有移动模型的准确率就会有明显的下降。另外,由于训练数据缺乏,模型极易发生过拟合,需要使用一些正则化的方法来缓解。

基于上述思路,他们设计并实现了一种三分支的残差网络结构DSK-net(Dual Selective Kernel network),在DSK-net中,他们加入了显著性特征提取模块来提升特征提取的效果,加入抗锯齿模型来提升模型的平移不变性,将二分支网络结构基础上新增一个分支,提升模型的正则化能力。而实验结果表明,他们提出的DSK-net在少量数据上的学习效果要远优于目前的一些主流网络结构,如ResNeXt、EfficientNet,以及最新的ResNeSt等。

目标函数也叫损失函数,是模型训练过程中的优化的目标,可以指导模型按照其所设定的方向收敛,模型拟合的越好,其值应该越小。在数据量较少的情况下,一般的分类损失函数容易造成模型过拟合,另外数据中的噪声会对模型也会对模型有较大误导。

因此,他们设计了一种基于正类的的损失函数,可以从多个方向指导模型收敛,缓解过拟合,消除数据噪声对模型带来的误导。在损失函数中,他们发现训练数据的1000个类别包含着明确的层次关系,如猫、豹、老虎同属于“动物-哺乳动物-猫科动物”,卡车、轿车同属于“车辆-机动车”等,基于此,他们构造了一个多层树状语义结构,对类别间的语义关系进行建模,并用该树状结构指导分类器进行更好地理解和学习。

阿里安全图灵实验室资深算法专家华棠认为,高效AI分类技术极大程度上解决了计算资源消耗和数据标注的人力成本问题,为自动驾驶、物体识别、智慧城市等领域提供了新的思路和方法。

在线下新零售场景中,对于新上架的一件商品,原来AI工程师们需要从不同的角度、光照条件和位置拍摄、收集几千甚至上万张图片并进行标注,用于训练模型,才可以保证AI模型能充分学习到该商品的特征。而在阿里安全提出的方案下,商品图片数量缩减到50张以下,就能保证模型的识别能力。

“我们的方法还可以与自监督有效的结合,在学习更好的数据表征基础上,指导模型高效学习,获得更好的识别能力。”夜清说。

目前,阿里安全这项基于小规模图像的高效AI技术已应用在知识产权商标识别、通用商品识别和动植物保护等场景中。这类场景类别数量多,每个类别样本数量较少,而预训练任务和目标任务存在差异,预训练模型可能损害目标任务的准确率,这个方案恰恰能够解决上述问题。

“以某知名品牌运动鞋上新为例,一段时间内我们仅能获得该产品不同的配色以及商品几个不同角度的图片。在仅有少量商品展示图的情况下,通过高效AI方案,我们在新产品问世的极短时间内实现新款商品识别能力的覆盖,降低新产品被山寨和假冒的风险。”华棠说。

阿里安全图灵实验室资深算法专家薛晖介绍,疫情期间,突发口罩佩戴问题使得大量人脸门禁失效,很多小区需要摘下口罩刷脸,带来不必要的健康风险,高效AI分类技术的应用大大降低了模型初始化的数据需求量,帮助快速训练好模型,解决了戴口罩的人脸识别问题。

今年3月,阿里率先提出新基建的新一代安全架构和安全基建,并开始打造数字基建安全样板间。作为新一代安全架构安全技术层的核心AI技术,目前高效AI方案对内已赋能阿里多个业务场景,如淘宝视频、淘宝直播、优酷等平台的知识产权保护,为数字基建的安全建设提供样本参考,对外则通过绿网直接服务大中小企业。


推荐阅读
  • 我在攻克机器学习硕士学位的那些年

  • 谷歌顶级量子科学家详述他为何从谷歌辞职

  • TensorFlow、PyTorch夹缝之下:后浪的进击和野望

  • 紧急通知:招募 2000 名 IT 人学英语,免费培训!

  • AI不止能美颜,美妆迁移这样做 | 赠书

相关文章:

Eclipse生成jar文件

2019独角兽企业重金招聘Python工程师标准>>> 具体做法如下: 方法一:(工程没有引用外部jar包时,直接导出) 选中工程---->右键,Export...--->Java--->JAR file--->next-->选择jar file的路径及名称-->…

动态的管理ASP.NET DataGrid数据列

动网先锋 在ASP.NET的DataGrid数据显示控件编程中,我们有几种方式可以增加DataGrid columns。其中最常见的方法是在web forms设计器中增加,通过在控件工具箱中拖访DataGrid控件到web设计页面,然后在属性生成器中增加Columns列;还有一种方式就…

Django模型层Meta内部类详解

Django 模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性。以下对此作一总结: abstract这个属性是定义当前的模型类是不是一个抽象类。所谓抽象类是不会对应数据库表的。一般我们用它来归纳一些公共属性字段,然后继承它的子类…

ASP.NET虚拟主机的重大安全隐患

作者:秦海鹏 来自: yesky 说明:本文中所有程序均在Windows 2000 Server中文版 SP2上编译运行无误开发环境:.Net 框架1.0 Version 1.0.3705 一、ASP.NET虚拟主机存在的重大隐患 我曾经在WWW.BRINKSTER.COM申请了一个免费的…

给力!一行代码躺赚普通程序员10年薪资!

笔者这两天闲逛知乎,看到了这个帖子:匿名答题,发表于2014年,此外没有留下任何多余信息。2年躺赚200万,相当于普通程序员10年的工资。没想到Pyhon这么强大,怪不得有人说“除了不会生孩子,Python什…

Hello world!

2019独角兽企业重金招聘Python工程师标准>>> 向世界打招呼,大家好,这是我的第一篇文章,我准备在这里开博! 转载于:https://my.oschina.net/chinesedragon/blog/57259

在VMware Workstation上安装Ubuntu 16.04 Server操作系统

Ubuntu 16.04 Server的下载 http://www.ubuntu.org.cn/download/server 按空格键(Space)选中第一个ssh服务 成功!

ASP.NET中WebForm组件CheckBoxList编程

作者:马金虎 来自:yesky CheckBox选择组件是一个程序中都经常的组件。在程序设计中使用到该组件,一般都不会只使用到一个,往往是以多个此类组件的形式出现的。在ASP.NET页面中如果要使用到多个CheckBox组件,除了添加…

今晚 8 点直播 | OpenCV 20 年,首款开源软硬一体的 OAK 套件来了!

从 2000 年首个开源 OpenCV Alpha 版本,到不久前刚刚发布的 OpenCV 4.4,跨平台计算机视觉库 OpenCV 在不知不觉间已经走过了 20 个年头。相信不少 IT、AI 的从业者几乎都使用过。据 CSDN 发布的《中国AI应用开发者报告2020》显示,作为计算机视…

Linux常用压缩解压命令

1.tar基本用法:1.打包文件:tar -cvf ~/test.tar ~/test 2.打包并压缩文件:tar -zcvf ~/test.tar.gz ~/test2.解包文件:先切换到要解包到的目录,然后执行:tar -xvf ~/test.tar参数详解:-c, --cre…

第二课 , 启动 ./start-all.sh

2019独角兽企业重金招聘Python工程师标准>>> 一.安装环境 1.保持第一课的基础 2.关闭防火墙 ,node1,node2,node3 service iptables stop 3.修改conf/mapred-site.xml <configuration><property><name>mapred.job.tracker</name><value&…

ASP.NET的WebFrom组件LinkButton编程

作者&#xff1a;阿虎 来自&#xff1a;yesky 在ASP.NET的WebForm组件中的LinkButton组件也是一个服务器端的组件&#xff0c;这个组件有点类似于HTML中的&#xff1c;A&#xff1e;标识符。它的主要作用是就是在ASP.NET页面中显示一个超链接。当这个链接被按动的时候&#x…

Python再夺冠,上古语言COBOL大流行,IEEE Spectrum 2020年度编程语言排行榜出炉!...

整理 | 屠敏题图 | 东方 IC出品 | CSDN 博客领域驱动技术&#xff0c;技术鞭策领域。近日&#xff0c;IEEE Spectrum 最新发布了 2020 年年度编程语言排行榜。IEEE Spectrum 编程语言排行榜一年发布一次&#xff0c;截止到今年&#xff0c;该排行榜已经连续发布了七年。与其他榜…

NSStream线程阻塞处理

http://www.10bay.com/?p149 [[session inputStream] scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; 因主线程有事务要处理&#xff0c;会阻塞主线程外设事件的触发&#xff1b; 解决&#xff1a; “将socket的runloopsource添加到新开的…

Python笔记

精简&#xff0c;快速&#xff0c;并持续完善。输入与输出 >>> print(Name: %s, score: %d % (Jack, 89)) Name: Jack, score: 89>>> print(Hello, world!) #逗号连接 Hello world!a raw_input("a:") #捕获原始输入&#xff0c;返回字符串 b …

资料验证的asp.net程序

<!-------资料验证&#xff1a;天乐comezxnsina.com------------> <!-------比较简单&#xff0c;以前写的&#xff0c;若有纰漏&#xff0c;请跟我联系----------> <Html> <Body bgcolor"White"> <H3>Validator(资料验证)控制元件<…

iphone UIView的一些基本方法理解

原文链接地址&#xff1a;http://www.cocoachina.com/bbs/read.php?tid38766UIView的一些基本方法理解UIView的一些基本方法理解&#xff1a;loadView、viewDidLoad、viewDidUnload、viewWillAppear、viewWillDisappear经常使用UIView以及它的子类&#xff0c;一般对于init:&a…

收藏!美国博士明确给出Python的高效学习技巧

我见过市面上很多的 Python 讲解教程和书籍&#xff0c;他们大都这样讲 Python 的&#xff1a;先从 Python 的发展历史开始&#xff0c;介绍 Python 的基本语法规则&#xff0c;Python 的 list, dict, tuple 等数据结构&#xff0c;然后再介绍字符串处理和正则表达式&#xff0…

pl/sql中三种游标循环效率对比

pl/sql中三种游标循环效率对比 - Oracle数据库栏目 - 红黑联盟 http://www.2cto.com/database/201307/224636.html转载于:https://blog.51cto.com/yweaner/1873294

UpdateData函数(转)

UpdateData&#xff0c;顾名思义&#xff0c;是用来刷新数据的。 UpdateData(TRUE) -- 刷新控件的值到对应的变量 UpdateData(FALSE) -- 拷贝变量值到控件显示例如&#xff0c;窗口中用 DDX_Text(pDX, IDC_EDIT1, m_usercode); 将IDC_EDIT1编辑框控件与m_usercode变量做了关联&…

PEAR, PECL和Perl的区别

PEAR是PHP扩展与应用库&#xff08;the PHP Extension and Application Repository&#xff09;的缩写。它是一个PHP扩展及应用的一个代码仓库&#xff0c;简单地说&#xff0c;PEAR就是PHP的CPAN。 PECL &#xff08;PHP Extension Community Library&#xff09;&#xff0c;…

永远不要对 AI 说:“我不行!”

最近这些年&#xff0c;如果我要问什么技术最值钱&#xff0c;我想超过90%的人都会说是&#xff1a;人工智能。确实&#xff0c;随着近些年人工智能发展与普及&#xff0c;AI研发岗早已成为编程领域薪水最高的岗位之一。但扎心的是&#xff0c;一提到 AI &#xff0c;相信绝大部…

ThoughtWorks雷达上的新奇变化

与往常一样&#xff0c;ThoughtWorks技术雷达涵盖了四方面内容&#xff1a;语言与框架、平台、技术和工具&#xff0c;而且其中每个领域都会有四方面内容&#xff1a;采用、试用、评估及保留。本文列举了相关领域中较新和值得注意的内容。\\语言与框架\\采用: Ember.js由于其生…

用于时序动作提名生成任务,爱奇艺提出BC-GNN图神经网络 | ECCV 2020

时序动作提名生成任务可以从未处理的长视频中定位出包含动作内容的片段&#xff0c;对视频理解以及时序行为检测任务等有着重要的作用。随着视频数量的激增以及视频内容的丰富&#xff0c;对时序动作提名算法的关注和需求也得到巨大提升。然而目前的方法多采用先生成起止边界&a…

剖析ASP.NET下部构造

crystal译yesky(前面我已说过ASP.NET拥有全新的下部构造)当我说到全新的下部构造……我得再次强调,是全新的下部构造! 它不只 是 ASP 的一个简单变化. 在此引入收管代码(managed code)这样一个全新概念,它横贯整个视窗开发平台. 受管代码在 NGWS Runtime下运行. NGWS Runtime是…

超大磁盘分区工具parted使用介绍(一)

使用parted GNU Parted有两种运行模式&#xff1a;命令行模式和交互模式。 1&#xff0e;命令行模式的选项 当你调用命令行模式时&#xff0c;parted的语法是这样的&#xff1a; 格式1# parted [option] device 格式2# parted [option] device [command [argument]] 格式1&am…

Sea.js学习4——Sea.js的配置

可以对 Sea.js 进行配置&#xff0c;让模块编写、开发调试更方便。 seajs.config seajs.config(options) 用来进行配置的方法。 seajs.config({// 别名配置alias: {es5-safe: gallery/es5-safe/0.9.3/es5-safe,json: gallery/json/1.0.2/json,jquery: jquery/jquery/1.10.1/jqu…

SQL Server 性能基线和监控

就讲讲监控那些值&#xff0c;基线抓的是那些值。如何做告警 环境&#xff1a;windows 2008r2,sql server 2008r2 sp1 性能基线&#xff1a; cpu&#xff1a; \Processor(_Total)\% Processor Time    \Processor(_Total)\% Privileged Time \SQLServer:SQL Statistics\Bat…

ASP.NET特写

作者&#xff1a; 仙人掌工作室 创建动态Web页面的新技术已经以CLR服务为基础全部重新改写。到目前为止&#xff0c;所有.NET提供的语言都可用于编写ASP.NET页面&#xff0c;但页面的扩展名和ASP 3.0的不同。具体地说&#xff0c;简单Web页面以“.aspx”为扩展名&#xff0c…

Google出品,EfficientNet在目标检测达到最新SOTA | CVPR 2020

作者 | tanmingxing&#xff0c;rpang&#xff0c;qvl 来源 | 晓飞的算法工程笔记&#xff08;&#xff09; 介绍 目前目标检测领域&#xff0c;高精度的模型通常需要很大的参数量和计算量&#xff0c;而轻量级的网络则一般都会牺牲精度。因此&#xff0c;论文希望建立一个可伸…