PDF 物理页索引 3010
文件中的第 3011 页 · 印刷页码:未识别
网络战争是不对称战争的一个例子,一方的传统军事实力比不上另一方,但仍然可以给对方造成严重伤害。少数恐怖分子只用美工刀就可以撞到双子塔,并让几千名无辜者遇难。当今美国安全最大的威胁就是不对称战争,而且抵抗所有威胁的有效武器就是信息。如果敌人躲不了,那么他也活不了。好消息就是我们有大量信息,但也有坏消息。
美国国家安全局已经对数据产生无限大的胃口,也因此声名狼藉。据估计,每天美国国家安全局窃听着全球10亿多个通话,还有其他通信。但是,抛开隐私问题,它也没有让上百万员工来窃听这些通话、偷看邮件,甚至也不会记录谁和谁通话。绝大多数通话是没有嫌疑的,而专门编写程序来找出有嫌疑的通话又很困难。过去,美国国家安全局利用关键词配对方法,但要应付这个方法也很容易(例如,把爆炸袭击称作“结婚”,把炸弹称作“结婚蛋糕”)。21世纪,这些事就可以交给机器学习。保密是安全局的标志,但安全局局长已经向美国国会证明,通话记录挖掘已经阻止了几十起恐怖威胁。
恐怖分子可隐藏在足球比赛的人群中,但学习算法能辨认他们的相貌。恐怖分子可以在国外制造爆炸事件,但学习算法能找出他们。学习算法还可以做更加精细的事情:将机器人与事件连接起来,这些事件单个看起来并无危害,但集中起来可能就预示着不祥。这种方法本可以阻止“9·11”事件的发生。有一个进一步的转折:一旦确定的程序部署下来,坏人可能会改变其活动,以扰乱该程序。这与自然世界不同,自然世界总是以同样的方式运转。要解决这个问题,就要将机器学习与博弈论相结合,这是我已经在做的工作:别只想着打击对手当前想做的事,要学会巧妙地回避对手对你的学习算法的损害。正如博弈论那样,把各种措施的成本和利益考虑在内,这也有助于找到隐私与安全之间的平衡点。
PDF 物理页索引 3011
文件中的第 3012 页 · 印刷页码:未识别
不列颠之战期间,英国空军阻止了纳粹德国空军的进攻,尽管后者人数比前者多很多。德国飞行员不明白,为什么无论走到哪里,他们总会碰上英国空军。英国有一个秘密武器:雷达,可以在德国飞机越境进入英国领空时,就探测到它们。机器学习就像装了雷达,能够预知未来。别只是回击对手的行动,要预测他们的行动,并先发制人。
一个更确切的例子就是人们熟知的“预知执法”。通过预测犯罪倾向,战略性地将巡逻队集中在最可能需要的地方,同时采取其他预防措施,这样一座城市的警力就能有效地完成更大范围的工作。在许多方面,执法过程就像不对称战争,会用到许多相似的学习算法,无论是在侦查诈骗、揭露犯罪网络,还是普通传统的打击执法中。
机器学习在战争中也将扮演越来越重要的角色。学习算法能有助于驱散战争迷雾,筛选侦察图像,处理后续报告,并整合信息,为指挥官提供战争形势分析。学习算法可以武装军用机器人的大脑,帮助其保持方位,适应地形,把敌机和民用机区别开来,以及进行制导。美国国防部高级研究计划局(DARPA)的领头狗(AlphaDog)能为士兵搬运设备。遥控飞机在学习算法的作用下可自主飞行。虽然它们仍受到人类飞行员的部分控制,但未来的趋势是一个飞行员监控越来越多的遥控飞机群。在未来的军队里,学习算法的数量会大大超过士兵的人数,这将减少许多士兵的伤亡。
PDF 物理页索引 3012
文件中的第 3013 页 · 印刷页码:未识别
我们将走向何方
科技潮流奔涌而来并迅猛向前。机器学习不同寻常的一点就是,在经历所有这些变革以及繁荣和破产之后,它开始逐渐强大。它遇到的第一个大的打击是在金融领域,预测股票的起伏波动,起于20世纪80年代。接下来的一波是挖掘企业数据库,在20世纪90年代中开始发展壮大,尤其是在直接营销、客户关系管理、资信评分以及诈骗侦查等领域。接着是网络和电子商务,在这些领域中,自动个性化很快流行起来。当互联网泡沫暂时削弱这种趋势时,将机器学习应用到网页搜索和广告投放的做法开始腾飞起来。不管怎样,“9·11”恐怖袭击后机器学习被应用到打击恐怖主义的战争中。网络2.0带来一连串的新应用,包括挖掘社交网络、搜索哪些博客谈到你的产品。同时,各个领域的科学家也逐渐转向大规模建模,由分子生物学家和天文学家打头阵。人们勉强留意到了房地产泡沫,而其主要影响就是使人才从华尔街转移到硅谷,并受到欢迎。2011年,“大数据”的概念流行起来,机器学习被明确归入全球经济未来的中心。当今,似乎没有哪个人类钻研的领域不受到机器学习的影响,甚至包括看起来没有多大关系的领域(如音乐、体育、品酒)。
尽管机器学习发展很明显,但这也仅仅是未来的预告。虽然它有用,但实际上当今在工业上起作用的学习算法的生成还是受到了很大限制。如果现在实验室的算法能在各领域的前线使用,比尔·盖茨说机器学习的突破产生的价值将相当于10家微软,其实这个说法有点保守了。如果这些观点让研究人员真正觉得眼前一片光明,而且收到效果,那么机器学习带来的就不仅仅是新的文明时代,还是地球生命进化的新阶段。
怎样才能实现这个目标?学习算法如何运行?现在它们不能做什么?它们的下一代会是怎样的?机器学习革命将以什么方式呈现?你得抓住哪些机遇,提防哪些危险?这些就是这本书要讲的内容。
PDF 物理页索引 3013
文件中的第 3014 页 · 印刷页码:未识别
[3] 亚马逊“土耳其机器人”(Amazon Mechanical Turk)是一个Web服务应用程序接口,开发商通过它可以将人的智能整合到远程过程调用。——编者注
PDF 物理页索引 3014
文件中的第 3015 页 · 印刷页码:未识别
第二章终极算法
机器学习的应用非常广泛,更为惊人的是,相同算法可完成不同的事情。在机器学习领域之外,如果你要解决两个不同的问题,就得编写两个不同的程序。这些程序可能用到相同的基础架构,如相同的编程语言或数据库系统。但是,如果你想处理信用卡申请,诸如下棋的程序则毫无用处。在机器学习领域,如果提供适当的数据来让机器学习,那么相同的算法既可以处理信用卡申请,也可以下棋。实际上,大量的机器学习应用仅仅由几个算法来负责,在接下来的几个章节中我们会谈到这些算法。
例如,朴素贝叶斯算法就是一个可以用短方程来表达的学习算法。只要提供患者病历的数据库,包括病人的症状、检查结果,或者他们是否有什么特殊情况,朴素贝叶斯算法就可在一秒之内做出诊断,而且往往比那些花几年在医学院学习的医生还要强,甚至它还可打败花费数千小时构建的医学专家系统。该算法还可应用于学习垃圾邮件过滤器,乍一看,这和医疗诊断毫无关系。另外一个简单的学习算法就是最近邻算法,它的用途十分广泛,从笔迹识别到控制机器人手,以及推荐你可能喜欢的书籍或者电影。决策树学习算法也同样擅长决定你的信用卡申请是否应被通过、寻找DNA中的绞接点,以及下棋时指导下一步该怎么走。
PDF 物理页索引 3015
文件中的第 3016 页 · 印刷页码:未识别
相同的学习算法不仅可以完成无穷无尽且不同的事情,而且和被它们替代的传统算法相比,它们要简单得多。多数学习算法可能只需数百行或者数千行代码。相比之下,传统程序则需几十万甚至上百万行代码,并且单个学习算法就可以导出无数个不同的程序。
如果那么少的学习算法就可以做那么多事,那么有一个逻辑上的疑问:单个学习算法可以把所有事情都做完吗?换句话说,单个算法可以学习所有能从数据中学习的东西吗?这是一个非常艰巨的任务,因为这基本上包含成年人大脑里以及人类进步所创造的一切,还有所有科学知识的总和。实际上,对所有主要的学习算法——包括最近邻算法、决策树学习算法以及贝叶斯网络(朴素贝叶斯的概括)——来说,如果你为学习算法提供足够、适当的数据,该算法可以实现任一功能(对学习任何东西来说,都与数学相关)。需要注意的是,“足够数据”也有可能无限。学习无限数据需要做出假设,如我们会看到的那样,而且不同的学习算法会有不同的假设。
如果不把这些假设嵌入算法中,而是将其连同数据一起,当作显示输入,并允许用户选择插入哪一个,甚至陈述新的假设,那么会怎样?有没有这种算法,可以接收任何数据及假设并输出隐藏其中的知识?我相信有。当然,我们得限制假设的可能性,否则如果把整个目标知识都以假设形式赋予算法,那就是在作弊。
我们可以通过限制输入的规模、要求假设弱于当前学习算法等方法,来实现这个目的。
那么疑问就会变成:这些假设要弱到何种程度,但仍能够从无限数据中获得所有相关知识?注意“相关”这个词:我们仅仅对存在于世界的知识感兴趣,对不存在的世界没有兴趣。因此发明一种通用的学习算法可归结为发现宇宙最深层的规律,所有现象都遵循该规律,然后找出计算的有效方法来将其与数据结合起来。要找到这个“计算的有效方法”,就不能将物理定律视为万物规律,如我们将看到的那样。然而,这并不意味着通用的学习算法要和专用算法一样高效。正如在计算机科学中常发生的那样,我们宁愿牺牲效率来换取通用性。这在学习既定目标知识所需数据的量上也适用:一般通用学习算法会比专用算法需要更多的数据(但如果我们有必要的数量,就没问题),而且数据越多,越有可能会这样。
PDF 物理页索引 3016
文件中的第 3017 页 · 印刷页码:未识别
那么,这就是本书的中心假设:
所有知识,无论是过去的、现在的还是未来的,都有可能通过单个通用学习算法来从数据中获得。
我将该学习算法称为“终极算法”。如果这种算法成为可能,它的发明将成为人类最伟大的科学成就之一。实际上,终极算法是我们最不愿意发明的东西,因为一旦对其放松,它会继续发明一切有可能发明的东西。我们要做的,就是为它提供足够、适当的数据,通过这些数据,它会发现相应的知识:给它视频流,它就会观看;给它图书馆,它就会阅读;给它物理实验结果,它就会发现物理定律;给它DNA晶体学数据,它就会发现DNA的结构。
这可能听起来有点八竿子打不着:一种算法怎么可能学习那么多不同的事情,而且是这么难的事情呢?但实际上,种种证据表明终极算法是存在的。下面我们来看看它们是什么样的。
来自神经科学的论证
2000年4月,麻省理工学院的神经系统科学家团队在《自然》杂志上发布了一项非同寻常的实验结果。他们对雪貂的大脑进行重新布线,改变了雪貂从眼睛到听觉皮层(大脑负责处理声音的部分)以及从耳朵到视觉皮层之间的连接。你可能觉得实验结果就是雪貂会严重致残,但并没有:听觉皮层学会看,视觉皮层学会听,而且雪貂没事。一般的哺乳动物,其视觉皮层都包含一张视网膜地图:皮层中,与视网膜附近区域相连的神经元彼此相互接近。相反,大脑被重新布线的雪貂在听觉皮层中形成了这张视网膜图。如果视觉信息重新导入躯体感觉皮层(负责感知触觉),躯体感觉皮层也会学会看。其他哺乳动物也有这样的能力。
PDF 物理页索引 3017
文件中的第 3018 页 · 印刷页码:未识别
对于天生看不见的人,视觉皮层可以负责大脑的其他功能。对于听不见的人,听觉皮层也可以这么做。盲人可以借助舌头来学会“看”,方法是将头戴式摄像机的视频图像发送至舌头上的一组电极上,高电压与高像素对应,低电压与低像素对应。本·安德伍德是盲人,小时候就自学像蝙蝠那样,用回声定位来导航。
通过咂舌头、听回声,他能够到处走动且不会撞到障碍物,会踩滑板车,甚至还能打篮球。所有这些例子都证明,大脑自始至终只使用了一种相同的学习算法,那些负责不同知觉的区域,区别也仅仅在于与其相连、输入信息的器官(如眼睛、耳朵、鼻子)。反过来,关联区(大脑的各个皮层)通过与不同的感觉区(各个感觉器官)相连,来实现其机能,而执行区则通过连接关联区来实现其机能,然后输出反馈。
通过在显微镜下观察皮层可以得出相同的结论。同样的布线模式不断重复,随处可见。皮质是一个6层的柱状物,反馈回路达到大脑一个叫丘脑的结构,以及短程序抑制连接和远程兴奋性连接反复出现的模式。虽然表现出一定数量的变异,但这看起来更像是来自同一算法(而不是不同算法)的不同参数或者设置。低级感官领域会有更为明显的差异,但正如重新布线实验表明的那样,这些都不具有决定性。小脑是比大脑更早进化的部分,负责简单的运动调节,有着非常明显且有规律的架构,由小很多的神经元构成,因此,看起来至少动作学习使用的是不同的算法。然而,如果一个人的小脑受到损伤,大脑皮层会接管它的机能。人的生物进化过程保留了小脑,但这并不意味着小脑能做大脑皮层不能做的事情,只是因为小脑更加高效。
PDF 物理页索引 3018
文件中的第 3019 页 · 印刷页码:未识别
自始至终,大脑构造中发生的运算也同样相似。大脑中的所有信息都以同样方式(通过神经元的放电模式)来表示。学习机制也相同:记忆通过加强集群放电神经元之间的连接得以形成,涉及一个叫作长时程增强的生物化学过程。不仅人脑是这样,不同的动物,其大脑运行机制都很相似。我们的大脑异常大,但似乎与其他动物一样,其构建遵循同样的原则。
证明大脑皮层统一性的另一个证据来自所谓的基因组贫乏。人类大脑中的连接数量是基因组中字母数量的100万余倍,因此从物理角度,基因组不可能弄明白大脑构造的细节。
然而,关于大脑是终极算法这个观点的最重要论据,就是大脑负责我们能感知以及想象的一切。如果某物存在,但大脑无法对其进行学习,那么我们就不知道它的存在。我们可能只是没看见它,或者认为它是随机出现的。不管怎样,如果我们将大脑放入计算机中运行,那个算法就能掌握我们能学会的一切。因此发明终极算法的一种途径(可以说是最流行的一种)就是对人脑进行逆向解析。杰夫·霍金斯( Jeff Hawkins ) 在 他 的 著 作 《 人 工 智 能 的 未 来 》 ( OnIntelligence)中对此进行了尝试。雷·库兹韦尔(Ray Kurzweil)把他的希望放在奇点上——人工智能的崛起远远超过人类的多样性。这样做的同时,他还在《如何创造思维》(How to Create a Mind)一书中对此进行了尝试。虽然如此,我们会看到,这仅仅是几个可能途径中的一个。这甚至不一定是最有可能的一个,因为大脑非常复杂,而我们还处于解密大脑的初级阶段。另一方面,如果我们找不到终极算法,奇点也不会很快发生。
并不是所有的神经系统科学家都相信大脑皮层的统一性,在我们肯定这个观点之前,需要学习很多东西。关于大脑能掌握以及不能掌握的东西,这个问题也引起了业界激烈的讨论。如果有我们知道但大脑不能学习的东西,那么这个东西肯定已经通过进化被掌握了。
PDF 物理页索引 3019
文件中的第 3020 页 · 印刷页码:未识别
来自进化论的论证
生物多样性源于单一机制:自然选择。值得注意的是,计算机科学家对该机制非常熟悉:我们通过反复研究尝试许多备选方法来解决问题,选择并改进最优方案,并尽可能多地尝试这些步骤。进化论是一种算法。套用查尔斯·巴贝奇(维多利亚时期的计算机先驱人物)的观点,上帝创造的不是物种,而是创造物种的算法。达尔文在《物种起源》的总结部分提到的“无限形体,美丽至极”掩饰了最美的统一性:所有这些形体都被编码在DNA中,所有这些形体都通过改变和连接这些染色体来表现。只通过该算法的一个描述,谁会猜出它产生了你和我?如果进化论这个算法能学习我们,可以想象它还可以学习能学习到的一切,条件是我们将进化论这个算法运用到足够强的计算机上。的确,在机器学习领域,通过模仿自然选择来使程序进化是许多人正在努力做的事情。因此,进化论是另外一个有希望通往终极算法的途径。
利用足够多的数据,一种简单的算法能掌握什么?关于这个问题,最经典的例子就是进化论。输入进化论这个算法的信息是所有存在过的、活着的生物的经历以及命运(对现在的算法来说是大数据)。此外,这个进化论算法已经在地球上最强大的计算机运行了300多万年——这台强大的计算机就是地球自己。运行这个算法的真正计算机应该比地球这台“计算机”运转得更快、数据密集性更低。哪一个模型更适合终极算法:进化还是大脑?这是和机器学习有关、自然与培育之间的辩论。正如我们的存在依靠的是自然与培育的共同力量,也许真正的终极算法包含这两个方面。