Please enable JavaScript.
Coggle requires JavaScript to display documents.
基础RNN (优点 (可适应不同长度的输入序列和输出序列 (例子
翻译,每个原句子和翻译后句子的长度都可能不一样, 标准神经网络的解决方法 …
基础RNN
优点
可适应不同长度的输入序列和输出序列
例子
翻译,每个原句子和翻译后句子的长度都可能不一样
标准神经网络的解决方法
输入和输出序列补零并统一到最大长度。但是这种做法实际效果并不理想。
可以描述动态时间行为
就是前面的输入会影响后面的输入
-
原理
正向传播
步骤
- 初始化输入状态h<0>、c<0>,一般新开始是0
- 计算当前步骤状态a<t>
- 根据当前步骤状态a<t>计算当前步骤输出y_hat<t>
概括
- concate a<t-1>和x<t>,然后根据该值计算a<t>和y_hat<t>
- 计算yt和at的权重W每个神经元共享(共享不同输入之的特征)
问题
因为at每次都会受xt影响,而且旧的状态都放在at-1中,at-1和xt的取值范围一样,不考虑权重的作用,at=1/2xt+1/2at-1,所以近的影响较大,远的影响较小
-
缺点
梯度消失/爆炸
概述
因为序列可以很长,所以会造成梯度消失和梯度爆炸的问题。当前时序的输出很可能受较前的输入影响,但是普通RNN受附近输入影响较大,受远处影响较小
公式
$$h^{(t)}=f( h^{(t-1)} , x^{(t)} \, ; \theta)$$