图书前言

前言

随着目前Sora、ChatGPT和文心一言等人工智能视频和语言大模型的问世和广泛应用,人工智能正在改变整个世界,并且在各行各业中得到了大量的应用。深度学习的理论和技术是人工智能领域非常重要的内容,它在人工智能的发展过程中起到了非常重要的作用。在高校开展深度学习课程的教学过程中,教材的选择非常重要。在目前已有的深度学习教材中,经常存在理论知识深奥、编程实践比较困难等问题。为了解决这些问题,笔者专门编写了这本教材。

本书详细介绍了深度学习的基本理论和基于Keras深度学习框架的编程方法,对深度学习理论的基本原理、神经网络的基本原理、全连接前馈神经网络的编程方法、卷积神经网络的原理和编程方法、循环神经网络的原理和编程方法等内容进行了详细介绍。本书主要有以下3个特点。

(1) 本书对深度学习理论知识的介绍非常全面,既包括传统的全连接前馈神经网络,也包括目前深度学习理论中常用的卷积神经网络和循环神经网络。全连接前馈神经网络的内容包括人工神经元模型的特点、神经网络的特点、神经网络的训练过程、前向传播算法的原理、损失函数的特点、梯度下降方法的原理、反向传播算法的原理、过拟合现象等。卷积神经网络的内容包括卷积计算的原理、池化计算的原理、卷积神经网络的宽结构模型和深结构模型、经典的卷积神经网络模型、迁移学习方法的基本原理。循环神经网络的内容包括简单循环神经网络的原理、语言的分词问题、词语嵌入编码的原理、长短期记忆模型网络的原理和门控循环单元网络的原理等。

(2) 本书详细介绍了使用Keras深度学习框架对深度学习理论进行编程的方法,包括运行深度学习程序的硬件环境和软件环境、全连接前馈神经网络的编程方法、卷积神经网络的编程方法和循环神经网络的编程方法等。在介绍运行深度学习程序的软件环境时,分别介绍了Anaconda软件的使用方法、CUDA Toolkit软件和cuDNN软件的安装方法、TensorFlow库和Keras库的安装方法、Jupter Notebook软件和PyCharm软件的使用方法等。在介绍全连接前馈神经网络的编程方法时,分别介绍了线性回归模型的编程方法、单层全连接前馈神经网络的编程方法、多层全连接前馈神经网络的编程方法、回归问题和分类问题的编程方法等。在介绍卷积神经网络的编程方法时,分别介绍了卷积神经网络宽结构模型的编程方法、卷积神经网络深结构模型的编程方法、批归一化操作的编程方法、数据增强操作的编程方法、经典卷积神经网络模型的编程方法和迁移学习的编程方法等。在介绍循环神经网络的编程方法时,分别介绍了简单循环神经网络的编程方法和长短期记忆模型网络的编程方法等。

(3) 在本书的撰写过程中,尽可能使用简单轻松的语言诠释深度学习的理论和编程方法,尽可能不涉及复杂深奥的理论公式。深度学习的复杂理论知识请参考其他相关书籍。这样做的初衷是希望使深度学习的初学者能够轻松入门,不会被艰深的深度学习理论公式所困惑,防止对深度学习产生很强的畏难心理,从而影响下一步的学习积极性和学习体验。

本书结构合理、内容新颖、层次清晰、易于理解和学习,可以作为高等院校智能科学与技术、人工智能、智能制造工程等人工智能类专业本科学生和研究生的入门书籍,也可以作为人工智能领域科技人员的参考资料。

北京印刷学院信息工程学院智能科学技术专业董武副教授完成了本书的撰写,并对本书的全部内容进行了统稿审定。

本书是笔者多年努力的成果,为了编写本书,笔者付出了很多心血,牺牲了很多休息时间。同时,本书在编写过程中得到了清华大学出版社和北京印刷学院信息工程学院各级领导的大力支持,在此表示衷心的感谢。此外,本书的出版得到多个科研项目的资助,包括北京市数字教育研究重点课题(项目编号为BDEC2022619027)、北京市高等教育学会2023年立项面上课题(项目编号为MS2023168)、北京印刷学院校级科研项目(项目编号为Ec202303、Ea202301、E6202405)、北京印刷学院学科建设和研究生教育专项(项目编号为21090323009)和北京印刷学院出版学新兴交叉学科平台建设项目(项目编号为04190123001/003),在此对北京市教委、北京市高等教育学会和北京印刷学院等资助机构表示深切的谢意。特别感谢家人的大力支持和理解。如果没有你们的关心和付出,难以完成本书的撰写和出版工作。

由于时间比较仓促,而且笔者的理论水平和实践能力有限,书中难免存在疏漏和不足的地方,希望各位读者和专家批评指正,在此表示衷心的感谢。

董武于北京2025年1月