美文网首页
RNN&LSTM&GRU

RNN&LSTM&GRU

作者: 愤怒的熊猫V | 来源:发表于2019-08-25 02:51 被阅读0次

        我们传统的全连接神经网络或者卷积神经网络适用于解决一些样本之间不存在时序的问题,例如输入一堆数据,我们假设这些数据都是独立同分布的,在假设我们输入的是一堆图片,那么图片与图片也大多是相互独立的关系,不存在时序。

RNN    循环神经网络

        而这些特性在解决人工智能的另一个领域的问题,即NLP问题中是不太适用的,因为自然语言处理问题中存在的大量的时序关系,例如一句话中的“我 爱 人工智能,所以 我 想 成为 一名 算法工程师”,词与词之间都是存在着关系的,我们可以根据“我爱XXX”来推断出“我想成为XXX”,这是有着很明显的时序关系的。因此为了解决这种时序关系,循环神经网络出现了,循环神经网络的循环体现在,它会把当前得到的某些“中间量”作为“记忆信息”输入到下一层网络的“中间量”中,通过这些中间量来不断的读取之前所发生的数据。

        RNN的基本结构如图所示,图cover自唐宇迪老师的视频课程。

RNN结构

        整个神经网络其实就只有左边的结构,中间量A的一个自我循环,然而把每次的输入都进行展开的话,就能得到右边的图,At=Ut*Xt,这是得到中间变量的过程,例如我们有100个输入,那么U就有100个,W有99个,从当前的中间变量A传递到下一次的中间变量A有一个A(t+1)=f(X(t+1)*U(t+1)+Wt*At)的过程,f是激活函数,而ht则是Vt*At然后经过一层分类器,例如softmax函数,得到的分类结果,反向传播的过程可以自己算,例如我们算到了ht的值,那么就要对ht之前的所有参数进行更新,我们始终抓住哪些量对结果产生了哪些影响。例如我们输入了我是中国人,所以我爱“XX”,我们期望的最终ht当然是输出“中国”这个词。

        当然,我们也发现了一些RNN的缺点,例如假设我们的一句话非常长,有200个词汇,那么进行反向传播的次数就会非常多,且不论参数计算是否复杂,光梯度消失的问题,就会使得前面的权重无法进行调节了。然后另外一个问题就是,我们在寻求想要得到的结果这一过程中,并不一定需要前面所有的信息,并且前面的有些信息可能会对结果产生干扰,因此我们需要进行选择性的遗忘掉一些信息,RNN的改进版应运而生,就是LSTM。

LSTM    长短期记忆网络

相关文章

  • RNN&LSTM&GRU

    我们传统的全连接神经网络或者卷积神经网络适用于解决一些样本之间不存在时序的问题,例如输入一堆数据,我们假设这些数据...

网友评论

      本文标题:RNN&LSTM&GRU

      本文链接:https://www.haomeiwen.com/subject/oiwcectx.html