zoukankan      html  css  js  c++  java
  • 深度学习课程笔记(十五)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 

  • 相关阅读:
    [文摘20070930]激励员工20种非经济手段
    [文摘20071010]绿领
    新增及删除Grid行
    SqlAnyWhere相关示例SQL语句
    [文摘20071008]全国软考相关计算机技术与软件专业资格(水平)考试
    愉悦的时候
    [文摘20070924]导致事业不成功的心理致命伤
    快乐的生活
    给网络创业者的十大建议
    [转]winForm:DataGridView的一些技巧
  • 原文地址:https://www.cnblogs.com/wangxiaocvpr/p/9439003.html
Copyright © 2011-2022 走看看