VARIATIONAL RECURRENT AUTO-ENCODERS 详解

摘要

在本文中,我们提出了一个结合了RNN和SGVB优势的模型:变分自动编码器(VRAE)。 这种模型可用于对时间序列数据进行有效的大规模无监督学习,将时间序列数据映射到潜在向量表示。 该模型是生成模型,因此可以从隐藏空间的样本生成数据。 这项工作的一个重要贡献是该模型可以利用未标记的数据,以便通过初始化权重和网络状态来促进对RNN的监督训练。

简介

我们提出了一种基于变分贝叶斯的新RNN模型:变分循环自动编码器(VRAE)。 该模型类似于自动编码器,因为它学习了一个编码器,用于学习从数据到潜在表示的映射,以及从潜在表示到数据的解码器。然而,变分贝叶斯方法将数据映射到分布上 这种类型的网络可以使用随机梯度变分贝叶斯(SGVB)进行有效训练.

VRAE允许将时间序列映射到潜在表示,并且它允许对时间序列进行有效的,大规模的无监督变分学习。 此外,训练有素的VRAE为标准RNN提供了合理的权重初始化和网络状态。 通常,网络状态初始化为零,但Pascanu等人。 已经表明网络状态是解释爆炸梯度问题的一个重要因素。 使用权重和从VRAE获得的网络状态初始化标准RNN可能会使训练更有效,并且可能避免爆炸性梯度问题并实现更好的分数.

方法

SGVB

由Kingma&Welling(2013)和Rezende等人独立开发的随机梯度变分贝叶斯(SGVB) 是一种训练模型的方法,其中假设使用一些未观察到的连续随机变量z生成数据。 通常,边际似然性 \int p(z) p(x | z) dz 对于这些模型是难以处理的,并且即使对于小数据集,基于采样的方法在计算上也太昂贵。 SGVB通过用q(z | x)近似真实的后验p(z | x)然后优化对数似然的下界来解决这个问题。 类似于Kingma论文中的命名法,我们称q(z | x)为编码器,p(x | z)为解码器。

数据点i的对数似然可以写为真实后验p(z | x)和近似q(z | x) 之间的下界和KL发散项之和,其中θ是模型的参数:

log(p(X^{(i)})) = D_{KL}(q(z|X^{(i)})||p(z|X^{(i)})) + L(θ; X^{(i)})

由于KL散度是非负的,因此L(θ; X^{(i)})是对数似然的下界。 该下限可表示为:

L(θ; X^{(i)}) = −D_{KL}(q(z|X^{(i)}) || p(z)) + E_{q(z|X^{(i)})}[log (p_θ(X^{(i)}|z) )]

如果我们想用梯度上升来优化这个下界,我们需要关于所有参数的梯度。 获得编码器的梯度是相对简单的,但是获得解码器的梯度不是。 为了解决这个问题,引入了“重新参数化技巧”,其中它们将随机变量z \sim q(z | X)重新参数化为确定性变量z = g( \epsilon,x)。 在我们的模型中,潜在变量是单变量高斯,所以重新参数化是z =μ+σ,其中 \epsilon \sim N(0,1)

以这种方式对潜在变量建模允许分析地积分KL散度,从而产生以下估计:

L(θ;X^{(i)}) \simeq \sum_{j = 1}^{J} (1 + log((\sigma^{(i)})^2 - (\mu^{(i)})^2 -(\sigma^{(i)}_j)^2 )) + \frac{1}{L} \sum log(p(x^{(i)} | z^{(i,l)}))

模型

编码器包含一组循环连接,使得状态h_{t + 1}基于先前状态和相应时间步长的数据x_{t + 1}计算。 Z上的分布是从RNN的最后状态获得的,h_{end},这样:

h_{t+1} = tanh(W^T_{enc} h_t + W^T_{in}x_{t+1} b_{enc})
u_z = W^T_z h_{end} + b_{\mu}
log(\sigma_z) = W^T_{\sigma} h_{end} + b_{\sigma} $$ 其中 $h_0$是初始化的零向量 使用重新参数化技巧,从该编码中对$z$进行采样,并且利用一组权重来计算解码RNN的初始状态。 此后,再次更新为传统的RNN: $$ h_0 = tanh(W^T_Z z + b_z)
h_{t+1} = tanh(W^T_{dec} h_t) + W^T_x x_t b_{dec}
x_t =sigm(W^T_{out} h-t + b_{out}) $$ ![Screenshotat20190818145806.png](https://pan.zeekling.cn/CwS_ae6a98fe1564763735784595935.png) ## 实验 ### 数据和预处理 对于我们的实验,我们使用8个MIDI文件(每个音高一维的二进制数据),以20Hz采样的众所周知的80和90s视频游戏歌曲1。 经检查,88个尺寸中只有49个含有大量的钞票,因此其他尺寸被删除。 歌曲被分成短片,每个片段成为一个数据点。 为了从每个歌曲中获得相同数量的数据点,仅使用来自每首歌曲的前520个数据点。 ### 训练模型 事实证明,优化器的选择对于使VRAE学习有用的表示至关重要,尤其是自适应梯度和动量非常重要。 在我们的实验中,我们使用了Adam,这是一个受RMSprop启发的优化器,包括动量和零偏差校正因子,由Kingma&Ba(2014)创建。 我们在最后一节描述的数据集上训练了一个VRAE,其中有一个二维潜在空间和500个隐藏单元。 歌曲被分成每个50个时间步长的非重叠序列。 使用的Adam参数是β1= 0.05和β2= 0.001。 由于不稳定,学习期间学习率逐渐降低。 初始学习率为$1·10^{-3}$,最终学习率为$5·10^{-6}$。 训练期间产生的下界如图所示 ![Screenshotat20190818163149.png](https://pan.zeekling.cn/vm8_70af4538963573166463816540.png) > 左侧是训练期间每个时间步数的每个数据点的对数似然的下限。 由于规模原因,前10个时期被切断。 右边是潜在空间中所有数据点的组织。 对每个数据点进行编码,并在所得到的编码的二维平均值μ的位置处可视化。 “Mario nderworld”(绿色三角形),“Mario”(红色三角形)和“Mariokart”(蓝色riangles)占据最鲜明的区域。 对于仅具有二维潜在空间的模型,可以在潜在空间中显示每个数据点的位置。 数据点只有几秒钟,因此无法捕获歌曲的所有特征。 然而,图1显示了一些聚类,因为某些歌曲在潜在空间中占据不同的区域。 然而,二维潜在空间对于建模数据的基础分布来说是次优的。 因此,我们还训练了一个包含20个潜在变量的模型。 对于该模型,我们使用具有重叠的40个时间步长的序列,使得每个数据点的开始位于先前数据点的中间。 这样,模型不仅可以学习单个数据点,还可以学习它们之间的过渡,从而可以生成任意长度的音乐。 在训练第一个模型时,使用的Adam参数是β1= 0.05和β2= 0.001。 学习率为2·10-5,在1.6·104个时期后调整为1·10-5。 得到的下限如图2所示。与1类似,使用该模型在潜在空间中的数据组织如图2所示。为了可视化二维潜在表示,我们使用了t-SNE. ![Screenshotat20190818163529.png](https://pan.zeekling.cn/dW8_49bfda1d8847947061733947285.png) > 左侧是训练期间每个时间步数的每个数据点的对数似然的下限。 由于规模原因,前10个时期被切断。 右侧是潜在空间中编码数据的组织可视化。 我们计算了每个数据点的20维潜在表示。 使用t-SNE在二维中可视化该表示的平均μ。 每种颜色代表一首歌曲的数据点。 可以看出,对于每首歌曲,该歌曲的部分仅占据空间的一部分,并且一些歌曲的部分(例如,“mariounderworld”,紫色)清楚地组合在一起。 当然,一首歌的部分可以组合在一起多少取决于歌曲相对于不同歌曲之间的相似性的均匀性,以及在t-SNE的维数减少期间丢失了多少空间信息 ### 生成数据 给定隐藏空间矢量,训练模型的解码部分可用于生成数据。 本章描述的第一个模型是在50个时间步长的非重叠序列上进行训练的。 因此,不能期望生成更长的序列将从与训练数据相同的分布产生数据。 但是,由于我们知道每个数据点在二维中的潜在表示,我们可以检查它们的位置(见图1),我们使用模型在不同歌曲的各部分之间进行插值。 由此产生的音乐只持续几秒钟,显然具有两个部分的元素。 在重叠数据点上训练的模型用于生成具有各种(20维)潜在状态向量的1000个时间步长(~50秒)的音乐。 可以通过编码数据点来获得潜在矢量,或者从潜在空间中随机地采样。 这样做会产生人们可能称之为用于训练的歌曲的“混合”。 ## 讨论 我们已经证明,可以用SGVB训练RNN,用于时间序列的有效建模。 与早期类似方法的一个重要区别是,我们的模型将时间序列映射到一个潜在的向量,而不是潜在的状态序列。 对当前模型的第一个可能的改进是将每首歌曲分成尽可能多的数据点用于训练(即从每个时间步开始的一个数据点)而不是仅仅数据点有50%的重叠。 另一个改进是颠倒输入的顺序,使得第一时间步骤与潜在空间的关系比最后时间步骤更强。 这可能会改善可捕获的时间依赖性的长度,这与我们当前的方法大约相当于100个时间步长。 培养较长时间序列的另一种方法是合并LSTM框架 我们方法的直接应用包括识别,去噪和特征提取。 该模型可以与用于顺序数据的其他(监督的或无监督的)模型组合,例如以改进当前的音乐类型标记方法,例如, Sigtia et al(2014)。 此外,该方法可以通过提供初始隐藏状态来补充当前用于监督RNN训练的方法。 ## 参考文档 > VARIATIONAL RECURRENT AUTO-ENCODERS > Auto-Encoding Variational Bayes



标 题:《VARIATIONAL RECURRENT AUTO-ENCODERS 详解
作 者:zeekling
提 示:转载请注明文章转载自个人博客:浪浪山旁那个村

评论

取消