RNN-BPTT 笔记
我主要是参考如下文章理解的:
数学 · 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 笔记相关推荐
- RNN学习笔记(一)-简介及BPTT RTRL及Hybrid(FP/BPTT)算法
RNN学习笔记(一)-简介及BPTT RTRL及Hybrid(FP/BPTT)算法 本文假设读者已经熟悉了常规的神经网络,并且了解了BP算法,如果还不了解的,参见UFIDL的教程. - 1.RNN结构 ...
- 随时间反向传播算法(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_ ...
- RNN BPTT算法推导
目录 BPTT算法推导 注1:激活函数tanh(x)求导 注2 softmax求导 BPTT算法推导 对于一个普通的RNN来说,其前向传播过程为: 先介绍一下等下计算过程中会用到的偏导数: 关于t ...
- RNN BPTT算法详细推导
BPTT算法推导 BPTT全称:back-propagation through time.这里以RNN为基础,进行BPTT的推导. BPTT的推导比BP算法更难,同时所涉及的数学知识更多,主要用到了 ...
- RNN学习笔记3-LSTM
引入LSTM 尽管RNN被设计成可以利用历史的信息来辅助当前的决策,但是由于在上节提到的梯度消失或者梯度爆炸问题,RNN主要还是学习短期的依赖关系.所以RNN新的技术挑战就是-长期依赖. 长短时记忆网 ...
- RNN训练方法介绍-BPTT
url:http://blog.csdn.net/sysstc/article/details/75333008 Training RNN--BPTT 由于RNN和时间序列有关,因此我们不能通过Bac ...
- 随时间的反向传播算法 BPTT
本文转自:https://www.cntofu.com/book/85/dl/rnn/bptt.md 随时间反向传播(BPTT)算法 先简单回顾一下RNN的基本公式: st=tanh(Uxt+Wst− ...
- 利用Tensorflow构建RNN并对序列数据进行建模
利用Tensorflow构建RNN并对序列数据进行建模 对文本处理处理任务的方法中,一般将TF-IDF向量作为特征输入.显然的缺陷是:这种方法丢失了输入的文本序列中每个单词的顺序. 对一般的前馈神经网 ...
- 长短期记忆网络(LSTM)学习笔记
文章目录 0 前言 1 LSTM与RNN的异同 2 LSTM结构细节 2.1 细胞状态 2.2 遗忘门 2.3 输入门 2.4 输出门 3 总结 4 LSTM的变体 4.1 Adding " ...
- RNN-循环神经网络-02Tensorflow中的实现
关于基本的RNN和LSTM的概念和BPTT算法可以查看这里 参考文章: https://r2rt.com/recurrent-neural-networks-in-tensorflow-i.html ...
最新文章
- 【C 语言】字符串模型 ( 字符串翻转模型 | 抽象成业务函数 | 形参返回值 | 函数返回值 | 函数形参处理 | 形参指针判空 )
- ubuntu+VsCode+Cmake+eigen 开发eigen应用
- nginx学习之location块
- 【题意+分析】1067 Sort with Swap(0, i) (25 分)_24行代码AC
- 前端小知识点(3):JavaScript 单线程
- Springboot 之 Hibernate自动建表(Mysql)
- sar命令,linux中最为全面的性能分析工具之一
- 4.9_bridge_结构型模式:桥模式
- Transformer、BERT细节基础知识点
- C++ 指针数组与数组指针汇总
- dataframe 排序_如何对Pandas DataFrame进行自定义排序
- endnotex9安装后使用方法_endnotex9使用教程
- el-table点击单元格自动聚焦可编辑,且失去焦点即修改成功的实现方法
- Flutter语言开发的高仿抖音App源码
- 新浪微博用户兴趣建模系统架构
- 亲历医院蹩脚程序(项目)的糟糕
- 如何使用Mezzanine
- 不能打开数据库 ''。应用程序可能无法识别该数据库,或文件可能损坏。
- HEVC中变换(Transform)过程中的scaling操作的理解
- 字体设计:拉丁字母字体书写方法分类