【ICML,2017】
【Takayuki Osogami, Hiroshi Kajino, Taro Sekiyama,IBM Research- Tokyo】
Abstract
隐单元在长程依赖或非线性时序建模中有重要作用,但是相关参数不好训练,提出后向训练来学习这样的模型。后向模型和前向模型有共同的参数集,只有一小部分参数是难训练的,在前向后向模型中是互补的。同时训练两个模型,提高参数学习的效率。在带隐单元的动态玻尔兹曼机上应用了双向学习,合成/真实数据集上演示了双向学习的优势。
1. Introduction
在一些时序模型中,隐单元对于时序中的长程依赖和非线性是至关重要的;但是隐单元的值只有通过观测未来值才能可靠估计,训练困难。设时序模型的参数用一个或几个矩阵$M$表示,$M{i,j}$可能代表节点i的历史值和节点j的后续值之间的权重,其中一些隐节点j的$M{i,j}$难估计。根据参数矩阵为$M$的时序模型,构造后向模型,参数矩阵为$M^T$。
contribution 1: 提出双向方法来训练带隐单元的时序模型。两个模型结构相同、训练方式相同(随机梯度方法);前向模型用正常时序,后向模型用逆向时序,分别学习$M$和$M^T。$两个矩阵中难训练的元素是不同的,所以双向训练可以提高参数学习效率。
contribution 2: 在带隐单元DyBM上应用双向学习。分析了带隐单元的DyBM,阐释了参数学习的困难性;通过双向学习,学习历史可见值和后续隐值之间的权值,学习过去的哪些值对于预测是重要的。
相关但不同的模型:
双向训练&BRNN: BRNN的双向模型没有共享参数,而双向训练会共享参数。动机不同,BRNN使用双向模型训练、预测,用前面、后面的值来估计中间的值;而双向训练只用双向模型进行训练,预测时还是只用历史值。
双向训练&FBLG:FBLG(Forward Backward Lasso Granger,包括前向VAR和后向VAR,得到平均模型)中没有隐单元,而双向训练是为了训练带隐单元的时序模型。
双向训练&考虑隐变量的VAR模型或线性动态系统:后者是通过隐变量估计可见变量之间的关系;双向学习是为了学习可见单元和隐单元之间的关系。
2. DyBM with Hidden Units
玻尔兹曼机:一种随机递归神经网络,可以看作是一种随机的Hopfield网络,通过学习数据的固有内在表示,来解决困难学习问题。一般BM可见单元和隐单元之间的能量函数为:
BM通过调整各神经元之间的权值,使模型的概率分布等于训练样本集的概率分布,使出现概率最高的全局状态得到最低的能量,最终转换为最大化似然函数。
DyBM: 结合STDP的特殊结构的玻尔兹曼机,是一个多维时间序列的随机模型
STDP: spike-timing dependent plasticity,脉冲时间相关的突触可塑性;它根据神经元学习的先后顺序,调整神经元之间连接的强弱。STDP可以说是Hebb学习的一种延伸,Hebb学习提出如果两个神经元常常一起活动,则二者之间的连接会增强。STDP则是进一步提出,两个神经元之间的活动,如果其他神经元的信息在本身活动产生之前,则两神经元之间的连接会增强。如果神经元本身产生活动之后才接受其他神经元传来的信息,则两神经元之间的连接会减弱。
图1给出了针对时序的特殊结构化的玻尔兹曼机,时序长T+1,水平有T+1层;每层都有隐藏部分和可见部分,第$\delta$层可见部分$x^{[t-\delta]}$代表时序$t-\delta$时刻的值。图1的BM偏置为b,权重参数为$(U,V,W,Z)$,$\theta=(V,W,b)$是和可见单元$x^{[t]}$相关的参数,$\phi=(U,Z)$是隐单元参数。DyBM的能量如下:
其中
同理定义第二项。
研究这种情况:$W=(W^{\delta})_{1<=\delta<=T}$,$\delta>=d$时满足以下条件(衰减):
其中$\lambda$是衰减率,T趋向于无穷时,式(2)的能量如下:
第二项同理,其中
式(5)的能量给出了,给出$x^{[<t]}$,$h^{[<t]}$下$x^{[t]}$的条件概率分布,对二进制时序中任意的$x^{[t]}$,有:
其中Z是使概率之和为1的归一化因子。
3. Training a DyBM with Hidden Units
推导可见单元参数$\theta$的学习规则,这个规则不适用于$\phi$。
带隐单元的DyBM给出了时序的概率:
其中:
通过最大化Jensen不等式给出的下界,来最大化给定x的对数似然函数,
其中
下界对$\theta$的梯度是:
随机梯度的方法:每一步t,根据概率取样出$h^{[t-1]}$然后基于它的梯度来更新$\theta$:
下界对$\phi$的梯度:
根据概率取样出$h^{[t-1]}$然后基于它的梯度来更新$\phi$:
式27的计算复杂度随时序长度线性增长,计算效率低;而式17的复杂度和长度无关。可用递归方式近似计算G:
式26中存在一个对数似然和梯度的乘积,如果不依赖于对数似然函数,它的学习规则就与可见单元是相同的。而这两项相乘是不可避免的,因为隐单元的特定值是否有利于预测未来值,只有在看到未来值之后才能知道。
4. Learning with Reversed Time-series
$\phi$的随机梯度需要近似,$\theta$不需要,所以参数$\phi$的学习不像$\theta$一样高效。
图2是后向DyBM,和前向DyBM有共同的参数集,它是由前向DyBM得到的,结构相同,参数矩阵转置,只是逆序处理时序。前向模型中$\theta=(V,W,b)$,$\phi=(U,Z)$,后向模型中$\theta’=(U^T,W^T,b)$, $\phi’=(V^T,Z^T)$, $U$在前向模型中是比较难学习的,而在后向模型中是相对好学习的。
5. Experiments
5.1 具体学习算法
三种训练模式:不带隐单元的DyBM;带隐单元的DyBM只进行前向学习;带隐单元的DyBM的双向学习。
双向学习:前$T_0$轮迭代进行双向学习,每$F+1$步进行后向学习,剩余的迭代中只进行前向学习。前向学习时不更新U,后向学习时不更新V。
5.2 合成数据
在一维带噪声锯齿波合成数据上实验,探究双向训练的有效性。锯齿波在每个阶段末端都存在很强的不连续性,所以隐单元对于学习是至关重要的。
训练了带一个隐藏单元/没有隐藏单元的DyBM,前一半迭代$T/2$进行双向学习。
图3a、c是训练过程,RMSE评估预测误差。在图3c中,从T0时刻(双向学习结束之后),RMSE的下降开始加速,说明通过双向学习学到合适的U之后,更有利于学习其余参数(V W b)。虽然双向学习有助于学到合适的U,但是不一定优化DyBM的所有参数,后向DyBM和逆时序的DyBM不同。
图3b、d给出了预测结果。双向学习的DyBM和真实值接近,可以很好的预测到每一个周期结尾的大幅下降,而基线在这里比较平滑。
5.3 真实数据
每月太阳黑子数:一维,2820步;每周汽油柴油零售价:八维,1223步;2:1划分;NOAA全球表面温度:391维,1635步,4:1划分;数据进行归一化。
测试了带4个隐单元/不带隐单元的DyBM,设置不同的$T_0$和d,前d步进行前向学习和后d步进行后向学习。
对于太阳黑子数据,双向学习没有提高,但是隐藏单元能得到更低的RMSE。对于价格和温度数据,T0轮之后,双向学习效果优于基线,并且另外两种情况会过拟合。双向学习会减慢RMSE的下降,但是停止双向训练后,会加速RMSE的下降,双向学习最终的RMSE更低。
6. Conclusion
提出了带隐单元时序模型的双向学习,前向模型(训练前向序列)和后向模型(训练后向序列)有相同的参数集,一个模型中比较难学习的参数在另一个模型中可能是比较好学习的。分析了带隐单元的DyBM,可见单元$\theta(V,W,b)$和隐单元$\phi(U,Z)$的梯度不同,不能用同样的方式学习权重。所以双向学习可以提高参数学习效率,在合成/真实数据集上进行了实验,实验证明双向学习还可以避免过拟合。