循环神经网络RNN及LSTM
一、循环神经网络RNN
RNN综述 https://juejin.im/entry/5b97e36cf265da0aa81be239
RNN中为什么要采用tanh而不是ReLu作为激活函数? https://blog.csdn.net/behboyhiex/article/details/80819530
LSTM该不该使用RELU? https://blog.csdn.net/xygl2009/article/details/78855795
从RNN的结构特征可以容易看出它最擅长解决与时间序列相关的问题。
循环神经网络每一个时刻都有一个输入xi,然后根据上一时刻的状态h(i-1)和当前的输入xi计算当前的状态hi,并输出ot。
RNN的展开在模型训练有重要意义,从下图可以看到,RNN对长度为N的训练展开后,可以视为一个有N个中间层的前馈神经网络,这个前馈神经网络没有循环链接,因此可以直接使用反向传播算法训练,而不需要任何特别的优化算法。这样的训练方法称为"沿时间反向传播"(Back-Propagation Through Time),是训练RNN最常见的方法。
RNN展开图:
或者更清晰如图:
参考 https://www.zhihu.com/question/41949741
图 4:使用单层全连接神经网络作为循环体的 RNN 结构图,图中黄色的 tanh 小方框表示一个使用 tanh 作为激活函数的全连接层。
https://juejin.im/entry/5b97e36cf265da0aa81be239
图3为RNN 的前向传播计算过程:
二、LSTM
LSTM综述 https://www.jianshu.com/p/9dc9f41f0b29
LSTM单元示意图:
各个门的定义示意:
LSTM单元细节:
三、随时间反向传播算法BPTT
https://www.cnblogs.com/wacc/p/5341670.html
三、循环神经网络激活函数
https://blog.csdn.net/xygl2009/article/details/78855795
https://blog.csdn.net/behboyhiex/article/details/80819530
最新文章
- c++的一个有趣的程序
- js 方法封装实例
- vue之watch用法
- C++之路进阶——codevs2933(诗人小G)
- MySQL调优参数
- Bxm做的第一个CrackMe(已补上注册机)
- UI学习笔记---第十一天UITableView表视图高级-自定义cell
- shell 学习笔记1501-1800
- Linux scp sudo
- 隐藏apache服务器信息
- Using pointer to access array instead of index
- jquery选择器玩得不6啊,只能慢慢写判断了,唉..........................
- MySql删除表、数据
- 去除Odoo主页中的提示: Your Odoo is not supported.
- 指针C语言
- java中volatile关键字的含义(转)
- Problem I. Count - HDU - 6434(欧拉函数)
- 二:redis 的hash类型相关操作
- openwrt - squashfs-sysupgrade.bin 的生成过程
- set容器几个关键函数