前一篇文章,笔者对于论文《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的隐藏状态转移是完全确定性的确定性的”(the internal transition structure of the standard RNN is entirely deterministic)。这意味着,给定上一时刻的隐藏状态就是:如论文第1节所述,“标准RNN的内部转移结构完全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