Pytorch学习记录-torchtext和Pytorch的实例2
0. PyTorch Seq2Seq项目介绍
在完成基本的torchtext之后,找到了这个教程,《基于Pytorch和torchtext来理解和实现seq2seq模型》。
这个项目主要包括了6个子项目
使用神经网络训练Seq2Seq- 使用RNN encoder-decoder训练短语表示用于统计机器翻译
- 使用共同学习完成NMT的堆砌和翻译
- 打包填充序列、掩码和推理
- 卷积Seq2Seq
- Transformer
2. 使用RNN encoder-decoder训练短语表示用于统计机器翻译
现在我们已经涵盖了基本的工作流程,这节教程将重点关注改进我们的结果。基于我们从前一个教程中获得的PyTorch和TorchText的知识,我们将介绍第二个第二个模型,它有助于Encoder-Decoder模型面临的信息压缩问题。该模型将基于使用用于统计机器翻译的RNN Encoder-Decoder的学习短语表示的实现,其使用GRU。
本节教程源自《Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation》
2.1 介绍
这里回顾了上一节的通用Encoder-Decoder模型。
image.png我们在源序列上使用Encoder(绿色)来创建上下文向量(红色)。然后,我们将该上下文向量与Decoder(蓝色)和线性层(紫色)一起使用以生成目标句子。
在这个模型的基础上,改进,搞出来一个多层LSTM模型。
前一个模型的一个缺点是Decoder试图将大量信息塞入隐藏状态。在解码时,隐藏状态将需要包含关于整个源序列的信息,以及到目前为止已经解码的所有token。通过减轻一些信息压缩,我们可以创建一个更好的模型!
同时这里将使用LSTM的进化版GRU。
网友评论