一、RNN简要介绍
RNN(RecurrentNeural Networks):循环神经网络。
CNN是一个典型的空间上深度的神经网络,RNN是在时间上深度的神经网络
语言模型和文本生成研究:
Recurrentneural network based language model
Extensionsof Recurrent neural network based language model
GeneratingText with Recurrent Neural Networks
机器翻译研究:
A Recursive RecurrentNeural Network for Statistical Machine Translation
Sequenceto Sequence Learning with Neural Networks
JointLanguage and Translation Modeling with Recurrent Neural Networks
语音识别研究:
TowardsEnd-to-End Speech Recognition with Recurrent Neural Networks
二、RNN模型结构
在基本的前向神经网络模型的基础上改进:
举例说明:
三、训练过程
1. 前向计算每个神经元的输出值:
2.反向计算每个神经元的误差项值,即误差函数E对神经元j的加权输入的偏导数
已知误差项值和上一时刻隐藏层的输出St-1,则权重矩阵在t时刻的梯度为:
4.最后根据随机梯度下降算法(SGD)更新权重
四、实验结果
训练样本:3077个字符组成的文本序列
迭代训练199000次后的预测输出50个字符组成的序列:
五、代码实现
http://download.csdn.net/detail/lin78009/9834812