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

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

3天内不再提示

图像分类中的一个常见问题

zhKF_jqr_AI 来源:未知 作者:李倩 2018-07-11 09:16 次阅读

编者按:本文作者Pete Warden是Jetpac公司的CTO,主要研究领域是数据科学和机器学习。在本文中,他结合自己的工作经历,发现了在图像分类中的一个常见问题,即模型的不实用性。针对该问题他提出了自己的想法。以下是论智对原文的编译。

几天前,曾经和我合作过的Plant Village团队在开发一款移动APP时发现,这款图像识别器可以检测植物病害,如下图所示,性能不错。

但是当摄像头指向电脑键盘时,这款APP仍然认为它是被损坏的粮食。

计算机视觉研究者来说,这种结果并不罕见,但是对大多数人来说还是有些出乎意料的。所以本文将研究这种情况为什么会发生,以及我们应该如何应对。

人类可以准确分辨身边的任何物体,所以我们自然就希望机器能拥有同样的能力。但是大多数模型都只在非常有限的目标物体上进行了训练,例如原始ImageNet竞赛中只涵盖了1000种物品类别。重要的是,训练过程中假设模型所看到的每个样本都是目标物体之一,而预测结果必须是已有种类中的一种。模型不能回答:“我不知道”,并且也没有这样的训练数据让它学会这种回答。事实上这是符合研究设置的,但是一旦应用到现实中就会出现问题。

当我在Jetpac工作时,想要说服客户我们的产品——AlexNet是一项创新型产品都非常困难,因为每次我们把Demo给客户看的时候,他们都会对着自己的脸,模型就会判断这是“氧气罩”或者“安全带”这种奇怪的东西。这是因为在ImageNet竞赛类别中没有关于人脸的标签,但是大多数关于面罩或安全带的标签都含有人脸。甚至当我们将手机对着盘子时,APP会将其认成“马桶圈”,也是非常尴尬了。这是因为在原本的类别中没有“盘子”,与图片最相近的就是马桶。

所以我不禁想到了“开放的世界”和“封闭的世界”的问题。模型在训练和评估的时候通常都是假设面对的物体属于有限的类别中,但是当它们走出实验室,这种假设就不成立了,用户们会根据随机物体对它们的性能表现进行评价,不管该物体是不是训练集中的。

所以这一问题应该如何解决呢?

不幸的是,目前还没有一种简单完美的解决方法,但是可以通过其他方案对这一问题稍稍改进。最直接的方法就是在训练数据中加入“未知”一类,或者直接对具体物体开设新的分类。具体来说应该考虑以下几个问题:

类别中应该包含怎样的样本?现实世界中有无数符合含有目标物体的图片,你应该如何选择?

在“未知”类别中还需要设立多少不同的物体种类?

当“未知物品”和已有类别很像时,应该怎么做?例如你想在ImageNet的1000个类别中加入一个狗狗的种类,但是它看起来和未知种类的狗狗很像。

未知种类中,各类样本的训练数据比例应该如何分配?

最后一点确实是个更重要的问题,从图像分类网络中得到的预测值并不是概率,它们假设看到任意特殊类别物体的概率和训练数据中的类别相同。如果你将一种含有企鹅的动物分类器用在亚马逊雨林中,你也会遇到同样的问题。即使分类器有美国城市中常见的狗狗种类,稀有品种在ImageNet训练数据中出现的次数也会比在狗狗公园中出现的频率高。通常的解决方法是弄清楚你将在检测过程中遇到的具体先验概率是什么,然后用它们将校准值应用于网络输出,以获得更接近真实概率的东西。

解决实际应用中此类问题的主要思想就是限制模型的使用场景,这样对目标物体的预测假设就会匹配训练数据。一种直接的方法是进行产品设计,你可以在用户界面设计一个引导人们将设备对准目标物体后,再开启运行分类器。

再复杂一点的话,你可以设计一个单独的图像分类器,试着确定主要图像分类器没有关注的条件。这和创建一个单独的“未知”分类不同,因为它的作用主要类似于一个在详细模型之前的过滤器。在开头的植物病害问题上,操作环境非常明显,可以很轻易地训练模型辨别枝叶和其他照片。这和门控模型能判断出图像是否在不支持场景中拍摄非常相似。这个门控模型会在完整的图像分类器之前运行,如果它没有检测到看起来像植物的东西,就会做出错误消息的提示,表明没有找到植物。

那些让你拍摄信用卡或者进行光学字符识别的应用经常会将屏幕上方向指引和检测是否有模糊或偏移的模型结合起来,引导用户拍摄能成功识别的照片,有时会在交互页面上添加简单的问题,例如“这里有树叶吗”。

也许这篇文章不能提供一个令人满意的答案,但是这也反映了,机器学习一旦走出了研究问题的限制,就很容易达不到用户所期望的效果。人们对一个目标物体往往存在很多常识性理解和外界知识,而我们在传统分类任务中并不能将这些因素考虑在内。为了达到用户希望看到的效果,我们必须设计一款能让模型全面地了解世界的系统,并基于该系统做出正确的决策,而不仅仅是输出一个结果。

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

    关注

    0

    文章

    152

    浏览量

    13107
  • 图像分类
    +关注

    关注

    0

    文章

    87

    浏览量

    11836
  • 机器学习
    +关注

    关注

    66

    文章

    8094

    浏览量

    130511

原文标题:当图像分类器走出实验室,碰到未知物体怎么办?

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

收藏 人收藏

    评论

    相关推荐

    Protel使用常见问题及解答

    Protel使用常见问题及解答
    发表于 04-14 09:27

    495C语言常见问题解答

    495C语言常见问题解答。
    发表于 08-05 02:14

    英飞凌IGBT应用常见问题解答

    [tr][td]英飞凌IGBT应用常见问题解答1.IGBT模块适用于哪些产品?2.Easy系列模块电压/电流/功率范围?3.Easy系列有哪几种封装?........总共23问题,,已经有此资料
    发表于 12-13 17:16

    伺服电机使用的常见问题

    的周期、更高的生产率、更好的可靠性和更长的寿命。为了实现伺服电机的更好性能,就必须对伺服电机的些使用特点有所了解。本文将浅析伺服电机在使用常见问题
    发表于 05-13 07:56

    嵌入式开发常见问题

    嵌入式开发常见问题小总结
    发表于 02-25 07:49

    STM32常见问题有哪些?怎么解决这些问题?

    STM32常见问题有哪些?如何解决STM32单片机常见问题
    发表于 04-19 06:39

    FPGA逻辑设计常见问题有哪些

    图像采集系统的结构及工作原理是什么FPGA逻辑设计常见问题有哪些
    发表于 04-29 06:18

    讲讲UCOSIII移植过程常见问题

    单片机、嵌入式的第步。下边开始讲讲移植过程常见问题。 首先第步是下载UCOSIII源码并且加入...
    发表于 02-16 06:56

    STM32串口的常见问题有哪些?

    STM32串口的常见问题有哪些?
    发表于 02-18 08:00

    运放使用常见问题精选

    运放使用常见问题精选
    发表于 03-24 11:06 102次下载

    电镀铜的常见问题

    电镀铜的常见问题集 PCB电镀中的酸铜电镀常见问题,主要有以下几个:电镀粗糙;电镀(板面)铜
    发表于 04-07 22:29 3232次阅读

    Keil编译常见问题

    吴鉴鹰总结的Keil 编译常见问题,吴鉴鹰总结的Keil 编译常见问题
    发表于 07-22 15:31 10次下载

    基于495个C语言常见问题

    基于495个C语言常见问题
    发表于 10-13 10:18 2次下载
    基于495个C语言<b class='flag-5'>常见问题</b>集

    机器学习应用中的常见问题分类问题你了解多少

    分类问题是机器学习应用中的常见问题,而二分类问题是其中的典型,例如垃圾邮件的识别。本文基于UCI机器学习数据库中的银行营销数据集,从对数据集进行探索,数据预处理和特征工程,到学习模型的评估与选择
    的头像 发表于 03-29 16:40 1.5w次阅读
    机器学习应用中的<b class='flag-5'>常见问题</b><b class='flag-5'>分类</b>问题你了解多少

    灰尘网络常见问题

    灰尘网络常见问题
    发表于 04-28 15:08 8次下载
    灰尘网络<b class='flag-5'>常见问题</b>