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

10.1 计算图展开

a. 最简单形式:s(t)=f(s(t?1);θ),s(t)表示系统状态。

图10.1

b. 系统状态为隐层单元:h(t)=f(h(t?1),x(t);θ),对应展开图:

图10.2

10.2 RNN

RNN设计模式范例:

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

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

图10.3

前向传播:

a(t)=b+Wh(t?1)+Ux(t)

h(t)=tanh(a(t))

o(t)=c+Vh(t)

y^(t)=softmax(o(t))

输入序列和输出序列的长度相同。总代价为:

时间复杂度o(τ),反向传播求梯度时需要用到前向传播的计算结果,所以空间复杂度也是o(τ)。反向传播算法:BPTT(back-propagation through time)。

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

图10.4

c. 单一输出网络:

图10.5

10.2.2 RNN 梯度计算(BPTT)

首先看RNN网络中有哪些参数和节点,需要对所有节点求导数?NL。

参数:U,V,W,b,c;

节点:x(t),h(t),o(t),L(t);

!

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

图10.9

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

图10.10

c. 典型的双向RNN。

图10.11

10.3 双向RNNs

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

10.4 网络结构:编码-解码,序列-序列

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

图10.12

输入x,输出y,训练最大化logP(y(1),y(2),...,y(ny)|x(1),x(2),...,x(nx))

10.5 深度循环网络

时间: 2024-11-09 04:05:28

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

Deep Learning(深度学习)之(三)Deep Learning的常用模型或者方法

九.Deep Learning的常用模型或者方法 9.1.AutoEncoder自动编码器 Deep Learning最简单的一种方法是利用人工神经网络的特点,人工神经网络(ANN)本身就是具有层次结构的系统,如果给定一个神经网络,我们假设其输出与输入是相同的,然后训练调整其参数,得到每一层中的权重.自然地,我们就得到了输入I的几种不同表示(每一层代表一种表示),这些表示就是特征.自动编码器就是一种尽可能复现输入信号的神经网络.为了实现这种复现,自动编码器就必须捕捉可以代表输入数据的最重要的因素

deeplearning.ai 序列模型 Week 1 循环序列模型

1. Notations 循环序列模型的输入和输出都是时间序列.$x^{(i)<t>}$表示第$i$个输入样本的第$t$个元素,$T_x^{(i)}$表示输入的第$i$个样本的元素个数:$y^{(i)<t>}$表示第$i$个样本的输出的第$t$个元素,$T_y^{(i)}$表示第$i$个样本的输出的元素个数. 在NLP领域,为了描述一句话,会有一个词典(vocabulary),里面保存了所有的英文单词(一般包含3万到5万单词),每个单词依次有一个编号.这样每个单词都可以用一个向量表

Deep Learning模型之:CNN卷积神经网络(一)深度解析CNN

http://m.blog.csdn.net/blog/wu010555688/24487301 本文整理了网上几位大牛的博客,详细地讲解了CNN的基础结构与核心思想,欢迎交流. [1]Deep learning简介 [2]Deep Learning训练过程 [3]Deep Learning模型之:CNN卷积神经网络推导和实现 [4]Deep Learning模型之:CNN的反向求导及练习 [5]Deep Learning模型之:CNN卷积神经网络(一)深度解析CNN [6]Deep Learn

Image classification with deep learning常用模型

本文中,我会根据下大家image classification常用的cnn模型,针对cifar10(for 物体识别),mnist(for 字符识别)& ImageNet(for 物体识别)做一个model 总结. 本文不讲coding(coding请见Convolution Neural Network (CNN) 原理与实现篇) 本文不涉及公司内部资料,纯公开资料汇总 好,本文就从数据集说起,对数据集不熟悉的小伙伴请先去了解下这3个数据集,下面我们针对每个数据集画出其通用模型. ======

深度学习模型训练技巧 Tips for Deep Learning

一.深度学习建模与调试流程 先看训练集上的结果怎么样(有些机器学习模型没必要这么做,比如决策树.KNN.Adaboost 啥的,理论上在训练集上一定能做到完全正确,没啥好检查的) Deep Learning 里面过拟合并不是首要的问题,或者说想要把神经网络训练得好,至少先在训练集上结果非常好,再考虑那些改善过拟合的技术(BN,Dropout 之类的).否则的话回去检查三个 step 哪里有问题. Deep Learning 中的方法为了解决两个主要问题而提出:1.训练集做得不好:2.训练集做得好

开始学习深度学习和循环神经网络Some starting points for deep learning and RNNs

Bengio, LeCun, Jordan, Hinton, Schmidhuber, Ng, de Freitas and OpenAI have done reddit AMA's.  These are nice places to start to get a Zeitgeist of the field. Hinton and Ng lectures at Coursera, UFLDL, CS224d and CS231n at Stanford, the deep learning

Deep Learning for Nature Language Processing --- 第八讲

Current statistical machine translation systems 源语言:法语 目标语言:英语 概率公式(利用贝叶斯定理): 在平行语料库(parallel corpora)上训练翻译模型p(f|e) 在英语语料库上训练语言模型p(e) Step1: Alignment 目标:将源语言中的单词或者短语匹配到正确的目标语言中的单词或者短语 假如匹配好了单词和短语,那么又如何给这些单词和短语重新排序呢? After many steps 每个源语言中的单词或者短语,在目

Deep Learning in NLP (一)词向量和语言模型

Deep Learning in NLP (一)词向量和语言模型 这篇博客是我看了半年的论文后,自己对 Deep Learning 在 NLP 领域中应用的理解和总结,在此分享.其中必然有局限性,欢迎各种交流,随便拍. Deep Learning 算法已经在图像和音频领域取得了惊人的成果,但是在 NLP 领域中尚未见到如此激动人心的结果.关于这个原因,引一条我比较赞同的微博. @王威廉:Steve Renals算了一下icassp录取文章题目中包含deep learning的数量,发现有44篇,

Word2Vec之Deep Learning in NLP (一)词向量和语言模型

转自licstar,真心觉得不错,可惜自己有些东西没有看懂 这篇博客是我看了半年的论文后,自己对 Deep Learning 在 NLP 领域中应用的理解和总结,在此分享.其中必然有局限性,欢迎各种交流,随便拍. Deep Learning 算法已经在图像和音频领域取得了惊人的成果,但是在 NLP 领域中尚未见到如此激动人心的结果.关于这个原因,引一条我比较赞同的微博. @王威廉:Steve Renals算了一下icassp录取文章题目中包含deep learning的数量,发现有44篇,而na