前言

在21世纪的第二个十年里,科技界最大的进展恐怕非人工智能莫属了。无论是战胜人类围棋高手的AlphaGo,还是遍布各地车站的人脸识别系统,配备了深度学习技术的最新人工智能展现了它无限大的势能,并已经进入到我们的日常生活中。

人工智能(artificial intelligence,AI),顾名思义,就是通过计算的方式模拟、延伸和扩展人的智能。它作为计算机科学的一个分支,早在1956年就诞生了。然而,长久以来,人工智能的发展却不能与它的名字相符。尽管早期的人工智能在数学定理证明、推理、棋类游戏上取得了长足的进步,但是在拟人化的形象思维方面与人类仍相差甚远。例如,一个两三岁的小孩能清楚地认出爸爸和妈妈,人工智能却不能。

不过近年来,人工智能的发展正在试图摆脱人们对它的刻板印象。采用深度神经网络技术的人工智能同样可以非常好地进行“形象化”思维。例如,现在人工智能的人脸识别准确度已经达到了99.7%,超过了人类的识别准确度97.3%。2017年1月,百度大脑的人工智能程序参加了《最强大脑》节目,在人脸识别和声纹识别上挑战了人类顶尖高手,并最终完胜人类的“最强大脑”。自动驾驶技术也在讨论与关注中不断进化:2021年,特斯拉已经向部分车主推送FSD(full self-driving,全自动驾驶)功能,几乎能够实现全场景自动驾驶。毫无疑问,如今的人工智能已经可以在多个方面战胜人类了。

在2016年3月和2017年5月,AlphaGo分别与世界围棋冠军李世石和柯洁进行了举世瞩目的比赛。可以看到,配备了深度强化学习技术的人工智能可以像人类围棋高手那样具有出色的大局观,甚至具有一定的创造力。这种表现是单纯依靠逻辑推理和搜索的人工智能远远无法达到的。更有甚者,DeepMind团队在2017年10月发表在《自然》杂志上的文章中提出了一个新版本的AlphaGo——AlphaGo Zero,它完全凭借自己的“左右互搏”,而无须任何人类经验,就可以达到围棋的世界顶尖水平,远远超越人类。不过DeepMind团队想要的显然不仅仅是一个“围棋大师”,近年来他们进一步借助人工智能推动科学与产业前进:2018年,DeepMind发布了AlphaFold,在生物学的核心挑战之一蛋白质折叠问题上取得了重大进展,AlphaFold生成的蛋白质3D模型比以往任何一种都精确得多。2021年,DeepMind使用深度生成模型取代了气候科学中的大气方程,实现了比传统方法更高精度的降雨预测。

然而,这些有关人工智能的新闻会给我们造成一种错觉:人工智能是一种高科技,只有谷歌、微软等大公司才有可能应用,与小公司或者普通人毫无关系。而事实并非如此,随着各大公司开源了他们的深度学习框架和平台,每一个普通企业或者个人都可以快速地应用人工智能技术。你只要有一台笔记本电脑,就可以轻松玩转深度学习,实现诸如人脸识别、图像生成、机器翻译、聊天机器人等强大的人工智能功能。

其实,人工智能早已渗透到了我们的日常生活中。例如,当我们使用导航系统播报路况的时候,导航者的声音就会从手机或汽车音响里播放出来。难道导航者会把成千上万种可能的路况信息都念一遍吗?答案显然是否定的,这是运用了人工智能中的语音合成技术。

有一款App叫作Prisma,你只要上传自己的照片,再选择一张风格图片(例如莫奈的画作),点击一个按钮,Prisma就可以生成一张莫奈风格的你的图片。这款App所使用的是人工智能中的风格迁移技术。

还有一款App叫作FaceApp,它可以使你的脸发生各种有趣的变化。比如给你的脸上妆,让你看一看自己以后苍老的样子,甚至可以为郁郁寡欢的脸添加一抹笑容。这款App的背后也有人工智能技术的支撑。它采用图像生成技术,通过不断提取大量照片中人像的特征生成全新的图片。

正如20年前互联网在中国迅速普及,几个程序员编写几行代码就有可能创业成功,摇身一变成为亿万富翁,新一波人工智能浪潮带来的冲击只会比当年的互联网革命更加巨大、更加彻底。据有关部门统计,现在每隔11小时就会有一家人工智能创业公司诞生。

人工智能令人心潮澎湃,那么普通的程序员又该如何入门“高大上”的人工智能技术呢?

工欲善其事,必先利其器。选择一个好的人工智能框架平台是我们跨入这个行业的前提。可以说工具选对了,我们的一只脚就已经跨入了人工智能的大门。本书给大家推荐的“器”自然就是PyTorch了,推荐这个深度学习框架平台有如下几点原因。

·简单、易用、上手快:这一点对于初学者来说极具吸引力。

·功能强大:从计算机视觉、自然语言处理再到深度强化学习,PyTorch的功能异常强大。而且,如今支持PyTorch、功能强大的包也越来越多,例如Allen NLP(自然语言处理)和Pyro(概率编程)。

·Python化编程:在诸多深度学习开源框架平台中,PyTorch恐怕是和Python结合得最好的一个。相比TensorFlow框架来说,PyTorch会让你的代码更流畅、更优雅。

·强大的社区支持:对于初学者来说,吸取前辈的经验恐怕是最迫切的问题之一了。尽管PyTorch面世不久,但是它的社区成长飞快。在国内,用PyTorch作为关键词搜索就能找到大概五六个网络社区、BBS。各大问答类网站关于PyTorch的问题数目也在持续增加。

如此强大、好用的工具,绝对是值得我们大力推广的。然而,目前有关PyTorch的优质资料仍以英文为主。大部分介绍深度学习、人工智能的资料充斥着数学公式,这对普通用户而言是一个不低的门槛。因此,集智俱乐部的成员合力编写了这本书,力求进一步推广PyTorch,普及人工智能和深度学习等新技术。

本书第1版出版于2019年,不但涵盖了深度学习的基本原理与PyTorch基础,而且介绍了当时被广泛使用的LSTM、CNN、DQN等多个模型。随着人工智能技术突飞猛进的发展,许多当时流行的模型如今已经成为“基础组件”,支撑着行业的进一步创新。因此,如今被广泛应用的前沿技术也发生了很多变化:超大的数据量与超强的算力支持超大规模模型的训练;为了让通用模型可以通过迁移而迅速适用于各个细分领域,预训练模型大行其道;此外,一个名为图网络的新领域也如新星一般冉冉升起。为了让读者通过阅读本书掌握这一领域从基础到前沿的完整知识路径,我们特地在第1版的基础上增加了3章崭新的内容,介绍了第1版问世之后业界取得的三大重要进展,作为本书第2版的更新内容,以飨读者。

集智俱乐部诞生于2003年,是国内最早的人工智能社区之一。经过十几年的发展,它已经逐渐成长为一个深受国内顶尖研究者、科学家、工程师和学生群体热爱的学术社区。在这十几年间,集智俱乐部举办了大大小小400多场讲座、读书会等活动,创作了《科学的极致:漫谈人工智能》和《走近2050:注意力、互联网与人工智能》两本人工智能科普读物。值得一提的是,国内人工智能领域著名的创业黑马“Momenta”和“彩云AI”的创始人及核心成员都来自于集智俱乐部。在人工智能时代,集智俱乐部理应也必然会为这个行业的发展做出更大的贡献。

肩负着这样的使命,本书悄然诞生了。本书内容来源于张江老师在“集智AI学园”开设的网络课程“火炬上的深度学习”,经各位成员的精心整理和不断完善,最终成书。我们希望能进一步推广PyTorch,让更多人有机会掌握人工智能和深度学习等新技术,进入人工智能这个发展迅猛的行业,共享由它带来的发展红利。