新書推薦:
《
组队:超级个体时代的协作方式
》
售價:NT$
352.0
《
第十三位陪审员
》
售價:NT$
245.0
《
微观经济学(第三版)【2024诺贝尔经济学奖获奖者作品】
》
售價:NT$
709.0
《
Python贝叶斯深度学习
》
售價:NT$
407.0
《
文本的密码:社会语境中的宋代文学
》
售價:NT$
306.0
《
启微·狂骉年代:西洋赛马在中国
》
售價:NT$
357.0
《
有趣的中国古建筑
》
售價:NT$
305.0
《
十一年夏至
》
售價:NT$
347.0
|
編輯推薦: |
轻松上手:循序渐进,引导你亲手训练和理解BERT模型
以简驭繁:示意图丰富,逐步拆解复杂原理,小白也能看懂
运用自如:呈现多种下游任务,凝聚实战经验,助你灵活运用
详细系统:详细讲解十余种BERT变体的原理,配套大量示例和习题
|
內容簡介: |
本书聚焦谷歌公司开发的BERT自然语言处理模型,由浅入深地介绍了BERT的工作原理、BERT的各种变体及其应用。本书呈现了大量示意图、代码和实例,详细解析了如何训练BERT模型、如何使用BERT模型执行自然语言推理任务、文本摘要任务、问答任务、命名实体识别任务等各种下游任务,以及如何将BERT模型应用于多种语言。通读本书后,读者不仅能够全面了解有关BERT的各种概念、术语和原理,还能够使用BERT模型及其变体执行各种自然语言处理任务。
|
關於作者: |
【作者简介】 苏达哈尔桑·拉维昌迪兰(Sudharsan Ravichandiran) 热爱开源社区的数据科学家,研究方向为深度学习和强化学习的实际应用,在自然语言处理和计算机视觉等领域都颇有建树,另著有《Python强化学习实战》。 【译者简介】 周参 就职于谷歌,任软件工程师,研究方向为自然语言处理。工作之余的兴趣是研究人工智能领域机器学习方向以及新的模型算法,并将多种深度学习模型应用于实际问题中。
|
目錄:
|
第 一部分 开始使用BERT
第 1 章 Transformer 概览 2
1.1 Transformer 简介 2
1.2 理解编码器 3
1.2.1 自注意力机制 5
1.2.2 多头注意力层 14
1.2.3 通过位置编码来学习位置 16
1.2.4 前馈网络层 19
1.2.5 叠加和归一组件 19
1.2.6 编码器总览 20
1.3 理解解码器 21
1.3.1 带掩码的多头注意力层 25
1.3.2 多头注意力层 30
1.3.3 前馈网络层 34
1.3.4 叠加和归一组件 34
1.3.5 线性层和softmax 层 35
1.3.6 解码器总览 36
1.4 整合编码器和解码器 38
1.5 训练Transformer 39
1.6 小结 39
1.7 习题 40
1.8 深入阅读 40
第 2章 了解BERT 模型 41
2.1 BERT 的基本理念 41
2.2 BERT 的工作原理 43
2.3 BERT 的配置 45
2.3.1 BERT-base 46
2.3.2 BERT-large 46
2.3.3 BERT 的其他配置 47
2.4 BERT 模型预训练 48
2.4.1 输入数据 49
2.4.2 预训练策略 53
2.4.3 预训练过程 61
2.5 子词词元化算法 63
2.5.1 字节对编码 64
2.5.2 字节级字节对编码 69
2.5.3 WordPiece 69
2.6 小结 71
2.7 习题 72
2.8 深入阅读 72
第3章 BERT实战 73
3.1 预训练的BERT模型 73
3.2 从预训练的BERT模型中提取嵌入 74
3.2.1 Hugging Face的Transformers 库 77
3.2.2 BERT 嵌入的生成 77
3.3 从BERT 的所有编码器层中提取嵌入 81
3.4 针对下游任务进行微调 .85
3.4.1 文本分类任务 86
3.4.2 自然语言推理任务 91
3.4.3 问答任务 93
3.4.4 命名实体识别任务 97
3.5 小结 98
3.6 习题 99
3.7 深入阅读 99
第二部分 探索BERT 变体
第4章 BERT 变体(上):ALBERT、RoBERTa、ELECTRA和SpanBERT 102
4.1 BERT 的精简版ALBERT 103
4.1.1 跨层参数共享 103
4.1.2 嵌入层参数因子分解 104
4.1.3 训练ALBERT 模型 105
4.1.4 对比ALBERT与BERT 106
4.2 从ALBERT 中提取嵌入 107
4.3 了解RoBERTa 108
4.3.1 使用动态掩码而不是静态掩码 108
4.3.2 移除下句预测任务 110
4.3.3 用更多的数据集进行训练 111
4.3.4 以大批量的方式进行训练 111
4.3.5 使用字节级字节对编码作为子词词元化算法 111
4.4 了解ELECTRA 114
4.4.1 了解替换标记检测任务 114
4.4.2 ELECTRA 的生成器和判别器 117
4.4.3 训练ELECTRA 模型 120
4.4.4 高效的训练方法 121
4.5 用SpanBERT 预测文本段 122
4.5.1 了解SpanBERT 的架构 122
4.5.2 深入了解SpanBERT 124
4.5.3 将预训练的SpanBERT用于问答任务 125
4.6 小结 126
4.7 习题 127
4.8 深入阅读 127
第5章 BERT 变体(下):基于知识蒸馏 128
5.1 知识蒸馏简介 129
5.2 DistilBERT 模型——BERT模型的知识蒸馏版本 134
5.2.1 教师 学生架构 134
5.2.2 训练学生BERT 模型(DistilBERT 模型) 136
5.3 TinyBERT 模型简介 138
5.3.1 教师 学生架构 139
5.3.2 TinyBERT 模型的蒸馏 140
5.3.3 最终损失函数 145
5.3.4 训练学生BERT模型(TinyBERT 模型) 145
5.4 将知识从BERT 模型迁移到神经网络中 149
5.4.1 教师 学生架构 149
5.4.2 训练学生网络 151
5.4.3 数据增强方法 151
5.5 小结 153
5.6 习题 153
5.7 深入阅读 154
第三部分 BERT 模型的应用
第6章 用于文本摘要任务的BERTSUM 模型 156
6.1 文本摘要任务 156
6.1.1 提取式摘要任务 157
6.1.2 抽象式摘要任务 158
6.2 为文本摘要任务微调BERT模型 158
6.2.1 使用BERT模型执行提取式摘要任务 158
6.2.2 使用BERT 模型执行抽象式摘要任务 167
6.3 理解ROUGE 评估指标 169
6.3.1 理解ROUGE-N 指标 169
6.3.2 理解ROUGE-L 指标 171
6.4 BERTSUM 模型的性能 172
6.5 训练BERTSUM 模型 172
6.6 小结 174
6.7 习题 174
6.8 深入阅读 175
第7章 将BERT 模型应用于其他语言 176
7.1 理解多语言BERT 模型 177
7.2 M-BERT 模型的多语言表现 182
7.2.1 词汇重叠的影响 182
7.2.2 跨文本书写的通用性 183
7.2.3 跨类型特征的通用性 184
7.2.4 语言相似性的影响 184
7.2.5 语码混用和音译的影响 185
7.3 跨语言模型 187
7.3.1 预训练策略 188
7.3.2 预训练XLM模型 190
7.3.3 对XLM模型的评估 191
7.4 理解XLM-R模型 192
7.5 特定语言的BERT模型 194
7.5.1 法语的FlauBERT模型 194
7.5.2 西班牙语的BETO模型 196
7.5.3 荷兰语的BERTje模型 198
7.5.4 德语的BERT模型 199
7.5.5 汉语的BERT模型 200
7.5.6 日语的BERT模型 202
7.5.7 芬兰语的FinBERT模型 202
7.5.8 意大利语的UmBERTo模型 203
7.5.9 葡萄牙语的BERTimbau模型 204
7.5.10 俄语的RuBERT 模型 204
7.6 小结 206
7.7 习题 206
7.8 深入阅读 207
第8章 Sentence-BERT模型和特定领域的BERT 模型 208
8.1 用Sentence-BERT模型生成句子特征 208
8.1.1 计算句子特征 209
8.1.2 了解Sentence-BERT模型 211
8.2 sentence-transformers库 217
8.2.1 使用Sentence-BERT计算句子特征 217
8.2.2 计算句子的相似度 218
8.2.3 加载自定义模型 219
8.2.4 用Sentence-BERT模型寻找类似句子 220
8.3 通过知识蒸馏迁移多语言嵌入 221
8.3.1 教师 学生架构 223
8.3.2 使用多语言模型 224
8.4 特定领域的BERT模型:ClinicalBERT模型和BioBERT模型 225
8.4.1 ClinicalBERT模型 225
8.4.2 BioBERT模型 229
8.5 小结 232
8.6 习题 233
8.7 深入阅读 233
第9 章 VideoBERT模型和BART模型 234
9.1 VideoBERT模型学习语言及视频特征 235
9.1.1 预训练VideoBERT模型 235
9.1.2 数据源和预处理 239
9.1.3 VideoBERT模型的应用 240
9.2 了解BART模型 241
9.2.1 BART模型的架构 241
9.2.2 比较不同的预训练目标 245
9.2.3 使用BART 模型执行文本摘要任务 245
9.3 探讨BERT库 246
9.3.1 ktrain库 247
9.3.2 bert-as-service库 255
9.4 小结 258
9.5 习题 259
9.6 深入阅读 259
习题参考答案 260
|
|