| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> Google’s Neural Machine Translation System 论文笔记 -> 正文阅读 |
|
[人工智能]Google’s Neural Machine Translation System 论文笔记 |
首先这里推荐一篇非常深入浅出的文章,对读懂了解谷歌神经机器翻译有很好的帮助,且对该论文的来龙去脉有一个了解,比如最直接的借鉴–Bengio团队双向编码器的seq2seq+注意力模型,这会在了解GNMT为什么encode层第一层要设计成双向LSTM有一个很好的了解,以及为什么要设置8层LSTM有个通俗的了解–“8个递进厉害的翻译员”,文章见:https://www.linkresearcher.com/theses/e9d88b0d-ed71-4f66-ba1d-fbf8375393d3 接着来详细讨论下GNMT 首先介绍下本文主要的改进点:这就先要交代NMT的三个缺点:
本文对应改进如下:
接着介绍本文模型的基本结构:
attention设xi为encoder的输出向量: 残差网路普通LSTM: 使用残差网络的LSTM: 双向LSTM
并行为了加速训练,谷歌使用了数据并行和模型并行两种方法。 数据并行:复制n份模型,模型参数共享,同时训练大小为batch_size的句子,将梯度汇总到统一的优化器Adam和SGD上进行参数更新,和A3C的异步更新一样,谷歌使用的n为10,batch_size为128。 模型并行:加速每一份模型的梯度计算,将每一层网络部署在一个GPU上。 Wordpiece Model在上面的例子中,单词“Jet”被分成两个单词“_J”和“et”,单词“feud”被分成两个单词“fe”和“ud”。其他的单词仍然是单一的字片。“”是 标记单词开头的特殊字符。谷歌指出,使用8k-32k大小的字典能带来较好的BLEU成绩和编码效率。 训练目标通常来说,在N对语句对中,训练的目标是使下式最大化: 这里,r表示每个句子的得分,简单来说,就是在翻译出的句子中取n-gram,和目标句子计算n-gram的准确率和召回率,并取两者的最小值,GLEU分数的取值范围从0到1,0表示完全没匹配,1表示完全匹配。 可量化 Quantizable Model and Quantized Inference1.将LSTM中在时间方向上传递的cit和在深度方向上传递的xit明确规定到[-th, th] 在上图中,是WMT’14英译法最大似然训练过程中的 Log perplexity对比,红线代表采用量化,蓝线代表没有采用量化,可以看到采用一定的量化和正则可以提高模型质量(稳定性)。 decoder如果没有句子长度归一化,那么模型普遍会更倾向给更短的句子打高分(概率相乘,小于一,越乘越小),最直观的做法是处以句子长度进行归一化,这里google经过实验给出了以下得分公式,同时涵盖了覆盖率惩罚,来使得翻译覆盖的足够完整。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 6:40:09- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |