概述
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
最后
以上就是单身大叔为你收集整理的RNN简介的全部内容,希望文章能够帮你解决RNN简介所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复