seq2seq 模型简介

根据官网教程

星之卡比

  模型的细节和代码我都不想详细讲了,但是会列出几条看代码之前没有注意到或者和我想象的不同的细节:

  1.softmax层只完成了从数字到概率的映射,并不包含任何权重矩阵。

  2.tqdm作为进度条工具可以节省很多打印语句

  3.网络调优的时候,embedding 后面是可以直接跟relu或者dropout层的。

  4. log_softmax+NLLLoss=cross entropy loss

  5.encoder和decoder是两个不同的rnn网络,通过隐状态链接起来。

  6.decoder的第一个输入是开始标签,接下来的输入可以是上一个timestep的目标单词(训练时),也可以是上一个timestep预测出来的结果单词(预测时)

  7.训练时如果提前预测出结束标签,应当立即终止训练,防止错误的影响扩大。

模型结构

  下面稍微详细的讲解一下这里用到的attention的机制,重点就是这张图啦,这张图可是了不得啦!为什么了不得呢!因为是我画的,哈哈哈。。。

  attention的本质呢就是前面encoder的所有输出(其实也是隐状态)的加权平均,关键问题就在于这个权重是怎么获取的。先不去想这个问题,我们考虑一下假如说这个加权平均得到了之后,我们该怎么使用这个向量?最简单的操作就是直接接在原来的输入上,但是呢,作者6的不行,并没有这么做,而是把得出来的attention向量,拼接在原来输入上之后,又接了一个前馈神经网络,输出了一个和原来输入一样维度大小的向量。换句话说,attention在这里就是用一个包含记忆信息的向量取代来原来的纯输入的向量。具体看图吧,图画的多好呀。

attenion decoder
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Seq2Seq模型是RNN最重要的一个变种:N vs M(输入与输出序列长度不同)。 这种结构又叫Encoder-...
    从0到1024阅读 37,913评论 1 9
  • 近日,谷歌官方在 Github开放了一份神经机器翻译教程,该教程从基本概念实现开始,首先搭建了一个简单的NMT模型...
    MiracleJQ阅读 6,519评论 1 11
  • 目录 八月天,中午十二点,艳阳高照,天空是浅浅的蓝色,没风,很热也让人很烦躁。天上那几朵薄得和木棉似的云朵也有气无...
    石桥琪树阅读 450评论 0 1
  • 父亲,在文学作品中一直以高大,港湾的形象出现着。我也曾经写过自己的父亲。现在我想写写玉米的父亲。 玉米的父亲,新晋...
    路晓慢阅读 226评论 0 0
  • 注:本文约1310字。 01 四楼,楼道上。 “喂,慕白,你不是喜欢燕子么?”胖子在一旁起哄道。“她这不走过来了么...
    不会水的猫阅读 310评论 2 1