task04--机器翻译及Transformer

(一)注意力机制

在“编码器—解码器(seq2seq)”中,解码器在各个时间步依赖相同的背景变量(context vector)来获取输⼊序列信息。当编码器为循环神经⽹络时,背景变量来⾃它最终时间步的隐藏状态。将源序列输入信息以循环单位状态编码,然后将其传递给解码器以生成目标序列。然而这种结构存在着问题,尤其是RNN机制实际中存在长程梯度消失的问题,对于较长的句子,我们很难寄希望于将输入的序列转化为定长的向量而保存所有的有效信息,所以随着所需翻译句子的长度的增加,这种结构的效果会显著下降。

与此同时,解码的目标词语可能只与原输入的部分词语有关,而并不是与所有的输入有关。例如,当把“Hello world”翻译成“Bonjour le monde”时,“Hello”映射成“Bonjour”,“world”映射成“monde”。在seq2seq模型中,解码器只能隐式地从编码器的最终状态中选择相应的信息。然而,注意力机制可以将这种选择过程显式地建模。

在这里插入图片描述
–下面这篇文章的原理介绍比较容易理解
BERT大火却不懂Transformer?读这一篇就够了
–这篇条理清晰,对模型的输入和输出都有介绍
【NLP】Transformer详解

注意力机制框架

Attention 是一种通用的带权池化方法,输入由两部分构成:询问(query)和键值对(key-value pairs)。对于一个query来说,attention layer 会与每一个key计算注意力分数并进行权重的归一化,输出的向量 o o o则是value的加权求和,而每个key计算的权重与value一一对应。

为了计算输出,我们首先假设有一个函数 α \alpha α 用于计算query和key的相似性,然后可以计算所有的 attention scores a 1 , … , a n a_1, \ldots, a_n a1,,an by

a i = α ( q , k i ) . a_i = \alpha(\mathbf q, \mathbf k_i). ai=α(q,ki).

我们使用 softmax函数 获得注意力权重:

b 1 , … , b n = softmax ( a 1 , … , a n ) . b_1, \ldots, b_n = \textrm{softmax}(a_1, \ldots, a_n). b1,,bn=softmax(a1,,an).

最终的输出就是value的加权求和:

o = ∑ i = 1 n b i v i . \mathbf o = \sum_{i=1}^n b_i \mathbf v_i. o=i=1nbivi.

Image Name

不同的attetion layer的区别在于score函数的选择,接下来,我们将讨论两个常用的注意层 Dot-product Attention 和 Multilayer Perceptron Attention;

(1)点积注意力

在这里插入图片描述

(2)多层感知机注意力

在这里插入图片描述

(3)引入注意力机制的Seq2seq模型

将注意机制添加到sequence to sequence 模型中,以显式地使用权重聚合states。下图展示encoding 和decoding的模型结构,在时间步为t的时候。此刻attention layer保存着encodering看到的所有信息——即encoding的每一步输出。在decoding阶段,解码器的 t t t时刻的隐藏状态被当作query,encoder的每个时间步的hidden states作为key和value进行attention聚合. Attetion model的输出当作成上下文信息context vector,并与解码器输入 D t D_t Dt拼接起来一起送到解码器:

Image Name

F i g 1 具 有 注 意 机 制 的 s e q − t o − s e q 模 型 解 码 的 第 二 步 Fig1具有注意机制的seq-to-seq模型解码的第二步 Fig1seqtoseq

下图展示了seq2seq机制的所以层的关系,下面展示了encoder和decoder的layer结构

Image Name

F i g 2 具 有 注 意 机 制 的 s e q − t o − s e q 模 型 中 层 结 构 Fig2具有注意机制的seq-to-seq模型中层结构 Fig2seqtoseq

LSTM和Transformer是两种常用的神经网络模型,用于处理自然语言处理任务。LSTM(长短期记忆网络)是一种循环神经网络,通过使用门控单元来解决长序列依赖性问题。而Transformer则是一种基于注意力机制的模型,它采用了编码器-解码器结构,并使用自注意力机制来捕捉句子中的依赖关系。 LSTM模型通过逐步更新隐藏状态来记忆长序列中的信息,并使用门控单元来控制信息的输入和输出。这种机制使得LSTM模型在处理长文本时表现出色,并且在机器翻译和语言生成等任务上取得了良好的效果。 相比之下,Transformer模型通过自注意力机制来捕捉输入序列中的依赖关系,而无需使用循环结构。Transformer将输入序列分别映射为键、值和查询,并通过计算注意力权重来对序列进行加权求和。这种机制使得Transformer在处理长文本时具有较好的并行性能,并且在机器翻译、文本摘要等任务上取得了显著的成果。 LSTM和Transformer都是在自然语言处理领域具有重要意义的模型。Transformer的成功也催生了一系列基于Transformer的模型的发展,例如BERT和GPT等,它们在各个NLP任务上都取得了重大突破,并成为了该领域的重要里程碑之一。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [RNN&LSTM&Transformer&CNN](https://blog.csdn.net/weixin_45928096/article/details/123660580)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [10分钟理解RNN、LSTM、Transformer结构原理!](https://blog.csdn.net/wjinjie/article/details/131643496)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值