
PyTorch深度学习指南:编程基础 卷I
“PyTorch深度学习指南”丛书循序渐进地详细讲解了与深度学习相关的重要概念、算法和模型,并着重展示了PyTorch是如何实现这些算法和模型的。其共分三卷:编程基础、计算机视觉、序列与自然语言处理。
本书为该套丛书的第一卷:编程基础。本书主要介绍了梯度下降和PyTorch的Autograd;训练循环、数据加载器、小批量和优化器;二元分类器、交叉熵损失和不平衡数据集;决策边界、评估指标和数据可分离性等内容。
本书适用于对深度学习感兴趣,并希望使用PyTorch实现深度学习的Python程序员阅读学习。
PyTorch深度学习指南:计算机视觉 卷II
“PyTorch深度学习指南”丛书循序渐进地详细讲解了与深度学习相关的重要概念、算法和模型,并着重展示了PyTorch是如何实现这些算法和模型的。其共分三卷:编程基础、计算机视觉、序列与自然语言处理。
本书为该套丛书的第二卷:计算机视觉。本书主要介绍了深度模型、激活函数和特征空间;Torchvision、数据集、模型和转换;卷积神经网络、丢弃和学习率调度器;迁移学习和微调流行的模型(ResNet、Inception等)等内容。
本书适用于对深度学习感兴趣,并希望使用PyTorch实现深度学习的Python程序员阅读学习。
PyTorch深度学习指南:序列与自然语言处理 卷III
“PyTorch深度学习指南”丛书循序渐进地详细讲解了与深度学习相关的重要概念、算法和模型,并着重展示了PyTorch是如何实现这些算法和模型的。其共分三卷:编程基础、计算机视觉、序列与自然语言处理。
本书为该套丛书的第三卷:序列与自然语言处理。本书主要介绍了循环神经网络(RNN、GRU和LSTM)和一维卷积;Seq2Seq模型、注意力、自注意力、掩码和位置编码;Transformer、层归一化和视觉Transformer(ViT);BERT、GPT-2、单词嵌入和HuggingFace库等内容。
本书适用于对深度学习感兴趣,并希望使用PyTorch实现深度学习的Python程序员阅读学习。

PyTorch深度学习指南:编程基础 卷I
前 言
致 谢
关于作者
译者序
常见问题
为什么选择PyTorch?
为什么选择这套书?
谁应该读这套书?
我需要知道什么?
如何阅读这套书?
下一步是什么?
设置指南
官方资料库
环境
谷歌Colab
Binder
本地安装
继续
第0章 可视化梯度下降
剧透
Jupyter Notebook
导入
可视化梯度下降
模型
数据生成
合成数据生成
训练-验证-测试拆分
第0步——随机初始化
第1步——计算模型的预测
第2步——计算损失
损失面
横截面
第3步——计算梯度
可视化梯度
反向传播
第4步——更新参数
学习率
第5步——循环往复
梯度下降的路径
回顾
第1章 一个简单的回归问题
剧透
Jupyter Notebook
导入
一个简单的回归问题
数据生成
合成数据生成
梯度下降
第0步——随机初始化
第1步——计算模型的预测
第2步——计算损失
第3步——计算梯度
第4步——更新参数
第5步——循环往复
Numpy中的线性回归
PyTorch
张量
加载数据、设备和CUDA
创建参数
Autograd
backward
grad
zero_
更新参数
no_grad
动态计算图
优化器
step/zero_grad
损失
模型
参数
state_dict
设备
前向传递
训练
嵌套模型
序列(Sequential)模型
层
归纳总结
数据准备
模型配置
模型训练
回顾
第2章 重新思考训练循环
剧透
Jupyter Notebook
导入
重新思考训练循环
训练步骤
Dataset
TensorDataset
DataLoader
小批量内循环
随机拆分
评估
绘制损失
TensorBoard
在Notebook中运行
单独运行(本地安装)
单独运行(Binder)
SummaryWriter
add_graph
add_scalars
保存和加载模型
模型状态
保存
恢复训练
部署/做出预测
设置模型的模式
归纳总结
回顾
第2.1章 追求优雅
剧透
Jupyter Notebook
导入
追求优雅
类
构造方法
训练方法
保存和加载方法
可视化方法
完整代码
典型的管道
模型训练
做出预测
检查点
恢复训练
归纳总结
回顾
第3章 一个简单的分类问题
剧透
Jupyter Notebook
导入
一个简单的分类问题
数据生成
数据准备
模型
logit
概率
比值比(Odds Ratio)
对数比值比
从logit到概率
Sigmoid
逻辑斯蒂回归
损失
BCELoss
BCEWithLogitsLoss
不平衡数据集
模型配置
模型训练
决策边界
分类阈值
混淆矩阵
指标
权衡和曲线
归纳总结
回顾
PyTorch深度学习指南:计算机视觉 卷II
前 言
致 谢
关于作者
译者序
常见问题
为什么选择PyTorch?
为什么选择这套书?
谁应该读这套书?
我需要知道什么?
如何阅读这套书?
下一步是什么?
设置指南
官方资料库
环境
谷歌Colab
Binder
本地安装
继续
第4章 图像分类
剧透
Jupyter Notebook
导入
图像分类
数据生成
NCHW与NHWC
Torchvision
数据集
模型
转换
图像上的转换
张量上的转换
组合转换
数据准备
数据集转换
SubsetRandomSampler
数据增强转换
WeightedRandomSampler
种子和更多(种子)
小结
作为特征的像素
浅层模型
符号
模型配置
模型训练
深层模型
模型配置
模型训练
给我看看数学
给我看看代码
作为像素的权重
激活函数
Sigmoid
双曲正切(TanH)
整流线性单元(ReLU)
泄漏ReLU
参数ReLU(PReLU)
深度模型
模型配置
模型训练
再给我看看数学
归纳总结
回顾
奖励章 特征空间
二维特征空间
转换
二维模型
决策边界,激活方式
更多的函数,更多的边界
更多的层,更多的边界
更多的维度,更多的边界
回顾
第5章 卷积
剧透
Jupyter Notebook
导入
卷积
滤波器/内核
卷积运算
四处移动
形状
在PyTorch中进行卷积
步幅
填充
真正的滤波器
池化
展平
维度
典型架构
LeNet-5
多类分类问题
数据生成
数据准备
损失
分类损失总结
模型配置
模型训练
可视化滤波器和其他
可视化滤波器
钩子
可视化特征图
可视化分类器层
准确率
加载器应用
归纳总结
回顾
第6章 石头、剪刀、布
剧透
Jupyter Notebook
导入
关于石头、剪刀、布
石头、剪刀、布数据集
数据准备
ImageFolder
标准化
真实数据集
三通道卷积
更高级的模型
丢弃
二维丢弃
模型配置
优化器
学习率
模型训练
准确率
正则化效果
可视化滤波器
学习率
寻找LR
自适应学习率
随机梯度下降(SGD)
学习率调度器
验证损失调度器
自适应与循环
归纳总结
回顾
第7章 迁移学习
剧透
Jupyter Notebook
导入
迁移学习
ImageNet
ImageNet大规模视觉识别挑战赛(ILSVRC)
ILSVRC-2012
ILSVRC-2014
ILSVRC-2015
对比各架构
实践中的迁移学习
预训练模型
模型配置
数据准备
模型训练
生成特征数据集
顶层模型
辅助分类器(侧头)
1×1卷积
Inception模块
批量归一化
游程(running)统计
评估阶段
动量
BatchNorm2d
其他归一化
小结
残差连接
学习恒等
捷径的力量
残差块
归纳总结
微调
特征提取
回顾
额外章 梯度消失和爆炸
剧透
Jupyter Notebook
导入
梯度消失和爆炸
梯度消失
球数据集和块模型
权重、激活和梯度
初始化方案
批量归一化
梯度爆炸
数据生成和准备
模型配置和训练
梯度裁剪
模型配置和训练
用钩子裁剪
回顾
PyTorch深度学习指南:序列与自然语言处理 卷III
前 言
致 谢
关于作者
译者序
常见问题
为什么选择PyTorch?
为什么选择这套书?
谁应该读这套书?
我需要知道什么?
如何阅读这套书?
下一步是什么?
设置指南
官方资料库
环境
谷歌Colab
Binder
本地安装
继续
第8章 序列
剧透
Jupyter Notebook
导入
序列
数据生成
循环神经网络(RNN)
RNN单元
RNN层
形状
堆叠RNN
双向RNN
正方形模型
可视化模型
我们能做得更好吗?
门控循环单元(GRU)
GRU单元
GRU层
正方形模型Ⅱ——速成
模型配置和训练
可视化模型
我们能做得更好吗?
长短期记忆(LSTM)
LSTM单元
LSTM层
正方形模型Ⅲ——巫师
模型配置和训练
可视化隐藏状态
可变长度序列
填充
打包
解包(至填充)
打包(从填充)
可变长度数据集
数据准备
正方形模型Ⅳ——打包
模型配置和训练
一维卷积
形状
多特征或通道
膨胀
数据准备
模型配置和训练
可视化模型
归纳总结
固定长度数据集
可变长度数据集
选择一个合适的模型
模型配置和训练
回顾
第9章(上):序列到序列
剧透
Jupyter Notebook
导入
序列到序列
数据生成
编码器-解码器架构
编码器
解码器
编码器+解码器
数据准备
模型配置和训练
可视化预测
我们能做得更好吗?
注意力
“值”
“键”和“查询”
计算上下文向量
评分方法
注意力分数
缩放点积
注意力机制
源掩码
解码器
编码器+解码器+注意力机制
模型配置和训练
可视化预测
可视化注意力
多头注意力
第9章(下):序列到序列
剧透
自注意力
编码器
交叉注意力
解码器
编码器+解码器+自注意力机制
模型配置和训练
可视化预测
不再有序
位置编码(PE)
编码器+解码器+位置编码
模型配置和训练
可视化预测
可视化注意力
归纳总结
数据准备
模型组装
编码器+解码器+位置编码
自注意力的“层”
注意力头
模型配置和训练
回顾
第10章 转换和转出
剧透
Jupyter Notebook
导入
转换和转出
狭义注意力
分块
多头注意力
堆叠编码器和解码器
包裹“子层”
Transformer编码器
Transformer解码器
层归一化
批量与层
我们的Seq2Seq问题
投影或嵌入
Transformer
数据准备
模型配置和训练
可视化预测
PyTorch的Transformer
模型配置和训练
可视化预测
视觉Transformer
数据生成和准备
补丁
特殊分类器词元
模型
模型配置和训练
归纳总结
数据准备
模型组装
模型配置和训练
回顾
第11章 Down the Yellow Brick Rabbit Hole
剧透
Jupyter Notebook
附加设置
导入
“掉进黄砖兔子洞(Down the Yellow Brick Rabbit Hole)”
构建数据集
句子词元化
HuggingFace的数据集
加载数据集
单词词元化
词汇表
HuggingFace的词元化器
单词嵌入之前
独热(One-Hot)编码(OHE)
词袋(BoW)
语言模型
N元(N-gram)
连续词袋(CBoW)
单词嵌入
Word2Vec
什么是嵌入?
预训练的Word2Vec
全局向量(GloVe)
使用单词嵌入
模型Ⅰ——GloVE+分类器
模型Ⅱ——GloVe+Transformer
上下文单词嵌入
ELMo
BERT
文档嵌入
模型Ⅲ——预处理嵌入
BERT
词元化
输入嵌入
预训练任务
输出
模型Ⅳ——使用BERT进行分类
使用HuggingFace进行微调
序列分类(或回归)
词元化数据集
训练器
预测
管道
更多管道
GPT-2
归纳总结
数据准备
模型配置和训练
生成文本
回顾
谢谢您!