【AIGC】2017-NIPS-神经离散表征学习

2017-NIPS-Neural Discrete Representation Learning

  • 神经离散表征学习
    • 摘要
    • 1. 引言
    • 2. 相关工作
    • 3. VQ-VAE
      • 3.1 离散隐变量
      • 3.2 学习
      • 3.3 先验
    • 4 实验
      • 4.1 与连续变量的比较
      • 4.2 图像
      • 4.3 音频
      • 4.4 视频
    • 5 结论
    • 参考文献

神经离散表征学习

作者:Aaron van den Oord, Oriol Vinyals, Koray Kavukcuoglu
单位:DeepMind
论文地址:https://proceedings.neurips.cc/paper/2017/hash/7a98af17e63a0ac09ce2e96d03992fbc-Abstract.html

摘要

 在没有监督的情况下学习有用的表示仍然是机器学习的一个关键挑战。在本文中,我们提出了一个简单但功能强大的生成模型来学习这种离散表示。我们的模型,矢量量化变分自动编码器(VQ-VAE),与 VAE 在两个关键方面有所不同:编码器网络输出离散代码,而不是连续代码;先验是学习的,而不是静态的。为了学习离散潜在表示,我们结合了矢量量化(VQ)的思想。使用 VQ 方法允许模型规避 “后验崩溃” 问题 - 当潜在表示与强大的自回归解码器配对时,它们会被忽略 - 通常在 VAE 框架中观察到。将这些表示与自回归先验配对,该模型可以生成高质量的图像、视频和语音,以及进行高质量的说话人转换和无监督的音素学习,为学习表示的实用性提供进一步的证据。

1. 引言

 图像 [38, 12, 13, 22, 10]、音频 [37, 26] 和视频 [20, 11] 的生成建模方面的最新进展已经产生了令人印象深刻的样本和应用 [24, 18]。与此同时,诸如小样本学习 [34]、领域自适应 [17] 或强化学习 [35] 等具有挑战性的任务严重依赖于从原始数据中学习到的表示,但以无监督方式训练的通用表示的实用性还远未成为主导方法。

 最大似然和重构误差是用于在像素域中训练无监督模型的两个常见目标,但它们的实用性取决于特征所用的特定应用。我们的目标是实现一个模型,该模型在优化最大似然的同时,在其潜在空间中保留数据的重要特征。正如 [7] 中的工作所表明的那样,最好的生成模型(以对数似然度衡量)将是那些没有潜在但具有强大解码器的模型(例如 PixelCNN)。然而,在本文中,我们主张学习离散且有用的潜在变量,并在各种领域进行了展示。

 学习具有连续特征的表示是许多前期研究的重点 [16, 39, 6, 9],但我们专注于离散表示 [27, 33, 8, 28],离散表示可能更适合我们感兴趣的多模态语言本质上是离散的,类似地,语音通常表示为一系列符号。图像通常可以用语言简洁地描述 [40]。此外,离散表示非常适合复杂的推理、规划和预测学习(例如,如果下雨,我会带伞)。虽然在深度学习中使用离散隐变量已被证明具有挑战性,但已经开发出强大的自回归模型来对离散变量的分布进行建模 [37]。

 在我们的工作中,我们引入了一个新的生成模型系列,通过对给定观察的(离散)潜在后验分布进行新颖的参数化,成功地将变分自动编码器(VAE)框架与离散潜在表示相结合我们的模型依赖于矢量量化(VQ),易于训练,不会受到大方差的影响,并且避免了 “后验崩溃” 问题,该问题一直是许多具有强大解码器的 VAE 模型的问题,通常是由于忽略潜在而导致的。此外,它是第一个获得与连续对应模型相似性能的离散潜在 VAE 模型,同时提供离散分布的灵活性。我们将我们的模型称为 VQ-VAE

由于 VQ-VAE 可以有效利用潜在空间,因此它可以成功地对通常跨越数据空间中多个维度的重要特征进行建模(例如,对象跨越图像中的多个像素、语音中的音素、文本片段中的信息等),而不是将容量集中在噪声和通常局部的不可察觉的细节上。

 最后,一旦 VQ-VAE 发现了模态的良好离散潜在结构,我们就会针对这些离散随机变量训练强大的先验,从而产生有趣的样本和有用的应用。例如,在对语音进行训练时,我们会在没有任何监督或关于音素或单词的先验知识的情况下发现语言的潜在结构。此外,我们可以为解码器配备说话人身份,从而实现说话人转换,即在不改变内容的情况下将语音从一个说话人转移到另一个说话人。我们还在学习 RL 环境的长期结构方面取得了有希望的结果。

 因此,我们的贡献可以概括为:

• 引入 VQ-VAE 模型,该模型简单易用,使用离散潜变量,不会遭受“后验崩溃”且没有方差问题。
• 我们表明,离散潜变量模型 (VQ-VAE) 在对数似然中的表现与连续模型相当。
• 与强大的先验相结合时,我们的样本在语音和视频生成等各种应用中都具有连贯性和高质量。
• 我们展示了通过原始语音学习语言的证据,无需任何监督,并展示了无监督说话人转换的应用。

2. 相关工作

 在本文中,我们提出了一种使用离散隐变量 [27] 训练变分自动编码器 [23, 32] 的新方法。在深度学习中使用离散变量已被证明具有挑战性,正如当前大多数工作中连续隐变量占主导地位所表明的那样——即使底层模态本质上是离散的。

 训练离散 VAE 有很多替代方法。NVIL [27] 估计器使用单样本目标来优化变分下限,并使用各种方差减少技术来加速训练。VIMCO [28] 优化了多样本目标 [5],通过使用来自推理网络的多个样本进一步加快了收敛速度。

 最近,一些作者建议使用一种新的连续重新校正方法,该方法基于所谓的 Concrete [25] 或 Gumbel-softmax [19] 分布,这是一种连续分布,具有温度常数,可以在训练期间进行退火以收敛到极限中的离散分布。在训练开始时,梯度的方差较低但有偏差,而在训练结束时,方差变高但无偏差。

 然而,上述方法都无法弥补具有连续潜在变量的 VAE 的性能差距,因为可以使用高斯重新参数化技巧,该技巧受益于梯度的低得多的方差。此外,大多数这些技术通常在相对较小的数据集(例如 MNIST)上进行评估,并且潜在分布的维数较小(例如低于 8)。在我们的工作中,我们使用三个复杂的图像数据集(CIFAR10、ImageNet 和 DeepMind Lab)和一个原始语音数据集(VCTK)。

 我们的工作还扩展了在 VAE 解码器和/或先前 [14] 中使用自回归分布的研究方向。这已用于使用 LSTM 解码器 [4] 进行语言建模,最近还用于扩张卷积解码器 [42]。PixelCNN [29, 38] 是卷积自回归模型,也已用作 VAE 解码器中的分布 [15, 7]。

 最后,我们的方法还涉及使用神经网络进行图像压缩的工作。Theis 等人 [36] 在算术编码之前使用标量量化来压缩激活以进行有损图像压缩。其他作者 [1] 提出了一种使用矢量量化的类似压缩模型的方法。

 作者提出了一种连续松弛的矢量量化方法,该方法会随着时间的推移而退火以获得硬聚类。在他们的实验中,他们首先训练一个自动编码器,然后将矢量量化应用于编码器的激活,最后使用学习率较小的软到硬松弛对整个网络进行微调。在我们的实验中,我们无法从头开始使用软到硬松弛方法进行训练,因为解码器在训​​练期间始终能够反转连续松弛,因此不会发生实际量化。

3. VQ-VAE

 与我们的方法最相关的工作可能是 VAE。VAE 由以下部分组成:一个编码器网络,它根据输入数据 x x x 对离散潜在随机变量 z z z 的后验分布 q ( z ∣ x ) q\left(z|x\right) q(zx) 进行参数化;一个先验分布 p ( z ) p\left(z\right) p(z);以及一个解码器,其输入数据的分布为 p ( x ∣ z ) p\left(x|z\right) p(xz)

 通常,VAE 中的后验和先验被假设为具有对角协方差的正态分布,这允许使用高斯重新参数化技巧 [32, 23]。扩展包括自回归先验和后验模型 [14]、正则化流 [31, 10] 和逆自回归后验 [22]。

 在这项工作中,我们引入了 VQ-VAE,其中我们使用离散潜在变量和一种新的训练方式,灵感来自矢量量化(VQ)。后验和先验分布是分类的,从这些分布中提取的样本索引嵌入表。然后将这些嵌入用作解码器网络的输入

3.1 离散隐变量

 我们定义一个潜在嵌入空间 e ∈ R K × D e\in \mathcal{R}^{K\times D} eRK×D,其中 K 是离散潜在空间的大小(即 K K K-way 分类), D D D 是每个潜在嵌入向量 e i e_i ei 的维数。注意,有 K K K 个嵌入向量 e i ∈ R D , i ∈ 1 , 2 , . . . , K e_i\in \mathcal{R}^{D},\ i\in1,\ 2,\ ...,\ K eiRD, i1, 2, ..., K。如图 1 所示,该模型接受输入 x x x,该输入通过编码器产生输出 z e ( x ) z_e\left(x\right) ze(x)。然后使用共享嵌入空间 e e e 通过最近邻查找计算离散潜在变量 z z z,如公式 1 所示。解码器的输入是相应的嵌入向量 e k e_k ek,如公式 2 所示。我们可以将这个前向计算管道看作一个具有特定非线性的常规自动编码器,它将潜在变量映射到 1 1 1-of- K \mathbf{K} K 嵌入向量。该模型的完整参数集是编码器、解码器和嵌入空间 e e e 的参数的并集。为简单起见,我们使用单个随机变量 z z z 来表示本节中的离散潜在变量,但对于语音、图像和视频,我们实际上分别提取 1D、2D 和 3D 潜在特征空间。

 后验分类分布 q ( z ∣ x ) q\left(z|x\right) q(zx) 概率定义为独热分布,如下所示:

公式 1

 其中 z e ( x ) z_e\left(x\right) ze(x) 是编码器网络的输出。我们将此模型视为 VAE,其中我们可以将 l o g p ( x ) {\rm log} p\left(x\right) logp(x) 与 ELBO 绑定。我们的提议分布 q ( z = k ∣ x ) q\left(z=k|x\right) q(z=kx) 是确定性的,通过在 z z z 上定义一个简单的均匀先验,我们获得了一个 KL 散度常数,等于 log ⁡ K \log K logK

 表示 z e ( x ) z_e\left(x\right) ze(x) 通过离散化瓶颈,然后映射到嵌入 e e e 的最近元素,如公式 1 和公式 2 所示。

公式 2

3.2 学习

 请注意,方程 2 没有定义真正的梯度,但是我们以类似于直通估计器 [3] 的方式近似梯度,并将梯度从解码器输入 z q ( x ) z_q\left(x\right) zq(x) 复制到编码器输出 z e ( x ) z_e\left(x\right) ze(x)。也可以通过量化操作使用次梯度,但这种简单的估计器在本文的初始实验中效果很好。

图 1

图 1:左图:描述 VQ-VAE 的图。右图:嵌入空间的可视化。编码器 $z\left(x\right)$ 的输出被映射到最近的点 $e_2$。梯度 $∇_{z}\mathcal{L}$(红色)将推动编码器改变其输出,这可能会改变下一次前向传递中的配置。

 在前向计算期间,最近的嵌入 z q ( x ) z_q\left(x\right) zq(x)(公式 2)被传递给解码器,而在后向传递期间,梯度 ∇ z L ∇_{z}\mathcal{L} zL 不加改变地传递给编码器。由于编码器的输出表示和解码器的输入共享相同的 D D D 维空间,因此梯度包含有用的信息,可帮助编码器改变其输出以降低重建损失。

 如图 1(右)所示,梯度可以推动编码器的输出在下一次前向传递中以不同的方式离散化,因为公式 1 中的分配将有所不同。

 公式 3 指定了整体损失函数。它有三个组件,用于训练 VQ-VAE 的不同部分。第一项是重构损失(或数据项),它优化解码器和编码器(通过上面解释的估计器)。由于从 z e ( x ) z_e\left(x\right) ze(x) z q ( x ) z_q\left(x\right) zq(x) 的映射的直通梯度估计,嵌入 e i e_i ei 不会从重构损失 l o g p ( z ∣ z q ( x ) ) {\rm log} p\left(z|z_q\left(x\right)\right) logp(zzq(x)) 接收任何梯度。因此,为了学习嵌入空间,我们使用最简单的字典学习算法之一,矢量量化(VQ)。 VQ 目标使用 l 2 l_2 l2 误差将嵌入向量 e i e_i ei 移向编码器输出 z e ( x ) z_e\left(x\right) ze(x),如公式 3 的第二项所示。因为这个损失项只用于更新字典,所以也可以选择将字典项更新为 z e ( x ) z_e\left(x\right) ze(x) 的移动平均值的函数(未用于本研究中的实验)。

 最后,由于嵌入空间的体积是无量纲的,如果嵌入 e i e_i ei 的训练速度不如编码器参数快,它就可以任意增长。为了确保编码器承诺嵌入并且其输出不会增长,我们添加了承诺损失,即等式 3 中的第三项。因此,总训练目标变为:

公式 3

 其中 s g \rm sg sg 代表停止梯度算子,它在前向计算时定义为恒等式,且具有零偏导数,从而有效地将其操作数限制为非更新常数。解码器仅优化第一个损失项,编码器优化第一个和最后一个损失项,嵌入由中间损失项优化。我们发现生成的算法对 β \beta β 具有很强的鲁棒性,因为当 β \beta β 值从 0.1 到 2.0 时,结果没有变化。我们在所有实验中都使用 β = 0.25 \beta=0.25 β=0.25,尽管这通常取决于重建损失的规模。由于我们假设 z z z 具有均匀先验,因此通常出现在 ELBO 中的 KL 项相对于编码器参数是常数,因此可以在训练中忽略它。

 在我们的实验中,我们定义了 N N N 个离散潜变量(例如,对于 ImageNet,我们使用 32x32 个潜变量的字段,对于 CIFAR10,我们使用 8x8x10 个潜变量的字段)。产生的损失 L L L 相同,只是我们对 k k k-means 和承诺损失(commitment loss)的 N N N 个项取平均值 - 每个潜变量一个。

 完整模型 log ⁡ p ( x ) \log p\left(x\right) logp(x) 的对数似然可以按如下方式评估:

公式 3.5

 由于解码器 p ( x ∣ z ) p\left(x|z\right) p(xz) 是用 MAP 推理中的 z = z q ( x ) z=z_q\left(x\right) z=zq(x) 训练的,因此一旦解码器完全收敛,它就不应该为 z ≠ z q ( x ) z\ne z_q\left(x\right) z=zq(x) p ( x ∣ z ) p\left(x|z\right) p(xz) 分配任何概率质量。因此,我们可以写出 log ⁡ p ( x ) ≈ log ⁡ p ( x ∣ z q ( x ) ) p ( z q ( x ) ) \log p\left(x\right)\approx\log p\left(x|z_q\left(x\right)\right)p\left(z_q\left(x\right)\right) logp(x)logp(xzq(x))p(zq(x))。我们在第 4 节中根据经验评估了这一近似值。根据 Jensen 不等式,我们还可以写出 log ⁡ p ( x ) ≥ log ⁡ p ( x ∣ z q ( x ) ) p ( z q ( x ) ) \log p\left(x\right)\ge\log p\left(x|z_q\left(x\right)\right)p\left(z_q\left(x\right)\right) logp(x)logp(xzq(x))p(zq(x))

3.3 先验

离散潜变量 p ( z ) p\left(z\right) p(z) 上的先验分布是一个分类分布,可以通过依赖特征图中的其他 z z z 来实现自回归。在训练 VQ-VAE 时,先验保持不变且均匀。训练后,我们在 z z z 上拟合一个自回归分布 p ( z ) p\left(z\right) p(z),这样我们就可以通过祖先采样生成 x x x。我们在离散潜变量上使用 PixelCNN 来处理图像,使用 WaveNet 来处理原始音频。联合训练先验和 VQ-VAE 可以加强我们的结果,这留待将来研究。

4 实验

4.1 与连续变量的比较

 作为第一个实验,我们将 VQ-VAE 与普通 VAE(具有连续变量)以及具有独立高斯或分类先验的 VIMCO [28] 进行比较。我们在 CIFAR10 上使用相同的标准 VAE 架构训练这些模型,同时改变潜在容量(连续或离散潜在变量的数量,以及离散空间 K 的维数)。编码器由 2 个步幅为 2、窗口大小为 4×4 的步幅卷积层组成,后跟两个残差 3×3 块(实现为 ReLU、3x3 卷积、ReLU、1x1 卷积),所有块都有 256 个隐藏单元。解码器同样具有两个 3×3 的残差块,后跟两个步幅为 2、窗口大小为 4×4 的转置卷积。我们使用 ADAM 优化器[21],学习率为 2e-4,并在批次大小为 128 的情况下评估 250,000 步之后的性能。对于 VIMCO,我们在多样本训练目标中使用 50 个样本。

 VAE、VQ-VAE 和 VIMCO 模型分别获得 4.51 bits/dim、4.67 bits/dim和 5.14。所有报告的可能性都是下限。我们的连续 VAE 数字与深度卷积 VAE 报告的数字相当:此数据集上的 4.54 bits/dim [13]。

 我们的模型是第一个使用离散潜变量的模型,这对连续 VAE 的性能提出了挑战。因此,我们获得了非常好的重建,就像常规 VAE 提供的一样,具有符号表示提供的压缩表示。我们训练的 VQ-VAE 的一些有趣特征、含义和应用将在下一小节中展示。

4.2 图像

 图像包含大量冗余信息,因为大多数像素都是相关且嘈杂的,因此在像素级学习模型可能会浪费资源。

 在这个实验中,我们展示了我们可以通过纯反卷积 p ( x ∣ z ) p\left(x|z\right) p(xz) x = 128 × 128 × 3 x=128\times 128\times 3 x=128×128×3 图像压缩到 z = 32 × 32 × 1 z=32\times 32\times 1 z=32×32×1 离散空间( K = 512 \rm K=512 K=512)来建模 x = 128 × 128 × 3 x=128\times 128\times 3 x=128×128×3 图像。因此,减少 128 × 128 × 3 × 8 32 × 32 × 9 ≈ 42.6 \frac{128\times 128\times 3\times 8}{32\times 32\times 9}\approx 42.6 32×32×9128×128×3×842.6 以 bits 为单位。我们通过学习 z z z 上的强大先验(PixelCNN)来建模图像。这个 32×32×9 不仅可以大大加快训练和采样速度,还可以利用 PixelCNN 的能力来捕获图像的全局结构,而不是图像的低级统计数据。

 图 2 显示了具有离散潜变量的 32x32x1 空间的重建。即使考虑到我们通过离散编码大大降低了维度,重建看起来也只是比原始图像稍微模糊一点。这里可以使用比 MSE 更具感知性的损失函数(例如 GAN [12]),但我们将其留待将来研究。

图 2

图 2:左:ImageNet 128x128x3 图像,右:使用 VQ-VAE 重建,潜在空间为 32x32x1,$\rm K=512$。

 接下来,我们在离散化的 32x32x1 潜变量空间上训练 PixelCNN 先验。由于我们只有 1 个通道(而不是像颜色那样有 3 个),因此我们只需要在 PixelCNN 中使用空间掩码。我们使用的 PixelCNN 的容量与 PixelCNN 论文 [38] 的作者使用的容量(capacity)相似

 从 PixelCNN 提取的样本通过 VQ-VAE 的解码器映射到像素空间,如图 3 所示。

图 3

图 3:使用 PixelCNN 先验在 ImageNet 图像上训练的 VQ-VAE 样本(128x128)。从左到右:小狐狸、灰鲸、棕熊、海军上将(蝴蝶)、珊瑚礁、高山、微波、皮卡。

 我们还对从 DeepMind Lab 环境 [2] 中提取的 84x84x3 帧重复了相同的实验。重建结果与原始图像几乎完全相同。图 4 中可以看到从 PixelCNN 先前在 21x21x1 潜在空间上训练并使用反卷积模型解码器解码到像素空间的样本。

图 4

图 4:使用 DeepMind Lab 捕获的帧进行训练的 VQ-VAE 的样本(128x128),其中 PixelCNN 是先前训练的。

 最后,我们在第一个 VQ-VAE 的 21x21x1 潜在空间(基于 DM-LAB 帧)上训练第二个 VQ-VAE,并使用 PixelCNN 解码器。这种设置通常会破坏 VAE,因为它们会遭受 “后验崩溃”,即,由于解码器足够强大,可以完美地模拟 x x x,因此会忽略潜在变量。然而,我们的模型不会受到这种影响,并且潜在变量得到了有意义的使用。我们在第二阶段仅使用三个潜在变量(每个变量的 K = 512 \rm K=512 K=512 和它们自己的嵌入空间 e e e)来对整个图像进行建模,因此模型无法完美地重建图像 - 这是将图像压缩到 3x9 位(即小于 float32)的结果。从离散化全局代码采样的重建可以在图 5 中看到。

图 5

图 5:顶部原始图像,底部:来自 2 阶段 VQ-VAE 的重建,使用 3 个潜在变量来建模整个图像(27 位),因此模型无法完美地重建图像。重建是通过从第一个 VQ-VAE 的 21x21 潜在域中的第二个 PixelCNN 先验采样生成的,然后使用标准 VQ-VAE 解码器解码为 84x84。许多原始场景,包括纹理、房间布局和附近的墙壁都保留了下来,但模型不会尝试存储像素值本身,这意味着纹理是由 PixelCNN 程序生成的。

4.3 音频

 在这组实验中,我们评估了离散隐变量在原始音频模型上的行为。在我们所有的音频实验中,我们训练了一个 VQ-VAE,它具有与 WaveNet 解码器类似的扩张卷积架构。本节的所有样本都可以从以下网址播放:https://avdnoord.github.io/homepage/vqvae/。

 我们首先考虑 VCTK 数据集,该数据集包含 109 位不同说话者的语音记录 [41]。我们训练了一个 VQ-VAE,其中编码器有 6 个步幅卷积,步幅为 2,窗口大小为 4。这会产生一个比原始波形小 64 倍的潜在空间。潜在变量由一个特征图组成,离散空间为 512 维。解码器以潜在变量和说话者的独热嵌入为条件。

 首先,我们进行了一项实验,以表明 VQ-VAE 可以提取仅保留长期相关信息的潜在空间。训练模型后,给定一个音频示例,我们可以将其编码为离散潜在表示,并通过从解码器采样进行重建。由于离散表示的维数小 64 倍,因此无法逐个样本完美地重建原始样本。从提供的样本中可以听到,如图 7 所示,重建内容相同(文本内容相同),但波形完全不同,语音中的韵律也发生了改变。这意味着 VQ-VAE 在没有任何形式的语言监督的情况下,学习了一个高级抽象空间,该空间对低级特征不变,仅对语音内容进行编码。这个实验证实了我们之前的观察,即重要的特征通常是那些跨越输入数据空间中多个维度的特征(在本例中是音素和波形中的其他高级内容)。

 然后,我们分析了来自模型的无条件样本,以了解其功能。鉴于从音频中提取的紧凑而抽象的潜在表示,我们在此表示的基础上训练先验,以模拟数据中的长期依赖关系。对于这项任务,我们使用了 460 位说话者的更大数据集 [30],并训练了一个 VQ-VAE 模型,其中离散空间的分辨率小 128 倍。接下来,我们像往常一样在此表示的基础上以 40960 个时间步长(2.56 秒)的块训练先验,从而产生 320 个潜在时间步长。虽然从像原始 WaveNet [37] 这样的最好的语音模型中提取的样本听起来像是咿呀学语,但来自 VQ-VAE 的样本包含清晰的单词和部分句子(参见上面链接的样本)。我们得出结论,VQ-VAE 能够以完全无监督的方式从原始音频波形中建模一个基本的音素级语言模型

 接下来,我们尝试了说话人转换,即从一个说话人中提取潜在值,然后使用单独的说话人 ID 通过解码器重建。从样本中可以听到,合成语音具有与原始样本相同的内容,但包含第二个说话人的声音。这个实验再次证明了编码表示已经分解了说话人特定的信息:嵌入不仅具有相同的含义,无论波形中的细节如何,而且在不同的声音特征中也是如此

 最后,为了更好地理解离散代码的内容,我们将潜在值与真实音素序列(未以任何方式用于训练 VQ-VAE)进行了一对一的比较。使用以 25 Hz 运行的 128 维离散空间(编码器下采样因子为 640),我们将 128 个可能的潜在值中的每一个映射到 41 个可能的音素值 1 中的一个(通过采取条件最可能的音素)。这个 41 路分类的准确率为 49.3%,而随机潜在空间的准确率仅为 7.2%(优先最可能的音素)。显然,这些以完全无监督的方式获得的离散潜在代码是与音素密切相关的高级语音描述符

图 6

图 6:左图:原始波形,中图:使用相同说话人 ID 重建的波形,右图:使用不同说话人 ID 重建的波形。三个波形的内容相同。

4.4 视频

 对于我们的最终实验,我们使用了 DeepMind Lab [2] 环境来训练以给定动作序列为条件的生成模型。在图 7 中,我们展示了输入到模型中的初始 6 帧,随后是从 VQ-VAE 采样的 10 帧,所有动作都设置为向前(上行)和向右(下行)。使用 VQ-VAE 模型生成视频序列完全在潜在空间 z t z_t zt 中完成,无需生成实际图像本身。在仅使用先前模型 p ( z 1 , . . . , z T ) p\left(z_1,\ . . . ,\ z_T\right) p(z1, ..., zT) 生成所有潜在图像后,通过使用确定性解码器将潜在图像映射到像素空间来创建序列 x t x_t xt 中的每个图像。因此,VQ-VAE 可用于在潜在空间中纯粹想象长序列,而无需借助像素空间。可以看出,该模型已经学会了成功生成以给定动作为条件的帧序列,而不会降低视觉质量,同时保持局部几何正确。为了完整性,我们训练了一个没有动作的模型并获得了类似的结果,但由于空间限制而未显示。

图 7

图 7:前 6 帧提供给模型,后面的帧根据动作生成。顶部:重复动作 “向前移动”,底部:重复动作 “向右移动”。

5 结论

在这项工作中,我们引入了 VQ-VAE,这是一类新的模型,它将 VAE 与矢量量化相结合以获得离散潜在表示。我们已经证明,VQ-VAE 能够通过其压缩的离散潜在空间对非常长期的依赖关系进行建模,我们通过生成 128 × 128 彩色图像、采样动作条件视频序列以及最终使用音频证明了这一点,其中即使是无条件模型也可以生成令人惊讶的有意义的语音块并进行说话人转换。所有这些实验都表明,VQ-VAE 学习到的离散潜在空间以完全无监督的方式捕获了数据的重要特征。此外,VQ-VAE 在 CIFAR10 数据上实现的似然值几乎与连续潜在变量对应项一样好。我们相信这是第一个能够成功建模长距离序列并完全无监督地学习与音素密切相关的高级语音描述符的离散潜在变量模型

1 请注意,编码器/解码器对可以使每个离散潜在的含义取决于序列中的先前潜在的含义,例如二元/三元组(从而实现更高的压缩),这意味着更高级的音素映射将导致更高的准确性。

参考文献

[1] EirikurAgustsson,FabianMentzer,MichaelTschannen,LukasCavigelli,RaduTimofte,LucaBenini,and Luc Van Gool. Soft-to-hard vector quantization for end-to-end learned compression of images and neural networks. arXiv preprint arXiv:1704.00648, 2017.
[2] CharlesBeattie,JoelZLeibo,DenisTeplyashin,TomWard,MarcusWainwright,HeinrichKüttler,Andrew Lefrancq, Simon Green, Víctor Valdés, Amir Sadik, et al. Deepmind lab. arXiv preprint arXiv:1612.03801, 2016.
[3] Yoshua Bengio, Nicholas Léonard, and Aaron Courville. Estimating or propagating gradients through stochastic neurons for conditional computation. arXiv preprint arXiv:1308.3432, 2013.
[4] Samuel R Bowman, Luke Vilnis, Oriol Vinyals, Andrew M Dai, Rafal Jozefowicz, and Samy Bengio. Generating sentences from a continuous space. arXiv preprint arXiv:1511.06349, 2015.
[5] Yuri Burda, Roger Grosse, and Ruslan Salakhutdinov. Importance weighted autoencoders. arXiv preprint arXiv:1509.00519, 2015.
[6] Xi Chen, Yan Duan, Rein Houthooft, John Schulman, Ilya Sutskever, and Pieter Abbeel. Infogan: Interpretable representation learning by information maximizing generative adversarial nets. CoRR, abs/1606.03657, 2016.
[7] XiChen,DiederikPKingma,TimSalimans,YanDuan,PrafullaDhariwal,JohnSchulman,IlyaSutskever, and Pieter Abbeel. Variational lossy autoencoder. arXiv preprint arXiv:1611.02731, 2016.
[8] Aaron Courville, James Bergstra, and Yoshua Bengio. A spike and slab restricted boltzmann machine. In Proceedings of the Fourteenth International Conference on Artificial Intelligence and Statistics, pages 233–241, 2011.
[9] Emily Denton, Sam Gross, and Rob Fergus. Semi-supervised learning with context-conditional generative adversarial networks. arXiv preprint arXiv:1611.06430, 2016.
[10] Laurent Dinh, Jascha Sohl-Dickstein, and Samy Bengio. Density estimation using real nvp. arXiv preprint arXiv:1605.08803, 2016.
[11] Chelsea Finn, Ian Goodfellow, and Sergey Levine. Unsupervised learning for physical interaction through video prediction. In Advances in Neural Information Processing Systems, pages 64–72, 2016.
[12] IanGoodfellow,JeanPouget-Abadie,MehdiMirza,BingXu,DavidWarde-Farley,SherjilOzair,Aaron Courville, and Yoshua Bengio. Generative adversarial nets. In Advances in neural information processing systems, pages 2672–2680, 2014.
[13] Karol Gregor, Frederic Besse, Danilo Jimenez Rezende, Ivo Danihelka, and Daan Wierstra. Towards conceptual compression. In Advances In Neural Information Processing Systems, pages 3549–3557, 2016.
[14] Karol Gregor, Ivo Danihelka, Andriy Mnih, Charles Blundell, and Daan Wierstra. Deep autoregressive networks. arXiv preprint arXiv:1310.8499, 2013.
[15] IshaanGulrajani,KundanKumar,FarukAhmed,AdrienAliTaiga,FrancescoVisin,DavidVázquez,and Aaron C. Courville. Pixelvae: A latent variable model for natural images. CoRR, abs/1611.05013, 2016.
[16] Geoffrey E Hinton and Ruslan R Salakhutdinov. Reducing the dimensionality of data with neural networks. science, 313(5786):504–507, 2006.
[17] Judy Hoffman, Erik Rodner, Jeff Donahue, Trevor Darrell, and Kate Saenko. Efficient learning of domain-invariant image representations. arXiv preprint arXiv:1301.3224, 2013.
[18] PhillipIsola,Jun-YanZhu,TinghuiZhou,andAlexeiAEfros.Image-to-imagetranslationwithconditional adversarial networks. arXiv preprint arXiv:1611.07004, 2016.
[19] Eric Jang, Shixiang Gu, and Ben Poole. Categorical reparameterization with gumbel-softmax. arXiv preprint arXiv:1611.01144, 2016.
[20] NalKalchbrenner,AaronvandenOord,KarenSimonyan,IvoDanihelka,OriolVinyals,AlexGraves,and Koray Kavukcuoglu. Video pixel networks. arXiv preprint arXiv:1610.00527, 2016.
[21] Diederik Kingma and Jimmy Ba. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980, 2014.
[22] DiederikPKingma,TimSalimans,RafalJozefowicz,XiChen,IlyaSutskever,andMaxWelling.Improved variational inference with inverse autoregressive flow. 2016.
[23] Diederik P Kingma and Max Welling. Auto-encoding variational bayes. arXiv preprint arXiv:1312.6114, 2013.
[24] Christian Ledig, Lucas Theis, Ferenc Huszár, Jose Caballero, Andrew Cunningham, Alejandro Acosta, Andrew Aitken, Alykhan Tejani, Johannes Totz, Zehan Wang, et al. Photo-realistic single image super- resolution using a generative adversarial network. arXiv preprint arXiv:1609.04802, 2016.
[25] Chris J Maddison, Andriy Mnih, and Yee Whye Teh. The concrete distribution: A continuous relaxation of discrete random variables. arXiv preprint arXiv:1611.00712, 2016.
[26] Soroush Mehri, Kundan Kumar, Ishaan Gulrajani, Rithesh Kumar, Shubham Jain, Jose Sotelo, Aaron Courville, and Yoshua Bengio. Samplernn: An unconditional end-to-end neural audio generation model. arXiv preprint arXiv:1612.07837, 2016.
[27] Andriy Mnih and Karol Gregor. Neural variational inference and learning in belief networks. arXiv preprint arXiv:1402.0030, 2014.
[28] Andriy Mnih and Danilo Jimenez Rezende. Variational inference for monte carlo objectives. CoRR, abs/1602.06725, 2016.
[29] Aaron van den Oord, Nal Kalchbrenner, and Koray Kavukcuoglu. Pixel recurrent neural networks. arXiv preprint arXiv:1601.06759, 2016.
[30] Vassil Panayotov, Guoguo Chen, Daniel Povey, and Sanjeev Khudanpur. Librispeech: an asr corpus based on public domain audio books. In Acoustics, Speech and Signal Processing (ICASSP), 2015 IEEE International Conference on, pages 5206–5210. IEEE, 2015.
[31] Danilo Jimenez Rezende and Shakir Mohamed. Variational inference with normalizing flows. arXiv preprint arXiv:1505.05770, 2015.
[32] Danilo Jimenez Rezende, Shakir Mohamed, and Daan Wierstra. Stochastic backpropagation and approxi- mate inference in deep generative models. arXiv preprint arXiv:1401.4082, 2014.
[33] Ruslan Salakhutdinov and Geoffrey Hinton. Deep boltzmann machines. In Artificial Intelligence and Statistics, pages 448–455, 2009.
[34] Adam Santoro, Sergey Bartunov, Matthew Botvinick, Daan Wierstra, and Timothy Lillicrap. One-shot learning with memory-augmented neural networks. arXiv preprint arXiv:1605.06065, 2016.
[35] Richard S Sutton and Andrew G Barto. Reinforcement learning: An introduction, volume 1. MIT press Cambridge, 1998.
[36] Lucas Theis, Wenzhe Shi, Andrew Cunningham, and Ferenc Huszár. Lossy image compression with compressive autoencoders. arXiv preprint arXiv:1703.00395, 2017.
[37] Aäron van den Oord, Sander Dieleman, Heiga Zen, Karen Simonyan, Oriol Vinyals, Alex Graves, Nal Kalchbrenner, Andrew Senior, and Koray Kavukcuoglu. Wavenet: A generative model for raw audio. CoRR abs/1609.03499, 2016.
[38] Aaron van den Oord, Nal Kalchbrenner, Lasse Espeholt, Oriol Vinyals, Alex Graves, et al. Conditional image generation with pixelcnn decoders. In Advances in Neural Information Processing Systems, pages 4790–4798, 2016.
[39] Pascal Vincent, Hugo Larochelle, Isabelle Lajoie, Yoshua Bengio, and Pierre-Antoine Manzagol. Stacked denoising autoencoders: Learning useful representations in a deep network with a local denoising criterion. Journal of Machine Learning Research, 11(Dec):3371–3408, 2010.
[40] Oriol Vinyals, Alexander Toshev, Samy Bengio, and Dumitru Erhan. Show and tell: A neural image caption generator. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 3156–3164, 2015.
[41] Junichi Yamagishi. English multi-speaker corpus for cstr voice cloning toolkit. URL http://homepages. inf. ed. ac. uk/jyamagis/page3/page58/page58. html, 2012.
[42] Zichao Yang, Zhiting Hu, Ruslan Salakhutdinov, and Taylor Berg-Kirkpatrick. Improved variational autoencoders for text modeling using dilated convolutions. CoRR, abs/1702.08139, 2017.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/12007.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

每日OJ题_牛客_JZ38字符串的排列_DFS_C++_Java

目录 牛客_JZ38字符串的排列_DFS 题目解析 C代码 Java代码 牛客_JZ38字符串的排列_DFS 字符串的排列_牛客题霸_牛客网 描述: 输入一个长度为 n 字符串,打印出该字符串中字符的所有排列,你可以以任意顺序返回这个字符串数组。 例如输入…

企业知识库管理系统的创新模式及其智能化转型

在知识经济时代,企业知识库管理系统已成为企业知识管理、共享和创新的核心工具。本文将探讨企业知识库管理系统的创新模式及其智能化转型,分析其在提升企业核心竞争力中的作用。 一、知识库管理系统的创新模式 从存储到共享:传统的信息管理模…

办公新装备,好用还不贵

电脑采购预算低低低低……经费不足怎么办?买移动云笔电 线上开会时间长长长长……电量告急怎么办?用#移动云笔电 电脑运维时间久久久久……分身乏术怎么办?换#移动云笔电

嵌入式学习-网络高级-Day03

嵌入式学习-网络高级-Day03 基于webserver的工业数据采集 HTTP协议 http简介 http特点 http协议格式 客户端请求数据格式 请求行: 请求头部 空行: 请求体 服务器响应数据格式 webserver源码分析 postman的使用 整体流程分析 任务 html html简介 html标签…

补: 力扣145 : 二叉树的后序遍历

天才的回归 ---- 二叉树的后序遍历 描述: **给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 ** 示例: 解法:递归就不说了,看下遍历法,与先序和中序略有不同 简单来说注意两个点: 1&…

刷题强训(day05) -- 游游的you、腐烂的苹果、孩子们的游戏(圆圈中最后剩下的数)

目录 1、游游的you 1.1 题目 1.2 思路 1.3 代码实现 2、腐烂的苹果 2.1 题目 2.2 思路 2.3 代码实现 3、孩子们的游戏(圆圈中最后剩下的数) 3.1 题目 3.2 思路 3.3 代码实现 3.3.1 环形链表 ​编辑3.3.2 动态规划 ​编辑 1、游游的you 1.1 题目 1.2 思路 根据题…

数据库sql初识以及-增删改查

查看已有数据库show databases; 创建数据库:create database数据库名字 DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 删除数据库drop database 名字 进入数据库:use 数据库; 查看文件夹中所有数据表:show tables; 创建表: create t…

Java:一段代码,无限可能

Java,诞生于1995年,如今已走过近三十载春秋。它历经互联网泡沫的兴衰、移动互联网的浪潮,以及云计算和大数据的洗礼,依然屹立在编程语言的舞台中央,散发着耀眼的光芒。这篇文章将带你回顾Java的辉煌历史,探…

vue中:class语法的{}[]两种用法及其使用场景例子

语法 :class"对象/数组" ① 传对象 →键就是类名&#xff0c;值是布尔值。如果值为 true&#xff0c;则当前元素含有这个类实现这个类的样式&#xff0c;否则没有这个类&#xff0c;不去实现 <div class"box":class"{ 类名1:布尔值&#xf…

【SpringBoot】黑马大事件笔记-day3

目录 文章管理部分 自定义注解校验 注解的概念 元注解 规定约束的注解 分页查询 OSS文件上传 获取AccessKey 上期回顾&#xff1a; 【SpringBoot】 黑马大事件笔记-day1 【SpringBoot】 黑马大事件笔记-day2 文章管理部分 自定义注解校验 先来看一下接口文档了解需求&#xff…

webpack loader全解析,从入门到精通(10)

webpack 的核心功能是分析出各种模块的依赖关系&#xff0c;然后形成资源列表&#xff0c;最终打包生成到指定的文件中。更多复杂的功能需要借助 webpack loaders 和 plugins 来完成。 1. 什么是 Loader Loader 本质上是一个函数&#xff0c;它的作用是将某个源码字符串转换成…

基于Vue的电子商城后台管理系统

摘 要 随着数字化时代的到来&#xff0c;人们对软件市场的需求不断加大&#xff0c;可视化管理系统代替人工管理的趋势持续上升&#xff0c;尤其电子商城类项目&#xff0c;针对后台管理的多样化需求尤为迫切。所以&#xff0c;为满足市场与日俱增的需求&#xff0c;开发电子…

Mysql数据类型面试题15连问

整数类型的 UNSIGNED 属性有什么用&#xff1f; MySQL 中的整数类型可以使用可选的 UNSIGNED 属性来表示不允许负值的无符号整数。使用 UNSIGNED 属性可以将正整数的上限提高一倍&#xff0c;因为它不需要存储负数值。 例如&#xff0c; TINYINT UNSIGNED 类型的取值范围是 0 ~…

优选算法合集————双指针(专题一)

题目一&#xff1a;移动零 题目描述&#xff1a; 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输…

docker基础:搭建centos7(详见B站泷羽sec)

docker的简单学习&#xff1a; sudo apt-get update //这个命令让系统检查有没有新软件 sudo apt-get install docker.io //安装 Docker sudo docker version //查看是否安装成功&#xff0c;显示docker的版本信息 启用Docker 启…

ThreadLocal的熟悉与使用

目录 1.ThreadLocal介绍2.ThreadLocal源码解析2.1 常用方法2.2 结构设计2.3 类图2.4 源码分析2.4.1 set方法分析2.4.2 get方法分析2.4.3 remove方法分析 3.ThreadLocal内存泄漏分析3.1 相关概念3.1.1 内存溢出3.1.2 内存泄漏3.1.3 强引用3.1.4 弱引用 3.2 内存泄漏是否和key使用…

振弦式表面式应变计数据要怎么采集

振弦式表面应变计是一种专门用于测量结构表面应变的传感器&#xff0c;其数据采集过程通常涉及以下步骤&#xff1a; 一、设备准备与连接 设备检查&#xff1a;确保振弦式表面应变计及其相关设备(如MCU自动测量单元、数据传输线等)处于良好工作状态&#xff0c;无损坏或故障。 …

pitest.org使用简介

pitest.org PIT生成的报告是一种易于阅读的格式&#xff0c;结合线路覆盖和变异覆盖信息。 pitest.org官网提供了四种使用方式&#xff1a; Maven快速入门 命令行快速启动 蚂蚁快速启动 Gradle快速启动&#xff08;外部链接&#xff09; 我所使用的是Maven的方式进行构建项…

我们所有人际关系的痛苦根源,都源于缺乏边界感

在现实生活里&#xff0c;我们常会遇到这样的情况&#xff1a;对方总是越界&#xff0c;而你又不知如何拒绝&#xff0c;这种不快就会积压在心底。于是&#xff0c;我们可能会想要从其他方面突破对方的界限作为报复&#xff0c;这时关系就会变得紧张。 没有界限的关系容易让人…

JS之正则表达式

一、什么是正则表达式 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </…