CS231n学习笔记八

本文深入探讨了RNN(循环神经网络)的工作原理,包括一到多、多到一和多到多的应用场景,如图像描述、情感分类和机器翻译。详细解析了RNN的数学表达,并讨论了梯度爆炸与消失的问题。介绍了LSTM(长短期记忆网络)如何解决这些挑战,通过输入门、遗忘门、输出门和门之门控制信息的流动。
摘要由CSDN通过智能技术生成

RNN

  • 一到多:图像描述:图像---->词语序列
  • 多到一:情感分类:词语序列---->情感
  • 多到多:机器翻译:词语序列---->词语序列
  • 多到多:帧级视频分类

在这里插入图片描述
RNN包含如下单元:
在这里插入图片描述

h t = f W ( h t − 1 , x t ) h_t=f_W(h_{t-1},x_t) ht=fW(ht1,xt),在每一步都是用相同的函数和参数。

最简单的例子:
h t = tanh ⁡ ( W h h h t − 1 + W x h x t ) y t = W h y h t \begin{aligned} h_t&=\tanh(W_{hh}h_{t-1}+W_{xh}x_t)\\ y_t&=W_{hy}h_t \end{aligned} htyt=tanh(Whhht1+Wxhxt)=Whyht
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
h t = tanh ⁡ ( W h h h t − 1 + W x h x t ) = tanh ⁡ ( ( W h h W x h ) ( h t − 1 x t ) T ) = tanh ⁡ ( W ( h t − 1 x t ) T ) \begin{aligned} h_t&=\tanh(W_{hh}h_{t-1}+W_{xh}x_t)\\ &=\tanh((W_{hh}\quad W_{xh})(h_{t-1}\quad x_t)^T)\\ &=\tanh(W(h_{t-1}\quad x_t)^T) \end{aligned} ht=tanh(Whhht1+Wxhxt)=tanh((WhhWxh)(ht1xt)T)=tanh(W(ht1xt)T)
W W W的最大特征值大于1时,会发生梯度爆炸,此时需要梯度截断

grad_norm = np.sum(grad * grad)
if grad_norm > threshold:
    grad *= (threshold / grad_norm)

W W W的最大特征值小于1时,会发生梯度消失,此时需要换一个更复杂的RNN结构。

LSTM(长短期记忆网络)

可以解决梯度消失或爆炸的情况,使用两个隐藏状态,四个门都是上层隐藏状态和当前输入计算得到

i:输入门 表示要接受多少输入

f:遗忘门 表示要遗忘多少之前的单元记忆

o:输出门 表示要展示多少内容信息给外部

g:门之门 表示有多少信息要写入输入单元中

在这里插入图片描述
在这里插入图片描述
红色箭头表示梯度反向传播

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值