VRNN论文总结
前一篇文章,笔者对于论文《A Recurrent Latent Variable Model for Sequential Data》进行了翻译,本篇文章将对该论文做一些重点说明,并分析其网络结构。
⭐️ 重要说明
👉 1. 在RNN-Gauss / RNN-GMM中,为了有效建模这类序列,RNN为什么必须能够将 x t \mathbf{x}_{t} xt中的微小变化(即唯一的随机性来源)映射到隐藏状态 h t \mathbf{h}_{t} ht的潜在巨大变化上。
🚢 为什么说 x t \mathbf{x}_{t} xt中的微小变化是唯一的随机性来源?
这句话需要从标准RNN的确定性结构来理解。
-
RNN的隐藏状态转移是完全确定性的:如论文第1节所述,“标准RNN的内部转移结构完全是确定性的”(the internal transition structure of the standard RNN is entirely deterministic)。这意味着,给定上一时刻的隐藏状态 h t − 1 \mathbf{h}_{t-1} ht−1 和当前输入 x t \mathbf{x}_{t} xt,下一时刻的隐藏状态 h t \mathbf{h}_{t} ht 是通过一个固定的函数 f f f 计算出来的:
h t = f ( x t , h t − 1 ) \mathbf{h}_{t} = f(\mathbf{x}_{t}, \mathbf{h}_{t-1}) ht=f(xt,ht−1)
这个过程没有随机性,就像一个数学公式,输入相同,输出必然相同。 -
RNN的“随机性”只存在于输出层:模型的唯一不确定性来自于在生成 x t \mathbf{x}_{t} xt 时使用的概率分布。例如,在 RNN-Gauss 中,模型预测的是一个高斯分布的均值 μ t \boldsymbol{\mu}_{t} μt,而真实的 x t \mathbf{x}_{t} xt 是从这个以 μ t \boldsymbol{\mu}_{t} μt 为中心的分布中采样得到的。这个采样过程引入了随机性。
-
结论:因此,在整个RNN的动力学系统中,只有从“预测的分布”到“实际观测的 x t \mathbf{x}_{t} xt”这一步是随机的。一旦 x t \mathbf{x}_{t} xt 被观测到,后续所有计算(更新 h t \mathbf{h}_{t} ht)都是确定性的。所以, x t \mathbf{x}_{t} xt 相对于模型预测值 μ t \boldsymbol{\mu}_{t} μt 的偏差(即“微小变化”),就是驱动整个系统发生不同行为的唯一随机性来源。
🚢 为什么RNN必须将 x t \mathbf{x}_{t} xt 的微小变化映射到 h t \mathbf{h}_{t} ht 的巨大变化上?
这源于对高度结构化、高信噪比序列(如自然语音)建模的需求。这类数据的特点是,其内部的“可变性”(variability)是信号本身的重要组成部分,而不是噪声。
核心矛盾
- 任务需求:要捕捉说话人身份、情感、口音等高层级的变化,这些变化会极大地影响整个序列的生成。
- 模型限制:这些“巨大”的变化必须由一个非常“微小”的源头(即 x t \mathbf{x}_{t} xt 的采样噪声)来触发。
举例说明:语音合成中的说话人变化
假设我们有一个训练好的 RNN-GMM
模型,用于生成英语单词 “hello” 的音频波形。
-
场景1:同一个说话人,两次发音
- 第一次,模型根据历史信息计算出隐藏状态 h t − 1 \mathbf{h}_{t-1} ht−1,并预测 x t \mathbf{x}_{t} xt 应该是一个特定的声学帧(比如一个元音的特征)。
- 实际的 x t \mathbf{x}_{t} xt 由于GMM的采样,与预测值有轻微的、随机的偏差(微小变化)。
- 这个微小的 x t \mathbf{x}_{t} xt 被送入确定性的函数 f f f 来更新 h t \mathbf{h}_{t} ht。
- 由于 f f f 函数的非线性,这个微小的输入变化可能导致 h t \mathbf{h}_{t} ht 发生一个相对较大的、但仍在同一说话人风格范围内的变化。最终生成的“hello”听起来略有不同,但仍是同一个人。
-
场景2:切换到不同说话人
- 现在,我们希望模型能生成另一个说话人(比如一个男性)的“hello”。这需要模型的隐藏状态 h t \mathbf{h}_{t} ht 编码一种完全不同的“发声模式”或“声道特性”。
- 问题是,这种巨大的、系统性的变化是如何被触发的?
- 根据模型的机制,触发源只能是某个时间步 t t t 上,真实 x t \mathbf{x}_{t} xt 相对于模型预测 μ t \boldsymbol{\mu}_{t} μt 的微小采样偏差。
- 换句话说,为了让模型从“女性说话人模式”切换到“男性说话人模式”,它必须依赖于在某个时刻,因为GMM采样,恰好产生了一个与预测值有微小差异的声学帧 x t \mathbf{x}_{t} xt。
- 这个微小的 x t \mathbf{x}_{t} xt 必须通过 f f f 函数,被放大成一个巨大的 h t \mathbf{h}_{t} ht 变化,从而彻底改变后续所有帧的生成方式。
论文如何论证这一点
-
性能妥协:论文指出,为了防止过拟合,网络容量必须受限。这迫使模型在两个目标间做妥协:
- 目标A (生成清晰信号):输出分布 g g g 需要足够“尖锐”(低方差),以生成清晰、无噪声的波形。
- 目标B (捕捉多样性):输出分布 g g g 需要足够“宽泛”(高方差或多峰),以覆盖不同说话人、不同情感等带来的巨大变化。
- 一个简单的单高斯分布(
RNN-Gauss
)无法胜任,因为它太简单,结果生成的样本接近纯噪声(见图3和文中描述)。 - 即使使用复杂的GMM(
RNN-GMM
),它也必须同时满足这两个冲突的目标,导致生成的波形包含大量高频噪声(见图3),这就是妥协的结果。
-
VRNN的解决方案:VRNN通过引入潜在变量 z t \mathbf{z}_{t} zt 解决了这个矛盾。
- z t \mathbf{z}_{t} zt 专门负责编码高层级的、离散的或连续的可变性(如说话人身份)。
- 因为 z t \mathbf{z}_{t} z