深度学习-循环神经网络(RNN)

循环神经网络-RNN

目录

情感分类(正面,负面)

前向传播和反向传播

1、前向传播

2、反向传播

GRU & LSTM

一、GRU(Gated Recurrent Unit)

二、LSTM(Long  Short-Term Memory)


学习链接:

零基础入门深度学习(6) - 长短时记忆网络(LSTM)

Word2Vec数学原理详解

       隐层连接着输入和输出层,它到底是什么?它就是特征空间,隐层节点的个数就是特征空间的维数,或者说这组数据有多少个特征。

       输入层到隐层的连接权重则将输入的原始数据投影到特征空间,比如就表示这组数据在特征空间中第个特征方向的投影大小,或者说这组数据有多少份量的特征。

       而隐层到输出层的连接权重表示这些特征是如何影响输出结果的,比如某一特征对某个输出影响比较大,那么连接它们的权重就会比较大。关于隐层的含义就解释这么多,至于多个隐层的,可以理解为特征的特征。 

 

情感分类(正面,负面)

        many-to-one,依次输入每条文本每个分词的词向量,最后用sigmoid进行分类;

将词转为词向量的方法有:

(1)one-hot representation,大量0值,数据稀疏,且易造成维度爆炸;

(2)tfidf向量化:输出的向量不包含次序信息,深度神经网络学不到什么东西,一般用ml的方法如贝叶斯,svn进行分类即可;

(3)word2vec:CBOW每次更新context(w)个词的词向量,skip-gram每次更新一个词(目标词)的词向量;haffman树在每个结点出更新参数,随机负采样是每次用一个样本去更新参数;

前向传播和反向传播

1、前向传播

更新方程:

a^{\left ( t \right )}=b+Wh^{t-1}+Ux^{t},

h^{\left ( t \right )}=tanh\left ( a^{\left ( t \right )} \right ),

,

{\hat{y}}^{\left ( t \right )}=softmax\left ( o^{\left ( t \right )} \right )

2、反向传播

梯度更新:

深度学习-循环神经网络(RNN)_第1张图片

深度学习-循环神经网络(RNN)_第2张图片

GRU & LSTM

GRU和LSTM可以更好的捕捉深层连接,并改善梯度消失的问题;

一、GRU(Gated Recurrent Unit)

深度学习-循环神经网络(RNN)_第3张图片

完整的GRU:

 深度学习-循环神经网络(RNN)_第4张图片

式一:记忆细胞的更新值;

式二:更新门,决定是否要用候选值更新决 t 时刻的激活值,可选择更新一些细胞,一些不更新;

式三:相关门,C^{^{t-1}} 和 C^{^{t}} 的相关性,定前面的序列对后面序列有多大影响;

式四:t 时刻的激活值;

 

问题1:GRU 为什么可以解决长期依赖问题,为什么可以改善梯度消失问题?

答:由于记忆细胞以及更新门的选择更新;

        例句:The cat which ... ,was sleeping;   cat是单数,所以后面要用was,cat输入时,\Gamma _{u}= 1,中间的,直到was才会更新为\Gamma _{u}= 1

        根据sigmoid性质,\Gamma _{u} = sigmoid\left ( ... \right ) ,括号里的值为大负数时,\Gamma _{u} 会无限接近于0,可近似\Gamma _{u}\approx 0 ,此时C^{^{t}} = C^{^{t-1}}C^{^{t}}的值就被维持下来了,就不会发生梯度消失,并且非常有利于维持细胞的值,指导“was”出现的时候细胞的值才会被更新,才有\Gamma _{u}= 1;

二、LSTM(Long  Short-Term Memory)

深度学习-循环神经网络(RNN)_第5张图片

        将GRU式三中的 \Gamma _{u} 和 1-\Gamma _{u} 分别用更新门和遗忘门代替,更强大、灵活;

式一:记忆细胞的候选值;

式二:更新门,是否更新,决定是否要用候选值更新决 t 时刻的激活值,可选择更新一些细胞,一些不更新;

式三:遗忘门,选择性忘记,即保留多少,保留多少上一时刻的状态C^{^{t-1}}

式四:输出门;输出门值不仅受输入、上一时刻的激活值a^{^{t-1}}影响,也取决于上个记忆细胞的值C^{^{t-1}};须知,若有一个100维的隐藏层记忆细胞单元,那第50个C^{^{t-1}}的值只能影响对应的那个门的第50个元素,关系是一对一的;C^{^{t-1}}的第一个元素只能影响门的第一个元素,以此类推;

式五:更新值,用单独的更新门和遗忘门去选择是维持旧的值C^{^{t-1}}还是加上新的值(候选值);

式六:t 时刻的激活值;

 

你可能感兴趣的:(机器学习)