猜你喜欢
动手学深度学习(PyTorch版)

动手学深度学习(PyTorch版)

书籍作者:阿斯顿·张 ISBN:9787115600820
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:8100
创建日期:2023-05-28 发布日期:2023-05-28
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

本书是《动手学深度学习》的重磅升级版本,选用经典的PyTorch深度学习框架,旨在向读者交付更为便捷的有关深度学习的交互式学习体验。


本书重新修订《动手学深度学习》的所有内容,并针对技术的发展,新增注意力机制、预训练等内容。本书包含15章,第一部分介绍深度学习的基础知识和预备知识,并由线性模型引出最简单的神经网络——多层感知机;第二部分阐述深度学习计算的关键组件、卷积神经网络、循环神经网络、注意力机制等大多数现代深度学习应用背后的基本工具;第三部分讨论深度学习中常用的优化算法和影响深度学习计算性能的重要因素,并分别列举深度学习在计算机视觉和自然语言处理中的重要应用。


  本书同时覆盖深度学习的方法和实践,主要面向在校大学生、技术人员和研究人员。阅读本书需要读者了解基本的Python编程知识及预备知识中描述的线性代数、微分和概率等基础知识。


作者简介

作者简介:


阿斯顿.张(Aston Zhang),亚马逊资深科学家,美国伊利诺伊大学香槟分校计算机科学博士,统计学和计算机科学双硕士。他专注于机器学习和自然语言处理的研究,荣获深度学习国际顶级学术会议ICLR杰出论文奖、ACM UbiComp杰出论文奖以及ACM SenSys最佳论文奖提名。他担任过EMNLP领域主席和AAAI资深程序委员。


扎卡里.C. 立顿(Zachary C. Lipton),美国卡内基梅隆大学机器学习和运筹学助理教授,并在海因茨公共政策学院以及软件和社会系统系担任礼节性任命。他领导着近似正确机器智能(ACMI)实验室,研究涉及核心机器学习方法、其社会影响以及包括临床医学和自然语言处理在内的各种应用领域。他目前的研究重点包括处理各种因果结构下分布变化的稳健和自适应算法、超越预测为决策提供信息(包括应对已部署模型的战略响应)、医学诊断和预后预测、算法公平性和可解释性的基础。他是“Approximately Correct”博客的创始人,也是讽刺性漫画“Superheroes of Deep Learning”的合著者。


李沐(Mu Li),亚马逊资深首席科学家(Senior Principal Scientist),美国加利福尼亚大学伯克利分校、斯坦福大学客座助理教授,美国卡内基梅隆大学计算机系博士。他曾任机器学习创业公司Marianas Labs的CTO和百度深度学习研究院的主任研发架构师。他专注于机器学习系统和机器学习算法的研究。他在理论与应用、机器学习与操作系统等多个领域的顶级学术会议上发表过论文,被引用上万次。


亚历山大.J. 斯莫拉(Alexander J. Smola),亚马逊副总裁/杰出科学家,德国柏林工业大学计算机科学博士。他曾在澳大利亚国立大学、美国加利福尼亚大学伯克利分校和卡内基梅隆大学任教。他发表过超过300篇学术论文,并著有5本书,其论文及书被引用超过15万次。他的研究兴趣包括深度学习、贝叶斯非参数、核方法、统计建模和可扩展算法。


译者简介:


何孝霆(Xiaoting He),亚马逊应用科学家,中国科学院软件工程硕士。他专注于对深度学习的研究,特别是自然语言处理的应用(包括语言模型、AIOps、OCR),相关工作落地于众多企业。他担任过ACL、EMNLP、NAACL、EACL等学术会议的程序委员或审稿人。


瑞潮儿.胡(Rachel Hu),亚马逊应用科学家,美国加利福尼亚大学伯克利分校统计学硕士,加拿大滑铁卢大学数学学士。她致力于将机器学习应用于现实世界的产品。她也是亚马逊人工智能团队的讲师,教授自然语言处理、计算机视觉和机器学习商业应用等课程。她已向累计1000余名亚马逊工程师教授机器学习,其公开课程视频在YouTube和哔哩哔哩上广受好评。


编辑推荐
适读人群 :本书同时覆盖深度学习的方法和实践,主要面向在校大学生、技术人员和研究人员。阅读本书需要读者了解基本的Python编程或附录中描述的线性代数、微分和概率基础。

·深度学习领域重磅作品《动手学深度学习》重磅推出PyTorch版本;


·李沐、阿斯顿·张等大咖作者强强联合,精心编撰;


·全球400多所大学采用的教科书,提供视频课程、教学PPT、习题,方便教师授课与学生自学;


·能运行、可讨论的深度学习入门书,可在线运行源码并与作译者实时讨论。


目录

对本书的赞誉


前言


译者简介


学习环境配置


资源与支持


主要符号表


第 1章 引言 1


1.1 日常生活中的机器学习 2


1.2 机器学习中的关键组件 3


1.2.1 数据 3


1.2.2 模型 4


1.2.3 目标函数 4


1.2.4 优化算法 5


1.3 各种机器学习问题 5


1.3.1 监督学习 5


1.3.2 无监督学习 11


1.3.3 与环境互动 11


1.3.4 强化学习 12


1.4 起源 13


1.5 深度学习的发展 15


1.6 深度学习的成功案例 16


1.7 特点 17


第 2章 预备知识 20


2.1 数据操作 20


2.1.1 入门 21


2.1.2 运算符 22


2.1.3 广播机制 23


2.1.4 索引和切片 24


2.1.5 节省内存 24


2.1.6 转换为其他Python对象 25


2.2 数据预处理 26


2.2.1 读取数据集 26


2.2.2 处理缺失值 26


2.2.3 转换为张量格式 27


2.3 线性代数 27


2.3.1 标量 28


2.3.2 向量 28


2.3.3 矩阵 29


2.3.4 张量 30


2.3.5 张量算法的基本性质 31


2.3.6 降维 32


2.3.7 点积 33


2.3.8 矩阵-向量积 33


2.3.9 矩阵-矩阵乘法 34


2.3.10 范数 35


2.3.11 关于线性代数的更多信息 36


2.4 微积分 37


2.4.1 导数和微分 37


2.4.2 偏导数 40


2.4.3 梯度 41


2.4.4 链式法则 41


2.5 自动微分 42


2.5.1 一个简单的例子 42


2.5.2 非标量变量的反向传播 43


2.5.3 分离计算 43


2.5.4 Python控制流的梯度计算 44


2.6 概率 44


2.6.1 基本概率论 45


2.6.2 处理多个随机变量 48


2.6.3 期望和方差 50


2.7 查阅文档 51


2.7.1 查找模块中的所有函数和类 51


2.7.2 查找特定函数和类的用法 52


第3章 线性神经网络 54


3.1 线性回归 54


3.1.1 线性回归的基本元素 54


3.1.2 向量化加速 57


3.1.3 正态分布与平方损失 58


3.1.4 从线性回归到深度网络 60


3.2 线性回归的从零开始实现 61


3.2.1 生成数据集 62


3.2.2 读取数据集 63


3.2.3 初始化模型参数 63


3.2.4 定义模型 64


3.2.5 定义损失函数 64


3.2.6 定义优化算法 64


3.2.7 训练 64


3.3 线性回归的简洁实现 66


3.3.1 生成数据集 66


3.3.2 读取数据集 66


3.3.3 定义模型 67


3.3.4 初始化模型参数 67


3.3.5 定义损失函数 68


3.3.6 定义优化算法 68


3.3.7 训练 68


3.4 softmax回归 69


3.4.1 分类问题 69


3.4.2 网络架构 70


3.4.3 全连接层的参数开销 70


3.4.4 softmax运算 71


3.4.5 小批量样本的向量化 71


3.4.6 损失函数 72


3.4.7 信息论基础 73


3.4.8 模型预测和评估 74


3.5 图像分类数据集 74


3.5.1 读取数据集 75


3.5.2 读取小批量 76


3.5.3 整合所有组件 76


3.6 softmax回归的从零开始实现 77


3.6.1 初始化模型参数 77


3.6.2 定义softmax操作 78


3.6.3 定义模型 78


3.6.4 定义损失函数 79


3.6.5 分类精度 79


3.6.6 训练 80


3.6.7 预测 82


3.7 softmax回归的简洁实现 83


3.7.1 初始化模型参数 83


3.7.2 重新审视softmax的实现 84


3.7.3 优化算法 84


3.7.4 训练 84


第4章 多层感知机 86


4.1 多层感知机 86


4.2 多层感知机的从零开始实现 92


4.3 多层感知机的简洁实现 94


模型 94


4.4 模型选择、欠拟合和过拟合 95


4.5 权重衰减 103


4.6 暂退法 108


4.7 前向传播、反向传播和计算图 112


4.8 数值稳定性和模型初始化 115


4.9 环境和分布偏移 119


4.10 实战Kaggle比赛:预测房价 127


第5章 深度学习计算 136


5.1 层和块 136


5.2 参数管理 141


5.3 延后初始化 145


实例化网络 146


5.4 自定义层 146


5.5 读写文件 148


5.6 GPU 150


第6章 卷积神经网络 155


6.1 从全连接层到卷积 155


6.2 图像卷积 159


6.3 填充和步幅 164


6.4 多输入多输出通道 166


6.5 汇聚层 170


6.6 卷积神经网络(LeNet) 173


第7章 现代卷积神经网络 178


7.1 深度卷积神经网络(AlexNet) 178


7.2 使用块的网络(VGG) 184


7.3 网络中的网络(NiN) 187


7.4 含并行连接的网络(GoogLeNet) 190


7.5 批量规范化 194


7.6 残差网络(ResNet) 200


7.7 稠密连接网络(DenseNet) 205


第8章 循环神经网络 209


8.1 序列模型 209


8.2 文本预处理 216


8.3 语言模型和数据集 219


8.4 循环神经网络 226


8.5 循环神经网络的从零开始实现 230


8.6 循环神经网络的简洁实现 237


8.7 通过时间反向传播 239


第9章 现代循环神经网络 244


9.1 门控循环单元(GRU) 244


9.2 长短期记忆网络(LSTM) 249


9.3 深度循环神经网络 254


9.4 双向循环神经网络 256


9.5 机器翻译与数据集 260


9.6 编码器-解码器架构 265


9.7 序列到序列学习(seq2seq) 267


9.8 束搜索 275


第 10章 注意力机制 278


10.1 注意力提示 278


10.2 注意力汇聚:Nadaraya-Watson 核回归 281


10.3 注意力评分函数 287


10.4 Bahdanau 注意力 291


10.5 多头注意力 295


10.6 自注意力和位置编码 298


10.7 Transformer 302


第 11章 优化算法 311


11.1 优化和深度学习 311


11.2 凸性 315


11.3 梯度下降 322


11.4 随机梯度下降 329


11.5 小批量随机梯度下降 334


11.6 动量法 341


11.7 AdaGrad算法 348


11.8 RMSProp算法 353


11.9 Adadelta算法 356


11.10 Adam算法 358


11.11 学习率调度器 361


第 12章 计算性能 369


12.1 编译器和解释器 369


12.2 异步计算 372


通过后端异步处理 373


12.3 自动并行 375


12.4 硬件 378


12.5 多GPU训练 388


12.6 多GPU的简洁实现 394


12.7 参数服务器 397


第 13章 计算机视觉 404


13.1 图像增广 404


13.2 微调 410


13.3 目标检测和边界框 415


13.4 锚框 417


13.5 多尺度目标检测 427


13.6 目标检测数据集 430


13.7 单发多框检测(SSD) 433


13.8 区域卷积神经网络(R-CNN)系列 441


13.9 语义分割和数据集 445


13.10 转置卷积 450


13.11 全卷积网络 453


13.12 风格迁移 458


13.13 实战 Kaggle竞赛:图像分类(CIFAR-10) 464


13.14 实战Kaggle竞赛:狗的品种识别(ImageNet Dogs) 470


第 14章 自然语言处理:预训练 476


14.1 词嵌入(word2vec) 477


14.2 近似训练 480


14.3 用于预训练词嵌入的数据集 482


14.4 预训练word2vec 488


14.5 全局向量的词嵌入(GloVe) 491


14.6 子词嵌入 494


14.7 词的相似度和类比任务 497


14.8 来自Transformer的双向编码器表示(BERT) 500


14.9 用于预训练BERT的数据集 507


14.10 预训练BERT 512


第 15章 自然语言处理:应用 515


15.1 情感分析及数据集 516


15.2 情感分析:使用循环神经网络 518


15.3 情感分析:使用卷积神经网络 521


15.4 自然语言推断与数据集 526


15.5 自然语言推断:使用注意力 530


15.6 针对序列级和词元级应用微调BERT 535


15.7 自然语言推断:微调BERT 538


附录A 深度学习工具 543


A.1 使用Jupyter记事本 543


A.1.1 在本地编辑和运行代码 543


A.1.2 高级选项 545


A.2 使用Amazon SageMaker 546


A.2.1 注册 547


A.2.2 创建SageMaker实例 547


A.2.3 运行和停止实例 548


A.2.4 更新Notebook 548


A.3 使用Amazon EC2实例 549


A.3.1 创建和运行EC2实例 549


A.3.2 安装CUDA 553


A.3.3 安装库以运行代码 553


A.3.4 远程运行Jupyter记事本 554


A.3.5 关闭未使用的实例 554


A.4 选择服务器和GPU 555


A.4.1 选择服务器 555


A.4.2 选择GPU 556


A.5 为本书做贡献 558


A.5.1 提交微小更改 558


A.5.2 大量文本或代码修改 559


A.5.3 提交主要更改 559


参考文献 562

产品特色