Independently Recurrent Neural N

2018-03-18  本文已影响0人  longturn
IndRNN作者电子科大学生,2018-3-13挂于arxiv

Motivation

plain的RNN存在梯度消失与爆炸问题,而LSTM/GRU虽然一定程度解决了问题,但是由于采用tanh或者sigmoid作为这些饱和的激活函数,堆叠多层时层间梯度衰减验严重。考虑新的RNN结构,能使用Relu这类不饱和激活函数,可堆叠多层使用等。传统RNN或LSTM中各个神经元之间不独立,作者提出神经元之间独立的RNN网络。

Method

最主要的观察:


原始RNN表达式,Dependent RNN

其中W是NxM大小的矩阵、U是NxN的矩阵,N表示RNN中隐含层的维度。作者认为RNN中存在N个神经元(neurons),在plain RNN中本时刻的每一个神经元都与上一时刻的全部神经元的输出都发生了联系(U行向量与$h_t-1$向量乘积),也就是说这些神经元之间不独立。但是在我们常用的前向型网络中,比如全连接网络或者CNN,每一层内的所有神经元之间都是独立的(不考虑cnn权值共享),而神经元之间的连接仅发生在层与层之间。因此对上面的公式简单改造,使神经元之间各自独立:


IndependentRNN
u是向量,W仍然是矩阵,之间符号是element-wise product,由于采用element-wise乘法而不是向量乘,t时刻每个神经元就只与t-1时刻的自身神经元相关联,与其他神经元无关,对单个神经元(n)表达式为:
IndRNN中单个神经元表达式

这里除了wn之外就全都是简单数值了。
这么做的好处:RNN每层的每个神经元各自独立地学习一种输入数据的pattern,然后下一层的神经元再基于上一层神经元的输出学习新的pattern,逐层抽象。
由于神经元之间独立,为了在神经元之间产生联系,至少要堆叠两层网络。作者证明在使用线性激活函数时,传统RNN可以看做是一种特殊的两层IndRNN。

扩展

实验

  1. Adding Problem
  1. Sequential MNIST Classification
  1. Language Modeling


    image.png
  2. Skeleton based Action Recognition

总结

不足:

上一篇 下一篇

猜你喜欢

热点阅读