循环神经网络RNN


循环神经网络是一种人工神经网络,它的节点间的连接形成一个遵循时间序列的有向图,它的核心思想是,样本间存在顺序关系,每个样本和它之前的样本存在关联。通过神经网络在时序上的展开,我们能够找到样本之间的序列相关性。
下面给出RNN的一般结构:

在这里插入图片描述
其中各个符号的表示:xt,st,ot分别表示的是t时刻的输入、记忆和输出,U,V,W是RNN的连接权重,bs,bo​ 是RNN的偏置,σ,φ是激活函数,通常选tanh或sigmoid,φ通常选用softmax。
其中 softmax 函数,用于分类问题的概率计算。本质上是将一个K维的任意实数向量压缩 (映射)成另一个K维的实数向量,其中向量中的每个元素取值都介于(0,1)之间。

RNN训练算法 - BPTT

我们先来回顾一下BP算法,就是定义损失函数 Loss 来表示输出和真实标签 y 的误差,通过链式法则自顶向下求得 Loss 对网络权重的偏导。沿梯度的反方向更新权重的值, 直到 Loss 收敛。而这里的 BPTT 算法就是加上了时序演化,后面的两个字母 TT 就是 Through Time。

长短时记忆网络

在RNN中,存在一个很重要的问题,就是梯度消失问题,一开始我们不能有效的解决长时依赖问题,其中梯度消失的原因有两个:BPTT算法和激活函数Tanh
在这里插入图片描述
有两种解决方案,分别是ReLU函数和门控RNN(LSTM).
LSTM
LSTM,即长短时记忆网络,于1997年被Sepp Hochreiter 和Jürgen Schmidhuber提出来,LSTM是一种用于深度学习领域的人工循环神经网络(RNN)结构。一个LSTM单元由输入门、输出门和遗忘门组成,三个门控制信息进出单元。
在这里插入图片描述

  • LSTM依靠贯穿隐藏层的细胞状态实现隐藏单元之间的信息传递,其中只有少量的线性操作
  • LSTM引入了“门”机制对细胞状态信息进行添加或删除,由此实现长程记忆
  • “门”机制由一个Sigmoid激活函数层和一个向量点乘操作组成,Sigmoid层的输出控制了信息传递的比例

其他经典的循环神经网络

Gated Recurrent Unit(GRU)、Peephole LSTM、Bi-directional RNN(双向RNN)、Continuous time RNN(CTRNN)

循环神经网络的主要应用

语言模型、自动作曲、机器翻译、自动写作、图像描述

参考资料:https://datawhalechina.github.io/unusual-deep-learning/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值