高级检索结果页
欢迎来到工程科技数字图书馆
登录 | 注册
 
您当前的位置:图书 > Python深度学习:基于PyTorch 第2版

Python深度学习:基于PyTorch 第2版

这是一本能指导读者快速掌握PyTorch和深度学习的著作,从PyTorch的原理到应用,从深度学习到强化学习,本书提供了全栈解决方案。
第1版上市后销量和口碑俱佳,是深度学习领域的畅销书,被誉为PyTorch领域的标准著作。第2版在第1版的基础上,去芜存菁,与时具进,根据PyTorch新版本全面升级,技术性、实战性、针对性、丰富性、易读性均得到了进一步提升,必定能帮助读者更轻松、更高效地进入深度学习的世界。
全书一共19章,在结构上分为三大部分:
第1部分(第1~4章) PyTorch基础
首先有针对性地讲解了Python和PyTorch的基石NumPy中的关键知识,然后详细讲解了PyTorch的基础知识、神经网络工具箱和数据处理工具箱等内容,帮助读者快速了解和掌握PyTorch。
第二部分(第5~10章) 深度学习基础
依次讲解了机器学习、视觉处理、自然语言处理、注意力机制、目标检测、语义分割、生成式深度学习等机器学习和深度学习的核心技术的原理和使用。
第三部分(第11~17章) 深度学习实践
通过实战案例的方式,详细讲解了PyTorch在人脸检测和识别、迁移学习、中英文互译、图像分类、语义分割、生成式网络、对抗攻击等领域的应用和解决方案。
第四部分(第18-19章) 强化学习
重点介绍了强化学习和深度强化学习的基础理论、常用算法及相关实例。
更为重要的是,为了让本书通俗易懂,在内容安排和写作方式上也颇花了一番心思。内容选择上,广泛涉猎、重点突出、注重实战;内容安排上,实例切入、由浅入深、循序渐进;表达形式上,深度抽象、化繁为简、用图说话。

封面
前折页
书名页
版权
前言
第1版前言
第一部分 PyTorch基础
 第1章 NumPy基础知识
  1.1 生成NumPy数组
   1.1.1 数组属性
   1.1.2 利用已有数据生成数组
   1.1.3 利用random模块生成数组
   1.1.4 生成特定形状的多维数组
   1.1.5 利用arange、linspace函数生成数组
  1.2 读取数据
  1.3 NumPy的算术运算
   1.3.1 逐元素操作
   1.3.2 点积运算
  1.4 数组变形
   1.4.1 修改数组的形状
   1.4.2 合并数组
  1.5 批处理
  1.6 节省内存
  1.7 通用函数
  1.8 广播机制
  1.9 小结
 第2章 PyTorch基础知识
  2.1 为何选择PyTorch
  2.2 PyTorch的安装配置
   2.2.1 安装CPU版PyTorch
   2.2.2 安装GPU版PyTorch
  2.3 Jupyter Notebook环境配置
  2.4 NumPy与Tensor
   2.4.1 Tensor概述
   2.4.2 创建Tensor
   2.4.3 修改Tensor形状
   2.4.4 索引操作
   2.4.5 广播机制
   2.4.6 逐元素操作
   2.4.7 归并操作
   2.4.8 比较操作
   2.4.9 矩阵操作
   2.4.10 PyTorch与NumPy比较
  2.5 Tensor与autograd
   2.5.1 自动求导要点
   2.5.2 计算图
   2.5.3 标量反向传播
   2.5.4 非标量反向传播
   2.5.5 切断一些分支的反向传播
  2.6 使用NumPy实现机器学习任务
  2.7 使用Tensor及autograd实现机器学习任务
  2.8 使用优化器及自动微分实现机器学习任务
  2.9 把数据集转换为带批量处理功能的迭代器
  2.10 使用TensorFlow 2实现机器学习任务
  2.11 小结
 第3章 PyTorch神经网络工具箱
  3.1 神经网络核心组件
  3.2 构建神经网络的主要工具
   3.2.1 nn.Module
   3.2.2 nn.functional
  3.3 构建模型
   3.3.1 继承nn.Module基类构建模型
   3.3.2 使用nn.Sequential按层顺序构建模型
   3.3.3 继承nn.Module基类并应用模型容器来构建模型
   3.3.4 自定义网络模块
  3.4 训练模型
  3.5 实现神经网络实例
   3.5.1 背景说明
   3.5.2 准备数据
   3.5.3 可视化源数据
   3.5.4 构建模型
   3.5.5 训练模型
  3.6 小结
 第4章 PyTorch数据处理工具箱
  4.1 数据处理工具箱概述
  4.2 utils.data
  4.3 torchvision
   4.3.1 transforms
   4.3.2 ImageFolder
  4.4 可视化工具
   4.4.1 TensorBoard简介
   4.4.2 用TensorBoard可视化神经网络
   4.4.3 用TensorBoard可视化损失值
   4.4.4 用TensorBoard可视化特征图
  4.5 小结
第二部分 深度学习基础
 第5章 机器学习基础
  5.1 机器学习的基本任务
   5.1.1 监督学习
   5.1.2 无监督学习
   5.1.3 半监督学习
   5.1.4 强化学习
  5.2 机器学习的一般流程
   5.2.1 明确目标
   5.2.2 收集数据
   5.2.3 数据探索与预处理
   5.2.4 选择模型及损失函数
   5.2.5 评估及优化模型
  5.3 过拟合与欠拟合
   5.3.1 权重正则化
   5.3.2 dropout正则化
   5.3.3 批量归一化
   5.3.4 层归一化
   5.3.5 权重初始化
  5.4 选择合适的激活函数
  5.5 选择合适的损失函数
  5.6 选择合适的优化器
   5.6.1 传统梯度优化算法
   5.6.2 批量随机梯度下降法
   5.6.3 动量算法
   5.6.4 Nesterov动量算法
   5.6.5 AdaGrad算法
   5.6.6 RMSProp算法
   5.6.7 Adam算法
   5.6.8 Yogi算法
   5.6.9 使用优化算法实例
  5.7 GPU加速
   5.7.1 单GPU加速
   5.7.2 多GPU加速
   5.7.3 使用GPU时的注意事项
  5.8 小结
 第6章 视觉处理基础
  6.1 从全连接层到卷积层
   6.1.1 图像的两个特性
   6.1.2 卷积神经网络概述
  6.2 卷积层
   6.2.1 卷积核
   6.2.2 步幅
   6.2.3 填充
   6.2.4 多通道上的卷积
   6.2.5 激活函数
   6.2.6 卷积函数
   6.2.7 转置卷积
   6.2.8 特征图与感受野
   6.2.9 全卷积网络
  6.3 池化层
   6.3.1 局部池化
   6.3.2 全局池化
  6.4 现代经典网络
   6.4.1 LeNet-5模型
   6.4.2 AlexNet模型
   6.4.3 VGG模型
   6.4.4 GoogLeNet模型
   6.4.5 ResNet模型
   6.4.6 DenseNet模型
   6.4.7 CapsNet模型
  6.5 使用卷积神经网络实现CIFAR10多分类
   6.5.1 数据集说明
   6.5.2 加载数据
   6.5.3 构建网络
   6.5.4 训练模型
   6.5.5 测试模型
   6.5.6 采用全局平均池化
   6.5.7 像Keras一样显示各层参数
  6.6 使用模型集成方法提升性能
   6.6.1 使用模型
   6.6.2 集成方法
   6.6.3 集成效果
  6.7 使用现代经典模型提升性能
  6.8 小结
 第7章 自然语言处理基础
  7.1 从语言模型到循环神经网络
   7.1.1 链式法则
   7.1.2 马可夫假设与N元语法模型
   7.1.3 从N元语法模型到隐含状态表示
   7.1.4 从神经网络到有隐含状态的循环神经网络
   7.1.5 使用循环神经网络构建语言模型
   7.1.6 多层循环神经网络
  7.2 正向传播与随时间反向传播
  7.3 现代循环神经网络
   7.3.1 LSTM
   7.3.2 GRU
   7.3.3 Bi-RNN
  7.4 循环神经网络的PyTorch实现
   7.4.1 使用PyTorch实现RNN
   7.4.2 使用PyTorch实现LSTM
   7.4.3 使用PyTorch实现GRU
  7.5 文本数据处理
  7.6 词嵌入
   7.6.1 Word2Vec原理
   7.6.2 CBOW模型
   7.6.3 Skip-Gram模型
  7.7 使用PyTorch实现词性判别
   7.7.1 词性判别的主要步骤
   7.7.2 数据预处理
   7.7.3 构建网络
   7.7.4 训练网络
   7.7.5 测试模型
  7.8 用LSTM预测股票行情
   7.8.1 导入数据
   7.8.2 数据概览
   7.8.3 预处理数据
   7.8.4 定义模型
   7.8.5 训练模型
   7.8.6 测试模型
  7.9 几种特殊架构
   7.9.1 编码器-解码器架构
   7.9.2 Seq2Seq架构
  7.10 循环神经网络应用场景
  7.11 小结
 第8章 注意力机制
  8.1 注意力机制概述
   8.1.1 两种常见注意力机制
   8.1.2 来自生活的注意力
   8.1.3 注意力机制的本质
  8.2 带注意力机制的编码器-解码器架构
   8.2.1 引入注意力机制
   8.2.2 计算注意力分配概率分布值
  8.3 Transformer
   8.3.1 Transformer的顶层设计
   8.3.2 编码器与解码器的输入
   8.3.3 自注意力
   8.3.4 多头注意力
   8.3.5 自注意力与循环神经网络、卷积神经网络的异同
   8.3.6 加深Transformer网络层的几种方法
   8.3.7 如何进行自监督学习
   8.3.8 Vision Transformer
   8.3.9 Swin Transformer
  8.4 使用PyTorch实现Transformer
   8.4.1 Transformer背景介绍
   8.4.2 构建EncoderDecoder
   8.4.3 构建编码器
   8.4.4 构建解码器
   8.4.5 构建多头注意力
   8.4.6 构建前馈神经网络层
   8.4.7 预处理输入数据
   8.4.8 构建完整网络
   8.4.9 训练模型
   8.4.10 实现一个简单实例
  8.5 小结
 第9章 目标检测与语义分割
  9.1 目标检测及主要挑战
   9.1.1 边界框的表示
   9.1.2 手工标注图像的真实值
   9.1.3 主要挑战
   9.1.4 选择性搜索
   9.1.5 锚框
   9.1.6 RPN
  9.2 优化候选框的几种算法
   9.2.1 交并比
   9.2.2 非极大值抑制
   9.2.3 边框回归
   9.2.4 SPP-Net
  9.3 典型的目标检测算法
   9.3.1 R-CNN
   9.3.2 Fast R-CNN
   9.3.3 Faster R-CNN
   9.3.4 Mask R-CNN
   9.3.5 YOLO
   9.3.6 各种算法的性能比较
  9.4 语义分割
  9.5 小结
 第10章 生成式深度学习
  10.1 用变分自编码器生成图像
   10.1.1 自编码器
   10.1.2 变分自编码器
   10.1.3 用变分自编码器生成图像实例
  10.2 GAN简介
   10.2.1 GAN的架构
   10.2.2 GAN的损失函数
  10.3 用GAN生成图像
   10.3.1 构建判别器
   10.3.2 构建生成器
   10.3.3 训练模型
   10.3.4 可视化结果
  10.4 VAE与GAN的异同
  10.5 CGAN
   10.5.1 CGAN的架构
   10.5.2 CGAN的生成器
   10.5.3 CGAN的判别器
   10.5.4 CGAN的损失函数
   10.5.5 CGAN的可视化
   10.5.6 查看指定标签的数据
   10.5.7 可视化损失值
  10.6 DCGAN
  10.7 提升GAN训练效果的技巧
  10.8 小结
第三部分 深度学习实战
 第11章 人脸检测与识别实例
  11.1 人脸检测与识别的一般流程
  11.2 人脸检测
   11.2.1 目标检测
   11.2.2 人脸定位
   11.2.3 人脸对齐
   11.2.4 MTCNN算法
  11.3 特征提取与人脸识别
  11.4 使用PyTorch实现人脸检测与识别
   11.4.1 验证检测代码
   11.4.2 检测图像
   11.4.3 检测后进行预处理
   11.4.4 查看检测后的图像
   11.4.5 人脸识别
  11.5 小结
 第12章 迁移学习实例
  12.1 迁移学习简介
  12.2 特征提取
   12.2.1 PyTorch提供的预处理模块
   12.2.2 特征提取实例
  12.3 数据增强
   12.3.1 按比例缩放
   12.3.2 裁剪
   12.3.3 翻转
   12.3.4 改变颜色
   12.3.5 组合多种增强方法
  12.4 微调实例
   12.4.1 数据预处理
   12.4.2 加载预训练模型
   12.4.3 修改分类器
   12.4.4 选择损失函数及优化器
   12.4.5 训练及验证模型
  12.5 清除图像中的雾霾
  12.6 小结
 第13章 神经网络机器翻译实例
  13.1 使用PyTorch实现带注意力的解码器
   13.1.1 构建编码器
   13.1.2 构建解码器
   13.1.3 构建带注意力的解码器
  13.2 使用注意力机制实现中英文互译
   13.2.1 导入需要的模块
   13.2.2 数据预处理
   13.2.3 构建模型
   13.2.4 训练模型
   13.2.5 测试模型
   13.2.6 可视化注意力
  13.3 小结
 第14章 使用ViT进行图像分类
  14.1 项目概述
  14.2 数据预处理
  14.3 生成输入数据
  14.4 构建编码器模型
  14.5 训练模型
  14.6 小结
 第15章 语义分割实例
  15.1 数据概览
  15.2 数据预处理
  15.3 构建模型
  15.4 训练模型
  15.5 测试模型
  15.6 保存与恢复模型
  15.7 小结
 第16章 生成模型实例
  16.1 Deep Dream模型
   16.1.1 Deep Dream原理
   16.1.2 Deep Dream算法的流程
   16.1.3 使用PyTorch实现Deep Dream
  16.2 风格迁移
   16.2.1 内容损失
   16.2.2 风格损失
   16.2.3 使用PyTorch实现神经网络风格迁移
  16.3 使用PyTorch实现图像修复
   16.3.1 网络结构
   16.3.2 损失函数
   16.3.3 图像修复实例
  16.4 使用PyTorch实现DiscoGAN
   16.4.1 DiscoGAN架构
   16.4.2 损失函数
   16.4.3 DiscoGAN实现
   16.4.4 使用PyTorch实现DiscoGAN实例
  16.5 小结
 第17章 AI新方向:对抗攻击
  17.1 对抗攻击简介
   17.1.1 白盒攻击与黑盒攻击
   17.1.2 无目标攻击与有目标攻击
  17.2 常见对抗样本生成方式
   17.2.1 快速梯度符号算法
   17.2.2 快速梯度算法
  17.3 使用PyTorch实现对抗攻击
   17.3.1 实现无目标攻击
   17.3.2 实现有目标攻击
  17.4 对抗攻击和防御方法
   17.4.1 对抗攻击
   17.4.2 常见防御方法分类
  17.5 小结
 第18章 强化学习
  18.1 强化学习简介
  18.2 Q-Learning算法原理
   18.2.1 Q-Learning算法的主要流程
   18.2.2 Q函数
   18.2.3 贪婪策略
  18.3 使用PyTorch实现Q-Learning算法
   18.3.1 定义Q-Learning主函数
   18.3.2 运行Q-Learning算法
  18.4 SARSA算法
   18.4.1 SARSA算法的主要步骤
   18.4.2 使用PyTorch实现SARSA算法
  18.5 小结
 第19章 深度强化学习
  19.1 DQN算法原理
   19.1.1 Q-Learning方法的局限性
   19.1.2 用深度学习处理强化学习需要解决的问题
   19.1.3 用DQN算法解决问题
   19.1.4 定义损失函数
   19.1.5 DQN的经验回放机制
   19.1.6 目标网络
   19.1.7 网络模型
   19.1.8 DQN算法实现流程
  19.2 使用PyTorch实现DQN算法
  19.3 小结
附录A PyTorch 0.4版本变更
附录B AI在各行业的最新应用
附录C einops及einsum简介
后折页
封底

机工科技数字图书馆