RNN-GRU-LSTM变体详解
首先介绍一下 encoder-decoder 框架
中文叫做编码-解码器,它一个最抽象的模式可以用下图来展现出来:

这个框架模式可以看做是RNN的一个变种:N vs M,叫做Encoder-Decoder模型,也可以称之为Seq2Seq模型。
原始的N vs N RNN要求序列等长,然而我们遇到的大部分问题序列都是不等长的,如机器翻译中,源语言和目标语言的句子往往并没有相同的长度。
对于文本领域来讲,这个框架可以直观的这么去解释:它可以当做是一个句子(文章)通过处理生成另一个句子(文章)的通用框架。假设给定输入句子Source,想要通过encoder-decoder 生成目标句子Target。Source和Target可以是同一种语言,也可以是两种不同的语言,当然也就对应着不同的任务,比如机器翻译,比如文章生成摘要。
对于Source和Target 分别由各自的单词序列构成:
这个框架最为核心的一点就是中间语义向量C。
C的获得有多种方式,最为简单的就是把编码器的最后一层的隐层状态直接复制为C,或者可以对这个隐层状态进行一个变换再赋值为C,还可以对编码器部分(或者所有)隐层状态进行一个变换然后赋值为C。

对于解码器来说,处理中间语义向量C的方法也有不同方法。C可以直接被当做解码器首个分支的输入h0,也可以当做解码器所有分支的输入.


参考了这篇博文-写的很厉害-介绍而RNN和及其变种-简单命了-完全图解RNN、RNN变体、Seq2Seq、Attention机制
这个encoder-decoder模型最为常见的一个使用就是机器翻译的实际应用,我会写一篇关于此应用的,由此引出attention机制,并对这个机制进行一个详细解释
RNN-GRU-LSTM变体详解的更多相关文章
- RNN 与 LSTM 的原理详解
原文地址:https://blog.csdn.net/happyrocking/article/details/83657993 RNN(Recurrent Neural Network)是一类用于处 ...
- (数据科学学习手札39)RNN与LSTM基础内容详解
一.简介 循环神经网络(recurrent neural network,RNN),是一类专门用于处理序列数据(时间序列.文本语句.语音等)的神经网络,尤其是可以处理可变长度的序列:在与传统的时间序列 ...
- [深度学习]理解RNN, GRU, LSTM 网络
Recurrent Neural Networks(RNN) 人类并不是每时每刻都从一片空白的大脑开始他们的思考.在你阅读这篇文章时候,你都是基于自己已经拥有的对先前所见词的理解来推断当前词的真实含义 ...
- NetBios 的结构体详解
[NetBios 的结构体详解] NetBIOS是早期的局域网传输协议. 1.结构体. 2.命令 NetBIOS命令的使用方式有两种,即等待和非等待(或称为同步与异步)方式. 如果命令码的高阶位是0时 ...
- Tomcat 8熵池阻塞变慢详解(转)
Tomcat 8熵池阻塞变慢详解 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs Tomcat 8启动很慢,且日志上无任何错误,在日志中查看到如下信息: ...
- 【神经网络篇】--RNN递归神经网络初始与详解
一.前述 传统的神经网络每个输入节点之间没有联系, RNN (对中间信息保留): 由图可知,比如第二个节点的输入不仅依赖于本身的输入U1,而且依赖上一个节点的输入W0,U0,同样第三个节点依赖于前两个 ...
- 【pytorch】关于Embedding和GRU、LSTM的使用详解
1. Embedding的使用 pytorch中实现了Embedding,下面是关于Embedding的使用. torch.nn包下的Embedding,作为训练的一层,随模型训练得到适合的词向量. ...
- 【深度学习】RNN | GRU | LSTM
目录: 1.RNN 2.GRU 3.LSTM 一.RNN 1.RNN结构图如下所示: 其中: $a^{(t)} = \boldsymbol{W}h^{t-1} + \boldsymbol{W}_{e} ...
- Coursera Deep Learning笔记 序列模型(一)循环序列模型[RNN GRU LSTM]
参考1 参考2 参考3 1. 为什么选择序列模型 序列模型能够应用在许多领域,例如: 语音识别 音乐发生器 情感分类 DNA序列分析 机器翻译 视频动作识别 命名实体识别 这些序列模型都可以称作使用标 ...
随机推荐
- C# FTPHelper帮助类
网上的FTPHelper类感觉用起来不方便,而且代码的质量也不高,因此自己重新写了一个FTPHelper.此文之前是发布在我的CSDN博客中的,现在转过来. 主要就是借鉴了DbHelper的Creat ...
- FlexPaper查看Flash文件
HTML 代码: <head> <meta http-equiv="Content-Type" content="text/html; charset= ...
- <Android 基础(十七)> ViewPager介绍
介绍 Layout manager that allows the user to flip left and right through pages of data. You supply an i ...
- SAP R/3 IDES 4.71 编译前后硬盘空间大小比较
使用SGEN编译前 使用SGEN编译后
- SpringCloud的学习记录(5)
这一章节讲如何使用ribbon和hystrix. 在我们生成的Demo项目上右键点击New->Module->spring Initializr, 然后next, 填写Group和Arti ...
- jmeter之HTTP信息头管理器
信息头管理器作用: HTTP信息头管理器在Jmeter的使用过程中起着很重要的作用,通常我们在通过Jmeter向服务器发送http请求(get或者post)的时候,往往后端需要一些验证信息,比如说we ...
- 百万级数据库SQL优化大总结
网上关于SQL优化的教程很多,但是比较杂乱.近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充. 这篇文章我花费了大量的时间查找资料.修改.排版,希望大家阅读之后,感觉 ...
- 03、IDEA下Spark API编程
03.IDEA下Spark API编程 3.1 编程实现Word Count 3.1.1 创建Scala模块 3.1.2 添加maven支持,并引入spark依赖 <?xml version=& ...
- centos7.3上用源代码安装zabbix3.2.7
安装zabbix之前请自行先搭建好LAMP环境! 1.下载源码安装包并解压 1.1 下载 [root@nmserver- ~]# mkdir zabbix [root@nmserver- ~]# cd ...
- mysql:数据库保存时间的类型——int和datetime的区别
我们都知道,时间保存在数据库中,可以选择使用两种类型,一种是int,一种是datetime 那么,它们两个有什么区别呢?要怎么用呢? 现在和小仓鼠一起来探讨一下 1.int和datetime的使用区别 ...