这是用户在 2024-11-20 23:46 为 https://app.immersivetranslate.com/word/ 保存的双语快照页面,由 沉浸式翻译 提供双语支持。了解如何保存?

1


递归神经网络研究进展


HojjatSalehinejad、沙兰Sankar、JosephBarfett、ErrolColakShahrokhValaee


摘要

- 经常性

神经

网络

(RNN)


能够


学习

特征


term
依赖关系


顺序


时间序列

数据

RNNs
a
堆叠

非线性

耳朵

单位

哪里


至少


连接

之间

单位

形成

引导

周期一个训练有素的RNN可以建模

任何动态的

系统的;

然而,在本发明中,

培训
RNNs

大多
plagued
通过

问题


学习

长期

个依赖项



纸张,

我们

a
调查


RNN和新来者和专业人士的几个新进展

在田野里。基础a

ls和

最近

进展


解释



研究

挑战


介绍


索引术语-深度学习、长期依赖性、循环神经网络、时间序列分析。


I.一、生产


RTIFICIAL神经

网络

(人工神经网络)


连接层

单位

称为

阿尔蒂文件
cial


“浅层网络”是指具有一个输入层、一个输出最多一个没有循环连接的隐藏层的人工神经网络。随着网络层数增加,网络的复杂性也随之增加。 更多层数递归连接通常会增加网络深度,并使其能够提供各种级别数据表示特征提取,称为“深度学习”。一般来说,这些网络非线性简单的单元组成,其中,=61>层提供数据的抽象的表示,并抑制不需要的可变性[1]。 由于每一层非线性组合造成的优化困难,在2006年取得重大进展之前,没有太多关于深度网络架构的工作[2],[3]具有循环连接的ANN称为循环神经网络<span id=116>(RNN)能够对序列数据进行建模,用于序列识别和预测[4]RNN具有非线性动力学的高维隐藏状态组成[5]隐藏状态的结构作为网络记忆</span>隐藏每次先前的状态为条件[6]这种结构使RNN能够长时间存储、记忆处理过去的复杂信号RNN可以输入序列映射到当前时间步输出序列,并预测一个时间步的序列。


基于RNN文献中,从阿尔奇设计到应用,大量论文发表


H. Salehinejad加拿大多伦多的多伦多大学电子&计算机工程加拿大圣路易斯的医学影像系的教授。加拿大多伦多多伦多大学迈克尔医院电子邮件:salehinejadh@ smh. ca。


S. 桑卡尔就职加拿大滑铁卢大学电气与计算机工程系,电子邮件:sdsankar@ edu. uwaterloo. ca。


J. Barfett和E. Colak加拿大多伦多多伦多大学迈克尔医院医学影像系的电子邮件barfettj,colake@smh.ca。


S. Valaee加拿大多伦多的多伦多大学电子&计算机工程系工作电子邮件:valaee@ece.utoronto.ca。


1:递归神经网络(RNN)的一些主要进展一览。



第一作者


贡献

1990

Elman


推广的简单RNN(Elman网络)

1993


朵娅


教师强迫学生大学(GD)

1994

Bengio


难以学习梯度下降长期依赖

1997

Hochreiter


LSTM:消失梯度问题长短记忆

1997


舒斯特


BRNN:双向递归神经网络

1998

LeCun


梯度消失问题Hessian矩阵方法

2000

Gers


遗忘的扩展LSTM

2001


古德曼


用于快速最大训练的类

2005

Morin


基于RNN语言建模层次softmax函数

2005


坟墓


BLSTM:双向LSTM

2007

Jaeger


泄漏集成神经网络

2007


坟墓


MDRNN:多维RNN

2009


坟墓


LSTM用于手写识别

2010

Mikolov


基于RNN语言模型

2010


尼尔


用于消失梯度问题整流艾德线性单元(ReLU)

2011

Martens


Hessian自由优化学习RNN

2011

Mikolov


通过反向传播的RNN


统计语言建模时间

2011

Sutskever


考虑结构阻尼的无Hessian优化

2011


杜奇


每个权重自适应学习

2012

Gutmann


噪声对比估计

2012

Mnih


用于训练神经概率语言模型(NPLM)的NCE

2012

Pascanu


利用梯度裁剪避免梯度爆炸问题

2013

Mikolov


采样代替分层softmax

2013

Sutskever


动量随机梯度描述

2013


坟墓


深度LSTMRNN(StackedLSTM)

2014

Cho


门控递归单元

2015

Zaremba


用于减少过拟合的压差

2015

Mikolov


结构约束递归网络


(SCRN)增强消失梯度问题学习更长的记忆

2015


维辛


ReNet:一种基于RNN卷积神经网络替代方案

2015

Gregor


画:循环细心的作家

2015

Kalchbrenner


网格长短记忆

2015

Srivastava


公路

2017



门控正交递归单元


发展本文中,我们重点讨论离散时间RNN和该领域的最新进展。表I列出RNN时间上的一些主要进展使用梯度下降(GD)的反向传播的发展为训练RNN提供了很好的机会这种简单的训练方法加速了开发RNN的实际成就[5]然而带来一些挑战,在建模长期的依赖消失爆炸梯度问题,是讨论一点

2


本文


其余的文件组织如下。RNN的基本原理第二节中介绍第三节讨论了训练RNN的方法第四节介绍了各种RNN架构训练RNN的正则化方法第五节中讨论后,在第六节中简要介绍RNN信号处理中的主要应用


二.一个简单欧元汇率网络


RNN一类监督的机器学习模型,具有一个多个反馈回路的阿尔蒂神经元组成[7]反馈回路是随时间序列我们在本文中称之时间而循环的周期[8],<span id=43>1中。以监督的方式训练RNN需要输入-目标对的训练数据集目标最小化输出目标之间的差异(即,损失值)


A. 模型架构


一个简单的RNN,分别输入层、递归隐藏层和输出层,如图1a所示输入层具有N个输入单元层的输入通过时间t的向量序列例如{. x1xxt+1,.},其中x=(x1x2,...,xN连接RNN输入单元连接隐藏隐藏单元其中连接矩阵WIH定义隐藏具有M个隐藏单元ht=h1h2<span id=98>,.,hM),它们通过循环连接在时间上相互连接,图1b。使用小的非零元素初始化隐藏单元可以提高网络的整体性能稳定性[9]隐藏层将系统的状态空间“内存”定义


h= fHo),(1)


哪里


o=WIHX+WHHh1+Bh(2)


fH(·)是隐藏层激活函数,并且Bh是隐藏单元的偏置向量隐藏单元通过加权连接WHO连接输出层


具有P个单元y=(y1y2,...,yP计算y= fOWHOh+Bo(3)


其中fO(·)是激活函数,并且BO是输出层中的偏置向量由于输入-目标对在时间上连续的,因此时间t=(1,.,T)的情况下等式(1)(3)表明RNN某些非线性状态方程组成,这些方程随时间迭代。每个时间步中,隐藏状态基于输入向量输出提供预测RNN的隐藏状态除了任何外部因素的影响外,它总结许多时间步长上关于网络过去状态的所有唯一必要信息。这些综合信息可以定义网络的未来行为,并在输出层做出准确的预测[5]RNN使用简单


输出

y1 y2
yP /


隐藏

/ h1 h2
hM


(一)

折叠
RNN.

t
t+1t+2时间


(B)随时间展开的RNN


图1:一个简单的递归神经网络(RNN)及其随时间的展开结构每个箭头显示层之间的单元完整连接为了使数字简单,没有显示偏差。


非线性激活函数然而,这种简单的结构能够建模里奇动态,如果通过时间步长良好的训练。


B。激活函数


对于线性网络,多个线性隐藏充当单个线性隐藏[10]非线性函数比线性函数更强大,因为它们可以在边界附近绘制非线性。RNN中的一个或连续隐藏中的非线性是学习输入-目标关系的原因。


一些最流行的激活函数2所示。近年来,sigmoid“、tanh修正的艾德线性单元(ReLU)其他激活函数受到了更多的关注。 “sigmoid”是一种常见的选择,接受一个真实的-将其压缩范围[0,1]激活函数通常用于输出其中交叉熵损失函数用于训练分类模型。 “tanh”“sigmoid”激活函数


tanh(x)=



σ(x)
= 1


分别“tanh”激活函数实际缩放的“sigmoid”激活函数例如


σ(x)=

. (6)


ReLU另一个流行激活函数,对于输入开放式的[3],定义


y(x)=max(x,0)。(七)


激活函数的选择主要取决问题和数据的性质例如“sigmoid”适用于输出[0,1]范围内的网络,然而tanhsigmoid激活函数使神经元非常快地饱和,并且c可以使梯度消失。尽管有“tanh”,但“sigmoid”非零集中输出

3

out

1

0.5

0

−0.5

−1

out

1

0.5

0

−0.5

−1

−4 −2 0 2 4



(a)线性
.

−4 −2 0 2 4



(b)分段线性
.

out

1

0.5

0

−0.5

−1

out

1

0.5

0

−0.5

−1

−4 −2 0 2 4



(c)tanhnet)。

−4 −2 0 2 4



(d)阈值
.



(e)sinnet直到饱和。(f)S2:常见的激活功能


可能导致权重的梯度更新S中的不稳定动态与“sigmoid”或“tanh”激活函数相比,ReLU激活函数导致梯度更稀疏,并大大加速了随机梯度下降(SGD)的收敛[11]。 ReLU在计算上是非常简单的,因为它可以通过激活值阈值设置零来实现。然而,ReLU不再抵抗大梯度流,并且随着权重矩阵的增长,神经元在训练期间可能保持不活动


C. 损失函数


损失函数通过比较输出y相应目标z评估网络性能,定义为


L(yz)= 0
t

1 Lt (yt, zt ), (8)


每个时间步中损失的总和[12]损失函数的选择取决于问题。一些流行的损失函数是用于预测实值的欧几里得距离汉明距离,以及分类问题输出概率分布交叉熵[13]
.


三. TRAININGRECUREANEURALNETWORK


RNN有效训练一个主要问题困难在于正确初始化RNN权重s


网络优化算法调整它们最小化训练损失。网络参数之间的关系和隐藏状态随时间的动态变化会导致不稳定性[4]。 对文献中提出的方法的一瞥表明主要焦点降低训练算法的复杂性,同时加速收敛。然而,通常这样的算法需要大量的迭代来训练模型。 用于训练RNN的一些方法多网格随机搜索,时间加权牛顿优化GD扩展卡尔曼滤波EKF[15],Hessian-free期望最大化EM[16],近似Levenberg-Marquardt[17]全局<sp优化算法。在节中,我们将详细讨论一些se方法详细比较[18]
.


A.初始化


RNN中权重和偏差的计算至关重要的。一般规则为权重分配较小的标准0.0010.01的高斯绘制是合理选择[9],[19]偏差通常设置,但输出偏差可以设置非常[9]然而,参数初始化取决输入数据任务和属性例如维度[9]使用<span id=78>先验知识监督方式其他方法[4]
.


B。基于梯度的学习方法


梯度下降(GD)是深度学习中一种简单而流行的优化方法基本思想通过找到模型中权重矩阵每个成员误差函数导数来调整模型的权重[4]为了使总损失最小化GD<如果线性激活函数可微的,则误差相对于该权重的导数。 GD称为批处理GD,因为它在每次优化迭代中计算整个数据的梯度,以执行单个更新

θt+1 = θt

k
(9)


其中U训练集的大小λ学习率dθ是参数。这种方法对于非常大的数据集在计算上是昂贵并且适合在线训练(即,当输入到达时训练模型)。


由于RNN是一个通过时间的结构,我们需要通过时间扩展GD训练网络称为通过时间的反向传播(BPTT)[20]然而,通过时间计算误差导数困难[21]主要由于参数和动态之间的关系<span RNN的id=40>,这是非常不稳定的使GD无效。随着依赖关系持续时间的增加,基于依赖关系的算法捕获依赖关系[4]损失函数关于权重的导数考虑当前输出相应目标之间的距离,而不使用历史信息进行权重更新[22]。 RNN无法学习长距离时态

4


II:比较主要梯度下降(GD)方法,其中N网络中节点O(·)每个数据点。更多详细信息请参阅[14]
.


方法


描述


优势


缺点


O(·)

RTRL


得到网络状态梯度计算误差梯度


时间t权重时间t-1权重之比


-在线更新weights


-适用在线适配属性应用


-计算复杂度


O(N4
)

BPTT


时间迭代展开


相同权重递归网络转换等效前馈网络,适合


反向传播方法


计算效率


-适用精细培训


-适用在线培训


O(N2
)

FFP


边界递归计算


时间t = 1时反向传播梯度的条件
.


-联机技术


求解梯度


时间上向前递归不是向后递归。


-计算复杂度高于


BPTT


O(N3
)

GF


基于递推误差梯度求解


输出梯度积的方程。


-改善RTRL


计算复杂度


-在线方法


-计算复杂度高于


BPTT


O(N3
)

BU


使用RTRL和BTT方法的某些方面更新每个O(N)数据的权重


-在线方法


-计算复杂度高于


BPTT


O(N3
)

yt

dL dL dL


dh1dhtdh+1

dht+1 dht

xt- 1


时间


3:随着网络随着时间的推移接收新的输入,单元灵敏度衰减(层中较浅的阴影,并且通过时间的反向传播(BPTT)会覆盖隐藏单元中的激活。这导致忘记早期访问的输入。


GD用于训练时的依赖性[4]由于梯度指数衰减因为通过时间反向传播的,称为消失梯度问题。另一种偶然的情况下,反向传播梯度可以指数地爆破,增加了梯度方差,并导致非常不稳定的学习情况,称为梯度爆炸问题[5]这些挑战在本节中讨论主要GD方法比较II基于梯度优化算法概述[18]
.


1)通过时间反向传播BPTT):BPTT


前馈网络反向传播的推广。用于学习RNN的标准BPTT方法及时“展开”网络,并通过时间向后传播错误信号通过1B网络参数视为集合θ ={WHHWIHWHOBHBBO},并且ht作为网络时间t隐藏状态我们可以<span id=65>梯度写成

(10)


其中,在时间t损失函数梯度的展开为:

(11)


哪里




部分

衍生物
(i.e.,
立即

部分

衍生物)。它

介绍如何


参数


set θ
影响


损失

功能



先前

时间步
(i.e.,
k % 3C
t).

为了

运送

通过误差

蒂姆
e

时间步长
t
回来


时间步长
k
我们

可以

(12)


我们可以考虑Eq。作为等式(1)的隐藏状态参数的雅可比矩阵,


其中f(·)函数f(·)的逐元素导数diag(·)对角矩阵


我们通常可以识别隐藏状态s时间在网络中的长期和短期贡献长期依赖性指的输入对应的隐藏状态时间k <<t的贡献,而短期依赖性指的是其他时间[19]3显示随着网络随着时间的推移而进展输入x1在</s的贡献pan>离散时间t1通过时间消失时间步长t +1(层中的深灰变为更高的灰色)。另一方面,损失函数Lt+1相对时间t+1的隐藏状态ht+1贡献


在BPTT中的时间步长过去长得多


2)消失梯度问题根据文献可以通过使用非线性来捕获真实的世界中的数据的复杂模式[6]然而,可能导致RNN遭受消失梯度问题[4]这个问题指的指数</span>它们通过时间传播回来,梯度幅度的收缩。这种现象导致网络的记忆忽略长期依赖性,并且几乎不学习时间上遥远的事件之间的相关性B。原因


1)标准的非线性函数,如sigmoid函数,其梯度几乎处处接近于零
;


2)梯度大小一地乘以

5


递归矩阵,因为是通过时间反向传播。这种情况下,当非递归矩阵的特征值小于1时,梯度迅速收敛到零。通常发生5-10反向传播[6]
.


在长序列上训练RNN(例如,100个时间步),权重小时,梯度会收缩。真实的数的乘积可以分别收缩/爆炸零/无穷大。对于基质,存在相同类比,但是收缩/爆炸沿着沿着一些直接离子发生。[19]证明ρ递归矩阵WHH的谱半径时ρ>1处长期分量t∞爆炸可以使用奇异推广


线性

功能
fH (·)
Eq. (1)
通过

边界


γ R

作为


||γ||γ. (十四)


使用等式(13)雅可比矩阵

,


约束

Eq. (14),
我们

可以

|| hk+1 T ·


卡宾枪


我们可以考虑||

|| δ < 1 s
这种

作为
δ R

每个

步骤
k.
通过

继续


超过

不同

时间步


添加


我们可以得到损失函数分量

||

(
)|| δt-k ||
|| . (16)


这个方程表明随着t-k大,长期依赖性趋向零,瓦尼问题发生。最后,我们可以看到,梯度消失问题出现充分条件递归权重矩阵W HH最大奇异值(即,,λ1


萨蒂斯λ1%3C


[19]第十九章
.


3)爆炸梯度问题:使用BPTT训练RNN的主要问题之一爆炸梯度问题[4]随着权重变得更大,并且<span>的数量增加在长序列训练RNN的过程中可能会爆炸 id=43>训练期间的梯度大大增加。正如[19],这种情况发生的必要条件是λ1>

.


为了克服爆炸梯度问题,最近提出了许多方法2012年Mikolov提出了一种梯度模裁剪方法,以避免在大型数据集上使用BPTT和SGD等简单工具训练RNN时出现梯度爆炸问题[23],[24]在类似方法中,Pascanu通过引入</spa提出了一种与Mikolov几乎相似方法n>作为用于对梯度进行范数裁剪的阈值的超参数[19]。 这个参数可以由算法来设定,但是训练过程不是很敏感


并且对于相当的阈值表现良好。


4)随机梯度下降:SGD(也称为在线GD)GD推广广泛用于机器学习应用[12]SGD鲁棒的,可扩展的,并且在许多不同的领域都表现良好光滑问题<span id=40>到复杂的凸目标。 尽管GD中有冗余计算

L(θt)


(一)

古典

势头.


4.经典动量Nesterov加速梯度格式。


SGD每次执行一次更新[25]对于输入-目标{xkz}其中k{1,.,U},θ中参数根据下式更新

θt+1 = θt λ Lk (17)


这种频繁的更新导致损失函数输出的波动,这有助于SGD探索具有更高多样性的问题景观希望找到更好的局部最小值。适应学习率可以控制SGD的收敛,使得随着学习率的降低探索减少利用增加。可以更快地收敛局部最小值。加速SGD经典技术使用动量,迭代朝向目标持续减少的方向累积速度向量[26]。动量经典版本适用时间<span损失函数L。 id = 88 tA . A . A设置 。of parametersθA . A .


v . v+1=v . v- -λ = λ = λL .( )) ( 18 )


其中,μ L·损失函数梯度μ[0,1]动量系数[9],[12]4aθ参数更新


θt+1= θ+v+1(十九)


通过

考虑
R
作为


条件
number


曲率



最低限度,


势头

可以

大大

加快

收敛

a
当地

最低限度,

要求
R


迭代次数比最速下降检验

到达

同级


精度

[26日]
.


凯斯,



暗示
d

设置


学习


µ = (R 1)/(R
+ 第一章
[26] 重试    错误原因 .

The Nesterov accelerated gradient (NAG) is arst-order optimization method that provides more efficient convergence rate for particular situations (e.g., convex functions with de- terministic gradient) than the GD [27]. The main difference between NAG and GD is in the updating rule of the velocity vector v, as presented in Figure 4b, defined as 重试    错误原因


v . v+1 。=v . v- -λ = λ = λL .( + )v . v)( 20 )


在 哪里 ? 在 哪里 ?The The参数 in 参数 in 参数θAre更新 的 版本使用 usingEq .. ( 19 ). 由 . .ReasonableVigne-Tuningof of of ofThe The动量 ( moment )Coefµ它 是 一 个是 的 , 是 的 。possibleto增加 的 人数The The优化 优化 ( Optimization )per .formance[ 9 ] 。
.


5)小批量梯度洗脱:小批量GD组分


设置训练数据的梯度,其中训练样本典型的批量50B256可以根据不同的应用而变化喂养

6


批量的训练样本加速了GD并且适合图形处理单元(GPU)上的处理负载分布。更新规则B示例之后修改参数,需要等待扫描所有示例例如


θ= θt-1-

(21)


由于基于GD的算法通常依赖梯度瞬时估计,因此它们对于时间序列数据[22]是缓慢的,并且对于n个非函数[28]优化无效=42>速率,这通常棘手的并且取决于应用。


SGD比GD快得多用于跟踪更新。 然而,由于mini-batchGD容易并行化,并且可以利用矢量化实现,因此的性能明显优于GDSGD[25]与SGD相比良好的矢量化甚至可以导致更快的结果此外,非随机初始化方案,例如逐层预训练,可以帮助


优化[29][30]提供更深入分析。
.


6)Adam随机优化:自适应估计(Adam)一种基于一阶矩的优化算法,使用低阶的估计优化随机目标函数[31]需要初始向量m0<span id=41>二阶矢量


时间为0时的v 0。se向量更新


m+1= β1m+(1 - β1g+1(22)



v+1= β2v+(1 - β2)g+1(23)


其中gt+1是损失函数梯度估计值指数衰减建议β1=0.9β2=0.999[31]矩和阶矩估计值偏倚校正


t+1=t+1=v/(1 -β+1),(24)



t+1=v/(1 - β+1)。(二十五)


然后参数更新


θt+1= θt-

(26)


其中,n = 10-8亚当算法实现起来相对简单适用非常数据集[31]
.


C.基于扩展卡尔曼滤波器的学习


卡尔曼滤波基于随时间观察到的一系列测量值来预测系统未来状态的方法,该方法使用贝叶斯推断估计每个时间步长的变量的联合概率分布[32]扩展卡尔曼滤波(EKF)线性版本卡尔曼滤波器放宽了状态转移观测模型的线性前提条件。然而,它们可能反而需要是可微函数。 EKF训练RNN


假设权重的最设置平稳的[22],[33]反向传播相比EKF帮助RNN更快地达到非平稳过程的训练稳态。 它可以在有限数据的训练中优于反向传播算法[15]类似SGD,可以在线方式输入数据训练RNN[33]
.


EKF的一个有效的版本解耦EKF(DEKF)方法,忽略了互斥的权重组相互依赖性[32]这种技术可以降低计算复杂每个训练实例所需的存储。解耦的扩展卡尔曼滤波器(DEKF)扩展卡尔曼滤波器独立地应用每个神经估计馈送它最佳权重。 训练过程建模最优滤波问题。递归有效地计算最小二乘问题的解决方案以最小化数据和曲线之间的平均距离为给定数据集找到最佳拟合曲线时间t,所有提供网络的信息直到时间t使用,包括自学习过程s第一次迭代以来计算的所有导数然而,计算只需要上一步的结果需要存储步骤之后的结果[22]RNN中基于卡尔曼的模型在计算上是昂贵的,并且在过去年中很少受到关注。


D.二优化


优化算法利用函数的二阶导数信息。假设具有良好的展开逼近的二次函数,牛顿方法可以通过向全局最小值移动而比GD执行得更好、更快[34]因为GD中优化方向梯度的,并且在鞍点附近陷入困境</span>局部极值。基于GD模型的另一个挑战学习率的设置,这通常是棘手的,并且依赖于应用程序。然而,方法通常需要计算Hessian矩阵Hessian矩阵的逆,GD方法相比,这在RNN中是一项困难的任务。


一般递归贝叶斯Levenberg-Marquardt算法可以在RNN的递归二阶训练顺序更新权重Hessian矩阵[35]这种方法优于RNN的标准实时递归学习EKF训练算法[35]计算Hessian矩阵挑战<span id=38>时间序列通过引入Hessian自由HF)优化来解决[34]
.


E. 无Hessian优化


一个设计良好初始良好的HF优化器可以很好地优化非凸函数,例如训练深度神经网络的目标函数,给定合理的随机初始化[34]由于RNN时间共享权重HF优化器应该a<span id=40>良好的优化候选[5]通过HF优化训练RNN

7


可以减少基于梯度的优化引起的训练困难艾德[36]通常HF截断牛顿方法在每个更新步骤之前计算Hessian矩阵估计,并且可以考虑曲线的突然变化[19]。 HF优化目标实值光滑目标函数的无约束最小化[28]标准牛顿方法一样,使用局部逼近生成更新建议。属于广泛近似牛顿方法适用非常高维问题例如大型神经网络训练目标[28]
.


通过向HF优化器添加阻尼机制,优化器能够在已知不可能使用GD学习的病理合成数据集上训练RNN[28]乘法RNNMRNN使用乘法称为门控”)连接允许当前输入字符确定一个隐藏状态向量下一个隐藏状态向量的转换矩阵[5]方法通过应用预测文本下一字符任务,展示了使用优化器训练大型RNN强大功能[5],[12]
.


HF优化器可以与现有预训练方法结合使用作为现有预训练方法的替代方案,并且适用性更广泛因为依赖更少关于网络特定结构的假设。 HF优化在大的小批量上运行,并且能够检测权重空间具有非常小的梯度甚至更小的曲率的有希望的方向。 通过使用带有动量的SGD将权重初始化接近的小值,已经实现了类似的结果[9]。
.


F. 全局优化


一般来说,进化计算方法初始化搜索代理的群体,并使其进化找到局部/全局优化[37]这些方法可以解决广泛优化问题,包括多峰,病态,高维,非凸问题然而,进化算法在RNN优化中存在一些缺点包括陷入局部极小值/极大值,收敛速度慢网络停滞。


RNN中参数的优化可以建模一个非线性全局优化问题。用于训练RNN的最常见的全局优化方法遗传算法[38]基于Alopex进化算法(AEA)使用个体权重变化与全局误差度量变化之间的局部相关性,并仅使用局部计算同时更新网络中的所有权重[39]为特定应用选择最佳的神经网络拓扑结构优化网络参数是不同的任务。在[40]中提出了一种混合多目标进化算法,用于训练优化用于时间序列预测的RNN的结构。一些模型同时获得递归网络结构权重[38]。自适应进化策略(CMA-ES)一种全局优化的参数整定方法


关于RNN全局优化方法的已发表文献分散,并且没有受到研究界的太多关注这一不足主要由于这些方法计算复杂然而,计算复杂度方式的此类方法的多代理哲学,例如具有群体大小的模型[42],可能导致比SGD好得多性能


四. REucurénEuroNetworksARchitectures


旨在概述RNN不同架构,并讨论这些模型之间的细微差别


A. 具有多层感知器的深度RNN


神经网络的深层架构可以表示比浅层架构莫尔有效的函数。虽然递归网络在时间上固有深度,因为每个隐藏状态所有先前隐藏状态的函数[43],但已经表明内部计算实际相当[44]。[44]中,有人认为在RNN的过渡阶段添加一个或多个非线性层可以通过更好分解原始输入的潜在变化来提高整体性能。 具有感知器层的RNN中的深层结构可以分为三类:


输入隐藏,隐藏隐藏,隐藏n输出[44]
.


1)深度输入到隐藏:基本思想之多层感知器(MLP)结构引入过渡和输出阶段,分别称为深度过渡RNN深度输出RNN为此,可以引入两个操作符。 第一个加法运算器,它接收个向量,输入向量x隐藏状态h,并返回一个摘要


h =xh。(二十七)


运算符等价Eq。(1)另算子表示为Eq的预测器,其等价于Eq。(3)预测给定摘要h输出


y=0.01h(二十八)


输入数据的高级表示意味着更容易表示数据的时态结构之间的关系。这种技术已经取得语音识别[43]单词嵌入[45]应用中向网络提供原始数据更好的结果。在输入中具有MLPRNN结构隐藏层如图5a所示为了增强长期依赖性,额外连接在输入层隐藏层之间建立了一条捷径,


5b[44]
.


2)深度隐藏到隐藏输出:深度RNN重点隐藏层。级别中,来自先前数据抽象和新输入的数据抽象和/或隐藏状态构造的过程高度线性的MLP可以这种线性函数进行建模有助于RNN快速适应快速变化输入模式,同时仍然具有过去事件良好记忆一个MLP之前

8


(一)

输入


隐藏
. / yt /


(c)第(1)款

隐藏


隐藏


输出.


5:一些具有多层感知器(MLP)的深度递归神经网络(RNN)架构。


图6:通过时间展开的双向递归神经网络BRNN)。


输出5c中给出了一个示例)[44]深度隐藏输出函数可以解开隐藏状态中变化因素,并促进目标的预测。函数具有网络的紧凑的隐藏状态,这可能导致先前输入的有信息量的历史摘要


3)隐藏状态堆栈:构建深度RNN的另一种方法拥有隐藏递归堆栈,如5d所示。这种类型的递归水平鼓励网络在不同的时间尺度上运行,并使能够处理输入序列的多个时间尺度[44]然而,连续隐藏状态之间的转换通常浅的,导致</span>它可以表示的有限函数[44]因此,这个函数不能作为一个通用的近似除非高层反馈层。


虽然为了利用深度网络的贝内而增强RNN已经证明可以产生性能改进,但它表明会引入潜在的问题通过向网络过渡阶段添加非线性现在存在梯度必须通过其返回的附加层。可能会导致梯度消失和爆炸等问题导致网络无法充分捕获长期依赖关系[44]在RNN的过渡阶段添加非线性可以显着增加RNN的性能。降低了网络计算速度额外的显著增加网络训练时间,必须在每次训练迭代时展开,因此不能并行化。

(0,0)


输出层

x2

(i,j)


隐藏层


图7:二维递归神经网络(RNN)中的前向传递序列排序。隐藏层平面内的连接循环的。沿着x1x2的线显示了从左上角开始的扫描带,沿该扫描带沿着观察先前的


B。双向RNN


传统的RNN考虑数据先前上下文进行训练。虽然在语音识别等许多应用中,简单查看先前的上下文足够了,探索未来上下文也很有用[43]。pan>输出延迟一定数量时间帧。然而,这种方法需要为任何实现选择handpicked最佳延迟双向RNN(BRNN)考虑过去和未来的所有可用输入序列估计输出向量[46]为此一个RNN前向时间方向上从开始到结束处理序列。另一个RNN在负时间方向上结束开始向后处理序列,如图6所示状态的输出连接到后向状态的输入,反之亦然,状态神经元之间没有相互作用[46]。
.


6中,向前向后隐藏序列→ ←


分别hh表示时间tT前向隐藏序列计算


h= fH(W

t + W ht-1 + b), (29)


其中t =(1,...,T)后向


h= fH(W

t + W ht-1 + b), (30)


t=(T,...,①的人时间t输出序列yt


y= Wh+Wh+Bo(三十一)


BPTT是训练BRNN的种选择然而向前向后传递过程稍微复杂一些因为状态输出神经元的更新不再一个地进行[46]虽然简单的RNN受到导致当前时间的输入的约束,BRNN通过使用过去未来信息来扩展此模型然而,BRNN缺点它们需要提前知道输入序列开始结束一个例子是通过音素标记口语句子[46]
.


C. 递归卷积神经网络


RNN的流行可以归因序列数据建模的能力。以前检查过型号

9


已经增强了简单RNN底层结构,以提高学习一维序列的上下文依赖方面的性能。然而,存在一些问题,需要理解上下文依赖多个维度。 最流行的网络架构使用卷积神经网络CNN)解决这些问题。


CNN机器视觉应用中非常流行的模型CNN可以多个卷积层组成,可选地在中间具有池化然后完全连接的感知器层[11]。 典型的CNN通过使用卷积层来学习,以使用每层中的共享权重来提取特征特征池化(即,采样)通过降低中间表示(即,特征图)以及输出偏移失真的敏感性。最后一个卷积层提取的特征馈送连接感知器模式l,用于特征的降维分类。


递归连接合并每个卷积层中可以形成递归卷积神经网络RCNN[47] RCNN中单元激活随着时间的推移而演变,因为它们依赖于相邻单元这种方法可以集成上下文信息,重要对象识别任务。方法通过层与层之间的权值共享,在保持参数个数不变的情况下,增加了模型深度使用输出到隐藏输入的递归连接允许网络标签依赖性进行建模,并根据先前的输出平滑自己输出[48]这种RCNN方法允许大输入上下文馈送网络,而<span id=95>限制模型容量。该系统能够以较低的推理代价对复杂的空间依赖关系进行建模。 随着上下文大小随着内置递归的增加而增加,系统会识别并纠正自己的错误[48]二维RNN可以增强CNN长距离空间依赖性的建模[49]这种方法有效全局空间上下文嵌入紧凑局部表示[49]
.


D. 多维递归神经网络


多维递归神经网络


RNN高维序列学习的另一种实现。该网络利用每个维度的循环连接来学习数据中的相关性MDRNN无环RNN[50]的特殊情况,通过D网格[51]替换网络更新的一维链来推广到多维数据这种方法中单个递归连接替换大小为D的递归连接。图7中给出了一个二维示例。在每个时间步的向前传递过程中,隐藏接收外部输入以及从沿着所有维度后退一步自身激活。 在每个时间步的输入先前隐藏激活的组合以输入序列顺序馈送。然后,网络存储产生的隐藏层激活[52]。MDRNN的误差梯度可以用BPTT计算一维BPTT一样,


以前向传递相反顺序ER处理该序列每个时步隐藏接收输出误差导数自己未来导数[52]
.


RNN具有适合多维域的属性,例如扭曲的鲁棒性和上下文的灵活使用。 此外,RNN还可以利用图像分析视频处理中的固有序列模式,这些模式通常其他阿尔奇忽略[53]然而,当试图对多维序列建模时,内存使用可能会成为一个重要的问题随着网络中更多的重复连接增加,网络必须保存保存状态的数量也增加。如果网络中有大量保存的状态,这可能会导致巨大的内存需求MDRNN成为消失梯度的牺牲品,并且可能无法沿着沿着所有维度学习长期顺序信息虽然MDRNN的应用与RCNN一致,但还没有种模型进行任何比较研究。


E. 长短记忆


循环连接可以通过利用它们理解顺序依赖关系的能力来提高神经网络的性能。然而,回流连接产生的记忆可能受到用于训练RNN的算法的严重限制。到目前为止,所有模型成为训练阶段梯度爆炸消失的牺牲品导致网络无法学习数据中的长期顺序依赖关系以下模型是专门解决这个问题而设计的,流行的长短记忆(LSTM)RNN。


LSTM减少消失和爆炸梯度影响的流行最有效的方法之一[54]这种方法将隐藏单元的结构“sigmoid”或“tanh”改变为记忆单元,其中它们的输入和输出门控制。这些控制信息到隐藏的神经元,并保留以前的时间步提取的特征[21],[54]
.


结果表明,对于连续的s序列,LSTM模型的内部可以无限增长[55]即使连续序列具有自然重复的特性,网络无法检测哪些信息不再相关。 遗忘门学习控制存储在存储单元中的值衰减的速率的权重[55]对于输入输出关闭并且遗忘引起衰减的时段存储单元简单随时间保持其值,使得</span>在这些时间段内,误差梯度反向传播期间保持恒定[21]这种结构允许网络潜在记住更长时间的信息。


LSTM在隐藏层中具有高复杂性。 对于相同大小的隐藏层,一个典型的LSTM比一个简单的RNN有大约多的参数[6]提出LSTM方法的目的引入一个可以改善学习长程依赖关系的方案,不是找到最小最优的参数。span>方案[21]与简单的LSTM相比,多维和网格LSTM网络部分增强长期依赖关系的学习,节中讨论。

10

yt
奥普
t Gate


输入ate

xt / ht-1


图8:带有一个cellLSTM内存虚线表示时滞


1)标准LSTM:一个典型的LSTM单元输入组成


忘记输出单元激活组件8所示。这些单元接收来自不同来源激活信号,并通过设计的倍增器控制细胞的激活。 LSTM可以防止网络的其余部分在多个时间步修改存储单元内容LSTM递归神经网络比普通的RNN更长时间地保存信号传播错误这些属性允许LSTM网络处理具有复杂和分离的相互依赖性的数据在一系列序列学习领域中表现出色。


LSTM输入定义


g= σ(WIGx+WHgh1+Wggg1+Bg),(32)


其中WIGi输入输入门的权重矩阵,WHg隐藏状态输入门的权重矩阵,Wggi从单元激活输入门的权重矩阵,并且Bgit输入门的偏置遗忘定义


g= σ(WIGx+WHgh1+Wggg1+Bg),(33)


其中WIG输入遗忘权重矩阵WHgf从隐藏状态到遗忘门的权重矩阵,Wggf单元激活遗忘门的权重矩阵,并且Bgf<span id=42>偏置”忘记门。单元定义


g= gtanh(WIGxt+WHgch1+Bgc+gg1(34)


其中WIGc输入单元门的权重矩阵,WHgc隐藏状态单元门的权重矩阵,并且Bgc是单元门偏置输出定义


g= σ(WIGx+WHgoh1+Wggg+Bgo),(35)


其中WIGo输入输出权重矩阵WHgo隐藏状态到输出门权重矩阵Wggo单元激活输出门的权重矩阵,并且Bgo<span id=43>输出门的偏置。最后,隐藏状态计算


h=gtanh(g)。(三十六)


图9:S-LSTM的一个例子,一个基于树结构的长短记忆网络节点可以考虑来自个后代的信息。其他白色节点的信息被屏蔽。每个箭头处的短线(-)表示一个信息


2)S-LSTM:虽然LSTM内部机制有助于网络学习更长的序列相关性,但可能无法理解比序列更复杂的输入结构S-LSTM模型旨在克服梯度消失问题,并从输入中学习长期依赖关系。 S-LSTM网络S-LSTM存储组成,并基于层次结构工作。一个典型的存储器块由输入输出门组成。在图9所示结构多个后代单元一段时间内的内存递归地反映一个内存单元上方法通过考虑来自树上的长距离的信息(即,分支主体(即,)。典型的S-LSTM具有“sigmoid”功能因此门控信号[0,1]的范围内工作。9显示靠近根的门受到梯度消失问题的影响越小(深色圆圈),而树的较低级别处的分支由于梯度消失而失去了它们的记忆(浅色圆圈)。 可以使用破折号关闭不接收来自较低分支的信号


与递归和LSTM模型相比,S-LSTM方法可以实现竞争性的结果。它具有扩展到其他LSTM模型的潜力。然而,它的性能无法与其他最先进的LSTM模型进行比较。读者可以参考[56]了解有关S-LSTM的更多细节


记忆细胞


3)堆叠的LSTMANN深度思想适用LSTM,通过空间堆叠不同的隐藏LSTM单元增加网络容量[43],


[57]第57段使用等式(1)中的隐藏层的L个LSTM的堆栈中的隐藏层l定义为:


h= fHWIHh-1+WHHh1+B),(37)


其中隐藏向量序列h计算


时间t=(1,...,T)for=(1,.,L)初始隐藏向量序列使用输入序列h0=(x1,...,[43]网络输出为:


y=f0WHOh+B0)。(三十八)


堆栈式LSTM中,堆栈指针可以确定LSTM的哪个单元提供一个单元状态优先级单元。

11


时间步长[58]这样受控结构不仅控制器可以恒定时间堆栈顶部推送dpop而且LSTM可以保持堆栈内容连续空间嵌入[58],[59]
.


堆叠LSTM不同RNN结构的组合用于不同的应用需要研究。一个例子是堆叠LSTM频率的组合


用于语音处理的域CNN[43],[60]
.


4)双向LSTM可以通过称为深度双向LSTMBLSTM的空间中堆叠LSTM单元的隐藏层来增加BRNN的卡帕克容量[43]BLSTM网络单向LSTM网络更强大[61]这些网络理论上</span>在计算过程中涉及输入序列的所有信息BLSTM的分布式表示特性对于不同应用(如语言理解)至关重要[62]BLSTM模型利用了双向RNN部分讨论相同优势同时克服


消失梯度问题


5)多维LSTM:经典的LSTM模型具有由单个遗忘门控制单个自连接它的激活认为一维LSTM。多维LSTM(MDLSTM)使用来自先前单元状态的互连沿着每N个维度沿着扩展LSTM存储器[52],[63]MDLSTM接收N排列中的输入(例如,图像的两个维度)。隐藏状态向量(h1,.,hN记忆向量(m1,.,m,N馈送到阵列的每个输入端内存向量定义

m =

g mj + g g , (39)


其中,k逐元素乘积并且使用等式(32)至等式(34)计算门(36)、[57]
.


空间LSTMMDLSTM[64]的一个特例,用于图像建模的二维网格。模型通过顺序阅读其小邻域像素来生成图像中特定像素隐藏状态向量[64]像素状态通过状态隐藏向量馈送到以下项的因式分解混合来生成


条件高斯尺度混合(MCGSM)[64]
.


6)网格LSTM:随着网格大小LSTM空间深度增加,MDLSTM模型变得不稳定。网格LSTM模型通过改变输出内存向量计算提供了一种解决方案。该方法针对多维数据的深度顺序计算模型LSTM单元沿着输入数据的时空维度以及层之间连接起来。与MDLSTM模型不同,块计算N个变换输出N个隐藏状态向量N个存储器向量。 维度的隐藏状态向量


h= LSTM(H,mWWWWc),(40)


其中LSTM(·标准LSTM过程[57]H输入隐藏状态向量的级联定义


H =[h1,.,hN]T. (四十一)


图10:时间差分回流神经网络(dRNN)架构输入遗忘分别时间-1DoS控制[65]
.


二维网格LSTM网络将LSTM单元沿着空间维度添加堆叠的LSTM。三维更多维LSTM类似于MSLSTM,然而,已经沿着空间深度沿着添加了LSTM单元并且执行N交互。网格LSTM更多细节[57]提供
.


7)差分递归神经网络:LSTM


理解长期序列依赖性方面表现出了更好的学习能力有人认为,其门控机制无法全面区分序列显着显着信息[65]。因此,LSTM无法捕获任务中的时空动态模式例如动作识别[65],其中序列通常可以包含许多着帧。差分递归神经网络(dRNN)涉及检测捕获重要的时空序列以学习输入中动作动态[65]dRNN中的LSTM监控连续帧之间重要运动的信息增益的变化。通过计算隐藏状态s的导数(DoS),可以检测到信息的这种变化。一个的拒绝服务揭示了行为状态的突然变化意味时空结构包含信息动力学。这种情况下,10允许信息更新定义


s=gs1+gs1/2(42)


哪里


s1/2= tanh(Whsht-1+WxsX+Bs)。(四十三)


DoSds/d量化了每个时间t的信息变化小的DoS使存储单元远离输入的任何影响具体地说,单元控制输入


g=σ(Σ
r

0 Wd(
+ Whgi ht-1 + Wxgixt + bgi ),

(44)


遗忘单元作为


g=σ(Σ
r

0 Wd()f
+ Whgf ht-1 + Wxg f xt + bgf ),

(45)


输出单元


g=σ(Σ
r

0 Wd(
+Whgoht-1+Wxgo xt +bgo ), (46)

12


III:主要长短记忆(LSTM)架构之间的比较。


方法


优势


缺点

LSTM


-模型长期依赖性简单RNN更好


-简单RNN鲁棒消失梯度


-由于个存储单元,与简单RNN相比,更高的存储器需求计算复杂度

S-LSTM


-LSTM更好地建模复杂的输入


-LSTM相比计算复杂度更高

Stacked LSTM


-由于更深层次体系结构,对长期顺序依赖进行建模


-由于LSTM单元堆栈LSTM相比,内存需求计算复杂度更高


双向LSTM


-LSTMS-LSTM地捕获输入序列未来过去的下一个


-由于向前向后学习LSTM相比增加了计算复杂度


多维LSTM


-多维序列模型


-由于个隐藏状态向量,内存需求计算复杂度LSTM更高


-随着网格大小深度增加网络不稳定


网格LSTM


-增加网格大小多维序列模型


-由于个递归连接,内存需求计算复杂度高于LSTM


差分RNN


-区分序列显著信息非显著信息


-更好地捕捉空间商业模式


-LSTM相比由于微分运算符而增加了计算复杂度


局部-全局LSTM


-改进了序列的本地全局上下文信息利用


-LSTM相比,由于局部全局参数数量更多因此增加计算复杂度


表示


匹配LSTM


-优化LSTM用于自然语言推理任务


-由于假设前提逐字匹配增加了计算复杂性


频率-时间LSTM


-时间频率模型


-由于建模时间频率参数数量更多因此计算复杂度高于LSTM


其中DoS具有R的上限BPTT可以训练dRNN简单的LSTM相比12dRNN具有更好的训练性能;


然而,具有额外计算复杂度。


8)其他LSTM模型局部-全局LSTMLG-LSTM)架构最初语义对象解析而提出的[66],其目标提高复杂局部(像素邻域全局(整个图像)上下文的利用率。关于图像的每个位置的实际信息。当前版本的LG-LSTM已经将LSTM层的堆栈添加到中间卷积层。 这种技术直接增强了视觉特征,并允许对网络参数进行端到端学习[66]LG-LSTM与各种CNN模型的性能比较显示出精度性能[66]预计模型可以通过用LG-LSTM层替换所有卷积层来实现更大的成功


匹配LSTMmLSTM)最初为了自然语言推理而提出的。匹配机制存储(记住)最终预测关键结果,并忘记不太重要的匹配[62]mLSTM的最后一个隐藏状态有助于预测前提和假设之间的关系。 与其他方法的不同之处在于,mLSTM不是前提假设嵌入整个句子,而是假设前提进行逐字匹配[62]
.


RNN在时间和频率上的递归称为F-T-LSTM[67]中提出。模型通过使用频率LSTM扫描f频带来生成频谱信息的总和玛丽然后输出层的激活作为LSTM的输入频率LSTM的公式类似时间LSTM[67]在降水临近预报输入到状态状态到状态转换中具有卷积结构的卷积LSTM(ConvLSTM)模型[68]中提出。/span>多个ConvLSTM层来构建


11:递归单元GRU)。更新z决定是否用新隐藏状态h更新隐藏状态复位控制是否需要忽略先前隐藏状态


一个的可训练模型[68]III中提供了主要LSTM模型之间的比较

F. Gated Recurrent Unit


虽然LSTM已经被证明是避免梯度消失或爆炸的可行选择,但是它们在其架构中给定多个存储器单元时具有的存储器要求递归单元自适应地捕获门控递归单元GRU不同时间尺度依赖关系[69]类似LSTM单元,GRU具有门控单元可以调节单元内部信息没有<sp其具有分离的存储器单元。与LSTM相比,GRU每个时间步暴露整个状态[70],并计算现有状态计算的状态之间的线性和。GRU的框图11所示。GRU中的激活线性建模

~


h=(1 -zh1+zh(47)


其中更新zt控制激活的更新瓦尔ue定义


z= σ(Wzx+Uzh1),(48)

13


其中WU学习的权重矩阵。候选激活

t
= tanh(Whx+Uhrh1)),(49)


其中rt休息定义为


r= σ(Wx+Uh1(50)


允许单元通过阅读输入序列的第一个符号来忘记先前的状态。GRU网络和LSTM网络之间的一些相似之处差异[69]中概述研究发现,两个模型在某些测试中表现得比另一个更好,这表明无法建议哪个模型好。


G. 记忆网络


传统的RNN具有较小的内存大小存储来自过去输入的特征[71],[72]记忆神经网络(MemNN)利用成功的学习方法进行推理,具有可读可写的记忆组件。 MemNN是一个对象数组输入、响应、生成输出特征映射组件组成[71],[73]将输入转换为内部特征表示,然后根据输入更新记忆。然后,使用输入更新的存储计算输出特征对其进行解码产生输出[71]网络容易使用BPTT进行训练,并且需要每一进行监督[74]MemNN的版本端到端MemNN,可以输入-输出端到端地训练[74]若干时间步生成输出中间步骤使用存储器输入/输出操作更新内部状态[74]
.


递归记忆网络(RMN)利用LSTMMemNN[75]RMN中的内存获取LSTM的隐藏状态,并使用注意力机制其与最近的输入进行比较。RMN算法分析训练模型注意力权重,并随着时间的推移从LSTM中保留信息中提取知识[75]模型语言建模而开发的,并在三个大型数据集上进行了测试艾德。结果表明,该算法的性能与LSTM模型相比,然而,模型继承了LSTM和RMN复杂性需要进一步开发


情景记忆语义情景记忆中获得灵感的,对于大脑中的复杂推理是必要的[73]。 情景记忆称为动态记忆网络框架的记忆,记住自传体细节[73]这种记忆指的存储的经验事实的一般化表征。事实问题为条件的输入中检索出来的。通过对事实的推理,这导致了最终的陈述模块对事实执行多次传递同时关注不同的事实。 每个通道的输出被称为一个片段,汇总内存中[73]与MemNN相关的工作动态记忆网络(DMN)。 MemNN中添加内存组件可以提高学习长期依赖关系性能[71]这种方法已经显示出自然语言问答性能

st

xt


图12:具有上下文特征的递归神经网络长记忆)。


应用[73] MemNN泛化输出特征部分与DMS中情景记忆具有一些类似的功能。MemNN独立处理句子[73],而DMS通过序列模型处理句子[73]FacebookbAbI数据集性能结果显示DMN通过18任务准确超过95%,而MemNN通过16任务准确度[73]情景记忆步骤[73]讨论
.


H.结构约束递归神经网络


另一处理消失梯度问题的模型结构约束递归神经网络(SCRN)。网络B隐藏状态在训