前言Preface
本书内容
本书由浅入深,从深度学习基础、PyTorch的安装和环境搭建讲起,用详细的实例演示了PyTorch解决各类深度学习问题的方法,另外还讲解了回归问题、张量基础、多层感知器、卷积基础和卷积模型、迁移学习和数据增强、经典网络模型、图像定位、图像语义分割、目标识别、循环神经网络和文本分类、一维卷积模型、序列预测、生成对抗网络等内容。同时,本书在阐明深度学习基本原理的基础上,着重对解决各类问题的代码实现做了全面而具体的讲解。笔者希望读者在阅读完本书后,能够学会使用PyTorch编写代码解决各类深度学习问题。
全书分为4篇,共19章。
深度学习基础篇(第1章~第6章):
第1章:简要介绍PyTorch并详细演示环境配置和安装。
第2章:讲解机器学习基础,并使用一个简单的线性回归例子演示用PyTorch创建、训练模型的整个流程。
第3章:讲解张量创建、张量类型、张量运算、张量自动微分等基础知识。
第4章:讲解多层感知器和激活函数等基本概念,演示如何加载内置数据集。
第5章:演示一个完整的多层感知器模型训练的示例。
第6章:讲解梯度下降法、反向传播算法及内置优化器,介绍学习速率的概念。
计算机视觉篇(第7章~第14章):
第7章:讲解卷积神经网络和池化层的原理,对卷积神经网络的整体架构做了解析。
第8章:演示如何定义一个简单的卷积模型,讲解超参数的选择原则。
第9章:演示图片二分类卷积模型,涉及加载图片数据集、保存和加载模型权重、保存和恢复检查点等。
第10章:演示图片分类实例,重点讲解自定义Dataset类创建输入、Dropout抑制过拟合、批标准化以及学习速率衰减等模型优化方法。
第11章:讲解迁移学习、数据增强和微调。
第12章:讲解经典网络模型,包括VGG、ResNet、Inception、DenseNet等,并介绍TensorBoard可视化和提取预训练模型特征的方法。
第13章:讲解图像定位原理和实现。
第14章:讲解图像语义分割,演示使用U-Net模型实现图像语义分割。
自然语言处理和序列篇(第15章~第17章):
第15章:讲解文本处理的基础知识,演示文本分类的基础模型,讨论文本分类模型参数初始化的方法。
第16章:讲解循环神经网络和一维卷积神经网络。
第17章:演示长短期记忆网络处理序列预测的实例。
生成对抗网络和目标检测篇(第18章~第19章):
第18章:讲解生成对抗网络的概念和应用,并带领读者实现基础GAN和DCGAN。
第19章:介绍目标检测的概念及常用目标检测算法,重点介绍如何使用PyTorch目标检测模块处理目标检测任务、如何使用torchvision预训练检测模型在自行标注的图片上进行训练等。
创作背景
PyTorch自发布以来,已经成为深度学习领域最受欢迎的框架之一。目前,在学术研究和科研工作中,PyTorch是使用最多、最受关注的深度学习框架,而且这种受欢迎的趋势还在上升;在工业应用中,PyTorch也受到了越来越多公司的青睐。PyTorch拥有活跃的社区和大量的贡献者,各类深度学习问题都有利用PyTorch实现的,解决方案在GitHub上开源,同时大部分的论文采用了PyTorch作为论文实现的工具。基于这种趋势,笔者编写了本书,以满足包括高校教师和学生在内的各类开发人员快速入门深度学习和掌握PyTorch的需求。
读者对象
本书适合无深度学习基础的读者、对深度学习感兴趣的读者学习,同时本书也可作为深度学习的培训教材。读者通过学习本书可以快速入门深度学习并掌握PyTorch。本书适合的目标读者对象包括但不限于以下相关人员。
人工智能行业的软件工程师。
对人工智能感兴趣的读者。
相关专业从业人员。
机器学习、计算机学科相关专业的学生。
读者服务
示例代码。
学习视频。
读者可以通过扫码访问本书专享资源官网,获取示例代码、学习视频,加入读者群,下载最新学习资源或反馈书中的问题。
勘误和支持
由于笔者水平有限,书中难免会有疏漏和不妥之处,恳请广大读者批评指正。