您当前的位置: 首页 > 

寒冰屋

暂无认证

  • 3浏览

    0关注

    2286博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

(二)深入了解机器翻译

寒冰屋 发布时间:2022-01-03 20:22:52 ,浏览量:3

目录

介绍

是什么让NMT工作

RNN和LSTM

门控循环单元(GRU)

注意力机制

嵌入

语言模型

下一步

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

  • 下载源文件 - 3.5 KB
介绍

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

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

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

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

是什么让NMT工作

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

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

首先让我们看一下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 )$

其中:F和G是激活函数,\(\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擅长它需要的页面,但至少现在它更容易可视化。我们还想证明神经网络实际上是“抽象的”逻辑电路,是概念上设计的而不是编码的。

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

门控循环单元(GRU)

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

注意力机制

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

嵌入

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

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

语言模型

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

下一步

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

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

关注
打赏
1665926880
查看更多评论
立即登录/注册

微信扫码登录

0.0493s