机器翻译机制

Edie ·
更新时间:2024-09-21
· 726 次阅读

机器翻译 机器翻译, 将一段文本从一种语言自动翻译为另一种语言。其 输出为单词序列。 处理步骤 数据预处理 分词 建立词典 输入模型 Encodr-Decoder Sequence to Sequence
在这里插入图片描述
在这里插入图片描述 注意力机制

看作适合处理由一个句子(或篇章)生成另外一个句子(或篇章)的通用处理模型。对于句子对。 --------(思考:对很通用,X是一个问句,Y是答案;X是一个句子,Y是抽取的关系三元组;X是汉语句子,Y是汉语句子的英文翻译。等等),我们的目标是给定输入句子X,期待通过Encoder-Decoder框架来生成目标句子Y。X和Y可以是同一种语言,也可以是两种不同的语言。而X和Y分别由各自的单词序列构成:

在这里插入图片描述
Encoder顾名思义就是对输入句子X进行编码,将输入句子通过非线性变换转化为中间语义表示C:
在这里插入图片描述
对于解码器Decoder来说,其任务是根据句子X的中间语义表示C和之前已经生成的历史信息y1,y2….yi-1来生成i时刻要生成的单词yi :
在这里插入图片描述
每个yi都依次这么产生,那么看起来就是整个系统根据输入句子X生成了目标句子Y。 ------(思考:其实这里的Encoder-Decoder是一个序列到序列的模型seq2seq,这个模型是对顺序有依赖的。)

引入注意力机制的Seq2seq模型

下图展示encoding 和decoding的模型结构,在时间步为t的时候。此刻attention layer保存着encodering看到的所有信息——即encoding的每一步输出。在decoding阶段,解码器的 t 时刻的隐藏状态被当作query,encoder的每个时间步的hidden states作为key和value进行attention聚合. Attetion model的输出当作成上下文信息context vector,并与解码器输入 Dt 拼接起来一起送到解码器:
在这里插入图片描述
下图展示了seq2seq机制的所以层的关系,下面展示了encoder和decoder的layer结构
在这里插入图片描述

Transformer 基于编码器-解码器结构 主要的区别:
Transformer blocks:将seq2seq模型重的循环网络替换为了Transformer Blocks,该模块包含一个多头注意力层(Multi-head Attention Layers)以及两个position-wise feed-forward networks(FFN)。对于解码器来说,另一个多头注意力层被用于接受编码器的隐藏状态。
Add and norm:多头注意力层和前馈网络的输出被送到两个“add and norm”层进行处理,该层包含残差结构以及层归一化。
Position encoding:由于自注意力层并没有区分元素的顺序,所以一个位置编码层被用于向序列元素里添加位置信息。

在这里插入图片描述


作者:aimicm



机器翻译

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章
Grace 2020-02-04
737