Learning Phrase Representations using RNN Encoder–Decoder for...

简介:

本篇将分享的文章相比于昨天那篇Sequence to Sequence Learning with Neural Networks更早地使用了seq2seq的框架来解决机器翻译的问题,可能上一篇来自于Google,工程性更强一些,学术性有一些不足。本文来自于学术机构,学术范更浓一些。本文的题目是Learning Phrase Representations using RNN Encoder–Decoder for Statistical
Machine Translation,作者是来自蒙特利尔大学的Kyunghyun Cho博士(现在在纽约大学任教),2014年6月登在arxiv上。


本文最大的两个贡献是:


1、提出了一种类似于LSTM的GRU结构作为RNN的hidden unit,并且具有比LSTM更少的参数,更不容易过拟合。


2、较早地(据说2013年就有人提出用seq2seq思路来解决问题)将seq2seq应用在了机器翻译领域,并且取得了不错的效果。


自然语言生成(NLG)领域中有很多任务,比如机器翻译,自动文摘,自动问答,对话生成等,都是根据一个上下文来生成一个文本序列,这里分类两个过程,encoder部分将输入序列表示成一个context,decoder部分在context的条件下生成一个输出序列,联合训练两个部分得到最优的模型。这里的context就像是一个memory,试着保存了encoder部分的所有信息(但往往用较低的维度表示整个输入序列一定会造成信息损失)。本文的思路就是如此,具体可参看下图:



本文模型将encoder部分的最后一个hidden state作为context输入给decoder,decoder中的每一个时间t的hidden state s(t)都与context,s(t-1),y(t-1)有关系,而每一个时间t的输出y(t)都与context,s(t),y(t-1)有关。当然,这种模型是非常灵活的,你的context可以有很多种选择,比如可以选encoder中所有hidden state组成的矩阵来作为context,可以用BiRNN计算出两个last hidden state进行拼接作为context;而s(t)和y(t)根据RNN结构不同,也可以将context作为s(0)依次向后传递,而不是每次都依赖于context。


说完了模型部分,来说说本文最大的贡献是提出了GRU,一种更轻量级的hidden unit,效果还不输LSTM,函数结构如下图:



GRU有两个门函数,reset gate和update gate,公式如下:


reset gate:



update gate:



reset gate接近于0的时候,当前hidden state会忽略前面的hidden state,在当前输入处reset。reset gate控制了哪些信息可以通过,而update gate控制着多少信息可以通过,与LSTM中的cell扮演着相似的角色。计算出每一步的reset和update gate,即可计算出当前的hidden state,如下:


这里,



实验部分,作者利用本文模型得到了满意的结果,不再赘述。


另外,本文在附录部分给出了一个比较详尽的encoder-decoder公式推导过程,大家可以参看原文。


从context预测output,是一件很神奇的事情。而context又是千变万化的,当下正流行的模型attention model正是在context上做了文章,得到了更好的结果。相信,对context的变化和应用会带来更多好玩的模型。



来源:paperweekly


原文链接

相关文章
|
1月前
|
机器学习/深度学习 自然语言处理 并行计算
Transformer 学习笔记 | Seq2Seq,Encoder-Decoder,分词器tokenizer,attention,词嵌入
本文记录了学习Transformer过程中的笔记,介绍了Seq2Seq模型及其编码器-解码器结构。Seq2Seq模型通过将输入序列转化为上下文向量,再由解码器生成输出序列,适用于机器翻译、对话系统等任务。文章详细探讨了Seq2Seq的优势与局限,如信息压缩导致的细节丢失和短期记忆限制,并引入注意力机制来解决长序列处理问题。此外,还介绍了分词器(tokenizer)的工作原理及不同类型分词器的特点,以及词嵌入和Transformer架构的基础知识。文中包含大量图表和实例,帮助理解复杂的概念。参考资料来自多个权威来源,确保内容的准确性和全面性。
|
1月前
|
机器学习/深度学习 自然语言处理 算法
Transformer 学习笔记 | Decoder
本文记录了笔者学习Transformer的过程,重点介绍了填充(padding)和掩码(masking)机制。掩码确保解码器只依赖于之前的位置,避免信息泄露,保持因果关系及训练与推理的一致性。通过线性层和softmax函数生成输出概率,并使用梯度下降和反向传播进行训练。评估指标包括BLEU、ROUGE、METEOR和困惑度等。欢迎指正。
|
1月前
|
机器学习/深度学习 数据库 索引
Transformer 学习笔记 | Encoder
本文记录了学习Transformer模型过程中对Encoder部分的理解,包括多头自注意力机制(Multi-Head Self-Attention)和前馈网络(Feed-Forward Network)的工作原理。每个Encoder Layer包含残差连接(Residual Connection)和层归一化(Layer Normalization),以缓解梯度消失问题并稳定训练过程。文中详细解释了Q、K、V的含义及缩放点积注意力机制(Scaled Dot-Product Attention),并通过图解展示了各组件的工作流程。欢迎指正。
|
7月前
|
机器学习/深度学习 PyTorch 语音技术
【文献学习】Conformer: Convolution-augmented Transformer for Speech Recognition
文章介绍了Conformer模型,这是一种结合了Transformer的自注意力机制和CNN卷积模块的混合模型,旨在提高语音识别任务的性能,通过自注意力捕捉全局上下文信息,同时利用卷积模块有效捕获局部特征。
236 0
|
10月前
|
机器学习/深度学习 自然语言处理 ice
[GloVe]论文实现:GloVe: Global Vectors for Word Representation*
[GloVe]论文实现:GloVe: Global Vectors for Word Representation*
74 2
[GloVe]论文实现:GloVe: Global Vectors for Word Representation*
|
10月前
|
机器学习/深度学习 数据挖掘 API
[FastText in Text Classification]论文实现:Bag of Tricks for Efficient Text Classification
[FastText in Text Classification]论文实现:Bag of Tricks for Efficient Text Classification
62 2
|
10月前
|
机器学习/深度学习 BI
[RoFormer]论文实现:ROFORMER: ENHANCED TRANSFORMER WITH ROTARY POSITION EMBEDDING
[RoFormer]论文实现:ROFORMER: ENHANCED TRANSFORMER WITH ROTARY POSITION EMBEDDING
88 1
|
机器学习/深度学习 自然语言处理 数据可视化
SimCSE: Simple Contrastive Learning of Sentence Embeddings论文解读
本文介绍了SimCSE,一个简单的对比学习框架,极大地推进了最先进的句子嵌入。我们首先描述了一种无监督方法,该方法采用一个输入句子,并在一个对比目标中预测自己
375 0
|
机器学习/深度学习 人工智能 自然语言处理
RoFormer: Enhanced Transformer with Rotary Position Embedding论文解读
位置编码最近在transformer架构中显示出了有效性。它为序列中不同位置的元素之间的依赖建模提供了有价值的监督。
468 0
|
机器学习/深度学习 算法 语音技术
Attention-lvcsr、Residual LSTM…你都掌握了吗?一文总结语音识别必备经典模型(2)
Attention-lvcsr、Residual LSTM…你都掌握了吗?一文总结语音识别必备经典模型
257 0