IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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的三个缺点:

  • 1 参数多、训练慢
  • 2 鲁棒性不好,对生僻词处理效果不好
  • 3 覆盖率不好,长句子存在漏翻的情况

本文对应改进如下:

  • 1 低精度+数据、模型并行
  • 2 词切分,比如把 feud 切分成 __fe 和 ud(下划线代表一个词的开头)
    在这里插入图片描述
  • 3 在beam serach中加入长度归一化(length normalization)和覆盖率惩罚(coverage penalty)
  • 此外在训练标准上,加入GLEU来提高BLEU值(关注到了单句翻译质量好坏的惩罚)

接着介绍本文模型的基本结构:

在这里插入图片描述
左边是encoder,右边是decoder,中间是attention。
Encoder:由8层LSTM组成,第一层是双向的,获取双向input的方向,剩下的七个是单方向的(之所以不在每一层都是用双向RNN是因为如果这样会大幅度降低训练速度)。这8层分别放在8个GPU上,在第一个双向并行处理完后,剩下七个并行,从第三层开始每层具有残差链接避免梯度爆炸或消失。
Decoder:也是8层LSTM、8个GPU,为了提高并行效率,只用decoder中最底层的output作为注意力机制ai的计算,其他层复用。

attention

设xi为encoder的输出向量:
在这里插入图片描述
yi-1是decoder底层第i个词的输出,则ai计算如下:
在这里插入图片描述

残差网路

普通LSTM:
在这里插入图片描述

使用残差网络的LSTM:
在这里插入图片描述

双向LSTM

在这里插入图片描述
粉色是从左向右,绿色是从右向左处理信息,双向LSTM则是两者产生的output x的连接起来输入到下一层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对语句对中,训练的目标是使下式最大化:
在这里插入图片描述
首先该式子无法反应单句翻译的好坏;此外,仅使用最大似然训练,该模型将无法对解码过程中出现的错误具有很好的鲁棒性,因为这些错误在训练集中从未被观察到。
因此google提出了GLEU分数,
在这里插入图片描述

这里,r表示每个句子的得分,简单来说,就是在翻译出的句子中取n-gram,和目标句子计算n-gram的准确率和召回率,并取两者的最小值,GLEU分数的取值范围从0到1,0表示完全没匹配,1表示完全匹配。
最终google将上述两者的目标进行加权,作为最终的目标:
在这里插入图片描述

可量化 Quantizable Model and Quantized Inference

1.将LSTM中在时间方向上传递的cit和在深度方向上传递的xit明确规定到[-th, th]
在这里插入图片描述
因此原LSTM的公式调整如下:
在这里插入图片描述
在翻译的过程中,谷歌上面两个式子中所有浮点数运算替代为8位或16位定点整数运算。
在这里插入图片描述

在上图中,是WMT’14英译法最大似然训练过程中的 Log perplexity对比,红线代表采用量化,蓝线代表没有采用量化,可以看到采用一定的量化和正则可以提高模型质量(稳定性)。

decoder

如果没有句子长度归一化,那么模型普遍会更倾向给更短的句子打高分(概率相乘,小于一,越乘越小),最直观的做法是处以句子长度进行归一化,这里google经过实验给出了以下得分公式,同时涵盖了覆盖率惩罚,来使得翻译覆盖的足够完整。
在这里插入图片描述
pij代表第j个目标词yj对第i个source wordxi的注意力,alpha越大,对长度归一化的约束越大;beta越大,对覆盖率的约束越大。下面是在不同alpha、beta值下bleu分数的变化:
在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-11-15 15:52:28  更:2021-11-15 15:54:23 
 
开发: 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-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码