RNN简介

1.RNN的应用

         RNN主要有两个应用,一是评测一个句子出现的可能性,二是文本自动生成。

2.什么是RNN?

         RNN之所以叫RNN是因为它循环处理相同的任务,就是预测句子接下来的单词是什么。RNN认为在这循环的任务中,各个步骤之间不是独立,于是它循环记录前面所有文本的信息(也叫记忆),作为预测当前词的一个输入。

   

在RNN中,每个词作为一层,对其进行预测。


F函数一般是tanh或者ReLU

是在t时刻词典中所有词出现的概率,也就是||=|vocabulary|

并且所有层共享U和W

 

3.RNN用来做什么?

         RNNs在NLP中得到了巨大的成功,LSTM是被广泛使用的RNN。LSTM与典型的RNN基本框架一致,只是使用了不同的方式来计算隐藏状态。

         3.1语言模型和文本生成

                  语言模型中,输入时经过编码的词向量序列,输出是一系列预测的词。在训练模型的时候,令 ,也就是让输出等于下一时刻真实的输入,因为在文本生成中,这一时刻的输出对应的是下一时刻的输入。

         3.2机器翻译

                  机器翻译与语言模型的不同是,机器翻译必须等待所有输入结束后才输出,因为这个时候才能得到翻译句子的所有信息。

        

         3.3语音识别。

                  输入一系列的声波信息,然后预测一段语音。

         3.4生成图像描述

                  RNNs和 CNN一起,可以用来为未标记的图像生成描述。

4. 训练RNNs

         训练RNN和训练传统的神经网络一样,都是使用反向传播算法,但是又有些不同,这里所有步骤都共享同一个参数,每一个步骤的回归输出不仅仅依赖于当前时刻,还依赖前面时刻的步骤,这就叫BPTT算法(时间反向传播)。

5. RNN拓展

         5.1双向RNN

                  双向RNN的基本思路基于当前状态下的输出不仅与前面序列有关,还与后面的序列有关。比如要预测序列的一个词,不仅要看左边的词,还要看右边的词。

          

         5.2 深度(双向)RNN

深度(双向)RNN和双向RNN一样,只不过是每一步的隐藏层更多,这使得我们可以获得一个更加好的效果。

                 

         5.3 LSTM

                  LSTM与传统RNN相比,使用了不同方式了计算隐藏状态,它的输入是前一状态的隐藏状态和当前状态的输入,并通过一个输入门和忘记门来对输入进行优化。

 

LSTM和GRU都是计算隐藏态的黑盒。

 

6. LSTM

        

        

            


               

 

7.GRU

              

           

 

推荐网址:    http://deeplearning.net/tutorial/lstm.html

   https://www.zybuluo.com/hanxiaoyang/note/438990

   http://blog.csdn.net/a635661820/article/details/45390671

   http://www.cnblogs.com/ZJUT-jiangnan/p/5222939.html

 

  • 6
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值