动手学深度学习(PyTorch版)
书籍简介
《动手学深度学习(PyTorch版)》是深度学习领域重磅作品《动手学深度学习》的升级版本,专为PyTorch深度学习框架修订,旨在为读者提供便捷的交互式深度学习学习体验。本书由李沐、阿斯顿·张等领域权威专家联合撰写,全球已有400多所大学将其作为教材使用,配套视频课程、教学PPT、习题等丰富资源,支持在线运行源码并与作译者实时讨论,是一本兼具理论深度与实践价值的深度学习入门及进阶图书。
1. 作者与译者阵容
本书作者团队汇聚了学术与工业界的顶尖力量:
阿斯顿·张(Aston Zhang):Amazon资深研究员,美国伊利诺伊大学香槟分校计算机科学博士,专注机器学习与自然语言处理研究,获多项国际学术会议杰出论文奖;
李沐(Mu Li):Amazon资深领衔研究员,美国加州大学伯克利分校、斯坦福大学客座助理教授,机器学习系统与算法领域专家,论文引用量超万次;
扎卡里·C. 立顿(Zachary C. Lipton):美国卡内基梅隆大学机器学习和运筹学助理教授,领导ACMI实验室,研究方向涵盖稳健算法、医学诊断等;
亚历山大·J. 斯莫拉(Alexander J. Smola):Amazon副总裁/杰出研究员,德国柏林工业大学博士,发表300余篇学术论文,引用量超15万次。
译者团队同样专业:何孝霆(Amazon应用研究员,中科院软件工程硕士)、瑞潮儿·胡(Amazon应用研究员,加州大学伯克利分校统计学硕士),确保技术内容准确传达,且具备丰富的实践与教学经验。
2. 内容特色与升级
本书在保留原版本核心框架的基础上,针对技术发展进行全面修订,新增注意力机制、预训练等前沿内容,全书共15章,按“基础预备-核心工具-优化应用”的逻辑分层递进:
第一部分聚焦深度学习基础知识与预备知识,从线性模型自然过渡到多层感知机,夯实学习根基;
第二部分详解深度学习计算关键组件、卷积神经网络、循环神经网络、注意力机制等核心模型,覆盖现代深度学习应用的核心工具;
第三部分深入探讨优化算法、计算性能优化(含多GPU训练),并落地于计算机视觉、自然语言处理两大核心应用领域,包含实战案例。
本书最大特色是“可运行、可讨论”,所有源码支持在线运行,配套网站zh.D2L.ai提供免费教学资源,读者扫码即可获取答疑支持,实现与作译者的实时互动。此外,书中包含Kaggle房价预测、图像分类等实战任务,衔接理论与工程实践。
3. 教材与资源认可度
本书的英文版是美国加州大学伯克利分校2019年春季学期“深度学习导论”课程教材,截至2022年秋季,已被全球400多所大学用于教学。译者瑞潮儿·胡的公开课程视频在YouTube和哔哩哔哩广受好评,累计向千余名Amazon工程师传授机器学习知识,进一步印证了本书内容的实用性与权威性。
图书目录
对本书的赞誉
前言
译者简介
学习环境配置
资源与支持
主要符号表
第1章 引言
1.1 日常生活中的机器学习
1.2 机器学习中的关键组件
1.2.1 数据
1.2.2 模型
1.2.3 目标函数
1.2.4 优化算法
1.3 各种机器学习问题
1.3.1 监督学习
1.3.2 无监督学习
1.3.3 与环境互动
1.3.4 强化学习
1.4 起源
1.5 深度学习的发展
1.6 深度学习的成功案例
1.7 特点
第2章 预备知识
2.1 数据操作
2.1.1 入门
2.1.2 运算符
2.1.3 广播机制
2.1.4 索引和切片
2.1.5 节省内存
2.1.6 转换为其他Python对象
2.2 数据预处理
2.2.1 读取数据集
2.2.2 处理缺失值
2.2.3 转换为张量格式
2.3 线性代数
2.3.1 标量
2.3.2 向量
2.3.3 矩阵
2.3.4 张量
2.3.5 张量算法的基本性质
2.3.6 降维
2.3.7 点积
2.3.8 矩阵-向量积
2.3.9 矩阵-矩阵乘法
2.3.10 范数
2.3.11 关于线性代数的更多信息
2.4 微积分
2.4.1 导数和微分
2.4.2 偏导数
2.4.3 梯度
2.4.4 链式法则
2.5 自动微分
2.5.1 一个简单的例子
2.5.2 非标量变量的反向传播
2.5.3 分离计算
2.5.4 Python控制流的梯度计算
2.6 概率
2.6.1 基本概率论
2.6.2 处理多个随机变量
2.6.3 期望和方差
2.7 查阅文档
2.7.1 查找模块中的所有函数和类
2.7.2 查找特定函数和类的用法
第3章 线性神经网络
3.1 线性回归
3.1.1 线性回归的基本元素
3.1.2 向量化加速
3.1.3 正态分布与平方损失
3.1.4 从线性回归到深度网络
3.2 线性回归的从零开始实现
3.2.1 生成数据集
3.2.2 读取数据集
3.2.3 初始化模型参数
3.2.4 定义模型
3.2.5 定义损失函数
3.2.6 定义优化算法
3.2.7 训练
3.3 线性回归的简洁实现
3.3.1 生成数据集
3.3.2 读取数据集
3.3.3 定义模型
3.3.4 初始化模型参数
3.3.5 定义损失函数
3.3.6 定义优化算法
3.3.7 训练
3.4 softmax回归
3.4.1 分类问题
3.4.2 网络架构
3.4.3 全连接层的参数开销
3.4.4 softmax运算
3.4.5 小批量样本的向量化
3.4.6 损失函数
3.4.7 信息论基础
3.4.8 模型预测和评估
3.5 图像分类数据集
3.5.1 读取数据集
3.5.2 读取小批量
3.5.3 整合所有组件
3.6 softmax回归的从零开始实现
3.6.1 初始化模型参数
3.6.2 定义softmax操作
3.6.3 定义模型
3.6.4 定义损失函数
3.6.5 分类精度
3.6.6 训练
3.6.7 预测
3.7 softmax回归的简洁实现
3.7.1 初始化模型参数
3.7.2 重新审视softmax的实现
3.7.3 优化算法
3.7.4 训练
第4章 多层感知机
4.1 多层感知机
4.1.1 隐藏层
4.1.2 激活函数
4.2 多层感知机的从零开始实现
4.2.1 初始化模型参数
4.2.2 激活函数
4.2.3 模型
4.2.4 损失函数
4.2.5 训练
4.3 多层感知机的简洁实现
模型
4.4 模型选择、欠拟合和过拟合
4.4.1 训练误差和泛化误差
4.4.2 模型选择
4.4.3 欠拟合还是过拟合
4.4.4 多项式回归
4.5 权重衰减
4.5.1 范数与权重衰减
4.5.2 高维线性回归
4.5.3 从零开始实现
4.5.4 简洁实现
4.6 暂退法
4.6.1 重新审视过拟合
4.6.2 扰动的稳健性
4.6.3 实践中的暂退法
4.6.4 从零开始实现
4.6.5 简洁实现
4.7 前向传播、反向传播和计算图
4.7.1 前向传播
4.7.2 前向传播计算图
4.7.3 反向传播
4.7.4 训练神经网络
4.8 数值稳定性和模型初始化
4.8.1 梯度消失和梯度爆炸
4.8.2 参数初始化
4.9 环境和分布偏移
4.9.1 分布偏移的类型
4.9.2 分布偏移示例
4.9.3 分布偏移纠正
4.9.4 学习问题的分类法
4.9.5 机器学习中的公平、责任和透明度
4.10 实战Kaggle比赛:预测房价
4.10.1 下载和缓存数据集
4.10.2 Kaggle
4.10.3 访问和读取数据集
4.10.4 数据预处理
4.10.5 训练
4.10.6 K折交叉验证
4.10.7 模型选择
4.10.8 提交Kaggle预测
第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.3 延后初始化
实例化网络
5.4 自定义层
5.4.1 不带参数的层
5.4.2 带参数的层
5.5 读写文件
5.5.1 加载和保存张量
5.5.2 加载和保存模型参数
5.6 GPU
5.6.1 计算设备
5.6.2 张量与GPU
5.6.3 神经网络与GPU
第6章 卷积神经网络
6.1 从全连接层到卷积
6.1.1 不变性
6.1.2 多层感知机的限制
6.1.3 卷积
6.1.4 “沃尔多在哪里”回顾
6.2 图像卷积
6.2.1 互相关运算
6.2.2 卷积层
6.2.3 图像中目标的边缘检测
6.2.4 学习卷积核
6.2.5 互相关和卷积
6.2.6 特征映射和感受野
6.3 填充和步幅
6.3.1 填充
6.3.2 步幅
6.4 多输入多输出通道
6.4.1 多输入通道
6.4.2 多输出通道
6.4.3 1×1卷积层
6.5 汇聚层
6.5.1 最大汇聚和平均汇聚
6.5.2 填充和步幅
6.5.3 多个通道
6.6 卷积神经网络(LeNet)
6.6.1 LeNet
6.6.2 模型训练
第7章 现代卷积神经网络
7.1 深度卷积神经网络(AlexNet)
7.1.1 学习表征
7.1.2 AlexNet
7.1.3 读取数据集
7.1.4 训练AlexNet
7.2 使用块的网络(VGG)
7.2.1 VGG块
7.2.2 VGG网络
7.2.3 训练模型
7.3 网络中的网络(NiN)
7.3.1 NiN块
7.3.2 NiN模型
7.3.3 训练模型
7.4 含并行连接的网络(GoogLeNet)
7.4.1 Inception块
7.4.2 GoogLeNet模型
7.4.3 训练模型
7.5 批量规范化
7.5.1 训练深层网络
7.5.2 批量规范化层
7.5.3 从零实现
7.5.4 使用批量规范化层的 LeNet
7.5.5 简明实现
7.5.6 争议
7.6 残差网络(ResNet)
7.6.1 函数类
7.6.2 残差块
7.6.3 ResNet模型
7.6.4 训练模型
7.7 稠密连接网络(DenseNet)
7.7.1 从ResNet到DenseNet
7.7.2 稠密块体
7.7.3 过渡层
7.7.4 DenseNet模型
7.7.5 训练模型
第8章 循环神经网络
8.1 序列模型
8.1.1 统计工具
8.1.2 训练
8.1.3 预测
8.2 文本预处理
8.2.1 读取数据集
8.2.2 词元化
8.2.3 词表
8.2.4 整合所有功能
8.3 语言模型和数据集
8.3.1 学习语言模型
8.3.2 马尔可夫模型与n元语法
8.3.3 自然语言统计
8.3.4 读取长序列数据
8.4 循环神经网络
8.4.1 无隐状态的神经网络
8.4.2 有隐状态的循环神经网络
8.4.3 基于循环神经网络的字符级语言模型
8.4.4 困惑度
8.5 循环神经网络的从零开始实现
8.5.1 独热编码
8.5.2 初始化模型参数
8.5.3 循环神经网络模型
8.5.4 预测
8.5.5 梯度截断
8.5.6 训练
8.6 循环神经网络的简洁实现
8.6.1 定义模型
8.6.2 训练与预测
8.7 通过时间反向传播
8.7.1 循环神经网络的梯度分析
8.7.2 通过时间反向传播的细节
第9章 现代循环神经网络
9.1 门控循环单元(GRU)
9.1.1 门控隐状态
9.1.2 从零开始实现
9.1.3 简洁实现
9.2 长短期记忆网络(LSTM)
9.2.1 门控记忆元
9.2.2 从零开始实现
9.2.3 简洁实现
9.3 深度循环神经网络
9.3.1 函数依赖关系
9.3.2 简洁实现
9.3.3 训练与预测
9.4 双向循环神经网络
9.4.1 隐马尔可夫模型中的动态规划
9.4.2 双向模型
9.4.3 双向循环神经网络的错误应用
9.5 机器翻译与数据集
9.5.1 下载和预处理数据集
9.5.2 词元化
9.5.3 词表
9.5.4 加载数据集
9.5.5 训练模型
9.6 编码器-解码器架构
9.6.1 编码器
9.6.2 解码器
9.6.3 合并编码器和解码器
9.7 序列到序列学习(seq2seq)
9.7.1 编码器
9.7.2 解码器
9.7.3 损失函数
9.7.4 训练
9.7.5 预测
9.7.6 预测序列的评估
9.8 束搜索
9.8.1 贪心搜索
9.8.2 穷举搜索
9.8.3 束搜索
第10章 注意力机制
10.1 注意力提示
10.1.1 生物学中的注意力提示
10.1.2 查询、键和值
10.1.3 注意力的可视化
10.2 注意力汇聚:Nadaraya-Watson 核回归
10.2.1 生成数据集
10.2.2 平均汇聚
10.2.3 非参数注意力汇聚
10.2.4 带参数注意力汇聚
10.3 注意力评分函数
10.3.1 掩蔽softmax操作
10.3.2 加性注意力
10.3.3 缩放点积注意力
10.4 Bahdanau 注意力
10.4.1 模型
10.4.2 定义注意力解码器
10.4.3 训练
10.5 多头注意力
10.5.1 模型
10.5.2 实现
10.6 自注意力和位置编码
10.6.1 自注意力
10.6.2 比较卷积神经网络、循环神经网络和自注意力
10.6.3 位置编码
10.7 Transformer
10.7.1 模型
10.7.2 基于位置的前馈网络
10.7.3 残差连接和层规范化
10.7.4 编码器
10.7.5 解码器
10.7.6 训练
第11章 优化算法
11.1 优化和深度学习
11.2 凸性
11.3 梯度下降
11.4 随机梯度下降
11.5 小批量随机梯度下降
11.6 动量法
11.7 AdaGrad算法
11.8 RMSProp算法
11.9 Adadelta算法
11.10 Adam算法
11.11 学习率调度器
第12章 计算性能
12.1 编译器和解释器
12.2 异步计算
通过后端异步处理
12.3 自动并行
12.4 硬件
12.5 多GPU训练
12.6 多GPU的简洁实现
12.7 参数服务器
第13章 计算机视觉
13.1 图像增广
13.2 微调
13.4 锚框
13.5 多尺度目标检测
13.6 目标检测数据集
13.7 单发多框检测(SSD)
13.8 区域卷积神经网络(R-CNN)系列
13.9 语义分割和数据集
13.10 转置卷积
13.11 全卷积网络
13.12 风格迁移
13.13 实战 Kaggle竞赛:图像分类(CIFAR-10)
13.14 实战Kaggle竞赛:狗的品种识别(ImageNet Dogs)
第14章 自然语言处理:预训练
14.1 词嵌入(word2vec)
14.2 近似训练
14.3 用于预训练词嵌入的数据集
14.4 预训练word2vec
14.5 全局向量的词嵌入(GloVe)
14.6 子词嵌入
14.7 词的相似度和类比任务
14.8 来自Transformer的双向编码器表示(BERT)
14.9 用于预训练BERT的数据集
14.10 预训练BERT
第15章 自然语言处理:应用
15.1 情感分析及数据集
15.2 情感分析:使用循环神经网络
15.3 情感分析:使用卷积神经网络
15.4 自然语言推断与数据集
15.5 自然语言推断:使用注意力
15.6 针对序列级和词元级应用微调BERT
15.7 自然语言推断:微调BERT
附录A 深度学习工具
A.1 使用Jupyter记事本
A.1.1 在本地编辑和运行代码
A.1.2 高级选项
A.2 使用Amazon SageMaker
A.2.1 注册
A.2.2 创建SageMaker实例
A.2.3 运行和停止实例
A.2.4 更新Notebook
A.3 使用Amazon EC2实例
A.3.1 创建和运行EC2实例
A.3.2 安装CUDA
A.3.3 安装库以运行代码
A.3.4 远程运行Jupyter记事本
A.3.5 关闭未使用的实例
A.4 选择服务器和GPU
A.4.1 选择服务器
A.4.2 选择GPU
A.5 为本书做贡献
A.5.1 提交微小更改
A.5.2 大量文本或代码修改
A.5.3 提交主要更改
参考文献
适合人群
本书主要面向三类核心人群:
在校大学生:希望系统学习深度学习理论与实践,为学术研究或职业发展奠定基础;
技术人员:包括工程师、算法从业者等,希望掌握PyTorch框架下的深度学习应用开发能力;
研究人员:专注于机器学习、计算机视觉、自然语言处理等领域,需要权威参考资料与前沿技术解读。
阅读本书无需具备深度学习或机器学习背景,只需满足两个基础条件:一是掌握基本的Python编程知识;二是了解基础的线性代数、微分、概率等数学知识,若数学基础薄弱,可参考书中第2章的预备知识补充学习。
推荐理由
权威阵容背书:作者团队兼具顶尖学术造诣与丰富工业界经验,译者专业且熟悉技术落地场景,确保内容的准确性与实用性,是领域内公认的权威教材;
内容体系完备:从预备知识到前沿应用,覆盖深度学习全链路知识,逻辑循序渐进,既适合入门打基础,也可作为进阶学习的参考资料;
框架适配实用:专为PyTorch框架修订,贴合当前工业界主流开发需求,所有示例代码可直接运行,降低实践门槛;
配套资源丰富:全球400多所大学验证的教学体系,配套视频课程、PPT、习题、在线社区等资源,扫码即可获取答疑,支持实时与作译者互动,学习体验更流畅;
实战导向鲜明:包含Kaggle竞赛、计算机视觉、自然语言处理等多个实战案例,将理论知识与工程实践紧密结合,帮助读者快速掌握落地能力;
前沿内容同步:新增注意力机制、预训练、BERT、Transformer等前沿技术,紧跟深度学习发展趋势,确保知识的时效性。
总结
《动手学深度学习(PyTorch版)》是一本集权威性、系统性、实用性于一体的深度学习经典教材。它以PyTorch框架为核心,兼顾理论深度与实践可操作性,通过清晰的逻辑架构、丰富的实战案例和完备的配套资源,为不同基础的学习者提供了一条从入门到精通的高效学习路径。无论是在校学生、技术从业者还是研究人员,都能通过本书系统掌握深度学习的核心知识与应用技能,同时借助在线社区与实战项目,快速将所学转化为解决实际问题的能力。作为全球400多所大学采用的教材,本书的品质与价值已得到广泛验证,是深度学习领域不可多得的优质学习资源。
购买此书
前往购买版权及免责申明:本文由@人工智能研究所原创发布。该文章观点仅代表作者本人,不代表本站立场。本站不承担任何相关法律责任。
如若转载,请注明出处:https://www.aipuzi.cn/ai-books/53.html

