APP下载

GAN 在电动汽车主动发声系统中的应用研究

2024-03-11凯张巍赵海军

沈阳理工大学学报 2024年2期
关键词:音频卷积样本

梁 凯张 巍赵海军

(1.洛阳理工学院信息化技术中心,河南 洛阳 471023;2.天津职业技术师范大学智能车路协同与安全技术国家地方联合工程研究中心,天津 300222)

随着电动汽车产业的迅速发展,电动汽车在普及使用过程中逐渐暴露出一些问题,如低速行驶时因声音幅值较低而存在交通安全隐患、拟音不能满足用户个性化需求等,这些问题受到行业研究者的广泛关注。 很多国家的相关协会起草了有关电动汽车低速行驶的噪声标准[1],很多研究人员设计了汽车主动发声系统,以更准确地拟合内燃发动机的声音。

文献[2]提出了基于采集数字音频信号高阶数据的多参数控制拟合算法,根据发动机转速、油门等参数,实现了模拟发动机声音的效果;文献[3]基于语音合成技术的叠加理论,设计了一种根据发动机转速自适应的引擎主动发声系统,应用效果较好;文献[4]提出了一种基于正弦波的发动机声音拟合系统,该系统能够较真实地模拟出特定发动机的声音;文献[5]采用短时傅里叶变换和Kaiser 窗理论分析了多阶发动机谐波频率,合成了加速行驶时的车内声音,满足电动汽车主动发声系统的发动机阶次声音合成精度要求。 上述研究中的发动机主动发声模型均基于特定内燃机的声音信号特点,采用矢量化信号处理算法,实现自适应声音拟合,但普遍存在三个方面问题:第一,声音信号的矢量化处理算法将原始声音划分为音频帧,求解对应帧之间的映射关系,可能出现声音特征参数缺乏连续性的情况,真实度较差;第二,未考虑电动汽车的动力整体特性,易导致引擎参数抖动时声音拟合平滑度变差;第三,上述模型不能满足不同种类内燃机声音拟合的多样化需求。

生成对抗网络(generative adversarial networks,GAN)在图像生成、语义分割、语音生成等方面已有广泛应用。 文献[6]提出了基于GAN的图像生成算法,在MNIST 等数据集上的训练试验结果显示,生成的图片人工辨识度很高;文献[7]将GAN 应用于图像背景处理,可有效去除图像背景降雨条纹;文献[8]将GAN 应用于无监督合成音频波形,直接生成人类语音片段。 目前还未见GAN 在电动汽车主动发声系统方面应用的研究。

本文以几种内燃机不同工况的声信号作为样本,建立基于GAN 的主动发声模型,将原始音频信号和经过频域变换的梅尔谱特征的内燃机声信号样本输入模型训练,以获得最优的引擎声音合成模型。

1 生成对抗网络

1.1 GAN 原理

GAN 是一种深度学习模型,其通过构建判别器D 和生成器G 并使之协同工作完成训练[8]。生成器用于生成样本数据,并与真实样本一起送入判别器进行训练,目标是尽可能生成好的样本;判别器的目标是尽可能识别真实样本,拒绝生成样本。 GAN 原理如图1 所示。

图1 GAN 原理Fig.1 Principles of GAN

GAN 的底层模型是多层感知机,可以学习到低维潜在变量z(z∈,为独立同分布样本的先验变量集合)到真实数据集中点x的映射关系。判别器D 的损失函数为二元分类器的正则交叉熵损失函数,其计算式为

式中:lD为判别器的损失函数;y为样本真实度的期望值,对于真实样本,y为1,对于假样本,y为0;p为真实样本的预测概率,1 -p是假样本的预测概率。 若用G(z)表示生成样本x,D(x)表示p,则判别器的损失函数可表示为

生成器G 的目标是最大化判别器D 的损失函数值,式(2)中第一项与生成器无关,故生成器G 的损失函数lG可表示为

式中:pdata(x)是x的概率分布;pz(z)是z的概率分布;Ex~pdata(x)和Ez~pz(z)分别表示x和z的数学期望。 生成器G 可采用全连接神经网络或卷积神经网络,其可通过噪点概率分布pz(z)得到一个生成数据概率分布pg(x),使之尽可能接近pdata(x),即生成样本尽可能少被判别为假。 判别器D 的训练目标是最大限度鉴别生成样本为假样本,即最大化pg(x)和pdata(x)之间的差距。

1.2 GAN 求解

式(4)中的目标函数V(D,G)是连续的,采用积分形式表示期望,可得式(5)。

pg(x)为z的生成数据的概率分布,表示为

将式(6)代入式(5),可得式(7)。

目标函数中D(x)的最优解推导过程如式(8) ~(10)所示。

解得

式中D∗(x)表示D(x)的最优解。 当pdata(x) =pg(x)时,D∗(x) =1/2。 将该最优解表达式代入式(7),优化求解生成器G,此时目标函数C(G)表达式为

将式(11)整理为连续函数的KL 散度形式为

KL 散度为非负数, 由式(12) 可知, 当pg(x) =pdata(x)时,C(G)取得全局最小值-log4。

2 主动发声系统设计

本文提出一个基于自动评价效果的GAN 模型用于生成内燃机引擎声音,其主要流程为:将声音样本和标签预处理后分为训练集和测试集两部分,将训练集数据和对应的标签作为原始输入训练GAN 模型,使用测试集验证训练后模型,从而筛选、保存最优模型,最后保存的GAN 生成器模型用来生成新的声音样本。 主动发声系统原理如图2 所示。

图2 主动发声系统原理Fig.2 Schematic diagram of active generation system

2.1 原生音频GAN 模型设计

受深度卷积对抗生成网络(DCGAN)的启发,为保证GAN 模型训练的可控性和成功率,模型中的生成器和判别器均采用卷积神经网络结构,生成器的卷积层称为转置卷积(Trans Conv)层[9],是对特征图的上采样过程,类似普通卷积层的反向梯度计算。 根据原生音频的特点将原DCGAN中5 ×5 二维卷积核调整成长度为25 的一维卷积核,步长也同样从2 ×2 调整为4。 综合考虑音频样本长度和时间效率,将原生音频的GAN 网络结构调整为:生成器包含输入层、全连接层和5 个卷积层,卷积层之间均使用ReLU 激活函数。 由于原生音频输入为一维向量,故卷积核仅用宽度表示。 原生样本GAN 生成器具体结构如表1 所示。

表1 原生样本GAN 生成器结构Table 1 Native sample GAN generator structure

原生样本判别器包含5 个卷积层和1 个输出层,输出层为全连接层。 各层之间的激活函数使用LReLU 函数,各卷积层之间增加相位转换与调整操作,最后为重构层和全连接层。 原生样本GAN 判别器具体结构如表2 所示。 表中:α为Leaky 值;n表示相位转换因子。

表2 原生样本GAN 判别器结构Table 2 Native sample GAN discriminator structure

2.2 声谱图GAN 模型设计

根据声谱图的二维特性,仍使用DCGAN 的原生结构,卷积核的大小为5 ×5,步长为2。 综合考虑音频样本时长和性能,确定样本声谱图的GAN 网络结构为:生成器包含全连接层和5 个卷积层,卷积层之间均使用ReLU 激活函数,最后一层使用Tanh 激活函数,由于声谱图输入为二维数据,故卷积核大小采用长度×宽度来表示。 基于样本声谱图GAN 生成器具体结构如表3 所示。

表3 基于样本声谱图GAN 生成器结构Table 3 Structure of GAN generator based on sample spectrogram

判别器包含5 个卷积层、1 个重构层和1 个输出层,卷积层之间为激活层,激活函数使用LRe-LU 函数,最后为重构层和输出层,输出层为全连接层。 每层的卷积核尺寸均为5 ×5,卷积核的数量与表2 中对应的每层卷积核数量相等。

3 样本生成试验

3.1 声音样本处理

音频样本的主成分分析表现为周期性特点,因此对于长音频信号样本处理时分解为相应组成频带。 文献[10 -11]的研究表明,在半监督的音频分类中使用音频原生时域信号来完成训练,分类精确度未受影响。 车辆发动机启动时产生的声音信号是随着时间变化的非平稳信号,可能包含了启动马达和发动机转速的音频特征,因此在短时音频样本处理中,采用二维时频域声谱图信号和原生时域信号处理方式做对照试验。

内燃机工作声音样本录制环境为普通的实验室环境,共采集1 200 个声音样本作为试验用样本集。 样本库包含丰田HR16DE 汽油机、现代D4BH 柴油机、三菱4G6 MIVEC 汽油机共三种型号的内燃机启动、转速从800 r/min 到4 500 r/min共40 组稳态声音信号。 每个声音样本处理为采样率16 kHz、长度1 s、单声道。

原生时域声音样本处理时将真实的样本信号波形转化为一维向量,并采用最值归一法归一化,如式(13)所示。

式中:X代表声音样本集合;X∗代表归一化后的声音样本集合。

二维时频域声谱图处理采用短时傅里叶变换(STFT)方法转化音频信号[12],表达式为

式中:u表示时间t的偏移量;f为输入频率;s(u)表示u时刻的连续信号;w∗(u-t)为随时间t变化的窗函数,上标“∗”表示复共轭。 式(14)最终计算结果为任意时刻下该信号所包含各频率的幅值、相位等数据。w(t)窗函数计算如式(15)所示。

式中N为窗口长度。

信号预处理过程中以16 ms 间隔加窗分帧,重叠量为8 ms,经STFT 获得信号为129 ×1 999的二维矩阵。 为保证得到的声音频谱大小合适,还需使用梅尔滤波器[13]处理二维时频信号,梅尔滤波器的计算如式(17)所示。

式中mel(f)代表f的梅尔值。

通过梅尔滤波器处理后的信号能较好反映人耳对频率的敏感性,即在低频区域梅尔值增长速度较快,在高频区域梅尔值增长速度缓慢。 处理后的梅尔谱图如图3 所示。

图3 部分样本的梅尔谱图Fig.3 Mel spectra of some samples

采用式(18)对样本数据归一化处理,使数据集的均值为0、标准差为1,处理后的数据值均在[ -1,1]之间。

式中:Xi和分别表示归一化前后样本i的数据;μ为所有样本数据的均值;σ为所有样本数据的方差。 处理过的数据经人耳听力测试,样本没有产生听觉差异。

3.2 模型训练与调优

为保证试验结果的可比较性,原生声音和声谱图输入均采用1 s 时长的样本,生成器的输入均为100 维的潜在向量。 原始样本的生成器训练采用表1 所示结构,全连接层将输入100 维噪声向量样本变换为16 ×1 024 的特征图,然后按照相应的卷积核长度和数量进行反卷积操作,经过5 次反卷积操作和激活操作后得到16 384维向量,作为判别器的输入,进行下一步操作。 原生样本的判别器训练采用表2 所示结构,将生成器产生的16 384 维向量和真实样本读取的16 384 维数据统一作为输入,进行卷积操作和相应的激活操作。激活函数采用LReLU 函数[14],该函数在输入小于0 时仍有梯度变化,可以减轻普通ReLU 函数的稀疏性,此处α取为0.2。 判别器经过5 次卷积操作后,连接全连接层和二元分类器,判别样本的真伪。

原生样本判别器训练过程中,由于真实数据存在频率重叠,上采样操作不可避免地会产生音调噪声,类似二维图像反卷积操作造成“棋盘”伪影现象[15]。 由于音调噪声常出现在特定阶段,判别器很容易学习到拒绝这些噪声样本的规则,从而抑制整体优化,降低判别器性能。 为解决该问题,在训练中提出一种相位扰动操作,通过m个样本随机扰动每一激活层数据的相位,使特征图在输入到下一层之前统一化,从而提升判别器抗噪能力。

相位扰动操作是在判别器的每一层中将特征图左或右边界映射填充到上采样后样本缺失的部分,从而得到均匀的样本。 特征图相位扰动操作示意如图4 所示,图中表示了5 个特征图在m=2时所有的输出可能。

图4 特征图相位扰动操作示意Fig.4 Schematic diagram of feature map phase perturbation operation

声谱图样本输入训练过程中,生成器训练采用表3 所示结构,全连接层将输入100 维噪声向量样本变换为4 ×4 ×1 024 的特征图,然后采用5 ×5 的二维卷积核(卷积核数量逐层递减)进行反卷积操作,经过5 次反卷积操作和激活操作,最后得到128 ×128 的二维声谱图作为判别器的生成样本输入。 同样,判别器训练中将生成器产生的样本声谱图和真实样本读取的声谱图统一作为输入,进行卷积操作和相应的激活操作,采用与原生样本判别器训练中相同的激活函数。 判别器输出处理与原生样本判别器相同。

为保证两种模型方案的可比较性,训练中每批均选取64 个样本预测梯度,学习率均选择为0.000 2。 为快速处理凸函数的稀疏梯度问题,训练的梯度下降优化均采用自适应时刻估计(Adam)算法[16],Adam 优化器参数均设置为0.5。

3.3 试验过程

试验采用NVIDIA GeForce GTX 1070 GPU和CUDA9.0 计算环境,选择样本集中80%的样本作为训练集,10%作为验证集,其余10%作为测试集。 训练80 个批次,约9 h 后趋于收敛。 损失曲线如图5 所示,图中G_W 和G_S 分别代表原始样本和声谱图样本的生成器训练损失曲线,D_W 和D_S 分别代表原始样本和声谱图样本的判别器训练损失曲线。 由图5 可见,训练20 批次时,两对生成器和判别器的训练损失函数值均基本趋于稳定。

图5 损失曲线Fig.5 Loss curves

4 模型评估与分析

为准确验证训练的模型质量,对于训练生成的样本分别采用定性和定量的评价方法。

4.1 人工评价

在定性评价中采用人工听音评价方法。 随机抽取由原生音频GAN 模型和声谱图GAN 模型生成的声音样本各10 个,与20 个真实声音混合,分两组放置在声品质评价系统中,由试听者分别投票辨识各组声音样本的真实性,评价中共有25 人参与,评价结果如图6 所示。 样本属性值为0 表示生成样本,样本属性值为1 表示真实样本,投票结果显示大部分样本的真实度都在90%以上。 因此,普通人的听觉不能较好区分出两种样本之间的差异,也不能有效评价出原始音频模型和声谱图模型之间的差别。

图6 定性评价结果Fig.6 Qualitative evaluation results

4.2 基于1-NN 分类器评价

样本质量的定量评价采用基于1-NN 分类器的留一法(LOO)精度[17]评价方法。 如果模型生成样本足够好,生成样本分布与真实样本分布完美匹配,经1-NN 分类器得到的LOO 精度应约为50%,即无论如何分配验证集和训练集,1-NN 分类器都只有50%概率预测正确。 本文定量评价中使用所有120 个真实样本作为正样本,120 个生成样本作为负样本,使用LOO 法循环训练1-NN 分类器。 评价结果如图7 所示,可见两种模型所有验证集样本的LOO 精度均处于增长趋势,说明模型可靠性较高。

图7 定量评价结果Fig.7 Quantitative evaluation results

两种模型生成的样本详细评价数据如表4 所示。 由表4 可见:所有验证集的LOO 精度均大于或者接近0.5,说明原生音频GAN 模型和声谱图GAN 模型的训练过程都没有产生过度拟合;原生音频GAN 模型和声谱图GAN 模型的真实样本验证集LOO 精度都低于生成样本验证集,表明两种GAN 模型都能够捕捉到发动机引擎的音频特征。

表4 生成样本的对比评价结果Table 4 Comparison evaluation results of generated samples

由于大多数真实样本周围都充满着生成样本,导致两种GAN 模型真实样本验证集的LOO精度较低。 由于生成样本倾向于聚集在一起,即测出的真实样本和生成样本的最近邻分布实际都存在于生成样本和生成样本之间,在其各自作为验证集时,判别器均会做出负样本的正确判定[18],因此生成样本验证集的LOO 精度较高。由表4 中还可以看出,声谱图GAN 模型的生成样本作为验证集时LOO 精度为0.945,较原生音频GAN 生成样本验证集LOO 精度高0.131,说明声谱图GAN 模型在训练时可能产生了部分模型坍塌,没有完全学习到所有样本的真实分布。 虽然人耳听觉无法区分生成的声音真假,但存在生成的声音样本类型不足的问题,在一定程度上与训练样本数量、类型过少有一定的关系,今后研究中将考虑增加训练样本数量和类型。

5 结论

1)提出了一种基于GAN 的电动汽车主动发声模型,合理设计了生成器网络和判别器网络的层次结构。 试验中将采集到的内燃机启动声音样本作为模型的输入训练GAN 网络模型,经1-NN分类评价显示,模型可准确地学习到原始音频信号的特征分布,经人耳听觉测试显示,生成的声音样本仿真度较高。

2)GAN 模型的原生音频样本输入与二维声谱图输入的对照试验显示,声谱图GAN 模型在训练时可能产生了模型坍塌,原生音频GAN 模型的生成样本质量高于二维声谱图GAN 模型。

猜你喜欢

音频卷积样本
基于3D-Winograd的快速卷积算法设计及FPGA实现
用样本估计总体复习点拨
从滤波器理解卷积
必须了解的音频基础知识 家庭影院入门攻略:音频认证与推荐标准篇
基于Daubechies(dbN)的飞行器音频特征提取
推动医改的“直销样本”
基于傅里叶域卷积表示的目标跟踪算法
音频分析仪中低失真音频信号的发生方法
随机微分方程的样本Lyapunov二次型估计
村企共赢的样本