zoukankan      html  css  js  c++  java
  • Coursera, Deep Learning 5, Sequence Models, week1 Recurrent Neural Networks

      

    有哪些sequence model

      

     Notation:

      

      

    RNN - Recurrent Neural Network

    传统NN 在解决sequence input 时有什么问题?

      

    RNN就没有上面的问题. 注意这里还提到了BRNN 双向RNN的概念。

      

    激活函数 g1 经常用的是tanh, 也有用relu的但是不常用. 如果是binary classification 问题,g2就是sigmoid.

      

      

     

     Backpropagation through time

      

       

    Difference types of RNNs

      

      

     Language model and sequence generation

    language modelling 用来找出可能性最大的句子.

      

     

    language model 训练好了以后,一个有趣的应用例子是自己创造句子, 也就是 sample novel sequences.

    和训练时候不一样的是,训练时候因为有真数据,所有y<i>喂的是真数据,sampling 时候就是直接把前面预测出来的y hat 喂给下一步

    Sample novel sequences

      

     除了常见的word-level language model, 还有一种很不常见的character-level language model.

      

     

    Vanishing gradient problem

    因为RNN 每个word 最主要受到附近的word的影响,如果遇到下面图片里的setence 就处理不好. 遇到一个名词就需要记忆很久这个名词(cat)的单复数,直到遇到动词(was/were)这个不是RNN擅长的.

    除了vanishing gradient 问题,还有exploding gradient 问题,但是相对来说 exploding gradient 好解决,solution 是gradient clipping, 具体是说gradient 的值太大了就clip according to max value (threshold). 

      

      

    GRU - Gated Recurrent Unit

    接下来就谈怎么解决vanishing gradient 问题。  

    先来看basic RNN. 这里要注意一下,我们接下来看到的图都画的是一个框,实际上里面有多个neron,只是为了直观简洁没有画而已,在比如keras编程时候要求我们传入的参数就有定义多少个neron, 好像叫 hiden state 参数.

      

     在对比着看GRU

      

    上面是为了好理解做的简化版的GRU,Full GRU是这样的   

    LSTM 和GRU 怎么选择呢?没有优劣,不同的问题可能适用不同的算法。

    LSTM 比 GRU 更复杂,但是GRU更简单所以更快。GRU 有两个gate, LSTM 有三个gate. 如果要选择一个,可以默认先选择LSTM

      

      

     BRNN - Bidirection RNN

    下面的问题需要BRNN来处理

       

     实际应用中,BRNN + LSTM 的组合最常用

    注意下图中,紫色和绿色部分合起来都属于forward propagation, 不要看成back prop了

       

     

     Deep RNNs

      

    不像 CNN 可以有几百层,RNN 有3层就算很大了,因为临时维度(?)

    Questions:

    1. gate 的概念没有理解

    2. LSTM 没有理解

    转载请注明出处 http://www.cnblogs.com/mashuai-191/
  • 相关阅读:
    iOS的几种动画使用
    iOS工程师必备技能
    网络数据的下载(NSUrlconnection异步下载和NSstring同步下载)和UI界面数据的刷新(都是抛弃第三方库的一些本质)
    GCD定时器
    iOS开发的小技巧
    站在巨人的肩膀上
    跳转系统设置相关界面的方法
    微信分享
    网站 、内容
    加水印
  • 原文地址:https://www.cnblogs.com/mashuai-191/p/8921792.html
Copyright © 2011-2022 走看看