RNN循环神经网络超级大白话

RNN循环神经网络大白话讲解

RNN单元

图1:RNN单元
从上图看,input_data是输入,hidden_layer的输出是h1,从左边来的是初始的隐藏层参数为h0。

神经网络原本的公式也就是输入层X*Wih再经过设定的激活函数得到h0。h0乘上Who权重矩阵得到输出层。
h 1 = t a n h ( x ∗ W i h ) h1 = tanh(x*W_{ih}) h1=tanh(xWih)
o u t p u t = h 1 ∗ W h o output = h1*W_{ho} output=h1Who

在单个完整的RNN单元中,(不加下一层),有上一层的隐藏层输出参与,因此RNN也就是循环神经网络具有记忆前面的数据的性质,(在RNN中激活函数常用tanh)

h 1 = t a n h ( x 1 ∗ W i h + h 0 ∗ W h h ) h1 = tanh(x_1*W_{ih}+h_0*W_{hh}) h1=tanh(x1Wih+h0Whh)
对于下一层的h2则会继承一部分h1的内容,而h1又包含h0的内容。以此类推。
h 2 = t a n h ( x 2 ∗ W i h + h 1 ∗ W h h ) h2 = tanh(x_2*W_{ih}+h_1*W_{hh}) h2=tanh(x2Wih+h1Whh)

因此在我们进行梯度更新的时候需要计算的权重有三个,分别是 W i h , W h h , W h o W_{ih},W_{hh},W_{ho} Wih,Whh,Who

由于 W h h W_{hh} Whh在每层的隐藏层输出中会累乘,因此会出现梯度爆炸和梯度消失的现象,这时就需要解决这个问题。因此长短期记忆网络LSTM为了解决梯度消失梯度爆炸的问题被提出,待下一篇讲解LSTM的大白话讲解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值