前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度学习三人行(第14期)----RNN输入输出的组合有多任性

深度学习三人行(第14期)----RNN输入输出的组合有多任性

作者头像
智能算法
发布2019-05-22 12:08:58
5710
发布2019-05-22 12:08:58
举报
文章被收录于专栏:智能算法智能算法

上期,我们一起初步认识了循环卷积神经网络RNN的循环神经元的相关知识,

深度学习三人行(第13期)----初识循环神经网络(RNN)

这一期,我们继续揭开RNN神秘面纱,学习的路上我们多多交流,共同进步。本期主要内容如下:

  • RNN之记忆单元
  • RNN之输入输出流

一. RNN之记忆单元

从上期我们了解到,t时刻中RNN的一个循环神经元的输出是之前所有时刻输入的函数,我们可以把这理解成一种记忆形式。如果神经网络的一部分能够跨越时间,保留之前时刻的状态,那么我们称之为记忆单元。一个简单的循环神经元或者一层循环神经元是一个非常简单基础的记忆单元,随后的学习中,我们会逐步学习到更为复杂和有用的记忆单元。

一般情况下,一个记忆单元的状态在时刻t记为h(t)(其中h为hidden的意思),h(t)是在当前时刻的一些输入和之前时刻的状态的函数:

在当前时刻的输出记为Y(t),也是当前时刻的输入和之前时刻的状态的函数。在我们当前所讨论的记忆单元的形式的情况下,当前状态是和当前输出相等的,但是更为复杂的记忆单元的情况下,往往是不一样的。如下图:

二. 输入输出流

一个RNN网络能够同时又一个序列的输入并且产生一个序列的输出,如下图左上的网络。这种类型的网络在预测时序信号的时候往往比较有用,比如股票预测,我们输入前N天的股票价格信息,它就能产生往未来推迟一天的的股票信息(输出为从N-1天到明天)。

或者我们可以对该网络输入一个时序信号,但是忽略除了最后一个输出之外的其他输出(见下图右上网络)。也就是说这是一个序列到向量的网络。比方说我们对该网络输入一个影评的序列信息,网络可以输出一个喜好分数(-1(hate),1(love))。

相反的,我们还可以对网络在开始的时候仅输入一个向量信号,其他时刻的输入均为0,而输出的是一个序列(见上图左下网络),这是一个向量到序列的网络。比如,这个网络的输入可以是一个图片,而输出是图片的标题。

最后,我们可以做一个序列到向量的网络(叫做编码),后面紧跟着一个向量到序列的网络(叫做解码)的网络(见上图右下网络)。这种网络在将一个句子从一种语言翻译到另一种语言的时候比较有用,我们可以将某种语言的一个句子输入到该网络中,然后该网络的编码部分将这个句子转成一个向量表示,然后解码部分再将向量转换为另外一种语言的一个句子。这种编码解码的两步网络成为编码解码器,在句子翻译中,通常会比序列到序列(上图左上网络)的网络结构表现要好很多。因为一个句子的最后一个字能够影响第一个字的翻译,所以我们需要听完整个句子,才能更好的翻译出来。

三. 小结

今天,我们一起学习了循环神经网络的记忆单元,以及输入输出序列构成的不同的网络,是不是挺有意思的?自信心爆棚了?还等什么,下期我们一起实战一下吧。希望本期的知识能够对我们有所帮助,在学习的路上,我们共同进步,多谢有你。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 智能算法 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档