2018年8月5日星期日

Naturali 奇点机智 AI 智能语音分享会:如何与产品结合、完善用户体验?

经研究发现,超过 20% 的移动搜索是基于语音的搜索,并且,预计到 2020 年,这一比例将上升到 50%。由此可见,语音交互将会成为未来主流的人机交互方式之一。如何为移动 APP、硬件设备接入语音交互已经成为不可忽视的话题。
  • 如何在 AI 时代,抢占语音交互红利?
  • AI 智能语音,如何找准落地场景?
  • 如何为产品植入 AI 大脑,让产品能听会说?
  • 语音交互如何真正地跟产品融合,与用户产生共鸣?

8 月 3 日,由 Naturali 奇点机智主办的「AI 智能语音:如何与产品结合,完善用户体验」主题分享会于北京中关村太库孵化器举行。Naturali 创始人兼 CEO 邬霄云就语音交互的发展、技术核心及应用场景等方面与现场观众进行了深度探讨,并推出了能够为各类产品语音赋能的「NI 开放平台」——5 分钟,零编码,从零到一轻松打造属于你的语音交互,为产品植入 AI 大脑,创造无限语音体验。 

Naturali 奇点机智 CEO 邬霄云在现场进行主题分享

传统开放平台 vs NI 开放平台

近年来,各大互联网巨头纷纷推出了语音开放平台,为智能硬件、移动应用增添语音交互能力。评判各语音开放平台的指标是什么?在各家技术实力相当的情况下,不能再单纯地以语音识别、语义理解等技术作为评判指标。

构建 AI 语音生态的较量,除了准确率,终究比拼的是覆盖率,也就是语音技能的拓展能力,如何能快速创建语音交互体验显得尤为重要。而大厂一般都只关注头部场景的需求,覆盖率往往会被忽视,这导致了用户在语音交互过程中,很多操作无法顺利完成。

传统语音技能平台多为面向开发者,添加语音指令需要工程师手动敲代码,技术门槛高、开发成本高、维护难度高。而这「三高」导致技能的扩展的在数量和效率上都会受到限制。

Naturali 打造的「NI 开放平台」把创造语音技能变成了一件容易事。它不仅仅面向开发者,产品、运营人员都能够成为技能创造者。通过 Naturali 推出的「布点语音」语音助手 APP 在手机上进行技能录制后,即可在网页端登陆到平台下的技能工场中进行技能管理,轻松完成从创建、编辑、到语音技能发布的整个流程。由于开发难度低、技术门槛低,语音技能可进行极速拓展,解决了长期以来语音技能拓展难度高、开发成本高的难题。

经介绍,「NI 开放平台」可为企业打造高度定制化的语音交体验,并具备四大优势:简——无需编码零门槛、所见即所得;准——语音识别、语义理解、多轮对话、播报反馈准确率行业领先;多——所有技能自定义、场景多元化;快——多人协作开发快、发布即可用。

语音交互的本质

人们在跟机器交互时一般是两种形式:一是不知道自己要做什么,只是通过人机对话消磨时间;二是知道自己要做什么,希望语音对话直接帮忙完成相关操作。比如,使用手机 APP 打车时,需要很多点击步骤才能完成,这对于不熟悉手机操作的人群,例如老年人,是很难完成的任务。Naturali CEO 邬霄云在分享会中表示:「我们的目标是希望当用户知道自己要做什么时,可以通过一句话搞定复杂操作,而不需要去想怎么操作图形界面。」

完整的语音交互体验涉及到「听清」、「听懂」、「满足」三个重要组成部分。

「听清」的背后需要语音识别技术来支撑,当机器可以对麦克风收录用户的声音进行准确识别时,机器则有了」耳朵」。要想「听懂」,机器的「AI 大脑」则要进行语义理解,将语音指令转换为文字,通过强大的机器学习和算法能力,进行语义分析,充分理解用户的意图。最后一步,就是要「满足」用户,帮助用户完成相关操作或者播报出查询的信息结果。Naturali 要做的就是提供从「听清」、「听懂」到「满足」的完整语音交互体验。

攻克三大技术难点

Naturali 在打造 NI 开放平台的过程中,解决了三大技术难点。

第一,语音识别定制

目前的语音识别基本都是采用端到端的系统,其优点是代码量小,需要手动提取特征的工程量少,但需要比较多的数据。传统的端到端系统,一般都需要 10 万小时级别的标注数据,适配小众垂类相对困难,不利于普及语音交互体验。

而 Naturali 使用的是「端到端到端」的两个系统,即从声音到拼音,从拼音再到文字。在探索新的垂类时,技术或产品运营人员不再需要进行大量的语音标注,能够比较容易地适配各种垂类及不同类型的 APP。

第二,Type 的扩展性

Type 是指一个语音指令中的可替换参数的标记属性,而标记 Type 可以使该指令具有扩展性。NI 开放平台目前可标注包括产品、地点、人名、食物、歌曲、数字等 11 大类 Type。

例如,当在 NI 开放平台上添加技能「订一张从北京到成都的机票」,只要将「北京」、「成都」的 type 类型标注为「location(地点)」,当用户更换地点名称,再说出语音指令「订一张上海到西安的机票」时,就可以直接执行,无需重新标注,扩展性强。

第三,说法泛化

一句话可能存在不同的说法或表达方式,如何将表达同一含义的说法进行泛化是语音交互的另一大挑战。例如,机器可以听懂「怎么付尾款」,而一旦语序或者用词发生变化,当用户说「尾款怎么付」或「帮我支付一下尾款吧」,机器却听不懂了,这就是遇到了说法泛化上的难题。

而 Naturali 的团队则通过大量的数据积累以及自研的算法模型,让一句话在 NI 开放平台中可以自动拓展出不同的表达方式,大大提高了技能增速以及用户使用体验。

打造三大交互类型

Naturali 可针对企业的不同需求,利用前沿的自然语言处理深度学习等前沿人工智能技术,在 NI 开放平台上打造专属定制的三类机器人。

第一类,QA 型问答机器人

提供问题和相对应的答案,在用户提问时,机器人即可给出相应的正确答案。

第二类,阅读型问答机器人

用户体验与问答机器人相同,当用户提问时,机器人方可给出答案。不同点在于,无需提供问题和其对应答案,仅需提供一个包含问题和答案的文档,机器人即可以从文档里找到答案。Naturali 团队近期在 2018 年阅读理解技术竞赛中荣获冠军,在基于长文档的中文语义理解上有着领先优势,可以在短时间内快速训练打造各类阅读机器人,可广泛应用于智能客服、语音助手等领域。

第三类,VGUI 助手

Naturali 提出了一套新的语音交互界面 VGUI(声音图形用户界面)。GUI(图形用户界面)是目前电脑和手机屏幕等都在采用的以图形化界面进行交互的主流操作。与之类似的,VUI(语音用户界面)是用声音代替图形,以声音的形式进行交互。二者结合,以声音控制图形界面的操作,VUI + GUI = VGUI,就是 Naturali 独创的理念。

VGUI 助手可以将用户的意图通过语音对话与 APP 的操作关联起来,将语音指令转化为一系列点击、滑动等操作,带用户跳转到最终想去的页面。为各类 APP 打造 VGUI 助手则是 Naturali 团队最擅长的领域。

关于 Naturali 奇点机智

由两位谷歌研究院科学家为推动中文自然语言理解(NLU)研究水准和应用落地而创建,通过在自然语言处理(NLP)、深度学习(Deep Learning)、移动搜索领域的深度探索,为企业提供垂直场景下的智能语音交互解决方案。以用户为出发点,在深度语义理解中建立交互的默契。

Naturali 为手机厂商打造系统内语音助手、为各类智能硬件提供语音交互技术支持、同时也为第三方 APP 打造应用内语音交互定制化方案,覆盖金融证券、移动电商、内容社区、新闻资讯、零售、医疗、娱乐、教育等多个垂直领域。

Naturali 团队所有的产品及底层技术均为自主研发,并且拥有自己的计算集群。团队成员来自于 Google、Facebook、Microsoft 等企业,毕业于北大、清华、浙大、北航、Yale、UCLA 等名校。由真格基金、襄禾资本、NEA 投资,先后入驻微软创投加速器、TechCode 孵化器。

本次活动演讲人——Naturali 奇点机智创始人兼 CEO 邬霄云,纽约州立大学计算机博士,拥有 8 年 Google 研究院,1 年 Yahoo 实验室工作经验,专攻深度学习自然语言处理、互联网大数据、分布式计算等领域,曾被评为北京市第十二批「海聚工程」创业类特聘专家、2017 年度「中关村高端领军人才」。

]]> 原文: https://ift.tt/2Kx2JMG
RSS Feed

机器知心

IFTTT

毫无还手之力!OpenAI人工智能5v5击败超凡5玩家(6600水平)

Dota2 大赛「TI8」即将于 8 月 20 日在加拿大温哥华开战,人工智能也在做着自己的比赛准备。刚刚,OpenAI 的人工智能与人类准职业选手进行了三场 5v5 对决,并以 2 比 1 的比分取胜。人类仅仅依靠阵容优势在最后一场比赛中「挽尊」获胜。OpenAI 的 CTO Greg Brockman 表示:我们已经准备好了!

2017 年 8 月,OpenAI 在 Dota2 TI 决赛现场以 1 对 1 solo 的方式击败了「Dota 2」世界顶级玩家。今年 6 月份,OpenAI 宣布他们的 AI bot 在 5 v 5 团队赛中击败业余人类玩家,达到 4000 分水平。在今天首次公开的基准测试赛中,OpenAI Five 以 2:1 的战绩击败了准职业玩家。

比赛规则与限制

在今年 6 月份,OpenAI 宣布人工智能 5V5 模式击败人类玩家之后,很多玩家表示比赛有过多的游戏限制。而在这场比赛中,研究者取消了 OpenAI Five 游戏中最重要的限制,即奖励、肉山和固定英雄的镜像匹配,并将通过「Top 99.95% 玩家」来测试该研究的进展。

因为 OpenAI 训练的系统 Rapid 非常通用,所以从 6 月份开始,研究者就通过整合新特性和随机化来教会 OpenAI Five 多种复杂技能。很多人指出,奖励和肉山非常重要——研究者也考虑了这两点。OpenAI 还把英雄池里的英雄增加到 18 个。

OpenAI Five 最新版本可以打肉山

最终,在今天的比赛中,OpenAI 还保留了以下限制(下划线内容是最初 OpenAI 博客中列出的限制,这次比赛去掉了),这些限制与尚未集成的游戏部分相对应。

  • 可选 18 名英雄:斧王、水晶室女、死亡先知、撼地神牛、矮人直升机、巫妖、巫魔巫师、死灵法师、痛苦女王、剃刀、隐刺、影魔、斯拉克、矮人火枪手、斯温、潮汐猎人、冥界亚龙、巫医。镜像匹配:瘟疫法师、矮人火枪手、冥界亚龙、水晶室女、巫妖。

  • 无圣剑、魔瓶、压制之刃、飞鞋、炼金术秘卷、凝魂之泪

  • 无召唤物,无幻象

  • 5 个无敌信使,不可用于侦查和吸引仇恨

  • 无扫描

  • 无奖励

  • 无肉山

  • 无隐形(消耗品和相关装备)

此外,OpenAI 还把 OpenAI Five 的反应时间从 80 毫秒增到了 200 毫秒。这一反应时间已经非常接近人类水平。

今天与 OpenAI 对战的「99.5% 水平玩家」到底是什么级别?在去年 11 月,Dota 2 7.07 版本更新之后,Value 改变了一直以来以 MMR 值为主的天梯排名策略,并以 7 个不同等级的奖章来代表玩家的实力,在 OpenDota 网站上,我们可以看到目前天梯上的玩家实力与人数分布图:

在被统计的 190 万玩家中,Top 99.5% 的玩家处于前 15000 人的水平,大约对应「超凡入圣 5」(Divine5),大概相当于过去的 6600 分。

比赛结果

在比赛开始前,Openai Five 先与观众打了一场热身赛,13 分钟搞定。而后与顶级玩家的比赛正式开始。

代表人类出战的包括前职业玩家 Blitz、Cap、Fogged、Merlini,MoonMeander 是 Dota2 现役职业玩家(团队名为 Complexity),世界排名 104。

第一场比赛开始,人类玩家与 OpenAI Five 各自阵容如下。

阵容选择。人类(夜魇):小牛、瘟疫法师、冰女、剃刀、影魔;OpenAI Five(天辉):巫妖、飞机、火枪、DP 、莱恩。

阵容选出以后,这一场比赛的结果可谓是碾压。AI 不断推塔杀人,最终 8:30 稳赢第一场,人类玩家打出 GG。

在第二场比赛中,人类选择了小牛、影魔、巫医、死亡先知与影刺,OpenAI 祭出火枪、直升机、冰女、巫魔巫师与巫妖。这一局人类是天辉方,OpenAI Five 夜魇。

第二场阵容

第二场比赛 OpenAI 再次获胜,但人类坚持的时间更久了些,虽然 OpenAI 预测的胜率一直处在 99% 左右。这场比赛毫无悬念,人类玩家输给了人工智能。从中,我们可以观察到几个比较有意思的点:选英雄的时候,OpenAI 就会预测胜率,比如人类选了影魔之后,OpenAI 的胜率从 56% 上升到 72%;电脑的执行力非常高,每次打的套路都一样;英雄的装备和常规人类的理解不太一样,比如冰女选择出了点金手;OpenAI 甚至学会了暂停比赛,但不知道为什么要暂停;电脑非常钟情于插眼,同样它们也学会了开雾。对此,OpenAI 的研究员说他们大概预测到了这样的结果。

第二场比赛结束后,OpenAI 的 CTO Greg Brockman 在 Twitter 上表示:OpenAI 的人工智能系统已经准备好在下月 TI8 上迎战顶级职业选手了!

第三场挽尊一局。2:0 之后,第三场就变成了娱乐局,人类观众为 OpenAI 5 选择 5 个英雄。结果,观众为 OpenAI 5 选择的版本是小鱼人。OpenAI 5:小鱼人、隐刺、 斧王、 流浪、 痛苦之源;人类:死亡先知、死灵法师、巫魔巫师、巫妖、直升机,OpenAI 5 赢的概率只有 2.9%,且最后胜率掉到了 1% 以下。

最终人类 1:2 输给了人工智能。

在刚刚比赛结束后的新闻发布会上,主持人询问前职业选手 William "Blitz" Lee,现在你相信 Dota2 人工智能可以在 5v5 上击败职业顶级选手了吗?后者答道:「2017 年 8 月 Dota2 在 1v1 上击败 Dendi 时,我认为不可能;2018 年 6 月它在 5v5 上击败 4000 分人类玩家时,我认为……有可能了;而今天的对决之后,我觉得这个可能性很大。」

此外,OpenAI 还表示人工智能现在的水平至少是 6.6K 以上,因为这是与之对阵的几个玩家的水平。TI 8 决赛期间的比赛队伍和场次还没有决定。此外,OpenAI 表示这不是 OpenAI Five 的最后一场比赛。

]]> 原文: https://ift.tt/2LYNMrF
RSS Feed

机器知心

IFTTT

单级式目标检测方法概述:YOLO与SSD

目标检测是计算机视觉领域的基本研究问题之一,当前最常用的技术是卷积神经网络。机器学习工程师 Jeremy Jordan 近日发表了一篇博文,介绍了用于目标检测的单级式方法(包括 YOLO 和 SSD)。

在这篇文章中,我将概述用于基于卷积神经网络(CNN)的目标检测的深度学习技术。目标检测是很有价值的,可用于理解图像内容、描述图像中的事物以及确定目标在图像中的位置。

总体而言,目标检测包含两大类方法——要么是在网格上进行固定数量的预测(单级式);要么是先使用一个提议网络寻找目标,然后再使用另一个网络来微调这些提议并输出最终预测结果(两级式)。

我将在本文中介绍用于目标检测的单级式方法;后面我还会发布一篇介绍两级式方法的文章。每种方法都有自己的优势和短板,我也将在各自的文章中谈到。

目标检测任务

目标检测的目标是识别一个预定义的目标类别集(比如 {人, 汽车, 自行车, 动物})的实例并使用一个边界框描述图像中每个被检测出的目标。下图给出了两个示例: 

目标检测示例,来自 PASCAL VOC 数据集:http://host.robots.ox.ac.uk/pascal/VOC/

我们一般使用矩形描述每个目标的位置,由于目标形状千差万别,所以定位结果可能并不完美。另一种可用方法是图像分割,这能提供像素级的定位。

直接目标预测

本文将主要关注单级式地直接预测图像中的目标边界框的模型架构。换句话说,其中没有必须执行的中间任务(我们后面会介绍的区域提议方案就有中间任务),就能得到输出结果。这种模型架构更简单、速度更快,但有时候并不能足够灵活地适应任意任务(比如掩码预测)。

基于网格的预测

为了理解图像中存在什么事物,我们将会将输入馈送通过一个标准的卷积神经网络以构建出原始图像的丰富特征表示。我们将这部分架构称为「骨干(backbone)」网络,这通常以图像分类器的形式进行了预训练,可以更便宜地学习从图像中提取特征的方式。这么做的原因是用于图像分类的数据更易于标准(因此成本更低),因为其仅需单个标签,而不需要为每张图像都定义边界框标注。因此,我们可以在一个非常大的有标注数据集(比如 ImageNet)上进行训练,以获得优良的特征表示。

在以图像分类器的形式预训练了骨干架构之后,我们将移除网络的最后几层,以便我们的骨干网络能输出堆叠的特征图集合,它们以更低的空间分辨率描述了原图像,尽管它们有更高的特征(通道)分辨率。在下面的示例中,我们对我们的观察有一个 7x7x512 的表示。这 512 个特征图中的每一个都描述了原图像的不同特性。

我们将这个 7x7 网格关联回原输入,以了解每个网格单元相对于原图像所代表的内容。

通过观察哪个网格单元包含我们的边界框标注的中心,我们还可以在粗略的(7x7)特征图中大致确定目标的位置。我们将把该网格单元指定为「负责」检测该特定目标的单元。

为了检测该目标,我们将添加另外一个卷积层并学习结合了所有 512 个特征图背景的核参数,以得到一个对应于包含目标的网格单元的激活。

如果输入图像包含多个目标,那么在我们的网格上应该有多个激活,表示每个激活区域中都有一个目标。

但是,我们不能使用单个激活就充分地描述每个目标。为了完整描述被检测出的目标,我们需要定义:

  • 一个网格单元包含一个目标的可能(pobj)

  • 该目标属于哪个类别(c1, c2, ..., cC)

  • 四个边界框描述量,描述了标注框的 x 坐标、y 坐标、宽度和高度(tx, ty, tw, th)

因此,我们需要为上述属性中的每一个学习一个卷积过滤器,这样我们有 5+C 个输出通道来描述每个网格单元位置处的单个边界框。这意味着我们将学习一组权重来检查所有 512 个特征图,并且确定哪些网格单元很有可能包含目标、每个网格单元很可能出现哪种类别、以及如何描述每个网格单元中可能存在的目标的边界框。

为了清楚说明,下面展示了应用 5+C 个卷积过滤器的完整输出,为每个网格单元都得到一个边界框描述量。

但是,某些图像可能有多个目标都「属于」同一网格单元。我们可以修改我们的层以得到 B(5+C) 个过滤器,这样我们就能为每个网格单元位置预测 B 个边界框了。

可视化我们的 B(5+C) 过滤器的完整卷积输出,我们可以看到我们的模型总是能为给定图像得到固定数量的 N×N×B 预测。然后我们可以过滤我们的预测,仅考虑 pobj 超过某个定义的阈值的边界框。

由于我们的检测过程的卷积本质,多个目标可以并行的方式被检测到。但是,我们最终还会预测到没有找到任何目标的大量网格单元。尽管我们可以通过这些边界框的 pobj 分数滤除它们,但这会在预测得到的包含目标和不包含目标的边界框之间引入相当大的不平衡。

我下面将讨论的两种模型都使用了「基于网格进行预测」的概念来检测图像内固定数量的可能目标。在各自的章节,我都将描述每种方法的细微差别,并还会给出一些我曾经看到的细节,以便你能真正实现每种模型。

非极大抑制(Non-Maximum Suppression)

「基于网格进行预测」方法会为每张图像得到固定数量的边界框预测。但是,我们希望对这些预测进行过滤,以便仅输出图像中真正可能实际存在的目标的边界框。此外,对于每个被检测到的目标,我们都只想要一个边界框预测。

通过仅考虑 pobj 超过某个定义置信度阈值的预测,我们可以滤除大多数边界框预测。但是,我们可能仍有多个描述同一目标的高置信度预测。因此,我们需要一个方法来移除冗余的目标预测,以便每个目标都只用一个边界框描述。

要做到这一点,可使用一种被称为非极大抑制的技术。从高层面看,这个技术会检查高度重叠的边界框并抑制(即丢弃)除最高置信度预测外的所有预测。

我们会为每一类都单独执行非极大抑制。同样,这里的目标是移除冗余的预测,所以如果有两个重叠度很高的边界框分别描述的是不同类别的目标(比如一个框描述人,一个框描述车),那么我们就不必担心。但是,如果两个重叠度很高的边界框都在描述人,那么很有可能这两个预测描述的是同一个人。

YOLO:You Only Look Once

YOLO 模型最早是由 Joseph Redmon 等人在 2015 年发布的,并在随后的两篇论文中进行了修订。在下面的每一小节中,我都会讨论具体的实现细节和用于提升性能表现的改进措施。

骨干网络

最早的 YOLO 网络使用了一个经过修改的 GoogLeNet 作为骨干网络。之后,Redmond 又创建了一个名为 DarkNet-19 的新模型,其遵循了 3×3 过滤器的一般设计,而将每个池化步骤的通道数量翻了一倍;整个网络中也使用了 1×1 过滤器来周期性压缩特征表示。他最新的论文又引入了一个更大的新模型 DarkNet-53,具有更优的性能表现。

所有这些模型都首先是作为图像分类器而进行预训练,之后再针对检测任务进行调整。在 YOLO 模型的第二个迭代版本中,Redmond 发现在分类预训练结束时使用更高分辨率的图像能够提升检测表现,因此也就采用这一操作方法。

将分类网络调整为检测网络只需要移除网络的最后几层,然后添加一个带有 B(5+C) 个过滤器的卷积层,以得出 N×N×B 的边界框预测。

边界框(以及锚框概念)

YOLO 模型的第一个迭代版本是直接预测描述一个边界框的所有 4 个值。每个边界框的 x 和 y 坐标都是相对每个网格单元的左上角定义的,并且根据单元尺寸进行了归一化,以便这些坐标值的范围在 0 到 1 之间。我们定义框宽度和高度的方式让我们的模型预测的是平方根宽度和高度;通过平方根值的形式定义框的宽度和高度,大数值之间的差会没有小数值之间的差那样显著(看看 的图就能确定这一点)。Redmond 选择这个形式是因为「小偏差在大框中的重要性比在小框中小」,因此,当我们计算我们的损失函数时,我们希望将重点放在更准确地得到小框上面。边界框的宽度和高度根据图像的宽和高进行归一化,因此取值也在 0 到 1 之间。训练过程中使用 L2 损失。

这种形式后来进行了修改,引入了边界框先验(bounding box prior)的概念。我们不再期望模型为每张新图像直接生成唯一的边界框描述量,而是定义一个边界框集合,其中的边界框有不同的宽高比,这些宽高比嵌入了某些关于我们预计会检测到的目标的形状的先验信息。Redmond 提供了一种用于发现最佳宽高比的方法,即在你的训练数据集中的所有边界框上执行 k-均值聚类(使用一个自定义的距离度量)。

在下图中,你可以看到针对中心黄色的网格单元的一个包含 5 个边界框先验(也被称为「锚框(anchor boxes)」)的集合。通过这种形式,B 个边界框中的每一个都能明确地专门检测特定尺寸和宽高比的目标。

注:尽管图中没有给出,但我们的预测网格中的每个单元都有这些锚框。

我们不再直接预测边界框的尺寸,而是重新形式化了我们的任务,从而只需简单预测与我们的边界框先验尺寸的偏移量,这样我们就可以优化我们的预测边界框尺寸了。这种处理方式能让这一预测任务更容易学习。

由于与原来的预测平方根宽度和高度相似的原因,我们将定义我们的任务来预测与我们的边界框先验的对数偏移量。

目标度(以及将被标注的目标分配给一个边界框)

在该模型的第一个版本中,「目标度(objectness)」分数 pobj 的训练目标是近似求取被预测框和基本真值标签之间的交并比(IoU)。当我们在训练过程中计算损失时,我们会将目标与有最高 IoU 分数的边界框预测(在同一个网格单元上)进行匹配。对于未匹配的框,我们会包含进我们的损失函数的唯一描述量是 pobj。

YOLOv2 加入了边界框先验之后,我们只需简单地将被标注出的目标分配给与该被标注目标有最高 IoU 分数的锚框(在同一个网格单元上)即可。

在第三个版本中,Redmond 重新定义了「目标度」目标分数 pobj,每个给定目标有最高 IoU 分数的边界框取值 1,其它所有框都为 0。但是,在计算损失时,我们将不会包含有较高 IoU 分数(超过某个阈值),但不是最高分数的边界框。简单来说,只是因为一个优良预测不是最佳预测就惩罚它是不合理的。

类别标签

最初的类别预测是在网格单元层面上执行的。这意味着单个网格单元不能预测不同类别的多个边界框。之后的修订版可以使用在类别和交叉熵损失上的 softmax 激活来预测每个边界框的类别。

Redmond 之后修改了类别预测,以使用 sigmoid 激活来进行多标签分类,因为他发现 softmax 不一定能得到优良表现。这个选择取决于你的数据集以及你的标签是否重叠(比如「金毛猎犬」和「狗」就有所重叠)。

输出层

第一个 YOLO 模型只是使用我们的骨干网络的输出预测 N×N×B 边界框。

在 YOLOv2 中,Redmond 添加了一个古怪的 skip 连接,将更高分辨率的特征图分到了多个通道上,如下图所示。

我不喜欢这个奇怪的「从更高分辨率特征图的 skip 连接」思想。

幸运的是,在第三个迭代版本中,这被改成了更标准的特征金字塔网络输出结构。使用这一方法,我们将在输出一个预测结果和上采样特征图(使用 skip 连接)之间交替。这允许预测能够利用网络更早期的更细粒度信息,这有助于检测图像中的小目标。

SSD:Single Shot Detection

SSD 模型也发表于 2015 年(Wei Liu et al.),就在 YOLO 模型发表后不久,并且也在后续论文中得到了改进。下面我会具体介绍该模型的实现细节。

骨干网络

其骨干网络是一个在 ImageNet 上针对图像分类预训练后的 VGG-16 模型。研究者对其进行了一些微调,使其能用于检测任务,其中包括:使用卷积实现替换全连接层、移除 dropout 层、使用一个扩张卷积替换最后的最大池化层。

边界框(以及锚框概念)

SSD 模型没有使用 k-均值聚类来发现宽高比,而是人工定义了一个宽高比集合(比如 {1, 2, 3, 1/2, 1/3}),以用于每个网格单元位置的 B 个边界框。

对于每个边界框,我们都会预测其在边界框坐标(x 和 y)以及尺寸(宽度和高度)上离锚框的偏移量。我们将使用通过一个 Smooth L1 损失训练的 ReLU 激活。

目标度(以及将被标注的目标分配给一个边界框)

YOLO 和 SSD 的一大主要区别是 SSD 不会试图为 pobj 预测一个值。YOLO 模型是在存在一个目标时预测目标的概率,然后再预测每个类别的概率,而 SSD 模型则试图直接预测一个类别存在于一个给定目标框中的概率。

在计算损失时,我们会将有最高 IoU 的每个基本真值框与锚框进行匹配——并将该框定义为「负责」做出预测的框。但是,我们也会将基本真值框与 IoU 超过某个定义阈值(0.5)的任何其它锚框进行匹配,从而不因为这些锚框并不是最佳的而惩罚这些优良预测。

类别标签

正如我之前提到的,SSD 边界框的最佳预测并不基于存在目标的事实。因此,我们是使用一个 softmax 激活和交叉熵损失来直接预测每个类别的概率。因为我们并不明确预测 pobj,所以有一个「背景」类别是很重要的,这样我们就能预测不存在目标的情况了。

由于事实上大多数框都将属于「背景」类别,所以我们将使用一种被称为「hard negative mining」的技术来采样负例(没有目标)预测,使得在计算我们的损失时最多只使用 3:1 比例的正例和负例预测。

输出层

为了能进行多个尺度的预测,SSD 输出模块会逐步对卷积特征图进行下采样,间歇性地得到边界框预测(如下图中从卷积层指向预测框的箭头所示)。

使用焦点损失(Focal Loss)解决目标不平衡问题

正如我之前提到的,我们常常最终会得到大量边界框,而由于我们的「基于网格进行预测」方法的本质,这些框往往不包含目标。尽管我们可以在得到一组固定的边界框预测后轻松滤除这些框,但仍然存在(前景—背景)类别不平衡的情况,这可能会给训练过程造成困难。对于不将目标度预测和类别概率预测分成两个独立任务,而是简单地为没有目标的区域设置一个「背景」类别的模型,困难尤其显著。

Facebook 的研究者提出向标准的交叉熵损失添加一个比例因子,以使其在训练过程中更加关注「困难的」样本,防止简单的负例预测主导训练过程。

正如这些研究者指出的那样,能被轻松分类的样本会为标准的交叉熵损失带来非平凡损失(γ=0),这是在一个大样本集合上求和得到的,并能轻易主导参数更新。项是一个可调节的比例因子,以防止这种情况发生。

正如该论文指出的那样:「γ=2 时,pt=0.9 的分类样本的损失与 CE(交叉熵)相比低 100 倍,pt=0.968 时会低 1000 倍。」

常见数据集和竞赛

下面我列出了一些研究者在评估新的目标检测模型时常用的数据集:

扩展阅读

论文

讲座

标注数据的工具

原文链接:https://www.jeremyjordan.me/object-detection-one-stage/

]]> 原文: https://ift.tt/2vCSHEl
RSS Feed

机器知心

IFTTT

FAIR提出用聚类方法结合卷积网络,实现无监督端到端图像分类

聚类是一种在计算机视觉被广泛应用和研究的无监督学习方法,但几乎未在大规模数据集上的视觉特征端到端训练中被采用过。在本文中,Facebook AI 研究院提出了深度聚类(DeepCluster),一种联合学习神经网络参数和获取特征的聚类分配的聚类方法。在 ImageNet 和 YFCC100M 等典型规模数据集上的卷积神经网络的无监督训练的实验结果表明,该方法在所有基准性能中都远远优于目前的技术。

预训练的卷积神经网络,或称卷积网络,已经成为大多数计算机视觉应用的基础构建模块 [1,2,3,4]。它们能提取极好的通用特征,用来提高在有限数据上学习的模型的泛化能力 [5]。大型全监督数据集 ImageNet[6] 的建立促进了卷积网络的预训练的进展。然而,Stock 和 Cisse [7] 最近提出的经验证据表明,在 ImageNet 上表现最优的分类器的性能在很大程度上被低估了,而且几乎没有遗留错误问题。这在一定程度上解释了为什么尽管近年来出现了大量新架构,但性能仍然饱和 [2,8,9]。事实上,按照今天的标准,ImageNet 是相对较小的;它「仅仅」包含了一百万张涵盖各个领域的分类图片。所以建立一个更大更多样化,甚至包含数十亿图片的数据集是顺理成章的。而这也将需要大量的手工标注,尽管社区多年来积累了丰富的众包专家知识 [10],但通过原始的元数据代替标签会导致视觉表征的偏差,从而产生无法预测的后果 [11]。这就需要在无监督的情况下对互联网级别的数据集进行训练的方法。

无监督学习在机器学习社区 [12] 中得到了广泛的研究,在计算机视觉应用中也经常使用聚类、降维或密度估计算法 [13,14,15]。例如,「特征包」模型使用手工标注的描述符的聚类来生成良好的图像级特征 [16]。它们取得成功的一个关键原因是,它们可以应用于任何特定的领域或数据集,如卫星或医学图像,或使用一种新的模态 (如物体深度) 获取的图像,在这种模式下,无法获得大量的标注。有几项研究表明,可以将基于密度估计或降维的无监督方法应用到深度模型中 [17,18],从而产生良好的通用视觉特征 [19,20]。尽管聚类方法在图像分类方面取得了初步的成功,但很少有人提出将其用于对卷积网络进行端到端训练 [21,22],而且未成规模。问题是,聚类方法主要是为固定特征的线性模型设计的,如果必须同时学习特征,那么它们几乎不起作用。例如,使用 k-means 学习一个卷积网络将得到零特征的平凡解,并且聚类会坍缩成单个实体。

在本文中,FAIR 的研究者提出了一种为卷积网络进行大规模端到端训练的聚类方法。他们证明了用聚类框架获得有用的通用视觉特征是可实现的。该方法如图 1 所示,是在图像描述符的聚类和通过预测聚类分配来更新卷积网络的权值之间进行交替。简单起见,我们将研究重点放在 k-means 上,但其他聚类方法也适用,比如幂迭代聚类 (PIC)[23]。整个过程重用许多常见的技巧,与卷积网络的标准监督训练十分相似 [24]。与自监督方法 [25,26,27] 不同,聚类的优点是不需要太多专业知识,也不需要输入特定信号 [28,29]。尽管此方法很简单,但它在 ImageNet 分类和迁移任务上都比以前提出的非监督方法有更好的表现。

图 1:本文提出方法的图示:对深层特征进行迭代地聚类,并使用聚类赋值作为伪标签来学习卷积网络的参数。

最后,通过修改实验方案,特别是训练集和卷积网络的结构,研究者对框架的鲁棒性进行了探究。得到的实验集对 Doersch 等人 [25] 的讨论做了扩展,即关于这些选择对无监督方法性能的影响。他们证明了本文的方法使架构更具鲁棒性。用 VGG[30] 代替 AlexNet 可以显著提高特征质量和迁移性能。更重要的是,他们讨论使用 ImageNet 作为非监督模型的训练集。虽然它有助于理解标签对网络性能的影响,但是 ImageNet 有一个基于细粒度图像分类挑战的特定图像分布集:它由均衡的类组成,例如包含各类犬种。作为替代方案,可以从 Thomee 等人的 YFCC100M 数据集中选择随机的 Flickr 图片 [31]。他们的方法在对这种未确定的数据分布进行训练时有当前最佳的性能。最后,目前的基准测试侧重于无监督卷积网络捕捉类级信息的能力。研究者还建议在图像检索基准上对它们进行评估,以测量它们捕捉实例级信息的能力。

在本文中,研究者做出了以下贡献:(i) 提出一种新的无监督方法来实现卷积网络的端到端学习,这种方法可以使用任何标准的聚类算法,比如 k-means,并且只需要很少的额外步骤;(ii) 在使用无监督学习的许多标准迁移任务中达到当前最佳水平;(iii) 对未处理的图像分布进行训练时,表现优于先前的最先进技术水平;(iv) 讨论了无监督特征学习中的目前评估方案。

论文:Deep Clustering for Unsupervised Learning of Visual Features

论文地址:https://arxiv.org/abs/1807.05520v1

摘要:聚类是一种在计算机视觉被广泛应用和研究的无监督学习方法,但几乎未在大规模数据集上的视觉特征端到端训练中被采用过。在本文中,我们提出了深度聚类(DeepCluster),这是一种联合学习神经网络参数和获取特征的聚类分配的聚类方法。深度聚类使用标准的聚类算法 k-means 对特征进行迭代分组,随后使用赋值作为监督来更新网络的权重。我们将深度聚类应用于 ImageNet 和 YFCC100M 这样的大型数据集上的卷积神经网络的无监督训练。最终模型在所有基准性能中都远远优于目前的技术。

实验

在初步的实验中,研究团队研究了深度聚类在训练过程中的行为。然后,在标准基准上将其方法与之前最先进的模型进行比较之前,并对深度聚类学习的滤波器进行了定性评估。

可视化

图 3:在原始 RGB 输入 (左) 或 Sobel 滤波 (右) 之后,在无监督的 ImageNet 上训练的 AlexNet 的第一层滤波器的卷积结果。

图 4:滤波器可视化和来自 YFCC100M 的 100 万个图像子集中的前 9 个激活图像,用于在 ImageNet 上使用深度聚类训练的 AlexNet 的 conv1、conv3 和 conv5 中的目标滤波器。滤波器的可视化是通过学习一个输入图像来获得的,该图像最大化目标滤波器的响应 [64]。

图 5:来自 YFCC100M 的 1000 万个图像的随机子集中的前 9 个激活图像,用于最后卷积层中的目标滤波器。顶行对应的是对包含物体的图像敏感的滤波器。底行展示了对风格效果更敏感的滤波器。例如,滤波器 119 和 182 似乎分别被背景模糊和景深效应激活。

激活值的线性分类

表 1:使用 AlexNet 的卷积层的激活值作为特征的 ImageNet 和 Places 上的线性分类。报告的分类准确率平均超过 10 种作物。其他方法的数字来自 Zhang et al[43]。

Pascal VOC 2007

表 2:对 Pascal VOC 的分类、检测和分割的最新无监督特征学习方法的比较。∗表明 Krahenbuhl 等人使用数据依赖初始化 [68]。其他方法产生的数字被标记为 a †。

]]> 原文: https://ift.tt/2OG0wlr
RSS Feed

机器知心

IFTTT

DeepSeek + Pi 王炸组合跑赢 Claude Code?-InfoQ每周精要No.935

「每周精要」 ...