ICode9

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

Seq2Seq模型

2021-10-23 16:00:23  阅读:224  来源: 互联网

标签:输出 RNN 模型 网络 Seq2Seq 序列 LSTM 输入


一、原理
对于常用的序列学习问题,一个简单的策略就是使用一个RNN网络将输入序列映射成一个确定大小的向量,然后再用另一个RNN网络将这个向量映射成目标的序列。尽管RNN本质上是有效的,但是由于长序列依赖的问题,RNN网络本身的结构导致难以训练。但是,LSTM网络适合解决该问题。
LSTM网络首先获得LSTM最后一个隐藏层输出的输入序列\((x_1,…,x_T)\)的确切维度的表示v来计算条件概率\(p(y_1,…,y_{T'}|x_1,…,x_T)\)。
在每个句子的最后,使用\(<EOS>\)特殊符号标记句子的结束。如下图所示,LSTM网络计算\(A,B,C,<EOS>\)的表示,然后使用这个表示去计算\(w,x,y,z,<EOS>\)的概率。不在语料库中的单词用标记。

首先,该模型主要用到两个不同的LSTM网络,一个用于输入序列,一个用于输出序列。其次,深层的LSTM效果更优,本论文中用到四层。第三,反转输入序列的词的顺序是很有价值的,比如,除了将序列a,b,c映射成序列α,β,γ,LSTM还应该要将序列c,b,a映射成α,β,γ,在此例中,α,β,γ的翻译是a,b,c。在这种方式下,a会接近α,b也会相当接近β,c也会接近γ。

训练细节:四层LSTM网络,每层有1000个cell和1000维的词嵌入。根据上个例子,如有两种语言a,b,c和α,β,γ,a,b,c作为由LSTM网络组成的encoder的输入,然后会输出一个最终的状态和一个输出值,将状态和输出值、α,β,γ作为由LSTM网络组成的decoder网络中,再将decoder输出的值和真实值α,β,γ作损失值和梯度下降并优化。进一步地,在训练好之后,用训练好的模型进行预测时则不需要使用到标签α,β,γ作为decoder的输入,而且此时才会用到起始符\(<GO>\)和终止符\(<EOS>\)。

参考文献:
https://arxiv.org/pdf/1409.3215.pdf

标签:输出,RNN,模型,网络,Seq2Seq,序列,LSTM,输入
来源: https://www.cnblogs.com/phonard/p/15448674.html

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

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

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

ICode9版权所有