登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入   新用戶註冊
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2024年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / 物流,時效:出貨後2-4日

2025年04月出版新書

2025年03月出版新書

2025年02月出版新書

2025年01月出版新書

2024年12月出版新書

2024年11月出版新書

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

『簡體書』跟我一起学深度学习

書城自編碼: 4096692
分類: 簡體書→大陸圖書→計算機/網絡操作系統/系統開發
作者: 王成、黄晓辉
國際書號(ISBN): 9787302684145
出版社: 清华大学出版社
出版日期: 2025-03-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:NT$ 862

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
玄学与魏晋士人心态(精)--中华学术·有道
《 玄学与魏晋士人心态(精)--中华学术·有道 》

售價:NT$ 398.0
雪的练习生
《 雪的练习生 》

售價:NT$ 347.0
硅、神经与智能体:人工智能的觉醒
《 硅、神经与智能体:人工智能的觉醒 》

售價:NT$ 398.0
明代粮长制度(增订本)精--梁方仲著作集
《 明代粮长制度(增订本)精--梁方仲著作集 》

售價:NT$ 316.0
机械复制时代的艺术作品:本雅明精选集
《 机械复制时代的艺术作品:本雅明精选集 》

售價:NT$ 398.0
爱因斯坦学习法
《 爱因斯坦学习法 》

售價:NT$ 281.0
印度古因明研究
《 印度古因明研究 》

售價:NT$ 602.0
帝国痼疾:殖民主义、奴隶制和战争如何改变医学
《 帝国痼疾:殖民主义、奴隶制和战争如何改变医学 》

售價:NT$ 367.0

編輯推薦:
本书秉持以数形结合的方式来介绍每个算法模型,即先通过图示直观地来介绍模型的整体思想和原理,再通过实际的数学计算过程或代码来刻画其中的细节和模糊之处,做到真正“数 形”的结合,让各位读者能够真正地做到看得懂、学得会、写得出。为了将各个算法的建模原理表述清楚,本书使用超过400余幅示意插图。
內容簡介:
本书以深度学习入门内容为主线,通过数形结合的方式来渐进式引导读者进行学习,力争使各位读者对于每个算法原理不仅要做到知其然更要做到知其所以然。同时,本书采用了深度学习中较为流行且简单易学的PyTorch框架来进行示例,以便让各位读者在学习各个算法的原理过程中也能够掌握其实际的用法。
本书共10章,分为深度学习领域发展和开发环境配置、深度学习基础和深度学习技术在自然语言处理领域方面的应用三部分内容。第一部分内容(第1~2章)详细介绍了深度学习的起源和发展阶段及深度学习环境的安装配置。第二部分内容(第3~8章)介绍了深度学习入门的基础内容,包括线性回归、梯度下降与反向传播、卷积神经网络、循环神经网络和模型的优化等方面的内容。第三部分(第9~10章)详细介绍了自然语言处理领域的重要概念和技术发展路线,包括Seq2Seq、注意力机制、Transformer和GPT等目前主流的算法模型。
本书图例丰富,原理与代码讲解通俗易懂,既可作为高等院校和培训机构相关专业的教学参考书,也可作为对深度学习领域感兴趣的工程师和研究人员使用。
關於作者:
王成,华东交通大学计算机应用技术硕士毕业,机器学习领域CSDN与知乎专栏常驻作者,浦发银行创新研究中心自然语言处理工程师,自媒体创作者。专注于机器学习、深度学习技术原理分享,写作八年累积数百万字手稿,出版了《跟我一起学机器学习》,并著有This Post Is All You Need等电子读物。
黄晓辉,毕业于哈尔滨工业大学计算机软件与理论博士毕业,华东交通大学信息工程学院教授、博士研究生导师,南洋理工大学计算机科学与工程学院访问学者,赣鄱俊才支持计划高校领军人才(青年领军人才),江西省杰出青年基金获得者,获得江西省自然科学二等奖(排名第一)。长期从事深度学习、机器学习相关领域的研究工作,主持多项国家级和省级课题,并获得多项发明专利。
目錄
第1章深度学习简介
1.1深度学习的发展阶段
1.1.1早期理论的发展
1.1.2人工智能的萌芽
1.1.3反向传播算法的发展
1.1.4卷积神经网络的发展
1.1.5循环神经网络的发展
1.1.6自然语言处理的发展
1.2深度学习中的关键人物
1.3深度学习框架介绍
1.3.1深度学习框架的出现
1.3.2深度学习框架的历史
1.4本书的体系结构
1.4.1面向的读者
1.4.2内容与结构
1.4.3代码及资源
第2章环境配置
2.1体系结构介绍
2.1.1基础软硬件设施
2.1.2版本依赖关系
2.1.3Conda工具介绍
2.1.4安装源介绍
2.1.5小结
2.2深度学习环境安装
2.2.1在Windows环境下
2.2.2在Linux环境下
2.2.3实战示例
2.2.4GPU租用
2.2.5小结
2.3开发环境安装配置
2.3.1Jupyter Notebook安装与使用
2.3.2PyCharm安装与使用
2.3.3远程连接使用
2.3.4小结
第3章深度学习基础
3.1线性回归
3.1.1理解线性回归模型
3.1.2建立线性回归模型
3.1.3求解线性回归模型
3.1.4多项式回归建模
3.1.5从特征输入到特征提取
3.1.6从线性输入到非线性变换
3.1.7单层神经网络
3.1.8深度神经网络
3.1.9小结
3.2线性回归的简捷实现
3.2.1PyTorch使用介绍
3.2.2房价预测实现
3.2.3梯形面积预测实现
3.2.4小结
3.3梯度下降与反向传播
3.3.1梯度下降引例
3.3.2方向导数与梯度
3.3.3梯度下降原理
3.3.4前向传播过程
3.3.5传统方式梯度求解
3.3.6反向传播过程
3.3.7梯度消失和梯度爆炸
3.3.8小结
3.4从零实现回归模型
3.4.1网络结构
3.4.2模型实现
3.4.3小结
3.5从逻辑回归到Softmax回归
3.5.1理解逻辑回归模型
3.5.2建立逻辑回归模型
3.5.3求解逻辑回归模型
3.5.4从二分类到多分类
3.5.5Softmax回归
3.5.6特征的意义
3.5.7从具体到抽象
3.5.8从浅层到深层
3.5.9小结
3.6Softmax回归的简捷实现
3.6.1PyTorch使用介绍
3.6.2手写体分类实现
3.6.3小结
3.7从零实现分类模型
3.7.1网络结构
3.7.2模型实现
3.7.3小结
3.8回归模型评估指标
3.8.1常见回归评估指标
3.8.2回归指标示例代码
3.8.3小结
3.9分类模型评估指标
3.9.1准确率
3.9.2精确率与召回率计算
3.9.3准确率与召回率的区别
3.9.4多分类下的指标计算
3.9.5TopK准确率
3.9.6小结
3.10过拟合与正则化
3.10.1模型拟合
3.10.2过拟合与欠拟合概念
3.10.3解决欠拟合与过拟合问题
3.10.4泛化误差的来源
3.10.5测试集导致的泛化误差
3.10.6训练集导致的泛化误差
3.10.72正则化原理
3.10.82正则化中的参数更新
3.10.92正则化示例代码
3.10.101正则化原理
3.10.111与2正则化差异
3.10.12丢弃法
3.10.13小结
3.11超参数与交叉验证
3.11.1超参数介绍
3.11.2模型选择
3.11.3基于交叉验证的手写体分类
3.11.4小结
3.12激活函数
3.12.1Sigmoid激活函数
3.12.2Tanh激活函数
3.12.3ReLU激活函数
3.12.4LeakyReLU激活函数
3.12.5小结
3.13多标签分类
3.13.1Sigmoid损失
3.13.2交叉熵损失
3.13.3不考虑部分正确的评估指标
3.13.4考虑部分正确的评估指标
3.13.5小结
第4章卷积神经网络
4.1卷积的概念
4.1.1深度学习的思想
4.1.2卷积操作的作用
4.1.3卷积操作的原理
4.1.4小结
4.2卷积的计算过程
4.2.1多卷积核
4.2.2卷积的计算过程
4.2.3深度卷积
4.2.4小结
4.3填充和池化
4.3.1填充操作
4.3.2形状计算
4.3.3卷积示例代码
4.3.4池化操作
4.3.5池化的作用
4.3.6池化示例代码
4.3.7小结
4.4LeNet5网络
4.4.1LeNet5动机
4.4.2LeNet5结构
4.4.3LeNet5实现
4.4.4小结
4.5AlexNet网络
4.5.1AlexNet动机
4.5.2AlexNet结构
4.5.3AlexNet实现
4.5.4小结
4.6VGG网络
4.6.1VGG动机
4.6.2VGG结构
4.6.3VGG实现
4.6.4小结
4.7NIN网络
4.7.1NIN动机
4.7.2NIN结构
4.7.3NIN实现
4.7.4小结
4.8GoogLeNet网络
4.8.1GoogLeNet动机
4.8.2GoogLeNet结构
4.8.3GoogLeNet实现
4.8.4小结
4.9ResNet网络
4.9.1ResNet动机
4.9.2ResNet结构
4.9.3ResNet实现
4.9.4小结
4.10DenseNet网络
4.10.1DenseNet动机
4.10.2DenseNet结构
4.10.3DenseNet实现
4.10.4小结
第5章模型训练与复用
5.1参数及日志管理
5.1.1参数传递
5.1.2参数载入
5.1.3定义日志函数
5.1.4日志输出示例
5.1.5打印模型参数
5.1.6小结
5.2TensorBoard可视化
5.2.1安装与启动
5.2.2连接与访问
5.2.3TensorBoard使用场景
5.2.4使用实例
5.2.5小结
5.3模型的保存与复用
5.3.1查看模型参数
5.3.2自定义参数前缀
5.3.3保存训练模型
5.3.4复用模型推理
5.3.5复用模型训练
5.3.6小结
5.4模型的迁移学习
5.4.1迁移学习
5.4.2模型定义与比较
5.4.3参数微调
5.4.4参数冻结
5.4.5小结
5.5开源模型复用
5.5.1ResNet结构介绍
5.5.2迁移模型构造
5.5.3结果对比
5.5.4小结
5.6多GPU训练
5.6.1训练方式
5.6.2数据并行
5.6.3使用示例
5.6.4小结
5.7数据预处理缓存
5.7.1修饰器介绍
5.7.2修饰器定义
5.7.3定义数据集构造类
5.7.4定义缓存修饰器
5.7.5小结
第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.3批归一化
6.3.1批归一化动机
6.3.2批归一化原理
6.3.3批归一化实现
6.3.4小结
6.4层归一化
6.4.1层归一化动机
6.4.2层归一化原理
6.4.3层归一化实现
6.4.4小结
6.5组归一化
6.5.1组归一化动机
6.5.2组归一化原理
6.5.3组归一化实现
6.5.4小结
6.6动量法
6.6.1动量法动机
6.6.2动量法原理
6.6.3使用示例
6.6.4小结
6.7AdaGrad算法
6.7.1AdaGrad动机
6.7.2AdaGrad原理
6.7.3使用示例
6.7.4小结
6.8AdaDelta算法
6.8.1AdaDelta动机
6.8.2AdaDelta原理
6.8.3使用示例
6.8.4小结
6.9Adam算法
6.9.1Adam动机
6.9.2Adam原理
6.9.3使用示例
6.9.4小结
6.10初始化方法
6.10.1初始化动机
6.10.2初始化原理
6.10.3使用示例
6.10.4小结
第7章循环神经网络
7.1RNN
7.1.1RNN动机
7.1.2RNN原理
7.1.3RNN计算示例
7.1.4RNN类型
7.1.5多层RNN
7.1.6RNN示例代码
7.1.7BPTT原理
7.1.8小结
7.2时序数据
7.2.1时序图片
7.2.2基于RNN的图片分类
7.2.3时序文本
7.2.4基于RNN的文本分类
7.2.5小结
7.3LSTM网络
7.3.1LSTM动机
7.3.2LSTM结构
7.3.3LSTM实现
7.3.4LSTM梯度分析
7.3.5小结
7.4GRU网络
7.4.1GRU动机
7.4.2GRU结构
7.4.3GRU实现
7.4.4GRU与LSTM对比
7.4.5类RNN模型
7.4.6小结
7.5BiRNN网络
7.5.1BiRNN动机
7.5.2BiRNN结构
7.5.3BiRNN实现
7.5.4小结
7.6CharRNN网络
7.6.1任务构造原理
7.6.2数据预处理
7.6.3古诗生成任务
7.6.4小结
第8章时序与模型融合
8.1TextCNN
8.1.1TextCNN结构
8.1.2文本分词
8.1.3TextCNN实现
8.1.4小结
8.2TextRNN
8.2.1TextRNN结构
8.2.2TextRNN实现
8.2.3小结
8.3CNNRNN
8.3.1CLSTM结构
8.3.2CLSTM实现
8.3.3BiLSTMCNN结构
8.3.4BiLSTMCNN实现
8.3.5小结
8.4ConvLSTM网络
8.4.1ConvLSTM动机
8.4.2ConvLSTM结构
8.4.3ConvLSTM实现
8.4.4KTH数据集构建
8.4.5KTH动作识别任务
8.4.6小结
8.53DCNN
8.5.13DCNN动机
8.5.23DCNN结构
8.5.33DCNN实现
8.5.4小结
8.6STResNet
8.6.1STResNet动机
8.6.2任务背景
8.6.3STResNet结构
8.6.4数据集构建
8.6.5STResNet实现
8.6.6小结
第9章自然语言处理
9.1自然语言处理介绍
9.1.1语言模型
9.1.2基于规则的语言模型
9.1.3基于统计的语言模型
9.1.4基于神经网络的语言模型
9.1.5小结
9.2Word2Vec词向量
9.2.1Word2Vec动机
9.2.2Word2Vec模型
9.2.3连续词袋模型
9.2.4跳元模型
9.2.5小结
9.3Word2Vec训练与使用
9.3.1近似训练
9.3.2载入预训练词向量
9.3.3可视化与类别计算
9.3.4词向量训练
9.3.5小结
9.4GloVe词向量
9.4.1GloVe动机
9.4.2共现矩阵
9.4.3GloVe原理
9.4.4GloVe词向量使用
9.4.5小结
9.5词向量的微调使用
9.5.1词嵌入层介绍
9.5.2词嵌入层使用
9.5.3多通道TextCNN网络
9.5.4小结
9.6fastText网络
9.6.1fastText动机
9.6.2fastText原理
9.6.3fastText库介绍
9.6.4词向量的使用与训练
9.6.5fastText文本分类
9.6.6小结
9.7Seq2Seq网络
9.7.1Seq2Seq动机
9.7.2Seq2Seq结构
9.7.3搜索策略
9.7.4小结
9.8序列模型评价指标
9.8.1困惑度
9.8.2双语评估辅助
9.8.3小结
9.9NMT网络
9.9.1谷歌翻译简介
9.9.2统计翻译模型弊端
9.9.3NMT数据集构建
9.9.4Seq2Seq实现
9.9.5NMT模型实现
9.9.6NMT推理实现
9.9.7NMT模型训练
9.9.8小结
9.10注意力机制
9.10.1注意力的起源
9.10.2注意力机制思想
9.10.3注意力计算框架
9.10.4填充注意力掩码
9.10.5Bahdanau注意力
9.10.6Luong注意力
9.10.7小结
9.11含注意力的NMT网络
9.11.1含注意力的NMT结构
9.11.2含注意力的NMT实现
9.11.3模型训练
9.11.4小结
9.12含注意力的RNN
9.12.1含注意力的RNN结构
9.12.2含注意力的RNN实现
9.12.3小结
第10章现代神经网络
10.1ELMo网络
10.1.1ELMo动机
10.1.2ELMo结构
10.1.3ELMo实现
10.1.4ELMo迁移
10.1.5小结
10.2Transformer网络
10.2.1Transformer动机
10.2.2自注意力机制
10.2.3多头注意力机制
10.2.4输入编码
10.2.5小结
10.3Transformer结构
10.3.1单层Transformer结构
10.3.2多层Transformer结构
10.3.3多头注意力实现
10.3.4小结
10.4Transformer实现
10.4.1嵌入层实现
10.4.2编码器实现
10.4.3解码器实现
10.4.4Transformer网络实现
10.4.5小结
10.5Transformer对联模型
10.5.1数据预处理
10.5.2网络结构
10.5.3模型训练
10.5.4模型推理
10.5.5小结
10.6BERT网络
10.6.1BERT动机
10.6.2BERT结构
10.6.3BERT输入层
10.6.4预训练任务
10.6.5小结
10.7从零实现BERT
10.7.1工程结构
10.7.2Input Embedding实现
10.7.3BERT网络实现
10.7.4小结
10.8BERT文本分类模型
10.8.1任务构造原理
10.8.2数据预处理
10.8.3加载预训练模型
10.8.4文本分类
10.8.5小结
10.9BERT问题选择模型
10.9.1任务构造原理
10.9.2数据预处理
10.9.3问题选择
10.9.4小结
10.10BERT问题回答模型
10.10.1任务构造原理
10.10.2样本构造与结果筛选
10.10.3数据预处理
10.10.4问题回答
10.10.5小结
10.11BERT命名体识别模型
10.11.1任务构造原理
10.11.2数据预处理
10.11.3命名体识别
10.11.4小结
10.12BERT从零训练
10.12.1构建流程与格式化
10.12.2数据预处理
10.12.3预训练任务实现
10.12.4模型训练与微调
10.12.5小结
10.13GPT1模型
10.13.1GPT1动机
10.13.2GPT1结构
10.13.3GPT1实现
10.13.4小结
10.14GPT2与GPT3模型
10.14.1GPT2动机
10.14.2GPT2结构
10.14.3GPT2使用
10.14.4GPT3结构
10.14.5GPT3的局限性与安全性
10.14.6小结
10.15基于GPT2的中文预训练模型
10.15.1项目介绍
10.15.2生成结果筛选
10.15.3模型推理
10.15.4模型训练
10.15.5小结
10.16InstructGPT与ChatGPT
10.16.1InstructGPT动机
10.16.2人类反馈强化学习
10.16.3InstructGPT原理
10.16.4InstructGPT评估及结果
10.16.5InstructGPT数据集
10.16.6InstructGPT局限性
10.16.7ChatGPT
10.16.8小结
10.17ChatGPT与提示词工程
10.17.1提示词工程
10.17.2提示词的构成
10.17.3简单提示词
10.17.4少样本提示词
10.17.5情境化提示词
10.17.6定制化
10.17.7场景应用
10.17.8ChatGPT的攻击与防御
10.17.9小结
10.18百川大模型使用
10.18.1模型简介
10.18.2项目介绍
10.18.3模型结构
10.18.4模型推理
10.18.5模型微调
10.18.6小结
10.19百川大模型实现
10.19.1解码缓存原理
10.19.2解码层实现
10.19.3语言模型实现
10.19.4模型微调实现
10.19.5模型推理实现
10.19.6模型解码过程
10.19.7小结
10.20GPT4与GPT的使用
10.20.1GPT4介绍
10.20.2GPT4模型的使用
10.20.3GPT介绍
10.20.4小结
参考文献
內容試閱
作为《跟我一起学机器学习》的姊妹篇,两年之后《跟我一起学深度学习》一书也终于出版了。北宋大家张载有言: “为天地立心,为生民立命,为往圣继绝学,为万世开太平。”这两部著作虽然没有这样的宏伟愿景,但在它们的编写过程中我们自始至终都秉持着“为往圣继绝学”的想法在进行。
作为机器学习方向的一个重要分支,深度学习在近年来的发展可谓大放异彩。随着深度学习技术的不断发展,与之相关的技术应用已经深入渗透到了我们日常生活的方方面面,从医疗保健、金融服务到零售,以及从交通再到智能助理、智能家居等,尤其是在以GPT为代表的大语言模型出现以后,深度学习技术的影子更是无处不在。如今,利用ChatGPT来作为日常生产力工具更是成为一种共识。例如在本书的成文过程中ChatGPT就为我们提供了不少的灵感和启示,部分内容也是在ChatGPT的辅助下完成的,而这在10年乃至5年前都是难以想象的。也正因如此,对于这些热门应用背后技术的探索便逐渐成为计算机行业及高校所追捧的对象,但对于绝大多数初学者来讲,想要跨入深度学习这一领域依旧存在着较高的门槛,所以一本“数 形”结合、动机原理并重、细致考究的入门图书就显得十分必要了。
尽管目前市面上已经存在着大量类似图书,但现有图书的不足之处在于往往太过高估了学生的学习能力。首先,这类图书往往都只是罗列了一堆名词概念、抽象晦涩的数学公式或是枯燥冗长的代码,而这对于初学者或是数学基础比较薄弱的学生来讲是极为糟糕的,作为过来人我们对此深有体会; 其次,这类图书在介绍各个算法时仅仅做到了知其然而不知其所以然,并没有介绍每个算法模型出现的背景和动机,仿佛它们都是一个个从天而降的独立个体,彼此之间毫无前因后果的联系; 最后,对于算法原理或实现的细节之处并没有充分把握,往往会一笔带过,而这就导致了初学者总有一种似是而非、朦朦胧胧的感觉。
“数无形时少直觉,形少数时难入微,数形结合百般好”,这是本书在编写过程中所遵循的第一大原则。在学习深度学习相关内容的过程中,如果只看论文,则只能了解到算法模型的整体思想而无法精确刻画其中的细节之处; 如果只看代码,则会发现均是各种矩阵之间的四则运算,并不知道其中的含义。因此,本书在写作之初就始终秉持着要以“数 形”结合的方式来介绍每个算法模型,即先通过图示直观地来介绍模型的整体思想和原理,再通过实际的数学计算过程或代码来刻画其中的细节和模糊之处。用图形去形像化,用代码去唯一化,真正做到“数 形”结合,让各位读者能够真正地做到看得懂、学得会、写得出。为了将各个算法的建模原理表述清楚,本书使用了近400幅示意插图。

为了直观地感受卷积操作的计算过程,我们绘制了全部4种情况下的卷积计算示意图; 为了厘清GoogLeNet中各个网络层的参数及输出信息,我们重新绘制了更加详细的网络结构图并全方位地进行了标记; 为了讲清楚多头注意力中“多头”的概念,我们完整绘制了整个注意力机制的计算流程图; 为了讲清楚BERT模型的预训练任务和4大经典下游任务的构建原理,我们对于每个任务模型和数据集构建流程都进行了图例绘制; 为了介绍百川大模型内部的原理机制,我们又根据官方开源的代码绘制了其网络结构图,以便读者从第一眼就能把握其整体的技术架构; 为了讲清楚大模型对话场景中的KeyValue缓存机制,我们根据Transformers框架中的实现代码绘制了对应原理图。这样的图示还有很多,因为我们始终相信,能够用眼睛看到的一定是最直观、最容易理解的。
“知其然,更要知其所以然”,这是本书在编写过程中所遵循的第二大原则。任何一个算法的提出都不会是凭空捏造或无中生有的,它要么是为了解决新场景下的问题,要么是为了对已有算法模型进行改进,因此明白一个算法模型背后的动机就显得格外重要了。一方面我们能更好地理解作者的想法及与其他算法模型之间的联系; 另一方面也可以学习如何去讲好一个故事,所以我们不仅需要知道一项技术的原理,还需要知道为什么出现了这种技术、它的动机是什么、它需要解决什么样的问题等。这样才更有利于我们了解整个技术的发展脉络并形成一个合理的思考方向。
因此,本书在行文过程中对于每个算法模型的介绍都遵循了“动机 原理”的方式进行,即先梳理其提出时的背景动机,然后介绍其具体的实现原理,而不是直愣愣地开始就某个算法模型进行介绍,以至于前后衔接生硬。这也将使各位读者不仅能学会一个算法的原理和使用方法,同时还能知道它所提出的契机,养成这样的思维习惯对于一些读者后续的论文写作也是百利而无一害的。
“如履薄冰,有理有据”,这是本书在编写过程中所遵循的第三大原则。在本书签订出版合同之初我们就预留了充分的时间,约定15个月交稿,计划12个月完稿,而实际上14个月就完成了,目的就是能在一个轻松的氛围下完成写作。不过如果再算上之前在理解Transformer(2021年3—8月)和BERT(2021年8月—2022年4月)这两个模型所花费的13个月时间,整本书总共历经了27个月,所以我们也时常告诫自己切莫心急浮躁、切莫急功近利、切莫误人子弟,要为我们写下的每一句话、每个字负责。同时,在本书的编写过程中对于每个重要细节的把握我们也会进行多方求证,力争在理解上不会出现太大偏差。对于同一个模型的实现过程我们通常会参考不同框架中的实现源码,例如参考TensorFlow、PyTorch、Transformers及论文作者的实现等,然后根据这些代码整理出一份保留核心逻辑且适合初学者学习的示例代码。
例如在介绍BERT模型的实现过程时,先后阅读了GoogleResearch、PyTorch和Transformers框架中的相关实现过程; 为了弄清楚fastText模型中关于中文Ngram的构建方式,我们在官方开源项目的dictionary.cc文件中找到了佐证; 为了画出ELMo模型的真实结构图,我们在官方的Allennlp库中见到了答案; 为了弄清楚大语言模型对话场景中模型在推理时的具体解码过程,我们历经几番周折终于在Transformer库的generation/utils.py模块中找到了示例,甚至就连GPT这个简称的来历我们也都细致地进行了考究,而这些本可以一笔带过。
对于GPT这个简称的来历,它到底应该是Generative PreTraining的缩写,还是Generative Pretraining Transformer的缩写,我们也曾反复思考过很多次。此时有读者可能会说: 这还用想?当然是后者,因为GPT用到的是Transformer中解码器的部分。可当时我们并不这样认为。首先GPT表示生成式预训练模型Generative PreTraining也并无不可,因为它的确是第1个大规模语料下的生成式预训练模型; 其次GPT1的论文中并没有明确交代T的代指,甚至全文中根本没有出现GPT这一缩写,反而从标题Improving Language Understanding by Generative PreTraining来看它更符合是Generative PreTraining的缩写; 最后,我们检索OpenAI 官网的所有论文和内容后,仍没有明确发现GPT的来由,但对于这件事的疑惑并没有停止。在我们写作GPT2的相关内容时意外发现了论文的第二作者 Jeffrey Wu 的 GitHub账户。在浏览他的所有项目时我们意外发现了一个名为minGPT的工程,其简介中赫然写到一句描述: A minimal PyTorch reimplementation of the OpenAI GPT(Generative Pretrained Transformer)training,到这里总算是找到了官方对于GPT简称的认证。
当然,上面提到的细节之处本书中还有很多,读者可以在阅读学习的过程中自行慢慢体会。本书的目的只有一个,那就是所有的坑都让我们先来踩,所有的错都先让我们来犯,各位读者只需跟随本书的足迹一步一步踏入深度学习的大门。不过遗憾的是,这本书也只能刚好带领各位读者进入深度学习的大门,至于怎么将这些技术用得更好、用得更出色还需要各位读者在实际使用中进行反复锤炼。
扫描目录上方的二维码可下载本书配套资源。
致谢
首先感谢清华大学出版社赵佳霓编辑的耐心指点,以及对本书出版的推动。其次感谢在本书中所引用文献的作者,没有你们的付出也不会有本书的出版。如果说我们看得比别人更远一些,那只是因为我们站在了巨人的肩膀上。在本书的写作过程中从《动手学深度学习》《神经网络与深度学习》,以及斯坦福大学的CS224N和CS231N中获得了不少灵感,在此特意向李沐老师和邱锡鹏老师及相关作者表示感谢,感谢这些深度学习领域中的巨人。同时我们也要感谢我们的家人在身后默默地支持我们。最后要感谢我自己,感谢那个曾经无数次想要放弃但依旧坚持下来的自己。
写好一本书不容易,写好一本能让初学者读懂且有所裨益的书更不容易。由于我们才学和资历尚浅,书中难免存在着这样或那样目前尚未发现的错误,因此还请各位读者海涵与见谅。同时,也欢迎各位同行前辈对本拙作不吝指教。在今后的岁月里,我们也将不遗余力地持续去打磨这两本书中的内容,力争以最直观、最简洁和最有新意的语言将各个算法的原理与实现呈现在各位读者面前,继续秉持着“为往圣继绝学”的初心。

王成
2024年12月于上海

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 台灣用户 | 香港/海外用户
megBook.com.tw
Copyright (C) 2013 - 2025 (香港)大書城有限公司 All Rights Reserved.