数智资源网
首页 首页 人工智能 查看内容

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

木马童年 2019-4-11 20:25 191 0

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

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

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

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

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

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

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

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

所以应该如何解决呢?

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

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

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

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

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

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

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

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

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

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

数据科学 机器学习 图像分类 摄像头 计算机视觉 实际应用
0

最新评论(0)