2021-09-20

循环神经网络
简介:RNN是一类具有内部环的神经网络,在处理两个不同的独立序列之间,RNN会被重置;
:相比于其他神经网络(例如密集连接网络和卷积神经网络,通常称为前馈网络),其可以携带此前运行的记忆,

循环神经网络图示

循环神经网络图示
循环神经网络的运行过程图

循环神经网络的运行过程图

该过程的计算表达式:

在这里插入图片描述
在这里插入图片描述

1、首先投入到和输入量的计算过程中,并且通过激活函数得到ht;
2、ht作为记忆输出至下一层中,再通过Why得到最终的输出y,该步骤可省略;

循环神经网络是如何进行训练的
循环神经网络进行训练

训练优化都是通过梯度为指向来优化的,为此只要得到总的导数即可直到优化的方向,有求导的链式法则可知:

在这里插入图片描述

Et:最终的输出和真是输出之间的误差
yt:循环神经网络的预测输出;
ht:循环神经网络的输出值,经过Why的运算后得到yt;
hi:
由链式法则一步步的推导出Wr的梯度,
∂Et/∂yt=〖∂ 1/2(yt-target)〗^2/∂yt
∂yt/∂ht=Wo
∂yi/∂Wr=h_(t-1)
难点在于第三部分求导:
在这里插入图片描述

最终依次相乘得到最终梯度:
在这里插入图片描述

循环神经网络层次的使用

在这里插入图片描述

x、xt都是输入,但是功能不同,xt可以直接拿来和ht加权计算,而x用来对输入量的格式的控制;
循环神经网络的初始化
在这里插入图片描述

eg

在这里插入图片描述

forward函数
在这里插入图片描述

参数说明
x:输入数据的格式:[一句话几个单词,几句话,几个单词有多少个维度表示]【10,3,100】
h0:可省略,:[层数,输入数据大小,维度表示]【1,10,100】
out:最后一层的聚合输出信息:【10,3,100】
ht:各层最后一个时间戳的输出信息:【1,10,100】
多层循环神经网络
在这里插入图片描述

初始化

另外还有单层的循环神经网络,相比于原始的神经网络,该方法更灵活,且不需要初始化层数关系;其余和循环神经网络一致;
单层循环神经网络初始化方法:

RNN面对的训练难题
梯度爆炸
梯度离散
原因
在这里插入图片描述

由于红框内的梯度计算涉及到循环神经网络的所有的梯度,计算式一旦有一点点的偏差都会对造成误差累积;过大会造成梯度爆炸;过小会造成梯度离散;
解决方法:设计一个阈值,当梯度大于该阈值时,就保留该梯度方向,然后将梯度设置为阈值的值;
在这里插入图片描述

循环神经网络只能记住附近的几个单词,复杂度不够;为解决这个问题,引入了LSTM
LSTM的运算图
在这里插入图片描述

假设有一条传送带,其运行方向平行于所处理的序列,序列的信息在任意位置跳上传送带,然后后被传送到更晚的时间步,并在需要时原封不动的跳回来;
待更新。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值