译者序
今天的人们可能很难想象,1950年的加拿大人是如何在加拿大多伦多举行的国家展览会上排着长队,等待和会下井字棋的人工智能(AI)机器“大脑伯蒂”(Bertie the Brain)进行博弈的。“大脑伯蒂”是人类发明的第一台在屏幕上有视觉展示的电子游戏机器,也是最早的能和人对弈并打得有来有回的人工智能产品。光阴荏苒,“大脑伯蒂”也许早已被人们遗忘,但它的继承者们仍延续着人工智能的辉煌。1997年,IBM研发的超级计算机“深蓝”,以一局的微弱优势击败俄罗斯国际象棋冠军卡斯帕罗夫,成为第一台在标准赛制内击败国际象棋世界冠军的计算机。2016年,谷歌DeepMind团队开发的AlphaGo以四胜一败的成绩击败韩国职业九段棋士李世石,从此在围棋世界独孤求败。从“大脑伯蒂”到AlphaGo,人工智能发生了翻天覆地的变化。如果说1950年“大脑伯蒂”以真空管硬件和简单算法为载体实现的人工智能相当于还在蹒跚学步的人类婴儿,1997年“深蓝”以超级计算机的算力和枚举分析为支撑实现的人工智能相当于开始奔跑的人类青年,那么AlphaGo用深度神经网络、强化学习和分布式计算实现的人工智能无疑已经学会飞翔了。
在从“大脑伯蒂”到AlphaGo的近七十年中,人工智能的教育与应用也发生了根本性的变化。它从只有象牙塔中少数专家才有机会接触到的艰深研究领域,演变为21世纪几乎人人都应该了解甚至学习的基础知识。在不知不觉中,它的影响力已经遍及社会的每一个角落,小到生活中一个快递包裹的路线规划,大到影响数十亿人的搜索引擎和自动驾驶,它几乎无处不在。正如本书作者所说,它已经影响且将继续影响能源、医疗、物流、教育、安全、就业、娱乐和商业等诸多领域的方方面面。在各大领域实际需求的驱动下,人工智能的应用技术必将变得更易学、更易用并且更大众化。这也意味着相应的教育媒介——无论是在线教育还是纸质书籍的内容都会变得更加切合实际需求。尤其是对于人工智能领域的入门教育资源而言,不应该只停留在纸上谈兵,而应在讲解理论的同时,辅以具有现实意义的案例,甚至配上可修改、可运行、可互动的人工智能程序。
值得庆幸的是,本书恰恰是这样一本理论与实践兼备的书。与很多“百科全书式”的人工智能书籍不同,本书并没有将人工智能涉及的各类模型、算法与术语平铺在一张庞大的知识地图上,然后带着读者一个一个地遍览地图上的每个景点。与此相反,本书从这张地图上规划出一条目的明确、路线清晰的道路。沿着这条道路,读者虽然不一定能看清人工智能和其子领域——机器学习的全貌,但是一定能深刻体会到机器学习,尤其是强化学习和深度神经网络这两个子领域为什么如此重要,以及如何将相关技术应用到物流、能源、自动驾驶,甚至游戏领域。从最初的汤普森采样模型,到Q学习模型,再到深度Q学习模型,直到最后的深度卷积Q学习模型,作者循序渐进地带领读者逐步迈向更复杂的机器学习理论与编程知识,直至最后到达上述应用领域对应的目的地。
还有一点与很多人工智能书籍不同,本书的用语非常平实直接,并且使用了一种近乎“朴素”的“3+1”式叙述方法。这里的“3”指的是介绍一个人工智能模型共分三步:第一步永远是简短地描述模型;第二步是讲解模型背后的基础数学理论;最后一步是用Python编程语言实现模型。“+1”是指,在对模型进行过上述三步讲解后,会再针对一个实际商业案例,更具体地定义问题,并用Python编程语言为其实现一个实际可用的模型。之所以这么做,是因为作者非常重视建立对知识的直觉认知,并将这视为建立理论认知的基石。除此之外,本书的一大特点是在某些概念细节上的刻意重复,尤其是穿插在各章节间的回顾内容。这可能和作者作为在线教育平台导师的丰富经验有关。正如作者所说,事实证明“回顾总是有益的”。
本书尽管篇幅不长,但涉及很多人工智能领域常用的工具。比如Python编程语言、TensorFlow机器学习平台的Keras API以及PyTorch框架。在使用这些工具时,作者几乎对每一行代码都配有讲解,并详细地解释了线上运行代码和本地运行的不同。对于零编程经验的读者而言,这无疑是个好消息。同时,对于有一定编程经验,并且立志成为人工智能行业从业者的读者而言,这也有助于丰富其对不同平台及工具的使用经验。
和“大脑伯蒂”的时代相比,今天的我们已经朝人工智能真正的普及迈出了一大步。正如本书中展示的,用Python编程语言和Keras API可以用寥寥数行代码创建一个深度神经网络。同时,云计算平台的发展,以及计算机硬件(例如神经网络芯片)的进步,使模型可以使用远超1997年“深蓝”的超级计算机的算力进行学习。然而,我们要解决的问题也变得更为复杂。能源、医疗、物流、安全等领域比以往任何时候都更需要智能的解决方案。阅读完本书后,希望你能如作者所说:选择一个最能与自己产生共鸣的领域,并为其做出自己的贡献!
程泽
2020年春于成都