PyTorch深度学习指南
书籍作者:丹尼尔·沃格特·戈多伊(Daniel |
ISBN:9787111744597 |
书籍语言:简体中文 |
连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 |
下载次数:8659 |
创建日期:2024-06-27 |
发布日期:2024-06-27 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
内容简介
“PyTorch深度学习指南”丛书循序渐进地详细讲解了与深度学习相关的重要概念、算法和模型,并着重展示了PyTorch是如何实现这些算法和模型的。其共分三卷:编程基础、计算机视觉、序列与自然语言处理。
本书为该套丛书的第三卷:序列与自然语言处理。本书主要介绍了循环神经网络(RNN、GRU和LSTM)和一维卷积;Seq2Seq模型、注意力、自注意力、掩码和位置编码;Transformer、层归一化和视觉Transformer(ViT);BERT、GPT-2、单词嵌入和HuggingFace库等内容。
本书适用于对深度学习感兴趣,并希望使用PyTorch实现深度学习的Python程序员阅读学习。
作者简介
丹尼尔?沃格特?戈多伊是一名数据科学家、开发人员、作家和教师。自2016年以来,他一直在柏林历史最悠久的训练营Data Science Retreat讲授机器学习和分布式计算技术,帮助数百名学生推进职业发展。
丹尼尔还是两个Python软件包——HandySpark和DeepReplay的主要贡献者。
他拥有在多个行业20多年的工作经验,这些行业包括银行、政府、金融科技、零售和移动出行等。
编辑推荐
适读人群 :人工智能从业者
国外Pytorch深度学习畅销书 全彩印刷
作者拥有20余年从业经验
“PyTorch深度学习指南”丛书循序渐进地详细讲解了与深度学习相关的重要概念、算法和模型,并着重展示了PyTorch是如何实现这些算法和模型的。其共分三卷:编程基础、计算机视觉、序列与自然语言处理。
本书适用于对深度学习感兴趣,并希望使用PyTorch实现深度学习的Python程序员阅读。
以下是部分国外读者书评
Michael:理解GPT的垫脚石!
我对这本书感到惊讶,因为我生疏的数学技能,居然可以从头到尾毫无问题地阅读。这三本书系列是我能完全理解的第一本深度学习书。作者基本上使用最小数据样本的逐步代码来完成任何机制/数学。
我希望我能早一年找到这一系列的书。
Sebastian:这本书写得非常好。对非常高级的概念的所有解释都清晰易懂。提供的实现细节允许您快速轻松地开始进入深度学习领域。
前言
如果您正在阅读“PyTorch深度学习指南”这套书,我可能不需要告诉您深度学习有多棒,PyTorch有多酷,对吧?
但我会简单地告诉您,这套书是如何诞生的。2016年,我开始使用Apache Spark讲授一门机器学习课程。几年后,我又开设了另一门机器学习基础课程。
在以往的某个时候,我曾试图找到一篇博文,以清晰简洁的方式直观地解释二元交叉熵背后的概念,以便将其展示给我的学生们。但由于找不到任何符合要求的文章,所以我决定自己写一篇。虽然我认为这个话题相当基础,但事实证明它是我最受欢迎的博文!读者喜欢我用简单、直接和对话的方式来解释这个话题。
之后,在2019年,我使用相同的方式撰写了另一篇博文“Understanding PyTorch with an example: a step-by-step tutorial”,我再次被读者的反应所惊讶。
正是由于他们的积极反馈,促使我写这套书来帮助初学者开始他们的深度学习和PyTorch之旅。我希望读者能够享受阅读,就如同我曾经是那么享受本书的写作一样。
致谢
首先,我要感谢网友——我的读者,你们使这套书成为可能。如果不是因为有成千上万的读者在我的博文中对PyTorch的大量反馈,我可能永远都不会鼓起勇气开始并写完这一套近七百页的书。
我要感谢我的好朋友Jesús Martínez-Blanco(他把我写的所有内容都读了一遍)、Jakub Cieslik、Hannah Berscheid、Mihail Vieru、Ramona Theresa Steck、Mehdi Belayet Lincon和António Góis,感谢他们帮助了我,他们奉献出了很大一部分时间来阅读、校对,并对我的书稿提出了改进意见。我永远感谢你们的支持。我还要感谢我的朋友JoséLuis Lopez Pino,是他最初推动我真正开始写这套书。
非常感谢我的朋友José Quesada和David Anderson,感谢他们在2016年以学生身份邀请我参加Data Science Retreat,并随后聘请我在那里担任教师。这是我作为数据科学家和教师职业生涯的起点。
我还要感谢PyTorch开发人员开发了如此出色的框架,感谢Leanpub和Towards Data Science 的团队,让像我这样的内容创作者能够非常轻松地在社区分享他们的工作。
最后,我要感谢我的妻子Jerusa,她在本套书的写作过程中一直给予我支持,并花时间阅读了其中的每一页。
目录
前 言
致 谢
关于作者
译者序
常见问题
为什么选择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
归纳总结
数据准备
模型配置和训练
生成文本
回顾
谢谢您!