0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深度学习在计算机视觉领域的瓶颈已至

悟空智能科技 来源:lq 2019-02-18 14:52 次阅读

一片欣欣向荣背后,深度学习计算机视觉领域的瓶颈已至。提出这个观点的,不是外人,正是计算机视觉奠基者之一,约翰霍普金斯大学教授Alan Yuille,他还是霍金的弟子。

他说,现在做AI不提神经网络,成果都很难发表了,这不是个好势头。

如果人们只追神经网络的潮流,抛弃所有老方法;如果人们只会刷榜,不去想怎样应对深度网络的局限性,这个领域可能很难有更好的发展。

面对深度学习的三大瓶颈,Yuille教授给出两条应对之道:靠组合模型培养泛化能力,用组合数据测试潜在的故障。

观点发表之后,引发不少的共鸣。Reddit话题热度快速超过200,学界业界的AI科学家们也纷纷在Twitter上转发。

Reddit网友评论道,以Yuille教授的背景,他比别人更清楚在深度学习在计算机视觉领域现状如何,为什么出现瓶颈。

深度学习的三大瓶颈

Yuille指出,深度学习虽然优于其他技术,但它不是通用的,经过数年的发展,它的瓶颈已经凸显出来,主要有三个:

需要大量标注数据

深度学习能够实现的前提是大量经过标注的数据,这使得计算机视觉领域的研究人员倾向于在数据资源丰富的领域搞研究,而不是去重要的领域搞研究。

虽然有一些方法可以减少对数据的依赖,比如迁移学习、少样本学习、无监督学习和弱监督学习。但是到目前为止,它们的性能还没法与监督学习相比。

过度拟合基准数据

深度神经网络在基准数据集上表现很好,但在数据集之外的真实世界图像上,效果就差强人意了。比如下图就是一个失败案例。

一个用ImageNet训练来识别沙发的深度神经网络,如果沙发摆放角度特殊一点,就认不出来了。这是因为,有些角度在ImageNet数据集里很少见。

在实际的应用中, 如果深度网络有偏差,将会带来非常严重的后果。

要知道,用来训练自动驾驶系统的数据集中,基本上从来没有坐在路中间的婴儿。

对图像变化过度敏感

深度神经网络对标准的对抗性攻击很敏感,这些攻击会对图像造成人类难以察觉的变化,但可能会改变神经网络对一个物体的认知。

而且,神经网络对场景的变化也过于敏感。比如下面的这张图,在猴子图片上放了吉他等物体,神经网络就将猴子识别成了人类,吉他识别成了鸟类。

背后的原因是,与猴子相比,人类更有可能携带吉他,与吉他相比,鸟类更容易出现在丛林中。

这种对场景的过度敏感,原因在于数据集的限制。

对于任何一个目标对象,数据集中只有有限数量的场景。在实际的应用中,神经网络会明显偏向这些场景。

对于像深度神经网络这样数据驱动的方法来说,很难捕捉到各种各样的场景,以及各种各样的干扰因素。

想让深度神经网络处理所有的问题,似乎需要一个无穷大的数据集,这就给训练和测试数据集带来了巨大的挑战。

为什么数据集会不够大?

这三大问题,还杀不死深度学习,但它们都是需要警惕的信号

Yuille说,瓶颈背后的原因,就是一个叫做“组合爆炸”的概念:

就说视觉领域,真实世界的图像,从组合学观点来看太大量了。任何一个数据集,不管多大,都很难表达出现实的复杂程度。

那么,组合学意义上的大,是个什么概念?

大家想象一下,现在要搭建一个视觉场景:你有一本物体字典,要从字典里选出各种各样的物体,把它们放到不同的位置上。

说起来容易,但每个人选择物体、摆放物体的方法都不一样,搭出的场景数量是可以指数增长的。

就算只有一个物体,场景还是能指数增长。因为,它可以用千奇百怪的方式被遮挡;物体所在的背景也有无穷多种。

人类的话,能够自然而然适应背景的变化;但深度神经网络对变化就比较敏感了,也更容易出错:

△是的,前面出现过了

也不是所有视觉任务都会发生组合爆炸(Combinatorial Explosion) 。

比如,医学影像就很适合用深度网络来处理,因为背景少有变化:比如,胰腺通常都会靠近十二指肠。

但这样的应用并不常见,复杂多变的情况在现实中更普遍。如果没有指数意义上的大数据集,就很难模拟真实情况。

而在有限的数据集上训练/测试出来的模型,会缺乏现实意义:因为数据集不够大,代表不了真实的数据分布。

那么,就有两个新问题需要重视:

1、怎样在有限的数据集里训练,才能让AI在复杂的真实世界里也有很好的表现?

2、怎样在有限的数据集里,高效地给算法做测试,才能保证它们承受得了现实里大量数据的考验?

组合爆炸如何应对?

数据集是不会指数型长大的,所以要试试从别的地方突破。

可以训练一个组合模型,培养泛化能力。也可以用组合数据来测试模型,找出容易发生的故障。

总之,组合是关键。

训练组合模型

组合性 (Compositionality) 是指,一个复杂的表达,它的意义可以通过各个组成部分的意义来决定。

这里,一个重要的假设就是,一个结构是由许多更加基本的子结构,分层组成的;背后有一些语法规则。

这就表示,AI可以从有限的数据里,学会那些子结构和语法,再泛化到各种各样的情景里。

与深度网络不同,组合模型 (Compositional Models) 需要结构化的表示方式,才能让结构和子结构更明确。

组合模型的推断能力,可以延伸到AI见过的数据之外:推理、干预、诊断,以及基于现有知识结构去回答不同的问题。

引用Stuart German的一句话:

The world is compositional or God exists.

世界是组合性的,不然,上帝就是存在的。

虽然,深度神经网络也有些组合性:高级特征是由低级特征的响应组成的;但在本文所讨论的意义上,深度神经网络并不是组合性的。

组合模型的优点已经在许多视觉任务里面体现了:比如2017年登上Science的、用来识别CAPTCHA验证码的模型。

还有一些理论上的优点,比如可解释,以及可以生成样本。这样一来,研究人员就更加容易发现错误在哪,而不像深度神经网络是个黑盒,谁也不知道里面发生了什么。

但要学习组合模型,并不容易。因为这里需要学习所有的组成部分和语法;

还有,如果要通过合成 (Synthesis) 来作分析,就需要有生成模型(Generative Models) 来生成物体和场景结构。

就说图像识别,除了人脸、字母等等少数几种很有规律的图案之外,其他物体还很难应付:

从根本上说,要解决组合爆炸的问题,就要学习3D世界的因果模型(Causal Models) ,以及这些模型是如何生成图像的。

有关人类婴儿的研究显示,他们是通过搭建因果模型来学习的,而这些模型可以预测他们生活环境的结构。

对因果关系的理解,可以把从有限数据里学到的知识,有效扩展到新场景里去。

在组合数据里测试模型

训练过后,该测试了。

前面说过,世界那么复杂,而我们只能在有限的数据上测试算法。

要处理组合数据 (Combinatorial Data) ,博弈论是一种重要的方法:它专注于最坏情况(Worst Case) ,而不是平均情况 (Average Case) 。

就像前面讨论过的那样,如果数据集没有覆盖到问题的组合复杂性,用平均情况讨论出的结果可能缺乏现实意义。

而关注最坏情况,在许多场景下都是有意义的:比如自动驾驶汽车的算法,比如癌症诊断的算法。因为在这些场景下,算法故障可能带来严重的后果。

如果,能在低维空间里捕捉到故障模式 (Failure Modes) ,比如立体视觉的危险因子 (Hazard Factors) ,就能用图形和网格搜索来研究这些故障。

但是对于大多数视觉任务,特别是那些涉及组合数据的任务,通常不会有能找出几个危险因子、隔离出来单独研究的简单情况。

△对抗攻击:稍稍改变纹理,只影响AI识别,不影响人类

有种策略,是把标准对抗攻击(Adversarial Attacks) 的概念扩展到包含非局部结构(Non-Local Structure) ,支持让图像或场景发生变化的复杂运算,比如遮挡,比如改变物体表面的物理性质,但不要对人类的认知造成重大改变。

把这样的方法应用到视觉算法上,还是很有挑战性的。

不过,如果算法是用组合性(Compositional) 的思路来写,清晰的结构可能会给算法故障检测带来很大的帮助。

关于Alan Yuille

Alan Yuille,目前就职于约翰霍普金斯大学,是认知科学和计算机科学的杰出教授。

1976年,在剑桥大学数学专业获得学士学位。之后师从霍金,在1981年获得理论物理博士学位。

毕业之后,转而开拓计算机视觉领域。并先后就职于麻省理工学院的人工智能实验室,哈佛大学计算机系等等学术机构。

2002年加入UCLA,之后担任视觉识别与机器学习中心主任,同时也在心理学系,计算机系,精神病学和生物行为学系任客座教授。

2016年,加入约翰霍普金斯大学。

他曾获得ICCV的最佳论文奖,2012年,担任计算机视觉顶级会议CVPR的主席,计算机视觉界的奠基人之一。

此外,Alan Yuille也直接影响了中国AI的发展,其嫡系弟子朱珑博士学成后,回国创办了AI公司依图科技,现在也是中国CV领域最知名的创业公司之一。

这篇文章中的观点,出自Yuille在2018年5月发表的一篇论文,共同作者是他的博士生Chenxi Liu,在今年一月份,他们对这篇论文进行了更新。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4572

    浏览量

    98738
  • 计算机视觉
    +关注

    关注

    8

    文章

    1600

    浏览量

    45614
  • 深度学习
    +关注

    关注

    73

    文章

    5237

    浏览量

    119904

原文标题:三大瓶颈扼住深度学习咽喉

文章出处:【微信号:WUKOOAI,微信公众号:悟空智能科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    机器视觉、工业视觉计算机视觉这三者的关系

    机器视觉、工业视觉计算机视觉这三者的关系
    的头像 发表于 01-24 10:51 566次阅读
    机器<b class='flag-5'>视觉</b>、工业<b class='flag-5'>视觉</b>和<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>这三者的关系

    计算机视觉:AI如何识别与理解图像

    计算机视觉是人工智能领域的一个重要分支,它致力于让机器能够像人类一样理解和解释图像。随着深度学习和神经网络的发展,人们对于如何让AI识别和理
    的头像 发表于 01-12 08:27 633次阅读
    <b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>:AI如何识别与理解图像

    什么是计算机视觉计算机视觉的三种方法

    计算机视觉是指通过为计算机赋予人类视觉这一技术目标,从而赋能装配线检查到驾驶辅助和机器人等应用。计算机缺乏像人类一样凭直觉产生
    的头像 发表于 11-16 16:38 3123次阅读
    什么是<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>?<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>的三种方法

    最适合AI应用的计算机视觉类型是什么?

    计算机视觉是指为计算机赋予人类视觉这一技术目标,从而赋能装配线检查到驾驶辅助和机器人等应用。计算机缺乏像人类一样凭直觉产生
    的头像 发表于 11-15 16:38 235次阅读
    最适合AI应用的<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>类型是什么?

    用于计算机视觉的经典机器学习应用分析

    深度学习是指在大部分未处理或“原始”数据上运行的非常大的神经网络模型。深度学习通过将特征提取操作拉入模型本身,对计算机
    发表于 11-07 10:11 162次阅读
    用于<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>的经典机器<b class='flag-5'>学习</b>应用分析

    反思深度学习与传统计算机视觉的关系

    某种程度上,深度学习最大的优势就是自动创建没有人会想到的特性能力。如今,深度学习在众多领域都有一席之地,尤其是在
    的头像 发表于 09-12 08:29 405次阅读
    反思<b class='flag-5'>深度</b><b class='flag-5'>学习</b>与传统<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>的关系

    计算机视觉中的九种深度学习技术

    计算机视觉中仍有许多具有挑战性的问题需要解决。然而,深度学习方法正在针对某些特定问题取得最新成果。 在最基本的问题上,最有趣的不仅仅是深度
    发表于 08-21 09:56 359次阅读
    <b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>中的九种<b class='flag-5'>深度</b><b class='flag-5'>学习</b>技术

    深度学习是什么领域

    深度学习是什么领域  深度学习是机器学习的一种子集,由多层神经网络组成。它是一种自动
    的头像 发表于 08-17 16:02 1207次阅读

    人工智能计算机视觉方向是什么

    “看”并作出决策。 计算机视觉是人工智能领域的一大分支,是以计算机和数字图像处理技术为手段,通过对视觉信息的处理和分析来实现人工智能的各类应
    的头像 发表于 08-15 16:06 1189次阅读

    机器视觉计算机视觉的区别

    机器视觉计算机视觉的区别 机器视觉计算机视觉是两个相关但不同的概念。虽然许多人使用这两个术语
    的头像 发表于 08-09 16:51 1127次阅读

    计算机视觉的概念和主要任务

    作为人工智能的关键领域之一的计算机视觉近期再次成为了热点,那么你真的了解什么是计算机视觉吗?
    的头像 发表于 07-17 11:20 886次阅读

    量子计算机有什么用 量子计算机应用领域

    量子计算机可以加速解决传统计算机无法处理的复杂问题,如化学模拟、大规模优化、机器学习、数据挖掘等领域
    的头像 发表于 06-14 17:30 5615次阅读

    浅谈深度学习计算机视觉领域的三大瓶颈

    深度学习能够实现的前提是大量经过标注的数据,这使得计算机视觉领域的研究人员倾向于在数据资源丰富的领域
    发表于 06-11 10:22 267次阅读
    浅谈<b class='flag-5'>深度</b><b class='flag-5'>学习</b>在<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b><b class='flag-5'>领域</b>的三大<b class='flag-5'>瓶颈</b>

    什么是机器视觉?机器视觉计算机有什么关系?

    机器视觉计算机视觉有什么区别
    的头像 发表于 06-05 09:28 861次阅读
    什么是机器<b class='flag-5'>视觉</b>?机器<b class='flag-5'>视觉</b>与<b class='flag-5'>计算机</b>有什么关系?

    计算机视觉相关概念总结

    为了帮助同事和客户了解更多有关计算机视觉和AI的更多信息,我们言简意赅介绍一些计算机视觉和AI术语,希望能帮助到大家。
    的头像 发表于 05-31 10:11 516次阅读