![]() ![]() |
神经机器翻译:基础、原理、实践与进阶 读者对象:本书适合高等院校计算机专业高年级本科生,以及人工智能、自然语言处理方向的研究生阅读。
本书旨在对现阶段的神经机器翻译技术和开放问题进行介绍,力求以通俗易懂的语言向读者系统化展现神经机器翻译的内涵和外延。本书内容主要包括三部分:基础篇主要介绍神经机器翻译的基本原理,发展脉络、核心技术及若干改进方法,本篇也提供了必要的神经网络和自然语言处理基础知识;实践篇旨在激发读者更多的实战兴趣,将神经机器翻译基本技术转为璀璨的场景应用,内容包括如何训练一个神经机器翻译系统、如何在不同计算环境下部署神经机器翻译以及如何动手实现一个神经机器翻译系统;进阶篇则主要为有兴趣进一步探索和推动神经机器翻译技术发展的读者准备的,该篇概述了神经机器翻译面临的几个主要挑战、开放问题以及最新的研究进展,如篇章级神经机器翻译、低资源神经机器翻译、多模态和鲁棒性神经机器翻译等最新研究主题。
熊德意,天津大学智能与计算学部教授、博士生导师、自然语言处理实验室负责人,天津大学“语言智能与技术”中外联合研究中心主任,中译语通-天津大学自然语言处理联合实验室主任、中译语通人工智能首席科学家。主要研究方向为自然语言处理,特别专注于机器翻译、对话、问答、自然语言生成、常识推理、认知计算等方向的研究。在Computational Linguistics、IEEE TPAMI、AI、AAAI、ACL等国际著名期刊和会议上发表论文100余篇,在Springer出版英文专著一部。获得国家自然科学基金优秀青年科学基金、国家重点研发计划“政府间国际科技合作创新合作”重点专项、英国皇家学会牛顿高级学者基金等资助。获得新加坡资讯通信研究院2008年年度研究贡献奖、北京市科学技术奖二等奖、中文信息学会“钱伟长中文信息处理科学技术奖-汉王青年创新奖”一等奖等奖项。曾是亚洲自然语言处理联合会AFNLP干事、新加坡中文与东方语文信息处理学会理事会成员,目前是中国中文信息学会理事。担任IALP 2012&2021程序委员会共同主席,CWMT 2017程序委员会共同主席,欧盟多国联合项目QTLeap咨询专家,ACL、EMNLP、NAACL、COLING等多个知名国际会议领域主席,以及TACL和ARR的Action Editor等。李良友,华为诺亚方舟实验室研究员、机器翻译团队负责人。在欧盟玛丽居里项目资助下,于2017年获得都柏林城市大学计算机博士学位。主要研究方向为自然语言处理,特别专注于机器翻译相关技术领域的研发。在ACL、EMNLP等多个国际著名会议和期刊上发表论文10余篇,并担任ACL、EMNLP等国际会议领域主席和会议审稿人。 张 檬,华为诺亚方舟实验室研究员。于2018年获得清华大学计算机科学与技术系博士学位。主要研究方向为机器翻译和跨语言自然语言处理。在ACL、EMNLP、AAAI、TASLP等国际著名会议和期刊上发表论文10余篇。曾获中国中文信息学会优秀博士学位论文提名奖。担任ACL、EMNLP、AAAI、IJCAI等多个知名国际会议审稿人。
推荐序
前言 数学符号 第1 章绪论1 1.1 引言. . . . . . . . . . . . . . . . . . 2 1.2 基本思想. . . . . . . . . . . . . . 6 1.2.1 基于规则的机器翻译. . . 6 1.2.2 统计机器翻译. . . . . . . . 7 1.2.3 神经机器翻译. . . . . . . . 10 1.2.4 模型设计. . . . . . . . . . . 11 1.3 解码. . . . . . . . . . . . . . . . . . 12 1.3.1 统计机器翻译解码. . . . . 12 1.3.2 神经机器翻译解码. . . . . 16 1.3.3 搜索错误与模型错误. . . 16 1.4 神经机器翻译与统计机器翻译对比. . . . . . . . . . . . . . 18 1.4.1 表示. . . . . . . . . . . . . . 18 1.4.2 参数. . . . . . . . . . . . . . 20 1.4.3 模型存储. . . . . . . . . . . 21 1.4.4 模型假设或约束. . . . . . 21 1.4.5 端到端. . . . . . . . . . . . 22 1.4.6 译文生成. . . . . . . . . . . 22 1.4.7 训练方式. . . . . . . . . . . 23 1.4.8 鲁棒性. . . . . . . . . . . . 24 1.4.9 可解释性. . . . . . . . . . . 24 1.4.10 可干预性. . . . . . . . . . 25 1.4.11 低资源适应性. . . . . . . 25 1.4.12 对比总结. . . . . . . . . . 26 1.5 发展历史. . . . . . . . . . . . . . 26 1.5.1 机器翻译发展历史. . . . . 27 1.5.2 神经机器翻译发展历程. . 28 1.6 应用现状. . . . . . . . . . . . . . 29 1.6.1 维度1:通用领域vs. 垂直领域. . . . . . . . . . . . 29 1.6.2 维度2:多语种vs. 单语种30 1.6.3 维度3:云端vs. 终端. . 31 1.6.4 维度4:在线vs. 离线. . 31 1.6.5 维度5:B 端vs. C 端. . 31 1.6.6 维度6:纯文本vs. 多模态31 1.6.7 维度7:人机结合vs. 人机分离. . . . . . . . . . . . 31 1.6.8 维度8:机器翻译+ vs.纯机器翻译. . . . . . . . . 32 1.6.9 应用现状总结. . . . . . . . 32 1.7 本书组织. . . . . . . . . . . . . . 32 1.7.1 基础篇. . . . . . . . . . . . 32 1.7.2 原理篇. . . . . . . . . . . . 33 1.7.3 实践篇. . . . . . . . . . . . 34 1.7.4 进阶篇. . . . . . . . . . . . 34 1.8 阅读材料. . . . . . . . . . . . . . 34 1.9 短评:统计与规则的竞争. . 35 第I 部分基础篇 第2 章神经网络基础41 2.1 神经网络. . . . . . . . . . . . . . 42 2.1.1 神经元. . . . . . . . . . . . 42 2.1.2 激活函数. . . . . . . . . . . 45 2.1.3 神经元组织:层. . . . . . 46 2.2 神经网络训练. . . . . . . . . . . 48 2.2.1 损失函数. . . . . . . . . . . 49 2.2.2 随机梯度下降. . . . . . . . 52 2.2.3 计算图. . . . . . . . . . . . 56 2.2.4 训练优化. . . . . . . . . . . 57 2.2.5 正则化. . . . . . . . . . . . 59 2.3 常用神经网络简介. . . . . . . 61 2.3.1 前馈神经网络. . . . . . . . 61 2.3.2 卷积神经网络. . . . . . . . 62 2.3.3 循环神经网络. . . . . . . . 64 2.4 阅读材料. . . . . . . . . . . . . . 70 2.5 短评:神经网络与自然语言处理关系演变. . . . . . . . . 71 第3 章自然语言处理基础75 3.1 语言模型. . . . . . . . . . . . . . 76 3.1.1 n-gram 语言模型. . . . . 77 3.1.2 神经语言模型. . . . . . . . 78 3.1.3 预训练语言模型. . . . . . 80 3.2 词嵌入. . . . . . . . . . . . . . . . 82 3.2.1 分布表示与分布式表示. . 82 3.2.2 静态词嵌入. . . . . . . . . 84 3.2.3 语境化词嵌入. . . . . . . . 86 3.2.4 跨语言词嵌入. . . . . . . . 88 3.3 对齐. . . . . . . . . . . . . . . . . . 90 3.3.1 文档对齐. . . . . . . . . . . 91 3.3.2 句对齐. . . . . . . . . . . . 91 3.3.3 词对齐. . . . . . . . . . . . 92 3.4 语言分析. . . . . . . . . . . . . . 93 3.4.1 词法分析. . . . . . . . . . . 93 3.4.2 句法分析. . . . . . . . . . . 94 3.4.3 语义分析. . . . . . . . . . . 97 3.4.4 语篇分析. . . . . . . . . . . 98 3.5 阅读材料. . . . . . . . . . . . . . 99 3.6 短评:自然语言处理之经验主义与理性主义. . . . . . . 100 第II 部分原理篇 第4 章经典神经机器翻译105 4.1 编码器-解码器结构. . . . . . 106 4.1.1 编码器. . . . . . . . . . . . 108 4.1.2 解码器. . . . . . . . . . . . 110 4.2 序列到序列学习. . . . . . . . . 112 4.3 训练. . . . . . . . . . . . . . . . . . 114 4.4 解码. . . . . . . . . . . . . . . . . . 114 4.4.1 采样. . . . . . . . . . . . . . 115 4.4.2 贪心搜索. . . . . . . . . . . 115 4.4.3 柱搜索. . . . . . . . . . . . 115 4.5 阅读材料. . . . . . . . . . . . . . 116 4.6 短评:神经机器翻译之独立同发现——编码器-解 码器vs. 序列到序列. . . . . 117 第5 章基于注意力的神经机器翻译119 5.1 经典神经机器翻译模型的瓶颈. . . . . . . . . . . . . . . . . . 120 5.2 注意力机制. . . . . . . . . . . . 120 5.3 注意力机制的改进. . . . . . . 124 5.3.1 全局注意力机制和局部注意力机制. . . . . . . . . 124 5.3.2 注意力覆盖. . . . . . . . . 125 5.3.3 注意力引导训练. . . . . . 126 5.3.4 其他改进方法. . . . . . . . 126 5.4 基于注意力的多层神经机器翻译模型GNMT . . . . . . . 127 5.4.1 整体结构. . . . . . . . . . . 127 5.4.2 残差连接. . . . . . . . . . . 128 5.4.3 双向编码器. . . . . . . . . 128 5.4.4 模型并行. . . . . . . . . . . 128 5.5 阅读材料. . . . . . . . . . . . . . 128 5.6 短评:注意力机制与认知注意. . . . . . . . . . . . . . . . . . 129 第6 章基于卷积神经网络的神经机器翻译模型131 6.1 卷积编码器. . . . . . . . . . . . 132 6.2 全卷积序列到序列模型. . . . 133 6.2.1 位置编码. . . . . . . . . . . 134 6.2.2 卷积层结构. . . . . . . . . 134 6.2.3 多步注意力. . . . . . . . . 135 6.2.4 训练. . . . . . . . . . . . . . 136 6.3 ByteNet . . . . . . . . . . . . . . . 137 6.3.1 编码器--解码器堆叠. . . 137 6.3.2 动态展开. . . . . . . . . . . 138 6.3.3 空洞卷积. . . . . . . . . . . 139 6.3.4 字符级神经机器翻译. . . 139 6.4 阅读材料. . . . . . . . . . . . . . 139 6.5 短评:卷积神经机器翻译——实用性倒逼技术创新. . 140 第7 章基于自注意力的神经机器翻译142 7.1 自注意力机制. . . . . . . . . . . 143 7.2 Transformer 模型. . . . . . . . 144 7.2.1 Transformer 模型总体架构. . . . . . . . . . . . . . 144 7.2.2 多头注意力. . . . . . . . . 146 7.2.3 位置编码. . . . . . . . . . . 147 7.2.4 正则化. . . . . . . . . . . . 148 7.2.5 优点分析. . . . . . . . . . . 148 7.3 自注意力改进方法. . . . . . . 149 7.3.1 相对位置编码. . . . . . . . 149 7.3.2 平均注意力网络. . . . . . 151 7.4 阅读材料. . . . . . . . . . . . . . 152 7.5 短评:Transformer 带来的自然语言处理技术革新. . . . 153 第8 章神经机器翻译若干基础问题及解决方案155 8.1 开放词汇表. . . . . . . . . . . . 156 8.2 深度模型. . . . . . . . . . . . . . 160 8.3 快速解码. . . . . . . . . . . . . . 161 8.3.1 非自回归神经机器翻译. . 162 8.3.2 浅层解码器. . . . . . . . . 165 8.4 模型融合. . . . . . . . . . . . . . 165 8.5 领域适应. . . . . . . . . . . . . . 168 8.6 阅读材料. . . . . . . . . . . . . . 171 8.7 短评:再谈神经机器翻译新思想新技术的诞生. . . . . 172 第III 部分实践篇 第9 章数据准备175 9.1 平行语料. . . . . . . . . . . . . . 176 9.2 语料获取. . . . . . . . . . . . . . 178 9.2.1 平行语料爬取. . . . . . . . 179 9.2.2 公开数据集. . . . . . . . . 181 9.3 数据过滤与质量评估. . . . . 182 9.3.1 噪声类型. . . . . . . . . . . 182 9.3.2 噪声过滤. . . . . . . . . . . 184 9.4 数据处理. . . . . . . . . . . . . . 185 9.4.1 Tokenize . . . . . . . . . . . 185 9.4.2 子词化. . . . . . . . . . . . 186 9.5 阅读材料. . . . . . . . . . . . . . 187 谈数据对机器翻译的重要性. . . . . . . . . . . . 187 第10 章训练190 10.1 mini-batch 设置. . . . . . . . 191 10.1.1 小批量样本选择. . . . . . 191 10.1.2 小批量大小. . . . . . . . . 193 10.2 学习速率设置. . . . . . . . . . 194 10.3 随机梯度下降算法选择. . . 196 10.3.1 Momentum . . . . . . . . 196 10.3.2 AdaGrad . . . . . . . . . . . 197 10.3.3 AdaDelta . . . . . . . . . . 198 10.3.4 Adam . . . . . . . . . . . . 198 10.4 其他超参数选择. . . . . . . . . 199 10.4.1 参数初始化. . . . . . . . . 199 10.4.2 随机失活. . . . . . . . . . 200 10.4.3 模型容量. . . . . . . . . . 200 10.4.4 梯度裁剪. . . . . . . . . . 201 10.5 分布式训练. . . . . . . . . . . . 201 10.5.1 模型并行与数据并行. . . 202 10.5.2 同步更新与异步更新. . . 203 10.5.3 参数服务器与环状全规约204 10.5.4 分布式训练开源框架. . . 205 10.6 Transformer 训练设置. . . . 206 10.6.1 训练数据相关设置. . . . 206 10.6.2 模型容量. . . . . . . . . . 207 10.6.3 小批量大小. . . . . . . . . 207 10.6.4 学习速率. . . . . . . . . . 207 10.6.5 分布式训练. . . . . . . . . 208 10.7 阅读材料. . . . . . . . . . . . . . 208 10.8 短评:超参数设置——自动优化与实验可复现性. . . . 209 第11 章测试212 11.1 解码. . . . . . . . . . . . . . . . . . 213 11.1.1 解码算法. . . . . . . . . . 213 11.1.2 译文评分. . . . . . . . . . 214 11.1.3 检查点平均. . . . . . . . . 216 11.2 解码和训练不一致. . . . . . . 217 11.3 机器翻译评测方法. . . . . . . 219 11.3.1 人工评测. . . . . . . . . . 219 11.3.2 自动评测. . . . . . . . . . 221 11.4 错误分析. . . . . . . . . . . . . . 222 11.5 阅读材料. . . . . . . . . . . . . . 224 11.6 短评:评测驱动机器翻译研究. . . . . . . . . . . . . . . . . . 224 第12 章部署232 12.1 GPU 环境下的部署. . . . . . 233 12.1.1 压力测试. . . . . . . . . . 234 12.1.2 负载均衡. . . . . . . . . . 234 12.1.3 请求合并. . . . . . . . . . 235 12.2 CPU 环境下的部署. . . . . . 236 12.2.1 候选词表. . . . . . . . . . 236 12.2.2 量化运算. . . . . . . . . . 237 12.2.3 结构优化. . . . . . . . . . 239 12.3 智能终端部署. . . . . . . . . . 239 12.3.1 知识蒸馏. . . . . . . . . . 240 12.3.2 剪枝. . . . . . . . . . . . . 241 12.3.3 参数共享. . . . . . . . . . 243 12.3.4 矩阵分解. . . . . . . . . . 243 12.4 模型压缩与计算加速. . . . . 243 12.5 阅读材料. . . . . . . . . . . . . . 244 12.6 短评:机器翻译工业部署. . 245 第13 章系统设计与实现250 13.1 总体设计. . . . . . . . . . . . . . 251 13.1.1 可扩展性. . . . . . . . . . 251 13.1.2 易用性. . . . . . . . . . . . 251 13.1.3 系统效率. . . . . . . . . . 252 13.2 功能设计. . . . . . . . . . . . . . 253 13.2.1 数据. . . . . . . . . . . . . 253 13.2.2 模型. . . . . . . . . . . . . 253 13.2.3 训练. . . . . . . . . . . . . 254 13.2.4 推理. . . . . . . . . . . . . 255 13.3 开源系统. . . . . . . . . . . . . . 256 13.3.1 FAIRSEQ . . . . . . . . . . 256 13.3.2 OpenNMT . . . . . . . . . 257 13.3.3 Marian . . . . . . . . . . . . 257 13.4 FAIRSEQ 解析. . . . . . . . . . 258 13.4.1 注册机制. . . . . . . . . . 258 13.4.2 训练流程. . . . . . . . . . 260 13.4.3 混合精度训练. . . . . . . 262 13.5 阅读材料. . . . . . . . . . . . . . 263 13.6 短评:机器翻译开源之路. . 263 第IV 部分进阶篇 第14 章语篇级神经机器翻译270 14.1 什么是语篇. . . . . . . . . . . . 271 14.2 语篇级机器翻译面临的挑战273 14.2.1 语篇级依存关系建模. . . 273 14.2.2 文档级平行语料稀缺. . . 273 14.2.3 高计算需求. . . . . . . . . 273 14.2.4 语篇级机器翻译评测. . . 274 14.3 语篇级机器翻译形式化定义274 14.4 语篇级神经机器翻译方法. . 275 14.4.1 拼接当前句子与上下文. 275 14.4.2 额外的上下文编码器. . . 277 14.4.3 基于缓存器. . . . . . . . . 279 14.4.4 基于语篇分析. . . . . . . 280 14.4.5 基于衔接性. . . . . . . . . 281 14.4.6 优化训练目标函数. . . . 283 14.4.7 学习句子级语境化表示. 284 14.5 面向语篇现象的机器翻译评测数据集. . . . . . . . . . . . 287 14.6 语篇级机器翻译评测方法. . 287 14.7 未来方向. . . . . . . . . . . . . . 288 14.8 阅读材料. . . . . . . . . . . . . . 289 14.8.1 语篇级统计机器翻译. . . 289 14.8.2 语篇级神经机器翻译. . . 290 14.9 短评:神经机器翻译达到人类同等水平了吗. . . . . . . 291 第15 章低资源及无监督 神经机器翻译295 15.1 低资源语言与资源稀缺挑战296 15.2 低资源神经机器翻译. . . . . 297 15.2.1 数据增强. . . . . . . . . . 299 15.2.2 基于枢纽语言. . . . . . . 300 15.2.3 利用单语数据. . . . . . . 303 15.3 无监督机器翻译. . . . . . . . . 304 15.3.1 无监督跨语言词嵌入. . . 305 15.3.2 无监督神经机器翻译. . . 307 15.4 未来方向. . . . . . . . . . . . . . 310 15.5 阅读材料. . . . . . . . . . . . . . 311 15.6 短评:无监督机器翻译之美及挑战. . . . . . . . . . . . . . 311 第16 章融合知识的神经机器翻译314 16.1 知识与机器翻译. . . . . . . . . 315 16.1.1 内部知识. . . . . . . . . . 315 16.1.2 外部知识. . . . . . . . . . 316 16.2 语言学知识融合. . . . . . . . . 317 16.2.1 句法知识融合. . . . . . . 317 16.2.2 语义角色知识融合. . . . 319 16.2.3 指称知识融合. . . . . . . 321 16.3 非语言学知识融合. . . . . . . 323 16.3.1 常识知识. . . . . . . . . . 323 16.3.2 知识图谱融合. . . . . . . 325 16.4 双语知识融合. . . . . . . . . . 327 16.4.1 双语词典融合. . . . . . . 327 记忆库融合. . . . . . 328 16.5 内部知识迁移. . . . . . . . . . 331 16.5.1 知识蒸馏. . . . . . . . . . 331 16.5.2 预训练模型知识迁移. . . 333 16.6 未来方向. . . . . . . . . . . . . . 336 16.7 阅读材料. . . . . . . . . . . . . . 336 16.8 短评:浅谈基于知识的机器翻译. . . . . . . . . . . . . . . . 337 第17 章鲁棒神经机器翻译341 17.1 鲁棒性概述. . . . . . . . . . . . 342 17.2 对抗鲁棒性. . . . . . . . . . . . 345 17.3 对抗样本生成. . . . . . . . . . 346 17.3.1 白盒攻击. . . . . . . . . . 347 17.3.2 黑盒攻击. . . . . . . . . . 350 17.4 对抗训练. . . . . . . . . . . . . . 354 17.5 数据集. . . . . . . . . . . . . . . . 355 17.5.1 自然噪声数据集. . . . . . 356 17.5.2 人工噪声数据集. . . . . . 356 17.6 未来方向. . . . . . . . . . . . . . 357 17.6.1 对抗攻击. . . . . . . . . . 357 17.6.2 对抗训练. . . . . . . . . . 357 17.6.3 后门攻击与数据投毒. . . 358 17.6.4 分布之外鲁棒性. . . . . . 358 17.7 阅读材料. . . . . . . . . . . . . . 358 17.8 短评:神经机器翻译是疯子吗?兼谈其“幻想” . . . . 360 第18 章多语言神经机器 翻译362 18.1 基本思想与形式化定义. . . 363 18.2 多语言机器翻译vs. 双语机器翻译. . . . . . . . . . . . . . 364 18.2.1 双语机器翻译面临的挑战364 18.2.2 多语言神经机器翻译的优势. . . . . . . . . . . . . . 365 18.3 多语言神经机器翻译模型. . 366 18.3.1 共享. . . . . . . . . . . . . 366 18.3.2 部分共享方法. . . . . . . 368 18.3.3 完全共享方法. . . . . . . 373 18.4 训练数据采样方法. . . . . . . 374 18.5 大规模多语言神经机器翻译375 18.5.1 大规模平行语料数据获取376 18.5.2 模型设计. . . . . . . . . . 378 18.5.3 模型训练. . . . . . . . . . 380 18.6 多语言神经机器翻译向双语神经机器翻译迁移. . . . . 383 18.7 未来方向. . . . . . . . . . . . . . 385 18.7.1 如何处理数据不平衡问题385 18.7.2 如何建模不同语言之间的关系. . . . . . . . . . . . 386 18.7.3 如何在不同语言间有效共享模型参数. . . . . . . . 387 18.7.4 如何有效构建多语言神经机器翻译大模型. . . . . 387 18.8 阅读材料. . . . . . . . . . . . . . 388 18.9 短评:多语言机器翻译之美389 第19 章语音与视觉多模态神经机器翻译392 19.1 文本模态之外的机器翻译. . 393 19.2 端到端语音翻译. . . . . . . . . 394 19.2.1 面临的挑战. . . . . . . . . 397 19.2.2 模型与方法. . . . . . . . . 397 19.2.3 数据集. . . . . . . . . . . . 405 19.2.4 未来方向. . . . . . . . . . 406 19.3 视觉引导的多模态神经机器翻译. . . . . . . . . . . . . . . . 406 19.3.1 面临的挑战. . . . . . . . . 408 19.3.2 模型与方法. . . . . . . . . 409 19.3.3 数据集. . . . . . . . . . . . 414 19.3.4 未来方向. . . . . . . . . . 415 19.4 阅读材料. . . . . . . . . . . . . . 416 19.4.1 端到端语音翻译额外阅读材料. . . . . . . . . . . . 416 19.4.2 视觉引导的多模态神经机器翻译额外阅读材料. . 417 19.5 短评:预训练技术争议与符号奠基问题. . . . . . . . . . . 418 第20 章发展趋势与展望427 20.1 展望. . . . . . . . . . . . . . . . . . 428 20.2 本书未覆盖内容. . . . . . . . . 429 20.2.1 数据伦理与安全. . . . . . 429 20.2.2 偏差. . . . . . . . . . . . . 431 20.2.3 翻译风格. . . . . . . . . . 431 20.2.4 翻译腔. . . . . . . . . . . . 431 20.2.5 音译. . . . . . . . . . . . . 431 20.2.6 对话翻译. . . . . . . . . . 432 20.2.7 非参数与半参数机器翻译432 20.3 短评:科幻中的机器翻译与未来机器翻译. . . . . . . . . 432 参考文献439 索引499
你还可能感兴趣
我要评论
|