• 本文收录于《深入浅出讲解自然语言处理》专栏,此专栏聚焦于自然语言处理领域的各大经典算法,将持续更新,欢迎大家订阅!
  • 个人主页:有梦想的程序星空
  • 个人介绍:小编是人工智能领域硕士,全栈工程师,深耕Flask后端开发、数据挖掘、NLP、Android开发、自动化等领域,有较丰富的软件系统、人工智能算法服务的研究和开发经验。
  • 如果文章对你有帮助,欢迎关注点赞收藏订阅。

1.Seq2seq背景:

经典的循环神经网络模型的输入序列以及输出序列要求是等长的,然而在机器翻译中,如输入序列:“机器学习”,输出序列:“Machine Learning”,输入输出序列不等长,循环神经网络就不能满足这样的情况。

Seq2seq可以用来处理输入输出序列不等长的问题,是一种特殊的RNN模型。

2.Seq2seq概述:

Seq2seq是一种编码(Encoder)-解码(Decoder)的结构,输入和输出可以是不等长的序列。

Seq2seq包括三个部分:编码器,解码器,以及连接两者的固定大小的状态向量。Encoder通过学习输入,将其编码成一个固定大小的状态向量,然后将状态向量传给Decoder,Decoder再通过对状态向量的学习来进行输出。

3.Seq2seq 编码器(Encoder):

Encoder是一个RNN,也可以是LSTM、GRU等,接收的是每一个单词的词向量,和上一个时间点的隐藏状态。输出的是这个时间点的隐藏状态。其中激活函数可以是sigmoid、tanh、Relu、softmax等。

读完序列中每个单词后,会得到一个固定长度的语义向量。

4.Seq2seq解码器(Decoder):

Decoder是个RNN,也可以是LSTM、GRU等,将encoder得到的语义向量作为初始状态输入到Decoder的RNN中,得到输出序列。可以看到上一时刻的输出会作为当前时刻的输入,而且其中语义向量只作为初始状态参与运算,后面的运算都与语义向量无关。

decoder处理方式还有另外一种,就是语义向量参与了序列所有时刻的运算,上一时刻的输出仍然作为当前时刻的输入,但语义向量会参与所有时刻的运算。

解码器的输出通常有如下几种方法:

(1)贪婪:输出对应最大概率值的单词,计算代价低。

(2)采样:通过对众多概率值采样输出单词。

(3)集束搜索:是一种启发式的算法,提高多个预测创建一个可能结果的扩展树。

5.seq2seq的相关论文:

(1)原始的模型:https://arxiv.org/pdf/1406.1078.pdf,

题目为:Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation,由cho在2014年提出。

(2)改进的模型:https://arxiv.org/pdf/1409.3215.pdf,

题目为:Sequence to Sequence Learning with Neural Networks。

(3)融入Attention机制的模型:https://arxiv.org/pdf/1409.0473.pdf,

题目为:NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE。

6.seq2seq的应用场景:

(1)机器翻译

(2)情感对话生成

(3)文本自动摘要

(4)图片自动描述

【seq2seq】深入浅出讲解seq2seq神经网络模型相关推荐

  1. 电气论文实现:通过电力光伏负荷预测讲解seq2seq翻译模型

    通过电力光伏预测讲解seq2seq翻译模型 本文主要讲解seq2seq模型,而不是光伏预测.通过一个光伏预测算例简单感受下seq2seq模型.有代码.主要文字和代码共9页.     专栏解锁,是解锁后 ...

  2. 【神经网络】MP神经网络模型(附实例代码讲解)

    MP神经网络模型 1.MP模型介绍 1.1 生物神经元 1.2 人工神经元 x1,x2,x3是与生物神经元中的树突相对应的输入. w1,w2,w3代表对应于突触的权重. 1.3 MP神经元模型 模型 ...

  3. 掌握神经网络模型的快捷方式

    TensorFlow是Google基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理. Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,T ...

  4. 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (一)

    本文属于图神经网络的系列文章,文章目录如下: 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (一) 从图(Graph)到图卷积(Graph Convolutio ...

  5. 神经网络模型训练简记(二)

    神经网络模型训练简记(二) 内容简述 三.机器视觉网络模型分类及简介 3.2目标检测 3.2.1RCNN 3.2.2SPPNet 3.2.3Fast RCNN 3.2.4Faster RCNN 3.2 ...

  6. 深入浅出讲解神经网络的种类及举例说明

    本文收录于<深入浅出讲解自然语言处理>专栏,此专栏聚焦于自然语言处理领域的各大经典算法,将持续更新,欢迎大家订阅! 个人主页:有梦想的程序星空 个人介绍:小编是人工智能领域硕士,全栈工程师 ...

  7. PyTorch | (4)神经网络模型搭建和参数优化

    PyTorch | (1)初识PyTorch PyTorch | (2)PyTorch 入门-张量 PyTorch | (3)Tensor及其基本操作 PyTorch | (4)神经网络模型搭建和参数 ...

  8. 基于tensorflow的MNIST手写字识别(一)--白话卷积神经网络模型

    一.卷积神经网络模型知识要点卷积卷积 1.卷积 2.池化 3.全连接 4.梯度下降法 5.softmax 本次就是用最简单的方法给大家讲解这些概念,因为具体的各种论文网上都有,连推导都有,所以本文主要 ...

  9. 深度神经网络模型压缩方法总结

    新的卷积计算方法 这种是直接提出新的卷积计算方式,从而减少参数,达到压缩模型的效果,例如SqueezedNet,mobileNet 1. SqueezeNet: AlexNet-level accur ...

最新文章

  1. HP 服务器 iLO 远程控制软件 介绍
  2. doc es 中type_ES系列07:match_phrase与match_phrase_prefix query
  3. 2018-2020年Gartner战略科技发展趋势一览!
  4. (转载)Nutch 2.0 之 抓取流程简单分析
  5. 机器学习面试题合集Collection of Machine Learning Interview Questions
  6. Angular groupBy test
  7. 用杰克逊流式传输大型JSON文件– RxJava常见问题解答
  8. 使用Remix编写Solidity语言的小例子
  9. Js 怎么遍历json对象所有key及根据动态key获取值(根据key值获取相应的value值)...
  10. c语言机考答案,全国计算机等级考试C语言上机试题题库(内附答案)
  11. 小团队适合引入 Spring Cloud 微服务吗?
  12. PID算法原理 一图看懂PID的三个参数
  13. listview嵌套edittext,决解数据无法保存
  14. xss.haozi练习通关详解
  15. 海洋cms(海洋视频内容管理系统) v12.5 bulid220618
  16. 免费赠送20个帆布包和2个咖啡杯活动规则必看(会搜索+复制粘贴就行)
  17. 工业机器人 郝卫东_智能保安巡逻机器人论文
  18. 在安装虚拟机时,”intel vt-x 处于禁用状态“ 如何解决
  19. TensorFlow搭建CNN实现时间序列预测(风速预测)
  20. 联想lenovo sl700 240G sata ps3111主控+未知颗粒 掉盘,ps3111写保护开卡量产修复过程

热门文章

  1. python-pdf的去水印操作
  2. linux 系统安全以及应用
  3. 机器学习回归预测_通过机器学习回归预测高中生成绩
  4. 关于波特率与字节传输速率计算
  5. Sniper模拟器的安装
  6. Invalidate()函数
  7. android Web App开发
  8. 模态对话框和非模态对话框的区别
  9. iOS调用系统通讯录获取姓名电话号码
  10. JSP, Servlet常见面试题详解