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

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

3天内不再提示

深度学习真正可以实现什么,与经典计算机视觉的区别是什么?

DPVg_AI_era 来源:lp 2019-04-19 10:46 次阅读

深度学习的成功和一系列令人惊讶的失败模式教会了我们处理数据的宝贵教训。本文展示了深度学习真正可以实现什么,与经典计算机视觉的区别是什么,以及进行关键应用的潜在危险有哪些。

我们对深度网络的黑盒效应都很熟悉了。虽然没有人知道黑盒子里到底经历了什么,然而深度学习的成功以及一系列惊人的失败模式,提供了如何处理的数据的宝贵教训。

本文作者Piekniewski,将为我们展示深度学习的实际能力、与经典计算机视觉的关系,在关键应用上依赖深度学习的潜在危险,以及未来走向。

此人也对AI寒冬论持有坚定的信念,参见文章《深度学习到顶,AI寒冬将至!》《历史总是在重演,AI寒冬或再来》。

视觉问题中没有纯粹的“简单”和“复杂”

首先需要就视觉/计算机视觉做一点说明。原则上可以表述如下:给定一台摄像机拍摄的图像,计算机可以回答关于该图像内容的一些问题。

简单的问题比如“图像中是否存在三角形”,“图像中是否存在人脸”;复杂的问题例如“是否有狗在图像中追逐猫”。这些对人类来说小儿科的问题看似有很多相似的地方,然而事实却证明这些问题的背后的复杂性存在巨大差异。

同样是让计算机回答“图中是否有XX”的问题,“图中是否有猫”显然要比“图中是否有红色”更难。你看,试图将视觉问题划分为“简单”或“复杂”将会陷入无止境的深渊。

这一点很重要。因为像我们人类这种高度视觉化的动物,以上问题都不是问题。但对计算机深度学习来说,确实非常复杂。

传统计算机视觉存在的问题

传统的计算机视觉就是使用一套算法,从图片里提取信息(通常表示为像素值数组)。比如去噪、增强和检测的算法,一些方法旨在寻找简单的几何图元,例如边缘检测、形态分析、霍夫变换、斑点检测、角点检测、各种图像阈值处理技术等。还有特征表示技术和变换,如定向梯度的直方图、Haar级联等可以用作机器学习分类器的前端以构建更复杂的检测器。

与流行的看法相反,上述工具结合在一起可以组成非常强大有效的特定物体探测器。人们可以构建面部检测器、汽车检测器、路牌检测器,并且它们很可能在精度和计算复杂性方面,优于这些特定对象的深度学习解决方案。

但问题是,每个探测器都需要由有能力的人员从头开始构建,低效又昂贵,且不可扩展的。

因此,李上上那些很厉害的探测器只适用于必须高频场景,还需要证明前期投资的合理性。许多探测器都是专有的,一般公众无法使用。

优秀的面部探测器、车牌阅读器很多,但狗探测器却很少。没有一个心智正常的人会投入人力和物力去编写狗探测器或分类器,从图像中分类出一种狗,贵且不切实际。

这是传统视觉的死穴,却是深度学习的用武之地。

用一个聪明学生的故事来解释深度学习的本质

想象一下,你正在教授计算机视觉课程。在开始的几个讲座中,学生了解到丰富的技术(例如上面讨论的技术),接下来就是给学生布置一些任务。

先从一些简单的任务开始,例如通过询问图像中是否有圆形或正方形;接下来逐渐提高复杂度。学生每周都要编写计算机程序来解决下一个任务。而你来查看代码,并在某些示例上运行代码来检验效果。

这个学期,来了一个新生,他不跟周围人说话,也从不问问题。但当他提交第一个解决方案时,你会发现这是一堆难以理解的代码,跟你以前看到的代码都不同。

看起来他正在用一些随机看的过滤器对每个图像进行卷积,然后使用一些非常奇怪的逻辑,许多“ifthenelse”语句具有大量搞不懂的参数来获得最终答案。你在样本上运行此代码,它居然完全正常!你心想,这个方法是在不同寻常难以理解,但管他呢,确实有效啊!

几周过去了,任务复杂度在不断提升,你越来越看不懂这个学生的代码,但就算是最复杂的任务,它的效果也令人惊讶。最后一个问题是在一组真实的图像中区分猫和狗。其他学生代码的准确率都没有超过65%,但新学员的代码能够达到95%!太不可思议了。

你对代码进行了逆向工程,结果发现他那堆复杂的代码,背后的逻辑其实非常简单:

检测是否有狗牌:如果有返回“狗”;没有返回“猫”

如果没有狗牌,检测图像的左侧部分是否比右侧部分更黄:如果是返回“狗”;不是返回“猫”

你把这个学生叫到办公室问他是怎么想的,他表示其实自己也不知道,他根本不明白猫和狗是什么,只知道通过什么方法将二者区分出来。这算作弊吗?从人类的角度来看,是的,他的出发点和你想的完全不同。

虽然其他学生使用原始数据集并没有得到特别突出的结果,但也不会出什么奇怪的错误。相比而言,新学生的方式虽然在使用当前数据集的时候,效果卓著,然而一旦稍微对数据集做一点改动,例如将狗牌贴在猫身上,结果就是完全错误的。

深度学习的天赐和诅咒

上面那个新学生的例子,其实很形象的表述了深度学习的特性。

深度学习是一种使用梯度反向传播的、特定优化技术来生成“程序”(也称为“神经网络”)的技术。上面学生的程序只是构建一组转换和条件,将正确的标签分配给数据集中的正确图像。而且总是在寻求解决问题最省力的方法,比如给定数据集里,狗的图片都在右上角有一道蓝色的光晕,那么深度学习就会立刻使用这作为区分猫狗的标准。

为了消除这些虚假的偏差,我们通常会向训练集添加更多数据、反向传播生成的“程序”可能非常大、非常复杂,具有数百万个参数和数千个条件检查,可以锁定到组合更精细偏见的组合。任何允许分配正确标签以统计优化目标函数的东西都会做,无论是否与任务的“语义精神”相关。

深度网络能否最终锁定到“语义正确”先验的东西上?当然可以。但现在有大量证据表明,实际上并非五次。对抗性的例子表明,对图像的微小修改都可以导致错误的结果。对类似于先前训练的数据集的新样本的研究表明,超出原始数据集的泛化远比数据集中的泛化弱得多。

自动创建无人能想到的功能,是深度学习的最大优势,同时也是它的最大弱点、因为大多数时候,至少在语义上是存疑的。

深度学习在什么情况下好用,什么情况下不可用?

深度学习无疑是计算机视觉工具箱的一个有趣补充。现在可以相对容易地“训练”探测器来探测物体,还可以在一定程度通过调整探测器来使用更多算力。但同时也需要为深度网络的黑盒属性付出高昂的代价,我们无法确定他如何做出决定,而且跟我们认可的“语义精神”毫无关系。因此,在输入数据中出现的任何低级偏差都会导致检测器意外地失败,而且这些失效条件实际上无法表征。

因此在落地应用时,深度学习主要用于对错误不敏感、且能够保证输入不会与训练数据集有很大差异场景,例如图像搜索,可能是监视,自动零售以及几乎所有的“非关键任务”,95%的准确率非常够用了。

具有讽刺意味的是,大多数人坚信深度学习在无人驾驶汽车、自动机器人场景下的应用是一场革命,Piekniewski认为,只能将这种信念描述为“不幸”的误解。因为这些场景需要需要实时决策,容错率极低,经常会导致致命的结果,最近的研究显示基于深度神经的自动驾驶解决方案在现实生活中确实容易受到对抗性攻击。

还有人对深度学习应用在医学和诊断中寄予厚望。然而,在这个领域,也有一些相关的发现,例如,在一个机构数据上训练的模型失败了,换一个机构数据却成功了,说明这些模型使用比许多研究人员所希望的更浅度的数据。

数据比我们想象的更浅。

深度学习 vs 传统计算机视觉

深度学习现在非常流行,但传统的计算机视觉也并非就失去价值。

传统计算机视觉仍然可以用来构建强大的探测器。这些手工做成的探测器可能无法在某些特定数据集指标上实现高性能,但可以保证依赖于输入的“语义相关”特征集,它的故障模式可以更好地表征和预期。

深度学习提供统计上强大的探测器,而不需要昂贵的特征工程,尽管仍需要大量已标记的数据,外加大量GPU和现场的深度学习专家。而且,这些探测器会意外地失效,适用范围也不容易被(完全)表征。

所以,在容错率高的场景中,可以选择深度学习;在容错率低且计算复杂性更重要的场景中,经典机器视觉管道将在可预见的未来继续占据重要位置。

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

    关注

    0

    文章

    152

    浏览量

    13179
  • 计算机视觉
    +关注

    关注

    8

    文章

    1698

    浏览量

    45965
  • 深度学习
    +关注

    关注

    73

    文章

    5497

    浏览量

    121094

原文标题:深度学习的天赐和诅咒:最大的优势也是最大的缺陷

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    请问计算机视觉深度学习要看什么书?

    计算机视觉深度学习,看这本书就够了
    发表于 05-21 12:43

    深度学习计算机视觉领域图像应用总结 精选资料下载

    突破的领域,真正让大家大吃一惊的颠覆传统方法的应用领域是语音识别,做出来的公司是微软,而不是当时如日中天的谷歌。计算机视觉应用深度学习堪称突
    发表于 07-28 08:22

    深度学习与传统计算机视觉简介

    文章目录1 简介1.1 深度学习与传统计算机视觉1.2 性能考量1.3 社区支持2 结论3 参考在计算机
    发表于 12-23 06:17

    深度学习是否会取代传统的计算机视觉

    理解传统的计算机视觉实际上真的有助于你更好的使用深度学习。例如,计算机视觉中最常见的神经网络是卷
    的头像 发表于 04-02 10:37 6206次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b>是否会取代传统的<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>?

    深度学习不能取代计算机视觉技术背后的真正原因

    深度学习只是一种 计算机视觉 工具,而不是包治百病的良药,不要因为流行就一味地使用它。传统的计算机视觉
    的头像 发表于 04-05 11:37 4765次阅读
    <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>原因

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

     “计算机视觉”,是指用计算机实现人的视觉功能,对客观世界的三维场景的感知、识别和理解。计算机
    的头像 发表于 12-08 09:27 1.3w次阅读

    深度学习计算机视觉上的四大应用

    计算机视觉中比较成功的深度学习的应用,包括人脸识别,图像问答,物体检测,物体跟踪。
    的头像 发表于 08-24 16:16 4744次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b>在<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>上的四大应用

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

    机器视觉计算机视觉区别的讲解。
    发表于 04-27 10:34 7次下载

    深度学习和传统计算机视觉技术在新兴领域的比较

    是不是深度学习可以解决所有问题呢?是不是它就比传统计算机视觉方法好呢?但是深度
    的头像 发表于 11-28 11:01 1589次阅读

    计算机视觉别是如何工作的?

    计算机视觉别是一种人工智能技术,旨在使计算机系统从数字图像、视频等视觉信息中识别和提取有意义信息的能力。
    的头像 发表于 02-09 13:41 3745次阅读

    机器视觉计算机视觉区别

    机器视觉计算机视觉区别 机器视觉计算机视觉是两
    的头像 发表于 08-09 16:51 2000次阅读

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

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

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

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

    深度学习计算机视觉领域的应用

    随着人工智能技术的飞速发展,深度学习作为其中的核心技术之一,已经在计算机视觉领域取得了显著的成果。计算机
    的头像 发表于 07-01 11:38 764次阅读

    计算机视觉和机器视觉区别在哪

    计算机视觉和机器视觉是两个密切相关但又有明显区别的领域。 一、定义 计算机视觉
    的头像 发表于 07-09 09:22 443次阅读