深度学习--递归神经网络RNN和LSTM
RNN:递归神经网络
RNN在自然语言处理方面较好。
通常情况下只需要最后一个结果。
递归神经网络的反向传播:
只要有路线,就需要把梯度传导下去。
存在缺点:
1、当输入较大时,网络结构比较大,反向梯度传播计算会很慢。
2、当梯度计算为0时,参数就无法传递了,也就是会出现梯度消失。
3、较前的输入可能信息价值不高,可能对训练造成影响,需要预处理
LSTM 长短记忆网络
LSTM会去遗忘一些数据
例如:C会使值为0的信息剔除,0.5的保留部分,0.8的保留大部分,1 的保留全部
门单元
利用sigmoid函数筛选数据
ft和Ct-1组合决定前一层需要丢弃的信息
it和Ct ~ 通过乘法门单元☉组合,决定当前层xt要保留下的的信息。然后再与前一层保留下来的(Ct-1☉ft)通过加法门单元组合形成(it☉Ct~)⊕(Ct-1☉ft)=Ct。
核心是控制参数C的更新,从开始到结束要不断更新Ct
LSTM网络比RNN应用更广泛