RNN

做这样的笔记现在只是肤浅的认识,相信以后会有深入的感悟和更加熟练的应用


1.循环神经网络简介

在这里插入图片描述
下面是各个参数的含义

  • x t x_{t} xt是t时刻的输入

  • a t a_t at是时刻 t t t的隐层状态,由前一时刻的隐层状态和当前时刻的输入进行计算; a t a_t at可以认为是网络的记忆状态,可以认为捕获之前所有时刻发生的信息。

    a t = f ( U x t + W a t − 1 ) a_t=f(Ux_t+Wa_{t-1}) at=f(Uxt+Wat1)

  • o t o_t ot是t时刻的输出。

2.前向传播和随时间反向传播

在这里插入图片描述
a < t > = tanh ⁡ ( [ a < t − 1 > x t ] [ W a a W a x ] + b a ) a^{<t>}=\tanh([a^{<t-1>}x^{t}][W_{aa}W_{ax}]+b_a) a<t>=tanh([a<t1>xt][WaaWax]+ba)

y ^ t = s i g m o i d ( a < t > w y + b y ) \hat y^{t}= sigmoid(a^{<t>}w_y+b_y) y^t=sigmoid(a<t>wy+by)

L < t > ( y ^ < t > , y < t > ) = − y < t > log ⁡ y ^ < t > + ( 1 − y < t > ) log ⁡ ( 1 − y ^ < t > ) L^{<t>}(\hat y^{<t>}, y^{<t>})=-y^{<t>}\log \hat y^{<t>}+(1-y^{<t>})\log (1-\hat y^{<t>}) L<t>(y^<t>,y<t>)=y<t>logy^<t>+(1y<t>)log(1y^<t>)

m i n L ( y ^ , y ) = ∑ t = 1 T y L < t > ( y ^ < t > , y < t > ) min L(\hat y, y)=\displaystyle \sum_{t=1}^{T_y} L^{<t>}(\hat y^{<t>}, y^{<t>}) minL(y^,y)=t=1TyL<t>(y^<t>,y<t>)

3.梯度消失或者爆炸

  • 由于网络结构变深,使得模型丧失了学习先前信息的能力。通俗的来说就是标准的循环神经网络虽然有了记忆但是很健忘。循环神经网络实际上是在长时间序列的各个时刻重复应用相同操作来构建非常深的计算图。例如W是一个在时间步中反复被乘的矩阵,比方说 W W W可以用于矩阵分解
  • W t = ( V d i a g ( λ ) V − 1 ) t W^t = (Vdiag(\lambda)V^{-1})^{t} Wt=(Vdiag(λ)V1)t; 如果特征值 λ \lambda λ不为1,大于1会导致爆炸,小于1会导致消失。

处理梯度爆炸问题可以用梯度裁剪的方法

处理梯度消失问题目前流行的一种方法是长短时记忆网络LSTM L o n g S h o r t − T e r m M e m o r y \displaystyle Long Short-Term Memory LongShortTermMemory
[1]: 与先后顺序有关的数据我们称之为序列数据

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值