ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

笔记:读Sequence to Sequence Learning with Neural Networks

2022-01-06 18:33:04  阅读:258  来源: 互联网

标签:本文 Neural 模型 sequence Sequence 序列 LSTM Networks


读Sequence to Sequence Learning with Neural Networks

作者:Sutskever.H et al.

目录

  • Introduction

  • Model

  • Experiment

  • Related Paper

  • Conclusion

1 Introduction

本文作者基于Deep Neural Networks(DNNs),具体基于LSTM(适合处理序列数据),使用一种sequence to sequence方法--即输入一个序列经过编码器如LSTM等结构将其映射为一个固定维度的向量,之后另一个LSTM再根据vector将其解码为目标序列。这类问题很常见如机器翻译、序列标注任务等,因此本文作者提出sequence to sequence方法解决DNNs不能将句子映射成句子的问题,具体实验针对的是机器翻译任务。

整个结构大致流程如下图Figure 1所示。

其中增加的特殊的句子结尾标志,由于序列长度不一定相同,用于标识序列结束。

2 Model

对序列进行处理RNN是一个不错的选择,给定一个输入序列\((x_1,...,x_T)\),那么RNN迭代的计算其对应的输出序列即\((y_1,...,y_T)\),具体迭代计算方式大致如下图所示。

其中,\(h_t\)为hidden state,即当前时刻t的隐状态为上一时刻\(h_{t-1}\)与当时间步的输入\(x_t\),经过线性非线性变换即RNN(LSTM)得到当前的隐状态或者LSTM中当前时刻节点的输出\(h_t\),再利用\((h_1,...,h_t)\)序列,简单处理就使用最后一次的输出,即\(h_t\)作为与解码器之间的联系,将其作为解码部分的输入,进行解码即得到\(y_t\)。

本文使用的是LSTM,其最终目标就是估算条件概率\(p(y_1,...y_{T_y}|x_1,...,x_{T_x})\),其中X,Y分别为输入输出序列,且长度不一定相同,具体概率得分公式如下。

其中,v即之前提到的LSTM最后一次的输出即\(h_T\),Eq. (1)经典的LSTM-LM语言模型公式,根据v可以理解为上下文向量context vector以及之前已经预测的词,对当前词即\(y_t\)预测,每个条件概率\(p(y_t|v,y_1,...,y_{t-1})\)都是softmax处理的分布式表示就一向量,维度为比如选取1000个最常用的词作为标准的化,其维度就是1000--即多分类1000个类别,最后简单的方法可能就根据贪心对于每个\(y_t\)的预测选取最大概率的(如假设只有三种词,\(y_1 = (0.1,0.5,0.4)\),就选第二个)。

本文作者用了个小技巧,即输入序列为原序列的倒序,实验证明效果更好一些,具体原因每明确说明,估计类似Bi-LSTM考虑上下文语义,下文语义也有很大的作用,文中说是由于RNN都有时间的滞后性,采用reverse sequence能更好的利用词之间的依赖。

原文核心部分

3 Experiment

数据集 WMT14,使用两个深层LSTM,针对机器翻译任务,最后标签选择使用简单的left-to-right beam search deocder(集束搜索:贪心的改进)。详见原文,这里就附几个实验的图。

Dai et al.,NIPS 2015,的一篇Semi-supervised Sequence Learning.

4.1 Major Work

这篇paper主要讲的就是预训练方面的工作,提出了两种预训练方法--recurrent language model和sequencce autoencoder。一下本文指的是Sutskever.2014。

其中sequence eautoncoder与本文的sequence to sequence编码器相似,唯一不同的是这个是预训练模型,使用的是大量无标注数据,因此属于是无监督学习模型(本文做的是翻译任务,有监督的训练),目的是对自身序列的重构--把本文中的输出序列换成重构的输入序列即输入的是这个序列输出的还是它只不过是经过了encoder-decoder之后重构的序列了不在做语言翻译的转换了,流程如下图。Dai.2015实验证明将无监督数据训练带到的预训练模型的参数用于监督任务网络模型参数初始化是可行的性能有提升。

至于语言模型,就是将本文中的sequence to sequence模型中的编码器去掉,剩下的多层解码器LSTM就是一个语言模型,类似工作如Peters et al.2018 ELMo,以及Peters et al.2017 TagLM都是比较具有代表性的预训练语言模型的工作。

5 Conclusion

本文提出了sequence to sequence 模型之后被广泛用于各个任务,另一篇Dai et al 2015.则描述了两种预训练方法并通过实验证明使用大量无标注数据训练得到的预训练模型参数可以很好的用于之后监督任务模型的初始化,因此也称之为半监督学习,后续也有大量使用类似方法的工作即预训练模型如LM等用于各种任务。

参考

[1] Ilya Sutskever.Oriol Vinyals.Quoc V. Le.Sequence to Sequence Learning with Neural Networks.NIPS 2014.

[2] Andrew M. Dai.Quoc V. Le.Semi-supervised Sequence Learning.NIPS 2015.

[3] Matthew E. Peters, Waleed Ammar, Chandra Bhagavatula, Russell Power. Semi-supervised sequence tagging with bidirectional language models. ACL, 2017.

[4] Matthew E. Peters, Mark Neumann, Mohit Iyyer, Matt Gardner,Christopher Clark, Kenton Lee, Luke Zettlemoyer.Deep contextualized word representations.NAACL-HLT 2018.

标签:本文,Neural,模型,sequence,Sequence,序列,LSTM,Networks
来源: https://www.cnblogs.com/n-ooo/p/15772331.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有