我主要是参考如下文章理解的:

数学 · RNN(二)· BPTT 算法 - 知乎

其中:

这一步划红线的地方是如何理解的:

从这张图可以大概看出Lt和W的关系:

我一开始单纯的理解成Lt是W的高次项函数(这里将所有激活函数当线性函数去简化推导的复杂性),然后求导,发现这样 并不是这样理解的。

此时还原RNN的结构,RNN展开后中间要经过t层。这t层,每次都要乘以W。我们可以想成第1次乘以W1,第2次乘以W2,第3次乘以W3,以此类推。只是说这里的W1=W2=W3=...=W。然后前向传播是一样的效果。

然后其实我们本应该对W1,W2,W3...单独求导,然后更新W1,W2,W3...。但是为了结构、存储量简化,这里的W1,W2,W3...的更新也同步了(都用一个W表示了)。即W1,W2,W3的更新值也一样。但是Lt对W1,W2,W3...的偏导不一样,如何更新呢?这里按照公式推导的意思来看是把每个偏导都叠加了,然后给W更新。即:

此处(

然后求出来的偏导用于给W更新。

还有就是这里的推导:

这一步的推导可以参考:

softmax函数及对数似然函数的偏导数(推导过程)_Modozil的博客-CSDN博客_softmax 对数似然

RNN-BPTT 笔记相关推荐

  1. RNN学习笔记(一)-简介及BPTT RTRL及Hybrid(FP/BPTT)算法

    RNN学习笔记(一)-简介及BPTT RTRL及Hybrid(FP/BPTT)算法 本文假设读者已经熟悉了常规的神经网络,并且了解了BP算法,如果还不了解的,参见UFIDL的教程. - 1.RNN结构 ...

  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. RNN BPTT算法推导

    目录 BPTT算法推导 注1:激活函数tanh(x)求导 注2 softmax求导 BPTT算法推导 对于一个普通的RNN来说,其前向传播过程为: 先介绍一下等下计算过程中会用到的偏导数:   关于t ...

  4. RNN BPTT算法详细推导

    BPTT算法推导 BPTT全称:back-propagation through time.这里以RNN为基础,进行BPTT的推导. BPTT的推导比BP算法更难,同时所涉及的数学知识更多,主要用到了 ...

  5. RNN学习笔记3-LSTM

    引入LSTM 尽管RNN被设计成可以利用历史的信息来辅助当前的决策,但是由于在上节提到的梯度消失或者梯度爆炸问题,RNN主要还是学习短期的依赖关系.所以RNN新的技术挑战就是-长期依赖. 长短时记忆网 ...

  6. RNN训练方法介绍-BPTT

    url:http://blog.csdn.net/sysstc/article/details/75333008 Training RNN--BPTT 由于RNN和时间序列有关,因此我们不能通过Bac ...

  7. 随时间的反向传播算法 BPTT

    本文转自:https://www.cntofu.com/book/85/dl/rnn/bptt.md 随时间反向传播(BPTT)算法 先简单回顾一下RNN的基本公式: st=tanh(Uxt+Wst− ...

  8. 利用Tensorflow构建RNN并对序列数据进行建模

    利用Tensorflow构建RNN并对序列数据进行建模 对文本处理处理任务的方法中,一般将TF-IDF向量作为特征输入.显然的缺陷是:这种方法丢失了输入的文本序列中每个单词的顺序. 对一般的前馈神经网 ...

  9. 长短期记忆网络(LSTM)学习笔记

    文章目录 0 前言 1 LSTM与RNN的异同 2 LSTM结构细节 2.1 细胞状态 2.2 遗忘门 2.3 输入门 2.4 输出门 3 总结 4 LSTM的变体 4.1 Adding " ...

  10. RNN-循环神经网络-02Tensorflow中的实现

    关于基本的RNN和LSTM的概念和BPTT算法可以查看这里 参考文章: https://r2rt.com/recurrent-neural-networks-in-tensorflow-i.html ...

最新文章

  1. 【C 语言】字符串模型 ( 字符串翻转模型 | 抽象成业务函数 | 形参返回值 | 函数返回值 | 函数形参处理 | 形参指针判空 )
  2. ubuntu+VsCode+Cmake+eigen 开发eigen应用
  3. nginx学习之location块
  4. 【题意+分析】1067 Sort with Swap(0, i) (25 分)_24行代码AC
  5. 前端小知识点(3):JavaScript 单线程
  6. Springboot 之 Hibernate自动建表(Mysql)
  7. sar命令,linux中最为全面的性能分析工具之一
  8. 4.9_bridge_结构型模式:桥模式
  9. Transformer、BERT细节基础知识点
  10. C++ 指针数组与数组指针汇总
  11. dataframe 排序_如何对Pandas DataFrame进行自定义排序
  12. endnotex9安装后使用方法_endnotex9使用教程
  13. el-table点击单元格自动聚焦可编辑,且失去焦点即修改成功的实现方法
  14. Flutter语言开发的高仿抖音App源码
  15. 新浪微博用户兴趣建模系统架构
  16. 亲历医院蹩脚程序(项目)的糟糕
  17. 如何使用Mezzanine
  18. 不能打开数据库 ''。应用程序可能无法识别该数据库,或文件可能损坏。
  19. HEVC中变换(Transform)过程中的scaling操作的理解
  20. 字体设计:拉丁字母字体书写方法分类

热门文章

  1. 信创平台下构建FTP服务
  2. qt-wayland平台下复制粘贴原理
  3. 第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1004 无聊的逗
  4. 学习TypeScript18(声明文件d.ts)
  5. 24色卡图-Python
  6. 微信上的Siri:小i机器人首次接入微信语音API
  7. 手机备忘录里的录音怎么转文字
  8. 微信公众号开发---踩坑日记
  9. 【洛谷】P1803 凌乱的yyy 题解
  10. windbg蓝屏dmp文件分析