@sambodhi
2018-03-14T10:19:44.000000Z
字数 4128
阅读 2104
作者|Aaron Edell
编译|Liu Zhiyong
编辑|Cai Fangfang
AI前线导读:人工智能是人类未来发展的主要推动力之一,我们必须掌握它。但不幸的是关于机器学习的认识,公众是存在一些误区的。实际上,机器学习并非万能的,Machine Box的联合创始人、CEO的Aaron Edell写了一篇文章:What machine learning isn’t,给公众传递了采用机器学习要与正确的预期结合起来才能获得成功的理念。
更多干货内容请关注微信公众号“AI 前线”,(ID:ai-front)
采用人工智能最大的挑战是对其期望过高。把机器学习和正确的预期结合起来,会比误以为人工智能能为你做什么带来更好的结果。
我热爱机器学习,我在工作中利用它已有三年多了,并见证它在很多不同的领域中,为企业节省了时间和金钱。但是如果最终结果与你最初的设想南辕北辙,那么事情将可能很快变槽。
译注:关于机器学习为企业节省时间和金钱,可参阅作者Aaron Edell的另一篇文章:6 ways people are making money with machine learning。阐述了利用机器学习来赚钱的几个思路。
机器学习有许多很好的使用案例,你可以查阅Aaron Edell撰写的文章How I use machine learning to save time、Make a massive, searchable online clothing store quickly with machine learning,这两篇文章介绍了更多的机器学习的使用案例。
我们要先搞明白,机器学习并不能预测股市是有原因的。因为最先进的技术之所以有限制不是因为没有足够多的机器学习用例而是人们必须开阔视野,给予正确的指令。
让我们来看一些例子。
最先进的人脸检测(Face Detection)技术正确率约为99%。人脸检测是一个非常先进的机器学习的例子,但是有几件事情要知道。首先,99%这个数据是来自于验证集。如果有一种机器学习算法提到准确率时,你要记得这个数字是来自于训练过程中的步骤,其中20%的训练数据会被分离出来用于验证模型。而这种数据通常是随机选择的,但它总是与其他训练数据相似。一旦你将训练好的模型应用到现实世界中,它接收到的是与训练模型完全不同的图像。因此,在实践中,数据集的准确率可能不到99%。
有时模型可能会将一些东西认成一张脸,但它并不是(假正类,false positive),或者完全错过一张脸(假负类,false negative)。在不同的准确率水平和不同反比性能水平表现上可以组合出很多模型。你必须知晓什么样的性能和准确率的水平是可以接受的。如果你要检测成千上万的人脸,获得10~50个假负类或正类(positives),也好过花十倍的时间和成本去做一个更精确的算法,但只是降低了误报率的一半。而一个人可以很快地纠正假负类或正类的小子集。
译注:如果一个实例是正类并且也被预测成正类,即为真正类(True positive),如果实例是负类被预测成正类,称之为假正类(False positive)。相应地,如果实例是负类被预测成负类,称之为真负类(True negative),正类被预测成负类则为假负类(false negative)。我们常犯两类错误:第一类,是虚假的肯定,当原型并不存在时它认为原型是真的;第二类,是虚假的否定,当原型存在时它却认为原型是虚假的。
因此,作为一家企业,当你遇到这一问题时,你对数据中得到多少假正类和负类的预测,以及如何处理这些问题,都需要弄清楚。事实是,你确实会遇到这些问题,因为有时候机器就是检测不到人脸,我们也不知道为什么会这样。我们已经习惯了人类大脑的识别模式,以至于忘记了计算机是以完全不同的方式来执行的。
译注:关于人脸识别的更多信息可参阅Wikipedia的词条Face perception。
这里有一些实用的方法来提高准确率,比如提前清理数据集之后再进行现实中的人脸识别,还包括确保每一张人脸都容易看到(而不是某个角度),不被任何东西遮掩,或者以很奇怪的长宽比例呈现。此外,分辨率太高的话,会引入更多的噪声,可能会导致人脸检测算法失效。
OCR在文档识别上做得非常好。像边缘检测和计算机视觉这样的技术已经很成熟,利用这些技术可以很好地识别扫描文档中的文字。
OCR纠结的地方在于,有些图像依然无法被识别成文字,这也是人类利用自身的reCAPTCHA技术作为识别文字方法的原因。人类的这种识别技术非常精密,无论字母出现在哪儿,无论这些字母是多么模糊、多么七扭八歪、色彩多么斑斓,人类都能轻松辨识。而计算机技术还在努力赶超。
译注:Carnegie Mellon University(CMU)设计了一个名叫reCAPTCHA的强大系统,让他们的电脑去向人类求助。具体做法是:将OCR软件无法识别的文字扫描图传给世界各大网站,用以替换原来的验证码图片;那些网站的用户在正确识别出这些文字之后,其答案便会被传回CMU。根据Science的介绍,reCAPTCHA是利用CAPTCHA的原理(CAPTCHA的中文全称是全自动区分计算机和人类的图灵测试),借助于人类大脑对难以识别的字符的辨别能力,进行对古旧书籍中难以被OCR识别的字符进行辨别的技术。也就是说,reCAPTCHA不仅可以反spam,而且同时还可以帮助进行古籍的数字化工作(可以称为人工OCR)。
这并不是说OCR是不可能的事儿,事实上,它有很多很好的用例,但设定正确的预期十分重要。让我们以足球比赛举例。
如果我用OCR来抓取这个冻结帧,我可能会得到以下数据:
[0] PREMIER LEAGUE [1] TOT 2 [2] M [3] U [4] 0 [5] 36:2 [6] 4 [7] SPORTS [8] NEW 0 BUR 0 [9] HALFTIME [10] LIVE [11] NBCSN
如果没有上下文的话,你就不会知道哪些是得分、球衣号码、标识、时间或者球队名称(当然前提是如果它抓取了所有这些信息)。在处理视频的过程中,会因为出现大量的假正类和负类而变得越来越混乱。
这个时候不要将通用的OCR应用到各种各样的问题上,而应该考虑具体用哪种,并将注意力集中在该用例上。如果它正追踪球员,那么一个目标跟踪系统可能更为合适;而如果是跟踪时间或者分数的话,那就让模型固定在一个区域上来跟踪。
处理视频是很费事的。人们通常以为视觉(人脸、图像、物体、OCR等)与视频中的图像机器处理起来是一样的,但情况并非总是如此。数字视频是一个把编码器和压缩率、长宽比混装在一起的世界。
当处理视频时,必须使用较低的分辨率,否则将会耗费大量资源,并可能要等待数年才能完成。但如果视频率较低或视频压缩比较高的话,大多数时候你是以部分帧结尾的。你可以在Wikipedia搜索Group of pictures词条来阅读更多关于图像群组(Group Of Pictures,GOP)结构的信息,以及它的工作原理,但问题在于,视频文件未必是连续的静止图像。因此,将人脸识别和图像识别的框架拉出来去识别视频,与同样识别一系列静态照片相比,二者还是有很大区别的。
译注:图像群组就是一组以MPEG编码的影片或视讯串流内部的连续图像。每一个以MPEG编码的影片或视讯串流都由连续的图像群组组成。
你可以通过暂停任何YouTube视频来自行测试。要注意人们的面部表情有时会显得很奇怪,有时变得模糊或变得不像本人。下面是Rick Santorum的影片的冻结帧的例子。
从人脸识别的角度来看这些人脸:
这是一个人脸识别系统所看到的:
你能告诉我左边那个人就是Rick Santorum吗?如果你不知道,那电脑也可能辨认不出来。
作为一个人,观看视频并识别人物非常容易。但是如果你把每一帧都拉出来看,你就会开始注意到数据的质量并不总是像你想的那么好。
这是否意味着你不应该在视频上利用机器学习呢?当然不是。机器学习是自动分类和标记资产的好方法。使用技巧是在结果上设置合理的预期。用一个把地球上所有名人都采集一遍的模型过这个视频会得到很多的假正类(即错误识别某人),相比之下如果这个模型只采集过美国的正科,再过这个视频结果就会很好多。但是,即使你无法以这种方式来管理已训练的模型,你仍然可以通过把数据看成一个整体来获得价值。如果Rick Santorum在视频中是独立出现的,那么在大多数情况下,模型能够正确地识别出这个人。你可以看到他在那个时间点会出现,然后对他在视频中真实出现了和可能出现的位置做一些可能性的假设。这点对每个用例并不都是适用的,但如果你准备进行一些尝试,尝试不同的工作流和模型(并思考正在解决的问题),那么你就将会获得成功。
正如我刚才所说,机器学习是惊人的。它可以在很短的时间内完成非同寻常的事情。我公司的一名客户利用它识别期刊中数百万文章中的虚假研究文章,另一个客户使用人脸识别来验证参加考试的人员,还有一个客户使用我们的裸体检测来标记用户提交的内容中不适宜人们阅读的部分。
译注:作者的公司是Machine Box,该公司将最先进的机器学习功能置于Docker容器中,因此开发人员可以很快地将自然语言处理、面部检测、对象识别等功能轻松纳入自己的应用程序中。另外,上述识别虚假研究文章可参阅作者的另一篇文章:Stopping fake research papers from getting published using machine learning。
我们还有一位客户使用内容推荐引擎,通过向客户展示他们更有可能购买的东西来增加其电子商务网站的收入。这是一个很好的用例,因为假正类和负类并不会影响收入的增长,甚至有时还会起到帮助作用,因为他们通过展示平时客户不会关注的事物相当于让客户看到了新的品类。
人们使用自然语言处理(Natural Language Processing,NLP)来处理文本以改善搜索的表现,选出更有可能激起你购买欲望的照片;在农场检测动植物的病害,机器学习越来越多地应用到我们的生活中
。
如果你知道自己的预期,机器学习可以为你带来无限的商机。