1、概述

上一节介绍了TensorFlow精进之路(十一):反向传播BP,这一节就简单介绍一下BPTT。

2、网络结构


RNN正向传播可以用上图表示,这里忽略偏置。

上图中,

x(1:T)表示输入序列,

y(1:T)表示输出序列,

Y(1:T)表示标签序列,

表示隐含层输出,

表示隐含层输入,

表示经过激活函数之前的输出层输出。

3、前向传播

忽略偏置的前向传播过程如下:

其中,f是激活函数。U、W、V三个权重在时间维度上是共享的。

每个时刻都有输出,所以每个时刻都有损失,记t时刻的损失为,那么对于样本x(1:T)来说,

总损失,使用交叉熵做损失函数,则

3、反向传播BPTT

跟BP类似,想求哪个权值对整体误差的影响就用误差对其求偏导。

3.1、E对V的梯度

根据链式法则有,

其中,

所以,

3.2、E对U的梯度

这个是BPTT与BP之所以不同的地方,因为不止t时刻隐含层与U有关,之前所有的隐含层都跟U有关。所以有,

其中,

假设

3、梯度爆炸和梯度消失

用链式法则求损失E对U的梯度为,

其中,

定义

,如果,则当 t-k→∞时,→∞,会造成系统不稳定,这就是所谓的梯度爆炸问题。相反,如果,则当 t-k→∞时,,这就是梯度消失问题。因此,虽然简单的循环神经网络理论上可以建立长时间间隔的依赖关系,但是由于梯度爆炸或梯度消失问题,实际上只能解决短周期的依赖关系。为了解决这个问题,一个很好的解决方案是引入“门机制”来控制信息的累计速度,并可以选择遗忘之前积累的信息,这就是长短时记忆神经网络LSTM,下一节再学习这个。

TensorFlow精进之路(十二):随时间反向传播BPTT相关推荐

  1. TensorFlow精进之路(十一):反向传播BP

    1.概述 全连接神经网络和卷积神经网络用的是反向传播(BackPropagation,BP),而卷积神经网络用的是随时间反向传播(BackPropagation Through Time,BPTT), ...

  2. 随时间反向传播算法(BPTT)笔记

    随时间反向传播算法(BPTT)笔记 1.反向传播算法(BP) 以表达式f(w,x)=11+e−(w0x0+w1x1+w2)f(w,x)=\frac{1}{1+e^{-(w_0x_0+w_1x_1+w_ ...

  3. tensorflow精进之路(十九)——python3网络爬虫(下)

    1.概述 这一节,我们将在百度图片中爬取需要训练的图片数据:猪.蛇.狗.大象.老虎. 2.打开待爬取网页 打开百度图片首页: http://image.baidu.com/ 在搜索框中输入" ...

  4. Tensorflow精进之路(二):两层卷积神经网络模型训练MNIST

    这段时间,打算把TensorFlow再补补,提升一下技术水平~ 希望我能坚持下来,抽空把这本书刷下来吧~ 导入数据 下面的代码会直接下载数据,如果没有那个文件夹的话,但是,如果有这个文件夹而且里面有那 ...

  5. tensorflow精进之路(十八)——python3网络爬虫(中)

    1.概述 上一节简单的介绍了一些python3网络爬虫的知识,这一节就运用上一节的知识写个小demo,用于爬去汽车之家网站的汽车厂商及车型名称. 2.打开待爬取网页 打开汽车之家官网, https:/ ...

  6. tensorflow学习笔记(三十二):conv2d_transpose (解卷积)

    tensorflow学习笔记(三十二):conv2d_transpose ("解卷积") deconv解卷积,实际是叫做conv_transpose, conv_transpose ...

  7. Tensorflow深度学习之十二:基础图像处理之二

    Tensorflow深度学习之十二:基础图像处理之二 from:https://blog.csdn.net/davincil/article/details/76598474   首先放出原始图像: ...

  8. TensorFlow精进之路(九):TensorFlow编程基础

    1.概述 卷积部分的知识点在博客:TensorFlow精进之路(三):两层卷积神经网络模型将MNIST未识别对的图片筛选出来已经写过,所以不再赘述.这一节简单聊聊tensorflow的编程基础. 2. ...

  9. TensorFlow精进之路(三):两层卷积神经网络模型将MNIST未识别对的图片筛选出来

    1.概述 自从开了专栏<TensorFlow精进之路>关于对TensorFlow的整理思路更加清晰.上两篇讲到Softmax回归模型和两层卷积神经网络模型训练MNIST,虽然使用神经网络能 ...

最新文章

  1. Found option without preceding group in config file E:\mysql\mysql-5.7.23-winx64\my.ini at line 1!
  2. Java中对象的复制
  3. [04-05]box框模型(Box Model)定义了元素框处理元素内容、内边距、边框和外边距的方式...
  4. 时序数据库技术体系 – InfluxDB TSM存储引擎之数据读取
  5. SAP ABAP table control中用帮助(F4)实现自动填充另一字段教程
  6. 跟燕十八学习PHP-第二十八天-union用法深入讲解
  7. js动态创建Form表单并提交
  8. .NET 6 运行在Win7 SP1上出错
  9. 年少成名的我并没有放弃自己,谁敢说她\他文章比我写的好?!,不服来战!
  10. oracle重建表导致同义词失效,一次对dual表的恢复操作(ORA-00980:同义词转换不再有效错误解决方法)...
  11. bootstrap组件——导航条
  12. 谷歌(Chrom)浏览器遇到同步已暂停的解决办法
  13. excel表格如何换行
  14. 使用pca进行坐标系转换、降维
  15. spyglass CDC方法学
  16. File类,字节字符输入输出流,缓冲流,标准流,对象序列化流
  17. 即时通讯,1 天快速集成 支持单群聊、聊天室、系统通知等通信能力,安全可靠、 全球互通
  18. #触摸一体机##五指息屏#
  19. Flutter第一部分(UI)第二篇:在Flutter中构建布局
  20. 云服务器ECS远程监控

热门文章

  1. 机器学习基础-概率和统计基本概念
  2. mysql存储过程详解 mysql存储过程和函数
  3. centos6.5 redis3 开机自动启动命令设置
  4. tipask mysql调取dedecms_如何实现dedecms外部数据库调用
  5. java语言精粹_java 成神之路 (一)
  6. 前端 JavaScript 实现一个简易计算器
  7. 微博爬取显示全文_Python爬虫---chrome driver爬取微博(教你几十行代码爬取财宝宝微博长文)...
  8. ORACLE SQL分组查询某列或某几列重复信息数量
  9. php数组如何插入,PHP如何在数组指定位置插入单元
  10. 【文本分类】 特征抽取之信息增益