
前言
深度学习前景
我们正处在一个“智能”的年代,比如智能手机中的语音助手、机器翻译和人脸识别;战胜过日本将棋冠军、国际象棋冠军,2017年又打败世界围棋冠军的棋类AI;以及即将实用化的无人驾驶智能汽车。原来被认为不可能实现的事情,人工智能正一步一步地帮助我们实现。在这个让人惊喜的世界里,深度学习技术发挥着至关重要的作用,在很多人没有注意到的地方,深度学习正在潜移默化地改变着人们的工作和生活。目前,深度学习已经在计算机视觉、自然语言处理和语音识别等领域得到广泛的应用,同时正在向教育、医疗、金融及制造等领域渗透,各行各业也都在招揽掌握了深度学习技术的人才。
我的心得体会
我有着多年的计算机视觉研究经验,在这个领域中,深度学习正在逐步取代“人工特征+机器学习”的传统视觉算法。其中的原因主要有两方面:一方面是深度学习在很多任务上实现了超出传统算法的精度,另一方面是传统视觉算法中的“人工特征”需要大量的经验以及对任务和数据的深刻理解,而深度学习能够根据数据自行学习如何提取特征,极大地降低了机器视觉任务的难度。
深度学习技术正在快速发展,每年都会出现很多新的优秀算法,但是这些算法越来越复杂,对于初学者来说,跟进最新的研究成果变得越来越难。我观察到很多用户非常关注深度学习,并且对PyTorch有着很大的兴趣,可惜相关资料太过晦涩难懂,难以入门。为了让读者能够更好地理解深度学习的思维,学会使用深度学习工具,我写了本书。
本书特色
本书分为基础讲解和项目实例两个部分,以代码编写为主,理论解析为辅。
在基础讲解部分,本书通过编程实验对深度学习理论进行展示,让读者能够摆脱复杂难懂的数学公式,在编程的过程中直观理解深度学习领域晦涩的原理。
在项目实例部分,为了帮助初学者快速了解深度学习中的一些细分领域(如目标检测、图像分割、生成对抗网络等)的技术发展现状,本书对相应领域的经典算法进行了介绍,并根据经典算法的思路,针对性地设计了适合初学者学习的实例项目。这些项目去除了算法中的烦琐细节,仅保留最基础的逻辑,力求让读者在编写代码之前,更好地理解任务思路。
本书内容
本书分为基础讲解和项目实例两部分。在基础讲解部分,我们为读者介绍了scikit-learn和PyTorch两个库的组成模块,以及每个模块能解决的问题;在项目实例部分,我们为读者挑选了很多在工业界有实际应用场景的深度学习项目,重点介绍它们的思路以及代码实现。本书的详细内容如下图所示。

为了方便读者的学习,本书中的代码有下面3种形式。
- 小型实验样例采用命令行形式编写,每行代码前都会有“
>>>
”标记。 - 配图较多的实例使用Jupyter Notebook编写,在每一段代码前都有“
In
”标记。 - 实例项目采用项目文件的形式编写,章节开头会给出项目的目录结构,章节内的代码以文件为单位进行展示,代码的第一行标注所属文件的名称。
本书编者
本书第1~2章由戴亮编写,第3~10章由安徽外国语学院计算机教师郭卡编写,并由郭卡进行全书统稿。
本书读者对象
本书适合以下人群阅读:
- 深度学习相关的科研工作者;
- 计算机视觉从业者;
- 想要了解深度学习技术的程序员;
- 对深度学习感兴趣的其他读者。
具备以下知识的读者能更好地阅读本书:
- 线性代数和数理统计知识;
- 深度学习框架知识。