笔记 RNN
参考链接:https://blog.csdn.net/haitaolang/article/details/60170383
RNN:
评测一个句子出现的可能性
文本自动生成
一、 定义
RNN之所以叫RNN是因为它循环处理相同的任务,就是预测句子接下来的单词是什么。RNN认为在这循环的任务中,各个步骤之间不是独立,于是它循环记录前面所有文本的信息(也叫记忆),作为预测当前词的一个输入。
在RNN中,每个词作为一层,对其进行预测。
F函数一般是tanh或者ReLU
Ot是在t时刻词典中所有词出现的概率,也就是||=|vocabulary|
所有层共享U和W
二、应用
1语言模型和文本生成
语言模型中,输入时经过编码的词向量序列,输出是一系列预测的词。在训练模型的时候,让输出等于下一时刻真实的输入,因为在文本生成中,这一时刻的输出对应的是下一时刻的输入。
2机器翻译
机器翻译与语言模型的不同是,机器翻译必须等待所有输入结束后才输出,因为这个时候才能得到翻译句子的所有信息。
.3语音识别。
输入一系列的声波信息,然后预测一段语音。
3.4生成图像描述
RNNs和 CNN一起,可以用来为未标记的图像生成描述。
三、训练RNNs
训练RNN和训练传统的神经网络一样,都是使用反向传播算法,但是又有些不同,这里所有步骤都共享同一个参数,每一个步骤的回归输出不仅仅依赖于当前时刻,还依赖前面时刻的步骤,这就叫BPTT算法(时间反向传播)。