什么是sequence学习?

序列到序列学习(Seq2Seq)是关于将模型从一个域(例如英语的句子)转换为另一域(例如将相同句子翻译为法语的序列)的训练模型。

它可用于机器翻译或免费问题解答(给定自然语言问题后生成自然语言答案)-通常,它可在需要生成文本的任何时间使用。

有多种处理此任务的方法,可以使用RNN或使用一维卷积网络。 在这里,我们将重点介绍RNN。

普通情况:输入和输出序列的长度相同

当输入序列和输出序列的长度相同时,您可以简单地使用Keras LSTM或GRU层(或其堆栈)来实现此类模型。 在此示例脚本中就是这种情况,该示例脚本显示了如何教RNN学习加编码为字符串的数字:

这种方法的一个缺点是,假设给定输入[… t]可以生成target [… t]。 在某些情况下有效(例如添加数字字符串),但在大多数情况下无效。 在一般情况下,有关整个输入序列的信息是必需的,以便开始生成目标序列。

一般情况:规范序列间

在一般情况下,输入序列和输出序列具有不同的长度(例如,机器翻译),并且需要整个输入序列才能开始预测目标。这需要更高级的设置,这是人们在没有其他上下文的情况下提到“序列模型的序列”时通常所指的东西。运作方式如下:

RNN层(或其堆栈)充当“编码器”:它处理输入序列并返回其自己的内部状态。请注意,我们放弃了编码器RNN的输出,仅恢复了状态。在下一步中,此状态将用作解码器的“上下文”或“条件”。

另一个RNN层(或其堆栈)充当“解码器”:在给定目标序列的先前字符的情况下,对其进行训练以预测目标序列的下一个字符。具体而言,它经过训练以将目标序列转换为相同序列,但在将来会以一个时间步偏移。重要的是,编码器将来自编码器的状态向量用作初始状态,这就是解码器如何获取有关应该生成的信息的方式。有效地,解码器学习以输入序列为条件的给定target [… t]生成target [t + 1 …]。


在推断模式下,即当我们想解码未知的输入序列时,我们会经历一个略有不同的过程:

1)将输入序列编码为状态向量。
2)从大小为1的目标序列开始(仅是序列开始字符)。
3)将状态向量和1个字符的目标序列馈送到解码器,以生成下一个字符的预测。
4)使用这些预测来采样下一个字符(我们仅使用argmax)。
5)将采样的字符追加到目标序列
6)重复直到生成序列结束字符或达到字符数限制。

seq2seq 解释相关推荐

  1. Optional orElseThrow 错误: 未报告的异常错误X; 必须对其进行捕获或声明以便抛出...

    情况说明 以下代码: Optional.ofNullable(u).map(u->{.... }).orElseThrow(()->{throw new CommonException(& ...

  2. 最简版Seq2Seq的英法机器翻译实践和详细代码解释

    Seq2Seq的英法机器翻译实践 本文的内容主要是基于英法平行语料库来实现一个简单的英法翻译模型.没有使用注意力机制和双向LSTM等技术,主要是为了掌握基本的Seq2Seq结构和TensorFlow函 ...

  3. attention seq2seq transformer bert 学习总结 _20201107

    https://blog.csdn.net/weixin_44388679/article/details/102575223 Seq2Seq原理详解 一文读懂BERT(原理篇) 2018年的10月1 ...

  4. 基于PyTorch的Seq2Seq翻译模型详细注释介绍(一)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qysh123/article/deta ...

  5. PyTorch: 序列到序列模型(Seq2Seq)实现机器翻译实战

    版权声明:博客文章都是作者辛苦整理的,转载请注明出处,谢谢!http://blog.csdn.net/m0_37306360/article/details/79318644 简介 在这个项目中,我们 ...

  6. 面向可解释的NLP:北大、哈工大等提出文本分类的生成性解释框架

    作者 | Hui Liu, Qingyu Yin, William Yang Wang 译者 | Rachel 编辑 | Jane 出品 | AI科技大本营(ID: rgznai100) [导语]北大 ...

  7. 手把手教你用seq2seq模型创建数据产品(附代码)

    原文标题:How To Create Data Products That Are Magical Using Sequence-to-Sequence Models 作者:Hamel Husain ...

  8. 知其然,知其所以然:基于多任务学习的可解释推荐系统

    https://www.toutiao.com/a6674375642479329800/ 本文是工业界和学术界共同合作的产物.Layer 6 AI 和 University College Dubl ...

  9. transformers理论解释

    B 站视频讲解 Transformer 是谷歌大脑在 2017 年底发表的论文 attention is all you need 中所提出的 seq2seq 模型.现在已经取得了大范围的应用和扩展, ...

最新文章

  1. 文本主题模型之非负矩阵分解(NMF)
  2. python怎么安装包-安装python第三方包
  3. Shell脚本入门基础
  4. LogBack配置详解(一)
  5. jsoup抓取网页报错UnsupportedMimeTypeException
  6. 第三代英特尔至强可扩展处理器,英特尔数据中心的“芯法宝”
  7. 代码不会骗人,但有时注释会
  8. Linux系统调用怎么和内核或底层驱动交互的 inode struct file
  9. struts1、 struts2所有版本jar包下载地址大全
  10. 深入浅出Python——Python基础语法全解
  11. CUHK Occlusion Dataset(行人检测数据集)转换为YOLO+VOC数据集
  12. MacQQ消息防撤回
  13. 用python下载视频代码_python实现视频下载
  14. 两个分数相加(结果最简)
  15. js html body onload,动态添加页面body OnLoad事件的简单js代码
  16. Oracle修改SEQUENCE起始值
  17. (七) carla真实世界坐标系与全局俯视地图像素坐标系变换
  18. hist = np.histogram(image, bins=256, range=(0,255))[0]含义
  19. 市面常用芯片对应的ARM架构
  20. 短视频文案怎么写?优质短视频文案写作技巧

热门文章

  1. 希尔伯特谱、边际谱、包络谱、瞬时频率/幅值/相位——Hilbert分析衍生方法及MATLAB实现
  2. mac下使用docker部署artipub,实现多平台管理,一键同步、一文多发
  3. 计算机二进制由来阴阳,二进制来源于八卦?
  4. 论文阅读笔记《Learning for Disparity Estimation through Feature Constancy》
  5. win10分屏设置壁纸+获取win10锁屏壁纸
  6. matlab小端模式合并,大端方式和小端模式【YC】
  7. LCCUP 力扣杯2020秋季编程大赛题解
  8. 基础-02-日语中为何会有体言用言?
  9. 苹果CMS搭建影视网站教程
  10. Pythonnbsp;实现LeNet网络模型的训练及预测