深度学习:循环神经网络RNN

循环神经网络是啥

话不多说,先上图:
在这里插入图片描述
没错这就是一张简单的神经网络模型图,很抽象的表达方式。
其中x表示输入向量,s是隐藏层的值,o是输出层的值,U、V分别是输入层到隐藏层的权重矩阵,隐藏层到输出层的权重矩阵,而权重矩阵表示隐藏层上一次的值作为这一次输入的权重。
把上图展开,即可以化成:
在这里插入图片描述
这样一看,就比较清晰了。即t时刻接收到输入向量 x t \mathrm{x}_{t} xt之后,隐藏层的值是 s t \mathrm{s}_{t} st,输出值是 O t \mathrm{O}_{t} Ot。其中最重要的是, s t \mathrm{s}_{t} st的值不仅取决于 x t \mathrm{x}_{t} xt,还取决于 S t − 1 \mathrm{S}_{t-1} St1
这样从上图可以看出,循环神经网络的输出值 O t \mathrm{O}_{t} Ot,是受前面的输入值 x t \mathrm{x}_{t} xt x t − 1 \mathbf{x}_{t-1} xt1…影响的,这就是循环神经网络可以往前看任意多个输入值的原因。

循环神经网络训练算法

针对循环层的训练算法,他的基本原理和BP(可以找其他博文学习)算法是一样的,包含如下三个步骤:

  1. 前向计算每个神经元的输出值;
  2. 反向计算每个神经元的**误差项 δ j \delta_{j} δj值,他是误差函数的E对神经元j的加权输入net j _{j} j**的偏导数
  3. 计算每个权重的梯度
    最后再用随机梯度下降算法更新权重。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值