深度学习课程笔记(十五)Recurrent Neural Network

深度学习课程笔记(十五)Recurrent Neural Network

2018-08-07 18:55:12

 

This video tutorial can be found from: Youtube 

 

 

 

Issue: 传统方法中,当你的训练数据中,没有那么丰富的 training data,那么可能会导致部分数据的预测为 0,如上图所示。为了不让它变成 0,所以,我们给它一个非常小的 value,如:0.0001。但是这种给定的低概率的 value,是相当不准确的。

所以,我们想能否有一种方法,可以较好的预测这些 value,Neural Network 可以吗?

我们把句子拆分成很多概率相乘的形式,那么,我们得到这样的表达形式:。然后,我们给 Neural Network 每一个时刻,输入一个单词,就想让它输出下一个我们想要的那么单词对应的 probability 最大。

 

 

 

 

 

=====================================================

=====================================================

==>>         接下里 RNN 要开始出场了。

=====================================================

=====================================================

==========================================================================================

 

我们采用 Backpropagation through time 来进行参数的更新。普通的 BP 算法是按照如下的方式进行更新的:

 

而 RNN 中用到的是:

 

实际执行过程中,通常会直接 sum 起来这些 gradient,然后进行一次更新。

 

由于梯度一直进行相乘,导致最终变得非常小,或者非常大;从而导致梯度消失或者梯度爆炸;

 

 

 

 

 

1. Exploding Gradient: Clipping 

2. Vanishing Gradient: Initialization + ReLU 

 

 

posted @ 2018-08-07 19:32  AHU-WangXiao  阅读(318)  评论(0编辑  收藏  举报