RNN循环神经网络

本文介绍了循环神经网络(RNN)的基本结构,强调了其通过记忆单元处理序列数据的能力。讨论了RNN的训练方法,包括BPTT算法和常用的损失函数。同时提到了RNN存在的梯度消失和爆炸问题,以及针对这些问题的改进模型如LSTM和GRU,以及梯度裁剪技术。
摘要由CSDN通过智能技术生成

目录

RNN结构

RNN训练方法

存在问题


前置知识:BP神经网络、CNN卷积神经网络

网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。

RNN结构

X 表示输入,O 表示输出,St 表示t时刻存储的状态信息

W, U, V为权值矩阵,b为偏置值。

S_t=(h_t=)f(W*S_{t-1}+U*X_t+b) \\O_t=g(VS_t)

在t =1时刻,一般初始化输入S0=0,随机初始化W, U, V。

其中,f 和 g 均为激活函数。f 可以是tanh, relu, sigmoid等激活函数,通常取tanh;g 在二分类任务中常采用sigmoid,多酚类任务通常采用softmax。

W, U, V在每个时刻都是相等的(权重共享)

RNN训练方法

每一步的输出不仅仅依赖当前步的网络,并且还需要前若干步网络的状态,这种BP改版的算法叫做Backpropagation Through Time(BPTT) ,也就是将输出端的误差值反向传递,运用梯度下降法进行更新。

损失函数可以使用交叉熵损失函数也可以使用平方误差损失函数

E=\sum\limits_{t=1}^nE_t

整理可得:(注:此处ht=St)
\frac{\partial E_t}{\partial W} =\sum\limits^t_{k=0} \frac{\partial E_t}{\partial o_t} \frac{\partial o_t}{\partial h_t} (\prod\limits^t_{j=k+1} \frac{\partial h_j}{\partial h_{j-1}}) \frac{\partial h_k}{\partial W} \\ \frac{\partial E_t}{\partial U} =\sum\limits^t_{k=0} \frac{\partial E_t}{\partial o_t} \frac{\partial o_t}{\partial h_t} (\prod\limits^t_{j=k+1} \frac{\partial h_j}{\partial h_{j-1}}) \frac{\partial h_k}{\partial U} \\ \frac{\partial E_t}{\partial V} =\frac{\partial E_t}{\partial o_t} \frac{\partial o_t}{\partial V}

这里存在着一个连乘的函数,ht引入激活函数后有
h_t=tanh(U·X_t+W·h_{t-1}+b)

或者

h_t=sigmoid(U·X_t+W·h_{t-1}+b)

其中,

\prod\limits^t_{j=k+1} \frac{\partial h_j}{\partial h_{j-1}} =\prod\limits^t_{j=k+1}tanh'·W_s =\prod\limits^t_{j=k+1}sigmoid'·W_s

存在问题

梯度消失、梯度爆炸

这里的梯度消失主要指由于时间过长造成的记忆值较小的现象。

改进算法:LSTM、GRU

  • 对于梯度消失:有特殊的方式存储“记忆”,那么以前梯度比较大的”记忆”不会像简单的RNN一样马上被抹除。

  • 对于梯度爆炸:使用gradient clipping(梯度裁剪),即当计算的梯度超过阈值c或者小于阈值-c的时候,便把此时的梯度设置成c或-c。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

惊雲浅谈天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值