在复习时,老师提到了ResNet的优点:添加了L2范数之后,会使得所有参数趋于0,从而使模型舍弃不需要的层;反向传播时可以通过残差网络使模型更快收敛。

Recurrent Neural Network的基本类别

CS231n Lecture10
one to one模型是一种基本的模型,之前使用的卷积神经网络也可以归到这一类模型上,slides中称其为Vanilla Neural Network。
one to many模型可用在Image captioning,当输入一张图片之后,我们希望输出一个该图片的描述。
many to one模型可用在Sentiment Classification,根据输入的句子,判断作者的感情。
many to many模型(第一个many to many模型)可用在machine translation,输入一种语言翻译成另一只语言。
最后一个many to many模型可用在对输入video按帧分类。

Recurrent Neural Network分析

CS231n Lecture10
对于RNN的状态更新我们可以用一个 recurrence formula来表示
ht=fW(ht1,xt)h_t = f_W(h_{t-1}, x_t)
由式子可知,虽然输入和每次计算的状态不同,但权重 WW 和计算式子 ff 都是不变的。
ht=tanh(Whhht1+Wxhxt)h_t = \text{tanh}(W_{hh}h_{t-1} + W_{xh}x_t)
yt=Whyhty_t = W_{hy}h_t
CS231n Lecture10
由图可知,在RNN中,我们对每个状态计算梯度时,都需要对 WW 进行更新,所以 dWdW 为所有状态的梯度之和。
CS231n Lecture10
CS231n Lecture10

根据RNN的流程图,我们可以知道在forewards中,loss function需要计算每一个状态的loss,那么在backwards中,我们也需要计算所有的状态得到梯度,但是这样计算需要极高的损耗,因此在训练时我们针对整个时间序列只计算一个子序列的loss,极大减少了梯度计算的复杂度。
文中给出一个基于numpy实现的rnn网络: https://gist.github.com/karpathy/d4dee566867f8291f086

Image Captioning

CS231n Lecture10
在Image Captioning中,我们将卷积卷积神经网络最后一层全连接层(产生类别数的向量)和soft Max层去除,将剩余层的输出作为RNN网络的输入,即RNN网络的formula 从 h=tanh(Wxhx+Whhh)h=\text{tanh}(W_{xh} * x + W_{hh} * h) 变为 h=tanh(Wxhx+Whhh+Wihv)h = \text{tanh}(W_{xh} *x + W_{hh} * h + W_{ih} * v)
CS231n Lecture10
取RNN网络的输出作为下一个状态的输入。当RNN网络中输出 <END> \text{<END> }标记时,停止采样。因此在训练时需要对每个图片的captioning添加<ENF>\text{<ENF>}
15年提出了Attention机制来进行Image Captioning,这里实际上是说在不同时刻对图片中的不同区域进行识别,从而形成更准确的信息。

梯度消失和梯度爆炸

RNN网络由于backward时,梯度流很长,每次更新时要乘以相同的 WW,因此在这个过程中很容易发生梯度的消失和爆炸。
对于梯度爆炸,我们可以在梯度超过某个阈值之后,对梯度进行切割,即
grad=(threshold/grad_norm)\text{grad} *= (\text{threshold} / \text{grad}\_\text{norm})
对于梯度消失问题,可以使用LSTM,在一定程度上缓解。
LSTM的介绍,可以参考:https://blog.csdn.net/qq_33669204/article/details/83986047
视频中提出LSTM的关键在于遗忘门,遗忘门在不同的时间会有不同遗忘位置,而且遗忘门是sigmoid,数值在(0,1)之间,数值性质更好。
在初始遗忘门的参数时,尽量使其在训练的出世时值接近1。

相关文章:

  • 2022-01-14
  • 2021-11-01
  • 2021-05-21
  • 2021-09-23
  • 2021-04-09
  • 2021-05-29
  • 2021-08-01
  • 2021-08-09
猜你喜欢
  • 2021-08-30
  • 2022-01-22
  • 2021-07-17
  • 2021-12-05
  • 2021-09-20
  • 2022-01-21
  • 2021-08-13
相关资源
相似解决方案