论文提出了input的顺序影响seq2seq结果 有一些输入本身是无序的怎么去处理呢

作者提出LSTM controller的方式 替代输入的LSTM encode方式

 
 

 
 

作者实验这种方式对应无序浮点数序列排序效果好于直接seq2seq

 
 

N是要排序的数的数目

P = 10 steps 表示 LSTM contorller process 10次

glimpses = 1 表示输出使用attention机制

 
 

不过实验复现这个结果不太一致

这里实验结果如下,也许实验细节和论文有出入,比如排序问题
要求输入是set 与顺序无关,那么LSTM的初始 input query是啥?
这里使用了全0向量作为input query实验

另外这个排序训练过程decoder是否使用feed prev?
这里使用feed prev 同时
使用soft attention读取输入作为下一步输入

实验结论:

  1. Ptr-Net 和作者提出的 set2seq方式
    都是收敛有效的
  2. Ptr-Net 采用glimplse=1 N=15 使用tensorflow lstm训练,adgrad optimizer,learning rate 0.1初始,
    运行10000次的结果
    比上图所示要好很多

    AverageEvals:[0.37186, 0.14407] loss 是0.37186 序列完全预测准确情况的比例是14.4% 远远好于上面提到的4%的结果

  3. Set2seq虽然work 但是没有看出比直接ptr-net效果要好。。。

    开始几步收敛确实更快
    但是后续收敛远远慢于ptr net

     
     

    选用Step = 20 对比 ptr net

     
     

     
     

    所以是哪里出了问题
    没有正确复现?
    还是本来sort这个例子 lstm controller相比直接lstm序列encode就没有提升效果呢?

     
     

    实验地址

    https://github.com/chenghuige/hasky/tree/master/applications/set2seq

Orders matters: seq2seq for set 实验的更多相关文章

  1. 数据库中间件DBLE学习(二) 学习配置schema.xml

    前言 一边有一个经常引诱我让我"娱乐至死"的视频,还有一个不停"鞭策"我让我快点学习的大BOSS.正是有这两种极端的爱才让我常常在自信中明白自己努力的方向.嗯, ...

  2. 《Do Neural Dialog Systems Use the Conversation History Effectively? An Empirical Study》

    https://zhuanlan.zhihu.com/p/73723782 请复制粘贴到markdown 查看器查看! Do Neural Dialog Systems Use the Convers ...

  3. oracle 11g实验五——触发器的使用

    实验要求: 实验五 触发器的使用 实验目的 1.  理解触发器的概念.作用及分类: 2.  掌握触发器的创建.使用: 实验内容 1.  建立表orders:用于存储订单列表信息:表order_item ...

  4. DL4NLP —— seq2seq+attention机制的应用:文档自动摘要(Automatic Text Summarization)

    两周以前读了些文档自动摘要的论文,并针对其中两篇( [2] 和 [3] )做了presentation.下面把相关内容简单整理一下. 文本自动摘要(Automatic Text Summarizati ...

  5. Pytorch系列教程-使用Seq2Seq网络和注意力机制进行机器翻译

    前言 本系列教程为pytorch官网文档翻译.本文对应官网地址:https://pytorch.org/tutorials/intermediate/seq2seq_translation_tutor ...

  6. pytorch做seq2seq注意力模型的翻译

    以下是对pytorch 1.0版本 的seq2seq+注意力模型做法语--英语翻译的理解(这个代码在pytorch0.4上也可以正常跑): # -*- coding: utf-8 -*- " ...

  7. deeplearning.ai学习seq2seq模型

    一.seq2seq架构图 seq2seq模型左边绿色的部分我们称之为encoder,左边的循环输入最终生成一个固定向量作为右侧的输入,右边紫色的部分我们称之为decoder.单看右侧这个结构跟我们之前 ...

  8. google nmt 实验踩坑记录

       最近因为要做一个title压缩的任务,所以调研了一些text summary的方法.    text summary 一般分为抽取式和生成式两种.前者一般是从原始的文本中抽取出重要的word o ...

  9. 时间序列深度学习:seq2seq 模型预测太阳黑子

    目录 时间序列深度学习:seq2seq 模型预测太阳黑子 学习路线 商业中的时间序列深度学习 商业中应用时间序列深度学习 深度学习时间序列预测:使用 keras 预测太阳黑子 递归神经网络 设置.预处 ...

随机推荐

  1. Java 构造器 通过私有构造器强化不可实例化的能力

    只有当类不包含显式的构造器时,编译器才会生成一个公有的.无参的缺省构造器.只要让一个类包含私有构造器,这个类就不能被实例化了.示例: // 工具类 public class UtilityClass ...

  2. 关于setTimeout和setInterval的函数参数问题

    今天在写验证码倒计时小demo时,用了如下代码: window.setTimeout(count(num),1000); 这样直接使用将使count函数立即执行,并将返回值传递给setTimeout函 ...

  3. linux命令之free篇

    作业二: 1.free命令查看内存 [root@localhost 桌面]# free total used free shared buffers cachedMem: 1003432 899760 ...

  4. Django深度剖析

    启动过程 通过命令行执行 python manage.py runserver 127.0.0.1:8000 启动Django服务 manage.py模块获取到命令行参数manage.py runse ...

  5. domReady

    function myReady(fn){ //对于现代浏览器,对DOMContentLoaded事件的处理采用标准的事件绑定方式 if ( document.addEventListener ) { ...

  6. ASP.NET WebApi技术从入门到实战演练

    一.课程介绍 曾经有一位不知名的讲师说过这么一句名言: 一门RPC技术不会,那么千万万门RPC技术将都不会!在今天移动互联网的时代,作为攻城师的我们,谁不想着只写一套API就可以让我们的Web, An ...

  7. 已安装nginx动态添加模块

    说明:已经安装好的nginx,需要添加一个未被编译安装的模块,需要怎么弄呢? 具体:这里以安装第三方ngx_http_google_filter_module模块为例nginx的模块是需要重新编译ng ...

  8. 修复恢复"可疑"的SQLServer数据库

    今天机房突然断电,DB连不上了,提示 无法打开数据库'MyDB'.恢复操作已将该数据库标记为 SUSPECT. 原因是断电导致DB文件损坏 通过SQL Server Management Studio ...

  9. 【网络安全】SSLSplit实现中间人攻击

    中间人攻击,即在中间监听获取网络数据以便获取的有价值的信息实现攻击破坏的目的,即client-mid man-server,此处介绍的sslsplit可以作为mid man监听ssl信息及HTTP信息 ...

  10. 【Linux】关于ffmpeg的一些常见用法

    一.FFmpeg简介 FFmpeg是一款非常快速的视频和音频转换器, 是开源项目 FFmpeg (Fast Forward moving pictures expert group) 的命令行程序. ...