前篇链接 link
目录
第五章 RNN
前面介绍的word2vec是前馈神经网路,无法很好的处理时序信息,引入RNN来解决问题
语言模型
目标:求后验概率 P( w_t | w_1, W_2, …, W_t-1 ),从而求出语言模型的联合概率
RNN模型
模型架构
- 输入:将时序单词序列 { w0, w1, w2, …, wt } 在空间上展开,依次输入到对应的RNN单元中(即上图等号右侧的一个个RNN框)
- 输出:对于输入单词 w_n,输出 w_n 接下来出现的一个单词的概率向量
一个典型RNN单元的计算图
h_prev为前一个RNN单元输出的隐藏状态,x为当前时序下输入的单词向量,tanh为激活函数
损失函数的设置
- 总结——基于时序序列输出的结果序列 { x0, x1, … , xT-1 } 与正确标签{ t0, t1, … , tT-1 }的逐元素二分类交叉熵损失的求和取均值
评价指标
- 困惑度
总结
-
RNN 具有环路,可以记忆隐藏状态;
-
通过展开 RNN 的循环,可以将其解释为多个 RNN 单元水平方向上延伸的神经网络,可以通过基于时间的反向传播进行学习(BPTT);
-
在学习长时序数据时,要生成长度适中的数据块,进行以块为单位的截断 BPTT 学习(Truncated BPTT);
-
Truncated BPTT 只截断反向传