作者:李航
机器学习是关于计算机基于数据构建模型并运用模型来模拟人类智能活动的一门学科。随着计算机与网络的飞速发展,机器学习在我们的生活与工作中起着越来越大的作用,正在改变着我们的生活和工作。
1.日常生活中的机器学习
我们在日常生活经常使用数码相机。你也许不知道,数码相机上的人脸检测技术是基于机器学习技术的!我认识三位了不起的科学家与工程师,他们是Robert Schapire,Paul Viola,劳世竑。他们三位都与这有关。Robert与Yoav Freund一起发明了非常有效的机器学习算法AdaBoost。Paul将AdaBoost算法成功地应用到人脸检测。劳世竑和他领导的Omron团队将AdaBoost人脸检测算法做到了芯片上。据说现在世界上有百分之六七十的数码相机上的人脸检测都是用Omron的芯片。
在我们的工作与生活中,这种例子曾出不穷。互联网搜索、在线广告、机器翻译、手写识别、垃圾邮件过滤等等都是以机器学习为核心技术的。
不久以前,机器学习国际大会(International Conference on Machine Learning,ICML 2011)在美国华盛顿州的Bellevue市举行。约有7百多位科研人员、教授、学生参加,创造了历史最高纪录。大会的三个主题演讲分别介绍了机器学习在微软的Kinect游戏机用户感应系统、谷歌的Goggles图片搜索系统、IBM的 Watson自动问答系统中的应用。这些事实让人预感到机器学习被更广泛应用的一个新时代的到来。
2.机器学习与人工智能
智能化是计算机发展的必然趋势。人类从事的各种智能性活动,如数学、美术、语言、音乐、运动、学习、游戏、设计、研究、教学等等,让计算机做起来,现在还都是很困难的。这是几十年来人工智能研究得到的结论。
人工智能研究中,人们曾尝试过三条路。我将它们称之为外观(extrospection)、内省(introspection)和模拟(simulation)。
所谓外观,指的是观察人的大脑工作情况,探求其原理,解明其机制,从而在计算机上“实现”人类大脑的功能。比如,计算神经学(computational neuroscience)的研究就是基于这个动机的。然而,人脑的复杂信息处理过程很难观测和模型化。就像我们仅仅观测某个计算机内的信号传输过程,很难判断它正在做什么样的计算一样。
内省就是反思自己的智能行为,将自己意识到的推理、知识等记录到计算机上,从而“再现”人的智能,比如专家系统(expert system)的尝试就属于这一类。内省的最大问题是它很难泛化,也就是举一反三。无论是在什么样的图片中,甚至是在抽象画中,人们能够轻而易举地找出其中的人脸。这种能力称为泛化能力。通过内省的方法很难使计算机拥有泛化能力。自己的智能原理,对人类来说很有可能是不可知的(agnostic)。笼子里的老鼠可能认为触动把手是得到食物的“原因”,但它永远也不能了解到整个笼子的食物投放机制。
模拟就是将人的智能化操作的输入与输出记录下来,用模型来模拟,使模型对输入输出给出同人类相似的表现,比如统计机器学习(statistical machine learning)。实践表明,统计机器学习是实现计算机智能化这一目标的最有效手段。统计学习最大的优点是它具有泛化能力;而缺点是它得到的永远是统计意义下的最优解(例如,人脸检测)。现在当人们提到机器学习时,通常是指统计机器学习或统计学习。
3.机器学习的优缺点
下面看一个简单的例子。由这个例子可以说明统计学习的基本原理,以及由此带来的优缺点。
假设我们观测到一个系统的输出是一系列的1和0,要预测它的下一个输出是什么。如果观测数据中1和0各占一半,那么我们只能以0.5的准确率做出预测。但是,如果我们同时观测到这个系统有输入,也是一系列的1和0,并且输入是1时输出是0的比例是0.9,输入是0时输出是1的比例也是0.9。这样我们就可以从已给数据中学到“模型”,根据系统的输入预测其输出,并且把预测准确率从0.5提高到0.9。以上就是统计学习,特别是监督学习的基本想法。事实上,这是世界上最简单的统计机器学习模型!条件概率分布P(Y|X),其中随机变量X与Y表示输入与输出,取值1与0。可以认为所有的监督学习模型都是这个简单模型的复杂版。我们用这个模型根据给定的输入特征,预测可能的输出。
统计学习最大的优点是它具有泛化能力,对于任意给定的X,它都能预测相应的Y。Vapnik的统计学习理论还能对预测能力进行分析,给出泛化上界。但从这个例子中也可以看到统计学习的预测准确率是不能保证100%的。比如,人脸检测会出错,汉语分词会出错。
统计学习是“乡下人”的办法。有个笑话。一个乡下人进城,到餐馆吃饭,不知如何在餐馆用餐,就模仿旁边的人。别人做什么,他也就学着做什么。邻桌的一位故 意戏弄他,将桌上的蜡烛卷在饼里,趁乡下人不注意时把蜡烛扔到地上,然后咬了一口卷着的饼。乡下人也跟着学,大咬了一口自己的饼。统计学习只是根据观测的 输入与输出,“模仿”人的智能行为。有时能够显得非常智能化。但它本质上只是基于数据的,是统计平均意义下的“模仿”。如果观测不到关键的特征,它就会去 “咬卷着蜡烛的饼”。
4.机器学习与互联网搜索
我与同事们在从事互联网搜索相关的研究。据调查,60%的互联网用户每天至少使用一次搜索引擎,90%的互联网用户每周至少使用一次搜索引擎。搜索引擎大大提高了人们工作、学习以及生活的质量。而互联网搜索的基本技术中,机器学习占据着重要的位置。
在我看来,互联网搜索有两大挑战和一大优势。挑战包括规模挑战与人工智能挑战;优势主要是规模优势。
规模挑战:比如,搜索引擎能看到trillion量级的URL,每天有几亿、几十亿的用户查询,需要成千上万台的机器抓取、处理、索引网页,为用户提供服务。这需要系统、软件、硬件等多方面的技术研发与创新。
人工智能挑战:搜索最终是人工智能问题。搜索系统需要帮助用户尽快、尽准、尽全地找到信息。这从本质上需要对用户需求(如查询语句),以及 互联网上的文本、图像、视频等多种数据进行“理解”。现在的搜索引擎通过关键词匹配以及其他“信号”,能够在很大程度上帮助用户找到信息。但是,还是远远 不够的。
规模优势:互联网上有大量的内容数据,搜索引擎记录了大量的用户行为数据。这些数据能够帮助我们找到看似很难找到的信息。比如,“纽约市的人口是多少”,“约市的人口是多少”,“春风又绿江南岸作者是谁”。注意这些数据都是遵循幂函数分布的。它们能帮助Head(高频)需求,对 tail(低频)需求往往是困难的。所以,对tail来说人工智能的挑战就更显著。
现在的互联网搜索在一定程度上能够满足用户信息访问的一些基本需求。这归结于许多尖端技术包括机器学习技术的成功开发与应用,比如排序学习算法、网页重要度算法等等。这些机器学习算法在一定程度上能够利用规模优势去应对人工智能挑战。
但是、当今的互联网搜索距离 “有问必答,且准、快、全、好”这一理想还是有一定距离的。这就需要开发出更多更好的机器学习技术解决人工智能的挑战,特别是在tail中的挑战。
展望未来,机器学习技术的研究与开发会帮助我们让明天更美好!
(注:本文所有图片均来自网络)
李航博士:
微软亚洲研究院互联网搜索与挖掘组高级研究员及主任研究员。李航的研究方向包括信息检索,自然语言处理,统计机器学习,及数据挖掘。