终极算法 序

《终极算法——机器学习和人工智能如何重塑世界》是一本介绍机器学习算法的科普书。文末有电子书下载链接。

中文推荐序 全部搬运

作为一位机器学习领域研习10年以上的专业技术人员,我当初入行的时候没有想到,短短的10年间,这项技术会如此快速地改变众多行业,并影响全球数十亿用户生活的方方面面。在今天,当你用今日头条浏览新闻资讯的时候,当你用网易云音乐查看推荐歌单的时候,当你在百度搜索信息的时候,当你在互联网金融平台申请借款的时候,甚至在你调戏Siri和小冰的时候,其实都是其背后的机器学习算法在云端服务器中为你默默服务。但对于这样一种重要技术,市面上一直缺少一本适合普通读者的入门科普读物,而众多的专业书籍要求读者具备一定的高等数学和计算机基础算法知识,并不适合科普的需要。直到中信出版社的朋友将这本书的翻译稿推荐给我时,我欣慰地发现,这正是想了解一点机器学习的普通读者所需要的啊。本书的作者多明戈斯是华盛顿大学的终身教授,也是一位在机器学习领域具有20年研究经历的资深科学家。多明戈斯一直致力于融合各种机器学习算法的优势,提出一种可以解决所有应用问题的通用算法,即终极算法。在这本书里,作者详细地阐述了他的思路。其实我个人在阅读本书的过程中,始终对“终极算法”的提法充满怀疑。在我看来,机器学习作为人工智能领域的主流技术,在现实社会中一直以技术工具的面目为人所知。不同的技术流派和相应算法往往可以很好地解决一些问题,却对另一些问题一筹莫展。所谓的终极算法真的存在吗?如果存在,有价值吗?

可以拿内燃机举个例子,就我这个外行来说,也知道存在活塞式发动机、涡喷发动机、涡轴发动机、涡扇发动机、涡桨发动机、冲压发动机等不同种类的内燃机。不同的内燃机特性迥异,适用的工况也不尽相同。小到家用小汽车,大到导弹驱逐舰,人类制造的各种机动设备,都可以根据自己的效率需求、动力需求、寿命需求,乃至启动速度等多种需求维度选择发动机种类。如果有人非要搞个终极内燃机,并企图用这种内燃机替代现存的各类内燃机,为所有大大小小、需求不同的机动设备提供统一动力,估计大概率是要失败的。这种通用的终极内燃机如果能搞出来,在大部分领域肯定竞争不过各领域的专用内燃机,或者成本太高,或者能效太低。

带着这种疑问,我通篇读下来之后才发现作者的另一层用意。诚如作者所说,很多普通人可能没有意识到自己的生活中机器学习算法的影响已经无处不在,机器学习已经在逐渐接管现实世界。大众对这样一种技术的认知程度和该技术的重要性相比显得远远不够,在不远的未来,了解机器学习并有能力利用机器学习改进自己工作的人在职业发展上会具备巨大的优势。“不要和人工智能对抗,要让人工智能为你服务”是作者诚挚的忠告。而要利用好机器学习这个工具,并不一定需要读一个计算机博士学位,但有必要了解一些基本的概念了解各种技术的优缺点和能力边界。正如一位称职的驾驶员不必了解具体怎么制造汽车发动机,但是对发动机的工作原理和种类还是需要略知一二的。因此,相比一板一眼地介绍机器学习的典型算法,作者设计了一个更引人入胜的套路:先抛出一个“是否存在一种终极算法”的问题,然后带着读者一章一章地回顾机器学习发展史上的重要流派和代表算法。每回顾一派,就鼓励读者思考终极算法应该如何借鉴这类算法的优点。好奇的普通读者带着疑问读完本书后,不论其是否相信终极算法的存在,至少对各类算法都会有一定的印象。以讨论终极算法为名,行科普之实,到这一步,我觉得作者的目的已经达到一半了。

另外,在文末作者还提到,无论终极算法是否存在,他希望这个大胆的问题能够激发部分读者的好奇,甚至被这个问题吸引成为机器学习的专业研究人员。确实,每一种学科都需要至高的理想驱动向前,就如同物理的大一统理论,当无数杰出的天才为一个终极问题孜孜以求时,就算这个问题本身在这些人的有生之年可能没有答案,但是这个学科一定会因为这些伟大的探索历程取得辉煌的进步。我想,这也许是作者因为对机器学习的热爱夹带的另一个私货吧。

作为今日头条的一位算法架构师,我倒是希望头条用户都能陷入作者的“圈套”,带着好奇心,好好读读这本书。如果大多数用户都能了解一些机器学习的基础知识,应该就能够更好地和推荐算法互动,不断把算法调教得更好,更符合自己真正的兴趣,而不会因为算法一开始推荐的内容不好就放弃这个产品。诚如作者所说,也许在未来,对应人类的心理学,也会出现机器心理学,了解一点机器人的心理,会让你和机器的互动更有效率,也会让机器更 快地成为你忠实、不知疲倦的助手。

曹欢欢 今日头条首席算法构架师

原书序 摘录

每年都会出现上百种新的算法,但它们都是基于几个相似的基本思路。为了明白机器学习如何改变世界,你有必要理解这些思路。本书就将对此进行介绍。学习算法并不是那么深奥难懂,除了运用在计算机上,对于我们来说很重要的问题都可以通过学习算法找到答案,比如:我们如何学习?有没有更好的方法?我们能预测什么?我们能信任所学的知识吗?对这些问题,机器学习的各个学派有不同的答案。

机器学习主要有5个学派,我们会对每个学派分别介绍:符号学派将学习看作逆向演绎,并从哲学、心理学、逻辑学中寻求洞见;联结学派对大脑进行逆向分析,灵感来源于神经科学和物理学;进化学派在计算机上模拟进化,并利用遗传学和进化生物学知识;贝叶斯学派认为学习是一种概率推理形式,理论根基在于统计学;类推学派通过对相似性判断的外推来进行学习,并受心理学和数学最优化的影响。在构建机器学习的目标推动下,我们将回顾过去100年的思想史,并以新的观点来看待这段历史。机器学习的5个学派都有自己的主算法,利用这种万能学习算法,原则上,你可以通过任何领域的数据来挖掘知识:符号学派的主算法是逆向演绎,联结学派的主算法是反向传播,进化学派的主算法是遗传编程,贝叶斯学派的主算法是贝叶斯推理,类推学派的主算法是支持向量机。在实践中,这些算法可能在有些工作中可用,而在其他工作中不可用。我们真正想要寻找的是能够综合这5种算法的终极算法。虽然有些人认为这难以实现,但对机器学习领域的人来说,这个梦想赋予我们力量,促使我们夜以继日地工作。

如果存在终极算法,那么它可以通过数据学得包括过去的、现在的以及未来的所有知识。创造终极算法将是科学历史上最伟大的进步之一。它可以加速各类知识的进步,并以我们现在甚至无法想象的方式改变世界。终极算法与机器学习的关系就像标准模型和粒子物理学或中心法则与分子生物学的关系:该统一原理能理解人类当今知道的一切,并为未来数十年或者数百年的进步奠定基础。今天我们面临许多难题,比如制造家用机器人和治愈癌症,终极算法就是解决这些难题的关键。

以癌症为例。治愈癌症十分困难,因为它往往是一种综合疾病。肿瘤可由各种原因诱发,且在转移时会发生突变。杀死肿瘤细胞最可靠的方法是对其基因进行排序,弄明白哪些药物可以抵抗癌细胞(这种方法不会对人造成伤害,患者必须提供基因和用药史),甚至为你专门研制一种新药。没有哪个医生能够掌握该过程所需的所有知识。对于机器学习来说,这却是再合适不过的任务。实际上,与亚马逊和网飞每天所做的搜索工作相比,它的工作是为你找到正确的疗法,而不是合适的书籍或者电影,而且它的工作更为复杂,也更具挑战。遗憾的是,虽然当今的学习算法能以超出人类水平的精确度来诊断疾病,但治愈癌症仍远远超出它们的理解范围。如果我们可以找到终极算法,这将不再是难题。

注:摘自原书中文版(百度云下载PDF) 推荐序