专栏首页Soul Joy HubTensorFlow实战——RNN

TensorFlow实战——RNN

http://blog.csdn.net/u011239443/article/details/73136866

RNN

循环神经网络(RNN)的特殊的地方在于它保存了自己的状态,每次数据输入都会更新状态,输出预测值,并输出更新后的状态,和批数据一起作为输入:

如上图,U为数据输入,V为预测值输出,W为状态值输出并输入下一轮。 由于现实中不能无限的迭代下去,我们将其展开,并在有限次迭代后结束:

例子

RNN的状态是通过一个向量来表示的,设该向量的维度为n,输入数据x的维度为m,则参数个数为(n+m)∗n+n+nm+m(n+m)*n+n+n*m+m。我们来举个例子,n=2,m=1n=2,m=1。

第1轮

设一开始的状态为w0=(0,0)w_0 = (0,0) , x1=(1)x_1=(1) , RNN 和将其合并成一个向量y1=(0,0,1)y_1 = (0,0,1) ,则参数矩阵A1A_1 为一个(n+m)∗n(n+m)*n即3∗23*2的矩阵。设:

A1=⎡⎣⎢⎢0.10.30.50.20.40.6⎤⎦⎥⎥ \begin{equation} A_1=\left[ \begin{matrix} 0.1&0.2\\ 0.3&0.4\\ 0.5&0.6 \end{matrix} \right] \end{equation}

设,维度为n偏置向量:b1=(0.1,−0.1)b_1=(0.1,-0.1)

w1=y1∗A1+b1=(0.537,0.462)\large \color{blue}{w_1 = y_1*A_1+b_1 = (0.537,0.462)}

即,输出到下一轮的状态向量为(0.537,0.462),而在这轮该状态还会与参数nmn*m参数矩阵A2A_2相乘,再加上偏置向量m的偏置向量b2b_2。设:

A2=[12] \begin{equation} A_2=\left[ \begin{matrix} 1\\ 2 \end{matrix} \right] \end{equation}

b2=(0.1)b_2=(0.1)

o1=w1∗A2+b2=(1.56)\large \color{blue}{o_1 = w_1*A_2+b_2 = (1.56)}

第2轮

x2=2x_2 = 2, y2y_2为w1 w_1和x2x_2合并,即 (0.54,0.46,2)

w2=y2∗A1+b1=(0.860,0.884)\large \color{blue}{w_2 = y_2*A_1+b_1 = (0.860,0.884)}

o2=w2∗A2+b2=(2.73)\large \color{blue}{o_2 = w_2*A_2+b_2 = (2.73)}

RNN扩展

双向RNN

顾名思义,双向的状态传播:

深度RNN

要注意的是,RNN的dropout不会在深度方向上使用,只会在状态输出到下一轮的时候使用。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ELMo

    论文:《Deep contextualized word representations》

    用户1621453
  • 论文阅读:《A Primer on Neural Network Models for Natural Language Processing》(一)

    https://blog.csdn.net/u011239443/article/details/80055046 论文地址:http://u.cs.biu...

    用户1621453
  • 深入理解Spark 2.1 Core (五):Standalone模式运行的原理与源码分析

    前几篇博文都在介绍Spark的调度,这篇博文我们从更加宏观的调度看Spark,讲讲Spark的部署模式。Spark部署模式分以下几种:

    用户1621453
  • linux系统新建用户ssh远程登陆显示-bash-4.1$解决方法

    linux系统新建的用户用ssh远程登陆显示-bash-4.1$,不显示用户名路径

    流柯
  • asp.net与asp的session共享 及 asp的请求拦截

    asp.net 与 asp 的session是无法直接共享的(底层的处理dll也不一样),要想互通session,只能用变通的办法: 一、asp.net -> ...

    菩提树下的杨过
  • Maximize Distance to Closest Person

    Tyan
  • 从 HTTP 到 HTTPS 再到 HSTS 转

    HSTS(HTTP Strict Transport Security)国际互联网工程组织IETE正在推行一种新的Web安全协议

    wuweixiang
  • 有关bash,我希望我能知晓的十件事

    我之前的一篇文章比我预想的更受欢迎,因此我想再写一篇文章来介绍一些不太知名的bush功能。

    马哥linux运维
  • 腾讯运维团队如何面对8亿人次访问的冲击?晒军装活动背后有这些神技能!

    团队简介: 腾讯SNG社交平台业务运维团队,负责Qzone、微云、QQ相册、天天P图、优图等产品的技术运营工作。致力于服务质量优化、服务保障、自动化运维体系建设...

    小小科
  • Docker容器学习梳理-容器硬盘热扩容

    前面已介绍了docker很多知识点的操作记录,今天这里梳理下docker容器空间扩展的操作。默认情况下,docker容器的空间是10G。在实际生产环境下,对do...

    洗尽了浮华

扫码关注云+社区

领取腾讯云代金券