关键词:时频模糊,数据增强,机器学习,音频预处理
我们引入时频模糊算子,该算子将信号的短时傅里叶变换与指定的核进行卷积,在SpeechCommands V2数据集上训练了一个使用ResNet-34架构的卷积神经网络(CNN)和一个使用TinyViT-11M架构的视觉变换器(ViT),使用不同增强设置的频谱图对音频信号进行分类,结果表明该算子可以显著提高测试性能,特别是在数据匮乏的情况下。
1、基于短时傅里叶变换(STFT)的模糊算子与基于谱图的模糊算子对比
STFT模糊最纯粹的实现包括一个STFT、一个卷积操作和一个逆STFT。在代码中,我们可以将其实现为一个函数,该函数作用于信号的波形;频谱图模糊,是通过首先计算频谱图,将其重缩放到对数分贝刻度,然后应用卷积来实现的,如广受欢迎的SpecAugment增强方法将频谱图乘以时频掩蔽。
- 输入信号处理:STFT模糊算子直接在STFT域进行模糊处理,而谱图模糊算子则在谱图域进行模糊处理,即先计算信号的STFT,然后取其平方模值得到谱图,并在谱图上进行模糊处理。
- 相位信息处理:STFT模糊算子保留了信号的相位信息,而谱图模糊算子会丢失信号的相位信息,只处理幅度信息。
- 模糊效果:由于STFT模糊算子考虑了相位信息,因此其模糊效果与谱图模糊算子有所不同,特别是对于相位变化较大的信号。
- 实现复杂度:STFT模糊算子的实现较为复杂,需要处理复数运算,而谱图模糊算子实现相对简单,只需进行实数运算。
- 逆变换处理:由于谱图模糊算子丢失了相位信息,因此逆变换需要通过相位检索等复杂方法来近似恢复原始信号,而STFT模糊算子则可以直接逆变换得到原始信号的近似。
- 适用场景:STFT模糊算子更适合需要精确恢复原始信号的增强场景,而谱图模糊算子更适用于对相位信息要求不高的场景。
2、参数设置
- 模糊核函数:选择选择正则性好的核函数,如高斯核,以保证模糊运算的可逆性和稳定性;调整核函数的形状参数,如高斯核的标准差,标准差应该适中,过小会导致模糊效果不明显,过大则会严重破坏信号结构;在时域和频域的标准差应保持一致,以确保时频域的均匀模糊效果。
- 窗函数:选择具有平滑边界及较低的旁瓣电平的窗函数,如汉明窗或汉宁窗,并确定窗函数的长度,较长的窗函数可以提供更好的时间分辨率,但也会降低频率分辨率;根据具体应用场景选择合适的窗函数,如语音信号处理中常用汉明窗,而音乐信号处理中常用汉宁窗。
- 模糊程度:调整模糊程度参数,例如模糊核的强度或模糊核的方差,以平衡增强效果和噪声。增大模糊核的大小,即增加核的宽度或高度,可以增加模糊的程度。减小核的大小,则会减小模糊程度。尝试使用不同的模糊算法,如高斯模糊、中值模糊等,每种算法都具有不同的模糊效果。
- 数据增强比例:指使用增强数据与原始数据之比,控制增强样本在训练集中的比例,例如20%的增强样本,以避免过拟合。
- 训练样本数量:当训练样本较少时,使用模糊增强效果更佳,但需权衡模型性能与训练效率。
- 测试阶段处理:决定是否在测试阶段使用增强,如果使用,需要注意增强程度不要与训练阶段产生较大差异。
3、适用场景
- 语音识别:通过时频模糊算子对语音信号进行增强,可以提高语音识别系统的鲁棒性,特别是在噪声环境下。实验证明,这种方法能够显著提升模型在语音命令识别任务中的性能。
- 音乐分类:通过对音乐信号的时频表示进行模糊处理,可以提高模型对音乐风格、乐器等分类任务的分类准确率,进而提升音乐信息检索的效率。
- 音频事件检测:在增强后的时频表示上训练模型,可以使其对音频事件(如拍掌、喊叫等)更加敏感,从而提升音频事件检测的准确率。
- 机器学习中的数据增强:作为一种数据增强手段,时频模糊算子可以帮助生成更多的训练样本,以提高模型的泛化能力,适用于机器学习中的多种信号分类任务。
- 语音增强:通过在时频域模糊处理含噪声语音的STFT,可以去除噪声,并恢复语音信号,是一种有效的语音增强方法。
- 声学场景分类:通过对训练样本的时频表示进行模糊处理,可以增加样本的多样性,有助于模型学习区分不同的声学场景。
- 关键词检测:模糊处理关键词语音的时频表示,可以模拟关键词在噪声环境下的变化,提高关键词检测系统的鲁棒性。
- 噪声抑制:在噪声抑制任务中,通过模糊含噪语音的时频表示,可以消除噪声,并恢复干净的语音信号。