内容推荐 本书基于PyTorch框架介绍深度学习的有关理论和应用,以Python为实现语言。全书共分10章,内容包括深度学习的概念和发展过程、感知器、全连接神经网络、卷积神经网络、若干经典CNN预训练模型及其迁移方法、深度卷积神经网络应用案例、循环神经网络、基于预训练模型的自然语言处理、面向模型解释的深度神经网络可视化方法、多模态学习与多模态数据分类等。 本书兼顾理论与应用、原理与方法,集系统性、实用性和便捷性于一体,易于入门,实例丰富,所有代码全部经过调试和运行。此外,每一章后面都配有适量的习题,供教学和学习参考使用。 本书可作为各类高等学校人工智能和计算机相关专业的“人工智能”或“机器学习”课程的教材,也可作为人工智能、深度学习爱好者和初学者的自学教材,以及从事人工智能课题研究和应用开发人员的参考用书。 目录 第1章 绪论与PyTorch基础 1.1 人工智能与神经网络 1.2 深度学习 1.2.1 什么是深度学习 1.2.2 深度学习的发展过程 1.2.3 深度学习的基础网络 1.3 建立PyTorch的开发环境 1.3.1 Anaconda与Python的安装 1.3.2 PyCharm和PyTorch的安装 1.3.3 PyTorch的Hello World程序 1.4 张量基础 1.4.1 张量的定义及其物理含义 1.4.2 张量的切片操作 1.4.3 面向张量的数学函数 1.4.4 张量的变形 1.4.5 张量的常用运算 1.4.6 张量的广播机制 1.4.7 梯度的自动计算 1.4.8 张量与其他对象的相互转换 1.4.9 张量的拼接 1.5 初识PyTorch框架 1.5.1 一个简单的网络模型 1.5.2 访问网络模型的各个网络层 1.5.3 访问模型参数及模型保存和加载方法 1.6 本章小结 1.7 习题 第2章 感知器——神经元 2.1 感知器的定义 2.2 激活函数 2.3 感知器的训练 2.3.1 监督学习和无监督学习 2.3.2 面向回归问题的训练方法 2.3.3 面向分类问题的训练方法 2.4 使用PyTorch框架 2.4.1 PyTorch框架的作用 2.4.2 使用PyTorch框架实现感知器 2.5 本章小结 2.6 习题 第3章 全连接神经网络 3.1 构建一个简单的全连接神经网络——解决二分类问题 3.1.1 一个简单全连接神经网络的构建和训练 3.1.2 程序代码解释及网络层的构建方法 3.2 全连接神经网络的构造方法 3.2.1 网络层的定义 3.2.2 网络结构的实现 3.2.3 从网络结构判断网络的功能 3.3 几种主流的损失函数 3.3.13.3.1nn.CrossEntropyLoss()和nn.NLLLoss()函数 3.3.2 nn.MSELoss()函数 3.3.3 nn.BCELoss()和nn.BCEWithLogitsLoss()函数 3.3.4 nn.L1Loss()函数 3.4 网络模型的训练与测试 3.4.1 数据集分割 3.4.2 数据打包 3.4.3 网络模型的训练方法 3.4.4 梯度累加的训练方法 3.4.5 学习率衰减在训练中的应用 3.4.6 网络模型的测试 3.4.7 应用案例——波士顿房价预测 3.5 正向计算和反向梯度传播的理论分析 3.5.1 正向计算 3.5.2 梯度反向传播与参数更新 3.6 本章小结 3.7 习题 第4章 卷积神经网络 4.1 一个简单的卷积神经网络——手写数字识别 4.1.1 程序代码 4.1.2 代码解释 4.2 卷积神经网络的主要操作 4.2.1 单通道卷积 4.2.2 多通道卷积 4.2.3 卷积操作的PyTorch代码实现 4.2.4 池化操作及其PyTorch代码实现 4.2.5 relu()激活函数及其应用 4.2.6 感受野 4.3 卷积神经网络的设计方法 4.3.1 基本设计原则 4.3.2 网络结构查看和参数量计算 4.3.3 一个猫狗图像分类示例 4.4 过拟合及其解决方法 4.5 本章小结 4.6 习题 第5章 若干经典CNN预训练模型及其迁移方法 5.1 一个使用VGG16的图像识别程序 5.1.1 程序代码 5.1.2 代码解释 5.2 经典卷积神经网络的结构 5.2.1 卷积神经网络的发展过程 5.2.2 AlexNet网络 5.2.3 VGGNet网络 5.2.4 GoogLeNet网络与1×1卷积核 5.2.5 ResNet网络 5.2.6 EfficientNet网络 5.3 预训练模型的迁移方法 5.3.1 预训练网络迁移的基本原理 5.3.2 VGG16的迁移案例 5.3.3 GoogLeNet的迁移案例 5.3.4 ResNet的迁移案例 5.3.5 EfficientNet的迁移案例 5.4 本章小结 5.5 习题 第6章 深度卷积神经网络的应用案例 6.1 人脸识别 6.1.1 人脸识别的设计思路 6.1.2 人脸识别程序 6.2 语义分割 6.2.1 从零开始构建语义分割网络 6.2.2 使用预训练模型构建语义分割网绕 6.3 目标检测 6.3.1 从零开始构建目标检测网络 6.3.2 使用Faster-renn构建目标检测网络 6.4 生成对抗网络 6.4.1 生成手写数字图片 6.4.2 生成花卉图片 6.4.3 条件性生成对抗网络 6.5 本章小结 6.6 习题 第7章 循环神经网络 7.1 一个简单的循环神经网络——航空旅客出行人数预测 7.1.1 程序代码 7.1.2 代码解释 7.2 循环神经网络应用 7.2.1 循环神经网络的基本结构 7.2.2 从“零”开始构建一个循环神经网络 7.3 长短时记忆网络(LSTM) 7.3.1 LSTM的结构和特点 7.3.2 LSTM的使用方法 7.3.3 深度循环神经网络 7.3.4 双向循环神经网络 7.3.5 LSTM的变体——GRU 7.4 文本的表示 7.4.1 词的独热表示 7.4.2 Word2Vec词向量 7.4.3 词嵌入表示 7.5 基于LSTM的文本分类 7.6 基于LSTM的文本生成 7.6.1 语言模型与文本生成 7.6.2 类不平衡问题 7.6.3 文本生成案例 |