第4章 为什么叫它智能
1956年,一群学者在新罕布什尔州达特茅斯学院会面,开辟了一条人工智能研究的路径。他们想看看能不能为计算机编写程序,使之参与认知思维,做玩游戏、证明数学定理一类的事。他们还仔细思考了计算机能使用什么样的语言和知识来描述事物。他们的努力包括给计算机不同选项,让它们选出其中的最优者。研究人员对人工智能的可能性持乐观态度。他们向洛克菲勒基金会募资时这样写道:
我们将致力于探索,怎样让机器使用语言,组织抽象的表达和概念,解决如今只有人类才能解决的各种问题,并自我改进。我们认为,一群精心挑选出来的科学家于某个夏天聚在一起携手合作,便可以在一个或多个上述问题上取得可观进展。
事实证明,这一议程与其说切实可行,不如说是对未来的展望。毕竟,20世纪50年代的计算机速度还不够快,无法实现学者们的设想。
在最初的研究声明发表之后,人工智能在翻译方面表现出了初步进展,但进展速度很慢。适用于特定环境(例如,有人尝试设计人造治疗师)的人工智能成果无法推而广之。20世纪80年代早期,工程师们希望通过精心编程设计的专家系统来复制医学诊断等高技能,他们虽然取得了一些进展,但此类系统的开发费用极高,而且用起来十分烦琐,无法应对各种各样的例外和可能,因此,人们便进入了所谓的“人工智能寒冬”。
然而,冬天似乎已经结束了。更多的数据、更好的模型和更强大的计算机促成了机器学习最近的发展,改善了预测。大数据收集和存储的进步为新的机器学习算法提供了素材。相较从前的统计学,新的机器学习借力于与之更适配的处理器,明显变得更加灵活,能生成更好的预测——好到有人忍不住把计算机科学的这一分支称作“人工智能”。
预测客户流失
更好的数据、模型和计算机是预测取得进步的核心。为了理解它们的价值,让我们来思考一个古已有之的预测问题:预测营销人员口里的“客户流失”。对许多企业来说,获取客户是代价很高的一件事,故此,客户流失带来的损失很大。一旦获得了客户,企业就会通过减少流失率来充分利用获取成本。在保险、金融、电信等服务行业,控制客户流失大概也是最重要的营销活动。减少客户流失的第一步是识别有着流失风险的客户。公司可以使用预测技术来做到这一点。
历史上,预测客户流失的核心方法是一种被称为“回归”的统计技术。有一些研究聚焦于改进回归技术。研究人员在学术期刊和实践中提出并检验了数百种不同的回归方法。
回归是做什么的?它根据过去发生事件的平均值来寻找一种预测。举例来说,如果你手里只有上周每天的天气情况,但要判断明天会不会下雨,那么,你最好有一个平均值。如果过去七天里有两天下了雨,你兴许会猜测,明天下雨的概率大约是2/7或者29%。过去,我们对预测的大部分知识都来自构建的模型,这些模型可纳入关于环境的更多数据,更好地算出平均值。
我们的做法是使用所谓的“条件均值”。比如,如果你住在加利福尼亚州北部,你大概已经知道,下不下雨取决于季节:夏天的可能性低,冬天的可能性高。如果你观察到此地冬天里任何一天降雨的概率是25%,夏天是5%,那么,你不会以为明天下雨的概率是两者的平均值,即15%。为什么呢?因为你知道明天属于冬季还是夏季,故此,你会根据条件来做出评估。
根据季节调整预测只是我们根据条件对平均值进行调整的方法之一(不过,这是最受零售业欢迎的一种方法)。我们可以根据当天的时间、污染情况、云量、海洋温度或任何其他可用信息来计算平均值。
我们甚至有可能要同时根据多个条件进行调整:如果今天下了雨,今天属于冬季,西边200英里外在下雨,南边100英里外是晴天,地面很湿,北冰洋气温很低,风正从西南方吹过来,风速是每小时15英里——那么,明天会下雨吗?这样的运算很快就会变得难以处理。光是计算这七类信息的平均值,就会带来128种不同的组合。添加更多类型的信息,组合数量也会随之呈指数倍增加。
在机器学习之前,多元回归提供了一种处理多种条件的有效方法,而且无须计算数十、数百或数千种不同条件下的平均值。回归将运用数据,并尝试找到那个将预测失误最小化、“拟合优度”最大化的结果。
谢天谢地,这个术语在数学上比在词句上表达得更精确。回归将预测的平均失误控制到了最低限度,对待大失误比对待小失误更加严厉。这是一种强大的方法,尤其是当数据集相对较小,同时它能很好地感知什么因素对数据有用的时候。例如,有线电视订阅用户的流失有可能取决于人们看电视的频率;如果他们不再看电视了,他们很可能就会停止订阅有线电视服务。
除此之外,回归模型渴望产生无偏差的结果,所以,要是预测得足够多,这些预测就平均概率而言是完全正确的。虽然我们喜欢无偏差的预测多过有偏差的预测(比如系统性地高估或低估一个值),但无偏差的预测也并非完美。我们可以用一个古老的统计学笑话来说明这一点:
一位物理学家、一位工程师和一位统计学家外出狩猎。他们走进森林,发现空地上有一头鹿。
物理学家计算了目标的距离、子弹的速度和落点,调整,开火——结果,他朝左打偏了5英尺,错过了目标。
工程师一脸沮丧。“你忘记算上风了。我来试试。”他舔了舔手指,判断了风速和方向,一把夺过步枪并开了火——结果,他朝右打偏了5英尺,再次错过了目标。
突然,一枪未开的统计学家欢呼道:“噢耶!我们打中了!”
准确无比的平均值可能在实际中每次都出错。回归有可能一直导致要么左偏几英尺,要么右偏几英尺。它意味着,就算取平均值后得出了正解,实际也可能一次都没打中。
与回归不同,机器学习的预测可能平均起来是错误的,但当预测失误的时候,它并不会失误太多。按统计学家的说法,允许偏差,以求减少方差。
机器学习和回归分析之间一个重要的区别是新技术的开发方式。发明一种新的机器学习方法时还需证明它在实践中能运作得更好。相反,发明一种新的回归方法,首先要证明它在理论上是有效的。强调实践效果,给了机器学习创新者更多的实验空间,哪怕他们的方法生成的估计结果平均来看不正确或存在偏差。在这种自由实验的推动下,机器学习借助过去十年的丰富数据和高速计算机实现了快速的进步。
从20世纪90年代末期到21世纪初期,那些利用机器学习预测顾客流失的实验仅取得了有限的成功。虽然机器学习的方法有了稳定的进步,但回归的方法依然表现得更好。数据仍然不够丰富,计算机的速度也不够快,无法使其利用机器学习可以做到的事情。
例如,2004年,杜克大学的天睿中心(Teradata Center)举办了预测客户流失的数据科学比赛。当时,这样的比赛很不寻常。任何人都可以提交作品,一旦获奖,即可获得现金奖励。获奖作品使用的是回归模型。一些机器学习的方法表现很好,但日后推动人工智能革命的神经网络方法却表现不佳。到2016年,一切都改变了。使用机器学习和(神经网络)深度学习来预测流失的模型整体比其他所有方法表现得都好。
是什么发生了改变呢?首先,数据和计算机终于足够好,让机器学习占了上风。20世纪90年代,建立足够大的数据库很难。比方说,一套经典的流失预测研究只使用了650个客户的数据,不到30个变量。
到2004年,计算机的处理和存储都有了进步。在杜克竞赛中,用来训练的数据集包含了数万客户的数百个变量的信息。有了这么多的变量和客户,机器学习方法逐渐能跟回归一较高下了。
如今,研究人员根据数千个变量和数百万客户展开流失预测。计算能力的提高意味着可以处理大量的数据,除了数字,还包括文本和图像。例如,在移动电话流失模型中,研究人员除了使用标准变量(如账单额度大小和支付准时性)之外,还调用了通话记录数据(以小时为单位)。
利用可用数据,机器学习方法也变得更好了。在杜克大学的比赛中,成功的关键因素是,如何从数百个可用变量中进行选择,以及选择使用哪一种统计模型。当时最好的方法,不管是机器学习还是经典的回归,都通过结合直觉与统计检定来选择变量和模型。现在,机器学习方法(尤其是深度学习方法)允许模型具备灵活性,这意味着变量彼此之间可以按照意想不到的方式相结合。在开始计费的月初就积累了大量通话时间、高额电话账单的人比到月末才累积大量通话时间的人流失的可能性更低。此外,周末异地通话、付费时间迟,还爱发大量短信的人尤其容易流失。这样的结合难以预料,但对预测有极大的帮助。由于难以预料,建模人员在使用标准的回归模型进行预测时无法将这些结合后的信息包含在内。机器学习把哪一些结合与交汇事关重要的选择权交给了机器,而不是程序员。
机器学习(具体而言也是深度学习)方法的改进,意味着可以有效地将可用数据转化为对客户流失的准确预测。现在,机器学习方法明显优于回归和其他各种技术。
超越客户流失
除了客户流失领域,机器学习还改善了大量其他环境下(从金融市场到天气)的预测。
2008年的金融危机是回归式预测方法的惊人失败。对担保债务凭证(collateralized debt obligation,简称CDO)违约率的预测部分地推动了金融危机。2007年,标准普尔评级机构预测,AAA级CDO五年内无法履约的概率不到1/800。五年后,1/4以上的CDO未能履约。哪怕有着丰富的历史违约数据,最初的预测仍然错得离谱。
失败的原因不是数据不足,而是分析师怎样使用这些数据来生成预测。评级机构的预测是基于多个回归模型,这些模型假定不同市场的房价相互之间无关联。事实证明,这样的假设是错的,不仅2007年是这样,从前也一样。一旦将多个住房市场同时遭到冲击的可能性包含进去,你在CDO上亏损的可能性也会一路升高——哪怕你的房产分布在美国多个城市。
分析师们根据自己认为重要的假设(以及它们为什么重要)来构建回归模型——这些看法对机器学习来说都没有存在的必要。机器学习模型尤其擅长确定哪些可能的变量效果最好,识别出哪些(出人意料的)事情重要,哪些事情不重要。如今,分析师的直觉和假设没那么重要了。通过这种方式,机器学习可以根据无法预知的相关要素进行预测,包括拉斯维加斯、菲尼克斯和迈阿密的房价可能会同时出现涨落。
如果仅仅是预测,为什么叫它“智能”
机器学习的最新进展让我们利用统计学进行预测的方式发生了彻底的转变。把人工智能和机器学习的最新发展视为“传统统计学的加强版”是很诱人的想法。如果最终的目标是生成预测以填补缺失的信息,它们从某种意义上说的确如此。除此之外,机器学习的过程还涉及寻找一种最小化失误的解决方案。
那么,是什么令机器学习成为一种配得上“人工智能”这一标签的变革型计算技术呢?在某些情况下,预测的效果好到我们可以直接运用它,而不需要应用基于规则的逻辑。
有效的预测改变了计算机编程的方式。传统的统计方法和“如果-那么”语句的算法都无法很好地在复杂环境下运行。想识别一组照片中的一只猫?猫有各种各样的颜色和纹理。它们可能是站着、坐着、躺着、跳跃,或看起来一脸不悦。它们可能在室内,也可能在室外。情况很快变得复杂起来,无法限定条件。因此,哪怕仅仅想达到看得过去的识别效果,也需要大量谨慎的考量。这还仅仅是识别一只猫,如果我们想要用一种方法来描述照片中的所有物体呢?我们需要为每一物体单独加以限定。
支撑近年来进步的技术基石叫作“深度学习”,它依靠一种“反向传播”的方法。它采用与大脑极为类似的方式,通过例子来学习(而能否用人工神经元模拟真实神经元不过是这项有用技术的有趣旁枝),避免了各种限定条件带来的麻烦。如果你想让孩子知道哪个单词对应着“猫”,那么,每当你看见一只猫,你就说出这个单词。机器学习基本上也一样。你给它馈进大量带有“猫”标签的猫照片,以及大量没有猫也不带“猫”标签的照片,机器就会学习怎样识别与“猫”这一标签相关的像素图案。
如果你有一系列猫和狗的照片,猫和四足物体之间的关联会强化,但与狗的关联也会强化。无须详细说明,只要你馈进数百万张有着不同图案和标签的照片(包括画面里没有狗的照片),机器都会发展出诸多联想,并学会区分猫和狗。
许多问题已经从算法问题(“猫有什么特点?”)转变成了预测问题(“这一缺失了标签的图像是否跟我从前见过的猫有着相同特点?”)。机器学习使用概率模型来解决问题。
那么,为什么很多技术人员将机器学习称为“人工智能”呢?因为机器学习的输出(即预测)是智能的一个关键组成部分,预测的准确性会随着学习而改进,而较高的准确性能让机器执行现今与人类智能相关的任务(如物体识别)。
杰夫·霍金斯(Jeff Hawkins)在《人工智能的未来》(On Intelligence)一书中率先提出预测是人类智慧的基础。这一理论的实质是,作为创造力和生产力增长的核心,人类的智慧是靠大脑使用记忆进行预测来实现的:“我们在各个感官之间,进行连续的低级别预测,但这还不是全部。我想提出的是一个更有力的命题,预测不仅仅是大脑在做的某一件事情,它是大脑皮层的主要功能,也是智能的基础。皮层是预测的器官。”
霍金斯认为,我们的大脑不断地预测我们即将体验到的事情——我们会看到什么,感受到什么,听到什么。随着我们的成长和成熟,大脑的预测越来越准确,预测往往会变成真的。然而,要是预测未能准确地昭示未来,我们会注意到异常,并将这一信息反馈到大脑,让大脑更新算法,进行学习,对模型做更进一步的优化。
霍金斯的研究存在争议。他的观点在心理学界引发了争论,他强调皮层是预测机器的模型,许多计算机科学家对此断然否定。最严格意义上的“人工智能通过图灵测试”的概念(一台机器能骗过人,让人相信机器其实是人类)仍然离现实很远。目前的人工智能算法还不能进行推理,人们也很难理解人工智能预测的来源。
无论他的基础模型是否合适,霍金斯将预测视为智能的基础,这对理解人工智能近年来的变化带来的冲击很有用处。这里,我们强调的是预测技术的巨大进步带来的结果。1956年,达特茅斯会议上学者们提出的许多愿望如今马上就要实现了。通过各种方式,预测机器能够“使用语言,组织抽象的表达和概念,解决如今(1955年)只有人类才能解决的各种问题,并自我改进”了。
我们并不想贸然揣测这一进步是否预示着通用人工智能、“奇点”或天网的降临。不过,如你所见,即便只是聚焦于预测,未来几年仍能出现了不起的变化。一如计算机促成的廉价运算有力地带来了商业和个人生活的巨大变化,廉价预测也将带来同样深远的转变。
总而言之,不管它是不是智能,计算机从确定性编程到概率性编程的进步都是一项重要的阶梯函数式的转变(尽管它跟社会科学和物理科学取得的进步是一致的)。哲学家伊恩·哈金(Ian Hacking)在《驯服偶然》(The Taming of Chance)一书中说,19世纪之前,概率属于赌徒的行当。但到了19世纪,政府人口普查数据的兴起将新兴的概率数学应用到了社会科学。20世纪,我们对物理世界的理解出现了根本性的重组,从牛顿式世界观的确定性转向量子力学的不确定性。也许,21世纪计算机科学最重要的进步与社会科学和物理科学过去的进步是互相呼应的,即人们意识到,以数据为基础、从概率意义上建立起结构的算法效果最好。
本章要点Prediction Machines
※机器学习这一科学跟统计学的目标不同。统计学强调的是平均值的正确性,机器学习却对此并无要求,相反,它的目标是操作的有效性。预测可能会出现偏差,但只要够好就行(在运算力强大的计算机中可以实现)。这使得科学家们可以利用过去十年的丰富数据和高速计算机自由地进行尝试,以快速推动改进。
※传统的统计方法需要阐述假设,或至少阐述人对模型规范的直觉。机器学习不仅不需要事先指定进入模型的内容,还能够适应更加复杂、有着更多互动变量的模型。
※机器学习的最新进步通常被称为人工智能的进步,因为:(1)以这一技术为基础的系统会随着时间的推移不断学习和改进;(2)这些系统在某些条件下可产生比其他方法产生的更准确的预测,一些专家认为预测是智能的核心;(3)这些系统提高了预测的准确性后,它们便能够执行从前被认为专属于人类智能领域的任务,如翻译和导航。对预测和智能之间的联系,我们仍然持不可知的态度。预测的进步是否代表了智能的进步,我们对这一问题并无特定立场,我们的结论也不依赖于这样的立场。我们关注的是预测成本下降(而非智能成本下降)带来的结果。