循环神经网络RNN
注:W和U都是矩阵,单词vanilla表示该RNN的结构是RNN里最简单的;
注:梯度爆炸的危害:在用梯度下降法寻找目标函数的最小值时,如果跳跃到了梯度爆炸区域,计算出的下一次下降的增量将会非常大,会返回到多次跳跃之前的位置,从而导致之前的很多次梯度下降的跳跃白费;
注:梯度消失产生的问题:梯度消失后会导致梯度消失后的神经网络无法更新权值,学习不到东西;上图中所写的远处的error所带来的指导意义消失是指,要梯度消失的区域后面还有梯度正常的区域,此时,因为无法走出梯度消失的区域,导致后面的梯度无法起作用;
长短时记忆网络LSTM
注:concatenate操作是指,将两个向量合并,如a,b分别是一个二维向量,合并后就会变成2*2的矩阵;上图中是ct的一个计算示例;
f取值[0,1]的作用是可以控制记忆的信息,想让信息消失就取0,想让信息完整保留下来就取0,想让部分信息消失就取(0,1);
注:LSTM解决gradient不会趋于0的问题的核心是f,且该f在不同的位置t上值是不同的;
注:LSTM中需要求的参数有8个分别Wf,bf,Wi,bi,Wc,bc,Wo,bo,其中W为矩阵,b为向量;
RNNLM
注:NNLM(Neural Network Language Model)用embedding解决了对启的理解有限的问题,但没有解决N-gram的上下文的长度的问题,NNLM实际使用时,最多假设后面的一个词跟前面的7个词有关(7已经很大了,该值如果太大,会导致模型本身非常庞大);
注:上图中,每一个灰色的方框里都是一个完整的LSTM;
注:一个句子中,每个词在RNNLM中都会有一个loss,一个句子有一个总的loss;
注:表示d维向量;dropout要除以xi的,是因为需要保证yi的总体值不变;r的值是手动设置的,不是固定的;
注:横向结构中不能加dropout,加了话信息就有可以会被中断,没法传递下去;
注:Count-based是目前最好的N-gram模型,Feedforward是NNLM模型;