(二)深入了解机器翻译

目录

介绍

是什么让NMT工作

RNN和LSTM

门控循环单元(GRU)

注意力机制

嵌入

语言模型

下一步


在这里,我们简要介绍一下:我们将用于构建自动翻译机的主要工具和概念、RNN的结构、门控循环单元(GRU)、嵌入和语言模型。

介绍

谷歌翻译工作得如此之好,它通常看起来很神奇。但这不是魔法——这是深度学习!

在本系列文章中,我们将向您展示如何使用深度学习来创建自动翻译系统。本系列可被视为分步教程,可帮助您理解和构建神经元机器翻译。

本系列假设您熟悉机器学习的概念:模型训练、监督学习、神经网络以及人工神经元、层和反向传播。

开始编码之前,我们将快速深入了解AI语言翻译的工作原理。如果您更喜欢跳过数学并开始编写代码,您可以跳到用于构建AI语言自动翻译系统的工具。

是什么让NMT工作

以下是我们将用来构建自动翻译机的主要工具和概念,在我们的例子中,它将从英语翻译成俄语:

  • 循环神经网络(RNN)和长短期记忆(LSTM)
  • 编码器和解码器
  • 门控循环单元(GRU)
  • 注意力机制
  • 嵌入
  • 语言模型

RNNLSTM

首先让我们看一下RNN的结构。一个基本的如下所示。如您所见,该结构由层构成—— \(layer_{0},layer_{1},...layer_{k},layer_{k+1},...\) ——形成一个有向序列。

输入向量\(X = (X_{0},...X_{n})\)被转换为输出向量\(Y = (Y_{0},...Y_{n})\)

一个简单的RNN

每层产生一个激活\(a_{t}\)(就像任何神经网络层一样)但它也直接产生一个输出\(Y_{t}\),它是\(a_{t}\)的函数。

描述我们简单RNN的方程如下:

$a_{t}=F(\alpha .a_{t-1}+\beta .x_{t}+\gamma)$

$Y_{t}=G(\delta .a_{t}+\epsilon )$

其中:FG是激活函数,\(\alpha,\beta,\delta,\epsilon\)是取决于层系数的变量。

我们正在讨论的RNN被称为多对多:多输入多输出。这通常是我们在机器翻译(MT)中使用的内容。具有唯一输入和多个输出的RNN被称为一对多RNN,具有多个输入和唯一输出的RNN被称为多对一RNN

RNN不仅在MT领域有用,而且还成功应用于语音识别、音乐生成、感觉识别等等。

MT的情况下,我们需要一种稍微不同类型的RNN

适用于NMT的多对多RNN

上图中,输入向量的k分量是英语句子的单词,输出向量的l分量是翻译后的俄语句子的单词。

LSTM是先进、精炼的RNN架构,可为性能更高的RNN设计提供支持。在这样的设计中,几个(或所有)层被LSTM单元替换。这些单元的构建方式与普通”RNN层不同。

让我们将普通层与LSTM单元进行比较。为什么LSTM单元比普通RNN层更有效并不是很明显,但它肯定更复杂。

LSTM单元有两个门:输入门和遗忘门sigma符号表示与输入(+常数)的线性组合[1]。它还传输深度学习隐藏状态[2]

1所有操作都是向量
2这是术语隐藏状态DL版本

标准RNN层和LSTM单元之间的比较

该细胞模仿人类的遗忘概念。例如,忘记非必要信息。它是完全循环的,因为它也重新输入了先前的状态。

详细解释为什么LSTM擅长它需要的页面,但至少现在它更容易可视化。我们还想证明神经网络实际上是抽象的逻辑电路,是概念上设计的而不是编码的。

我们已经在上面适用于MTRNN图中说明了编码器——解码器的概念。实际上,这是两个RNN。一个是编码器,将一系列单词编码成一个固定长度的向量,另一个是解码器,反向执行相同的操作。这个RNN被称为序列到序列RNN

门控循环单元(GRU)

GRU只是一个LSTM单元,具有较少的特征,在某些领域可以比常规”LSTM表现得更好。它可用于简化某些设计,并且通常比常规LSTM执行得更快。我们不会在这个项目中使用GRU,但在这里提及它很重要,因为如果您决定进一步探索AI语言翻译,您可能会遇到它。

注意力机制

注意机制是引入相对最近在NMT的一个重要概念。它赋予要翻译的句子中包含的一个或多个单词更多的权重(重要性)。这种简单的机制解决了许多以前在NMT中难以解决的问题。

嵌入

嵌入是一个词的多维表示,它提供有关它的统计信息,并将其与其他与该词具有密切意义或密切关系的基本词联系起来。例如,单词“lynx”可以嵌入为相关术语列表,例如(猫、动物、野生),每个术语都有一些与之相关的坐标。

词嵌入促进了skip-gram技术:预测围绕给定词的词。

语言模型

语言模型(或自然语言的语言表示)提供了语言的参数化视图,其中包含同义词、单词和句子之间的相似性等。AI翻译系统中常用的一些语言模型示例包括BERTWord2vecGloVeELMo

下一步

在本系列的下一篇文章中,我们将讨论构建基于深度学习的自动翻译系统所需的工具和软件。

https://www.codeproject.com/Articles/5299746/A-Deep-Dive-Into-Machine-Translation

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值