基于生成对抗网络的信号处理方法从幅度谱图重建
摘要
在本文中,我们解决了仅从幅度谱图重建时域信号(或相位谱图)的问题。由于幅度谱图不包含相位信息,我们必须恢复或推断相位信息以重建时域信号。 Griffin 和 Lim 提出了一种广泛使用的处理信号重建问题的方法。这种方法通常需要对信号重建过程进行多次迭代,并且根据输入的不同,它并不总是能产生高质量的音频信号。为了克服这些缺点,我们通过使用深度神经网络对信号重建过程进行建模并使用生成对抗网络的思想对其进行训练,将基于学习的方法应用于信号重建问题。实验评估表明,与 GriffinLim 方法相比,我们的方法能够以更高的质量更快地重建信号。
索引词 相位重建,深度神经网络 作品,生成对抗网络
一、简介
本文解决了仅从幅度谱图重建时域信号的问题。真实世界音频信号的幅度谱图在频谱和时间规律性方面往往是高度结构化 的。例如,与时域信号相比,音调轮廓和共振峰轨迹从语音的幅度频谱图表示中清晰可见。因此,在很多情况下处理幅度谱图比直接处理时域信号更容易处理问题。事实上,许多用于单声道音频源分离的方法都应用于幅度谱图 [13]。此外,最近发现幅度谱图表示对于与语音合成系统一起使用是合理且有效的 [4, 5]。由于幅度谱图不包含相位信息,我们必须恢复或推断相位信息以重建时域信号。这个问题称为信号(或相位)重构问题。一种广泛使用
Griffin 和 Lim [6] 提出了解决信号重构问题的方法(以下简称 GriffinLim方法)。Griffin Lim 方法的缺点之一是它通常需要多次迭代才能获得高质量的音频信号。这使得它特别难以应用于实时系统。此外,在某些情况下,即使算法运行多次迭代也永远无法获得高质量的音频信号。为了克服 GriffinLim 方法的这些缺点,我们将基于学习的方法应用于信号重建问题。具体来说,我们建议使用深度神经网络 (DNN) 从幅度谱图对时域信号的重建过程进行建模,并建议引入生成对抗网络 (GAN) [7] 的思想来训练信号生成器网络。
在本文的其余部分安排如下。我们在第 2 节中概述了相位重建问题,在第 3 节中介绍了 GriffinLim 方法,并在第 4 节中介绍了我们基于 GAN 的方法。实验评估和训练我们模型的补充在第 5 节中提供。最后,我们在第 6 节中提供了我们的结论。
2. 信号重构问题
3. GRIFFIN-LIM 方法
4. 基于 GAN 的信号重构
4.1.建模阶段重建过程
通过用φ表示φ的初值,定义h(a, φ) ≡ WW+a ⊙ φ 和g(c) ≡ ∠c, GriffinLim 方法的迭代算法可以表示为层复合函数
这里, h是线性投影,而g是应用于 h 输出的非线性运算。因此,(7) 可以看作是一个深度神经网络 (DNN),其中权重参数和激活函数是固定的。从这个角度来看,找到比 GriffinLim 算法更快收敛到更好解的算法可以看作是学习 DNN 的权重参数(和激活函数)。这个想法受到深度展开框架 [10] 的启发,它使用学习策略通过展开迭代并将它们视为 DNN 中的层来获得确定性迭代推理算法的改进版本。幸运的是,通过计算时域信号的复数、幅度和相位谱图,可以很容易地收集无限数量的c和{a, φ}对数据。这对于高效训练我们的 DNN 非常有利。
在下文中,我们考虑使用a和 φ 作为输入并生成c (或x)作为输出的DNN 。我们将此 DNN 称为生成器G ,并将输入和输出之间的关系表示为c^ = G(a, φ)。
4.2.学习准则
对于生成器训练,学习标准的一个自然选择是生成器输出和目标复杂频谱图之间的相似性度量(例如, ℓ1范数)
(或信号)。手动定义相似性度量相当于假设目标数据概率分布的特定形式(例如, ℓ1范数的拉普拉斯分布)。
但是,数据分布未知。如果我们使用在数据空间中定义的相似性度量作为学习标准,生成器将以这样一种方式进行训练,即平均适合目标数据的输出被认为是最佳的。结果,生成器将学习仅生成过度平滑的信号。这是不希望的,因为重建信号的过度平滑会导致音频质量下降。
为了避免这种情况,我们建议使用使用生成对抗网络 (GAN) 隐式学习的相似性度量[7].除了生成器网络之外,我们还引入了一个鉴别器网络D ,它学习正确地区分生成器生成的复杂频谱图^c和真实音频信号的复杂频谱图。给定目标复杂谱图c,鉴别器D有望找到一个特征空间,其中^c和c尽可能分开。因此,我们期望最小化在鉴别器的隐藏层中测量的^c和c之间的距离将使^ c 与数据空间中的c无法区分。通过使用D(·, a) ∈ R 来表示鉴别器网络D,我们首先考虑鉴别器的以下标准
这里假设真实数据对应的目标标签为1,生成器G生成的数据对应的目标标签为0。
因此,式(8)意味着只有判别器D正确区分“生成器G生成的“假”复杂频谱图和真实音频信号的“真实”复杂频谱图。因此, D的目标是最小化V(D)。至于生成器G,目标之一是欺骗鉴别器D ,使“假”复杂频谱图与“真实”复杂频谱图尽可能难以区分。这可以通过最小化以下标准来实现
G的另一个目标是使^c = G(a, φ)尽可能接近目标复谱图c。通过使用Dl(·)表示鉴别器D 的第 l 层的输出,我们还希望G最小化
以能够欺骗真/假鉴别器网络的方式训练生成器网络的通用框架称为生成对抗网络 (GAN) [7]
我们提出的方法的新颖之处在于,我们通过合并一个附加项 (10) 成功地将 GAN 框架应用于信号重建问题。
使用(8)和(9)作为学习标准的 GAN 框架称为最小二乘 GAN(LSGAN)[11]。
请注意,还提出了使用其他学习标准(例如 [12])的 GAN 框架。因此,我们也可以使用 [7]、[12] 或其他方法中使用的学习标准来代替 (8) 和 (9)。
5. 实验评价
我们使用真实语音样本测试了我们的方法和 Griffin-Lim 方法。
5.1.实验设置
5.1.1.数据集
我们使用从[13]中摘录的干净语音信号作为实验数据。语音数据由 30 个说话者的话语组成。 28位说话人的话语作为训练集,其余话语作为评估集。对于小批量训练,我们将每个训练话语分成 1 秒长的片段,重叠 0.5 秒。所有语音数据都被下采样到 16 kHz。幅度谱图是通过 STFT 使用布莱克曼窗获得的,该窗长 64 毫秒,重叠 32 毫秒。
5.1.2.网络架构
图 1 显示了我们为这个实验构建的网络架构。左半部分显示生成器G的架构,右半部分显示鉴别器D的架构。
浅蓝色块表示卷积层,每个卷积层上的k、 s 和c表示超参数。
黄色块表示激活函数。 PReLU [14] 用于生成器G ,Leaky ReLU [15] 用于鉴别器D。紫色块表示逐元素求和,绿色块表示沿通道轴的特征串联。红色块表示完全连接的层。没有符号的块与前面的块具有相同的超参数。请注意,我们在构建这些架构时参考了 [16]。生成器G是完全卷积的 [17],因此允许输入具有任意长度。对于l = 0,权重常数wl设置为0 ,对于l = 0 ,权重常数wl设置为1。λ设置为 1。 RMSprop [18] 用作优化算法,学习率为5 × 10−5Cα = 0.5。 minibatch 大小为10 ,epoch 数为73。
我们没有直接将输入幅度谱图和随机生成的相位谱图输入生成器G,而是使用经过 5 次迭代后使用 Griffin-Lim 方法重建的复杂谱图作为输入的G。生成器G的输入和输出都有 2 个通道,一个对应于复谱图的实部,另一个对应于虚部。
对于预处理,我们对训练数据的复杂频谱图进行归一化,以获得每个频率的零均值和单位方差。在测试时,恢复了每个频率的发生器输出的比例。
我们添加了一个块,在将生成器输出输入鉴别器 D 之前,将逆 STFT 应用于生成器输出。我们发现这特别重要,因为没有这个块,训练效果不佳。
5.2.数据扩充
众所周知,当幅度谱图和帧间相位差相同时,人耳几乎感觉不到信号之间的差异。这意味着在感知相似的频谱图的初始阶段存在任意性。通过利用此属性,我们可以通过准备许多不同的波形来增加G和D的训练数据,这些波形除了初始相位外都是相同的。我们期望这种数据增强将使生成器能够专注于学习一种在给定幅度谱图的情况下推断适当的帧间相位差的方法,从而促进有效的学习。
5.3.降维
请注意,实值信号的傅里叶变换的实部和虚部分别变为偶函数和奇函数。由于这种对称结构,恢复/推断从 0 到奈奎斯特频率的频率范围内的频谱分量就足够了。因此,我们可以将发生器的输入和输出大小限制在该频率范围内。
5.4.主观评价
我们通过进行 AB 测试在重构信号的感知质量方面将我们提出的方法与 GriffinLim 方法进行了比较,其中“A”和“B”是分别使用提出的方法和基线方法获得的重构信号。在这个听力测试中,“A”和“B”以随机顺序呈现,以消除关于刺激顺序的偏差。
五位听众参加了我们的听力测试。每个听众都收到{“A”,“B”} ×10 个信号,并要求为每一对选择“A”或“B”。 GriffinLim方法运行了 400 次迭代。信号长 2 到 5 秒。 偏好分数如图 2 所示。结果显示,使用 pro 获得的重建信号50 对中有 76% 的听众更喜欢 posed 方法。
5.5.泛化能力
为了确认所提出方法的泛化能力,我们对摘自 [19] 的音乐音频信号进行了测试。
重建信号的示例如图 3 所示。
通过这些示例,我们可以观察到使用 GriffinLim 方法获得的重构信号中的不连续点。另一方面,尽管该模型是使用语音数据训练的,但所提出的方法似乎已经成功运行。
5.6.处理时间比较
我们在重构时域信号所需的处理时间方面进一步将所提出的方法与 Griffin Lim 方法进行了比较。为了进行比较,我们测量了各种语音长度的处理时间。我们使用短于 6 秒的语音数据进行评估。在这里,我们提出的方法的网络架构与图 1 相同,GriffinLim 方法运行了 400 次迭代。本实验使用的 CPU 是“Intel Core i76850K CPU @ 3.60GHz”。 GPU 是“NVIDIA GeForce GTX 1080”。我们使用 NumPy [20] 中的快速傅立叶变换函数实现了 GriffinLim 方法。我们使用 Chainer [21] 实现了我们的模型。图 4 显示了结果。随着语音数据变长,处理时间线性增加。当使用 GPU 执行所提出的方法时,重建信号所需的时间仅为该信号长度的十分之一左右。另一方面,使用 CPU 执行的 GriffinLim 方法花费的时间与信号长度大致相同。因此,如果我们可以使用 GPU,所提出的方法可以实时运行。然而,当使用 CPU 时,所提出的方法花费的时间大约是信号长度的三倍。如果我们想使用 CPU 实时执行所提出的方法,我们需要构建比图1所示的架构更紧凑的架构。一种简单的方法是用下采样和上采样层替换卷积层.
六 结论
本文提出了一种基于 GAN 的方法来从幅度谱图重建信号。这个想法是使用 DNN 对信号重建过程进行建模,并使用使用 GAN 鉴别器隐式学习的相似性度量对其进行训练。通过主观评估,我们表明所提出的方法能够重建比运行 400 次迭代的GriffinLim 方法更高质量的时域信号。此外,我们证明了所提出的方法可以在使用 GPU 时实时执行。未来的工作将包括研究适合 CPU 实现的网络架构。