上一次修改时间:2018-12-01 05:18:30

神经序列模型2号机

  1. 循环神经网络RNN

    image.png

    注:W和U都是矩阵,单词vanilla表示该RNN的结构是RNN里最简单的

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    注:梯度爆炸的危害:在用梯度下降法寻找目标函数的最小值时,如果跳跃到了梯度爆炸区域,计算出的下一次下降的增量将会非常大,会返回到多次跳跃之前的位置,从而导致之前的很多次梯度下降的跳跃白费

    image.png

    注:梯度消失产生的问题:梯度消失后会导致梯度消失后的神经网络无法更新权值,学习不到东西上图中所写的远处的error所带来的指导意义消失是指,要梯度消失的区域后面还有梯度正常的区域,此时,因为无法走出梯度消失的区域,导致后面的梯度无法起作用

  2. 长短时记忆网络LSTM

    image.png

    image.png

    注:concatenate操作是指,将两个向量合并,如a,b分别是一个二维向量,合并后就会变成2*2的矩阵上图中是ct的一个计算示例;

    f取值[0,1]的作用是可以控制记忆的信息,想让信息消失就取0,想让信息完整保留下来就取0,想让部分信息消失就取(0,1)

    image.png

    注:LSTM解决gradient不会趋于0的问题的核心是f,且该f在不同的位置t上值是不同的

    image.png

    image.png

    image.png

    image.png

    image.png

    注:LSTM中需要求的参数有8个分别Wf,bf,Wi,bi,Wc,bc,Wo,bo,其中W为矩阵,b为向量

  3. RNNLM

    image.png

    注:NNLM(Neural Network Language Model)用embedding解决了对启的理解有限的问题,但没有解决N-gram的上下文的长度的问题,NNLM实际使用时,最多假设后面的一个词跟前面的7个词有关(7已经很大了,该值如果太大,会导致模型本身非常庞大)

    image.png

    注:上图中,每一个灰色的方框里都是一个完整的LSTM

    image.png

    image.png

    注:一个句子中,每个词在RNNLM中都会有一个loss,一个句子有一个总的loss

    image.png

    image.png

    注:image.png表示d维向量dropout要除以xi的,是因为需要保证yi的总体值不变r的值是手动设置的,不是固定的

    image.png

    注:横向结构中不能加dropout,加了话信息就有可以会被中断,没法传递下去

    image.png

    注:Count-based是目前最好的N-gram模型,Feedforward是NNLM模型