0语言模型-N-Gram
语言模型就是给定句子前面部分,预测后面缺失部分
eg.我昨天上学迟到了,老师批评了____。
N-Gram模型: ,对一句话切词 我 昨天 上学 迟到 了 ,老师 批评 了 ____。
2-N-Gram 会在语料库中找 了 后面最可能的词;
3-N-Gram 会在预料库中找 批评了 后面最可能的词;
4-N-Gram 的内存耗费就非常巨大了(语料库中保存所有的四个词的预料组合)。
 
 
一个单隐层结构示意图:
循环神经网络RNN公式推导走读
循环神经网络RNN公式推导走读
参数:输入到隐层的权重U、隐层到输出的权重V,自身递归的权重W
循环层输出:循环神经网络RNN公式推导走读f是激活函数;
输出层(全连接)循环神经网络RNN公式推导走读循环神经网络RNN公式推导走读g是激活函数;
循环神经网络RNN公式推导走读
 循环神经网络RNN公式推导走读
 
1.2双向循环神经网络
单向循环网络是根据前文猜测空白词语;双向是根据前后文一起预测空白词语。
eg 我的手机坏了,我打算____一部新手机。
循环神经网络RNN公式推导走读
循环神经网络RNN公式推导走读
双向卷积神经网络的隐藏层要保存两个值,一个A参与正向计算,另一个值A'参与反向计算。
循环神经网络RNN公式推导走读
循环神经网络RNN公式推导走读
最终输出循环神经网络RNN公式推导走读循环神经网络RNN公式推导走读, 正向计算时,隐藏层的值与有关;反向计算时,隐藏层的值与有关;最终的输出取决于正向和反向计算的加和。
注:同向权重共享,异向权重不共享!
规范格式:循环神经网络RNN公式推导走读循环神经网络RNN公式推导走读
 
 
1.3深度循环网络
堆叠多个隐层,示意图如下:
循环神经网络RNN公式推导走读  第i个隐藏层计算:循环神经网络RNN公式推导走读循环神经网络RNN公式推导走读
 
2训练BPTT
同bp的训练步骤
  循环神经网络RNN公式推导走读
循环神经网络RNN公式推导走读
2.1 前向计算:循环神经网络RNN公式推导走读
向量形式:循环神经网络RNN公式推导走读循环神经网络RNN公式推导走读
 
 
2.2 反向计算:分两个方向考虑,沿时间反向传播(与W有关)传递到上一层网络(与U有关)
2.2.1第一个方向,沿时间传递一个时刻:同bp原理借用netj传导
又t时刻和t-1时刻netj的关系:循环神经网络RNN公式推导走读
因此梯度链循环神经网络RNN公式推导走读
上式第一项:循环神经网络RNN公式推导走读     第二项:循环神经网络RNN公式推导走读循环神经网络RNN公式推导走读
带入求得循环神经网络RNN公式推导走读
所以最终梯度计算得: 循环神经网络RNN公式推导走读
 
2.2.2第二个方向:同bp
由l层和l-1层的netj关系:循环神经网络RNN公式推导走读循环神经网络RNN公式推导走读
因此梯度链 循环神经网络RNN公式推导走读
 
所以最终梯度计算得: 循环神经网络RNN公式推导走读
 
2.3计算权重矩阵W
循环神经网络RNN公式推导走读
循环神经网络RNN公式推导走读
由nett计算公式:循环神经网络RNN公式推导走读循环神经网络RNN公式推导走读
求t时刻w的梯度:循环神经网络RNN公式推导走读
所以 t时刻W的梯度为: 循环神经网络RNN公式推导走读循环神经网络RNN公式推导走读
最终 各个时刻W梯度之和:循环神经网络RNN公式推导走读循环神经网络RNN公式推导走读
 
2.4计算权重U:
同理W,求t时刻u的梯度: 循环神经网络RNN公式推导走读
最终 各个时刻U梯度之和: 循环神经网络RNN公式推导走读
 
 
 
3梯度爆炸和消失问题
由于RNN在训练过程中容易发生梯度爆炸和消失问题,所以不适合处理较长序列。
梯度爆炸问题:设置阈值,直接截取;
梯度消失问题:1合理初始化权重,躲避梯度消失区域;
                       2用relu代替tanh和sigmoid作为激活函数;
                       3使用GRU或者LSTM结构。
 
 
4工程应用:
1 one-hot编码:建立一个包含所有词汇的字典,每个词都是N维的二进制向量,排列在第几个就第几位为1,其余0;
缺点:得到高纬并且稀疏的向量
 
2softmax:可以得到输出概率
循环神经网络RNN公式推导走读
 循环神经网络RNN公式推导走读
 
3优化函数:soft max层对应交叉熵代替均方误差MSE,研究证明更make sense
循环神经网络RNN公式推导走读
 循环神经网络RNN公式推导走读
 
 
 
 
 
参考:网络博客