Deep Learning Book 第十章--序列模型:循环和递归网络

10.1 计算图展开
a. 最简单形式: s(t)=f(s(t1);θ) s(t) 表示系统状态。

这里写图片描述
图10.1
b. 系统状态为隐层单元: h(t)=f(h(t1),x(t);θ) ,对应展开图:
Deep Learning Book 第十章--序列模型:循环和递归网络_第1张图片
图10.2

10.2 RNN
RNN设计模式范例:

  • 循环网络每步产生一个输出,同时隐层节点之间有循环关联,图10.3。
  • 循环网络每步产生一个输出,同时输出与下一步的隐层节点之间有循环关联,图10.4。
  • 循环网络输入整个序列,产生单个输出,同时隐层节点之间有循环关联,图10.5。

a. 下面的网络是在计算RNN的训练代价, x 表示输入序列, o 是输出, y 是目标值, L 是代价函数, UVW 是对应权值矩阵。

Deep Learning Book 第十章--序列模型:循环和递归网络_第2张图片
图10.3
前向传播:
a(t)=b+Wh(t1)+Ux(t)
h(t)=tanh(a(t))
o(t)=c+Vh(t)
y^(t)=softmax(o(t))

输入序列和输出序列的长度相同。总代价为:
Deep Learning Book 第十章--序列模型:循环和递归网络_第3张图片
时间复杂度 o(τ) ,反向传播求梯度时需要用到前向传播的计算结果,所以空间复杂度也是 o(τ) 。反向传播算法:BPTT(back-propagation through time)。

b. 另一种网络形式,输出和隐层节点之间存在循环关联,由于输出包含的历史信息较少,所以这种网络不够有效:

Deep Learning Book 第十章--序列模型:循环和递归网络_第4张图片
图10.4

c. 单一输出网络:

Deep Learning Book 第十章--序列模型:循环和递归网络_第5张图片
图10.5

10.2.2 RNN 梯度计算(BPTT)
首先看RNN网络中有哪些参数和节点,需要对所有节点求导数 NL
参数: U,V,W,b,c ;
节点: x(t),h(t),o(t),L(t) ;

这里写图片描述
这里写图片描述 这里写图片描述 Deep Learning Book 第十章--序列模型:循环和递归网络_第6张图片!

Deep Learning Book 第十章--序列模型:循环和递归网络_第7张图片

a. 下面是一个有固定输入的RNN网络,例子是根据图像生成描述。

Deep Learning Book 第十章--序列模型:循环和递归网络_第8张图片 图10.9

b. 下面是条件RNN,区别于图10.3只能对条件分布建模,这里可以是任意分布。

Deep Learning Book 第十章--序列模型:循环和递归网络_第9张图片 图10.10

c. 典型的双向RNN。

Deep Learning Book 第十章--序列模型:循环和递归网络_第10张图片 图10.11

10.3 双向RNNs
如图10.11,分前向和后向RNN,扩展到二维图像上就需要四个RNNs,每个RNN代表一个方向,那么每个像素点对应的输出就包含该像素点周围的信息。

10.4 网络结构:编码-解码,序列-序列
输入序列与输出序列长度不一定相等,应用有:语音识别,机器翻译,机器问答。通常把RNN的输入称为“context”,记为C,它可以是矢量或者矢量序列 X=(x(1),x(2),...,x(n)) .

Deep Learning Book 第十章--序列模型:循环和递归网络_第11张图片 图10.12
输入x,输出y,训练最大化 logP(y(1),y(2),...,y(ny)|x(1),x(2),...,x(nx))

10.5 深度循环网络
RNNs的计算可以分为三部分:

  • 输入-隐层
  • 前一隐层-当前隐层
  • 隐层-输出

Deep Learning Book 第十章--序列模型:循环和递归网络_第12张图片
图10.13

10.6 递归神经网络

Deep Learning Book 第十章--序列模型:循环和递归网络_第13张图片
图10.14

10.8 回声状态网络(ESN:Echo State Networks)
略。

10.10 LSTM

Deep Learning Book 第十章--序列模型:循环和递归网络_第14张图片
图10.16

你可能感兴趣的:(Deep Learning Book 第十章--序列模型:循环和递归网络)