当前位置: 首页 > news >正文

基于时频模糊算子的数据增强方法

关键词:时频模糊,数据增强,机器学习,音频预处理

    我们引入时频模糊算子,该算子将信号的短时傅里叶变换与指定的核进行卷积在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,可以去除噪声,并恢复语音信号,是一种有效的语音增强方法。
  • 声学场景分类:通过对训练样本的时频表示进行模糊处理,可以增加样本的多样性,有助于模型学习区分不同的声学场景。
  • 关键词检测:模糊处理关键词语音的时频表示,可以模拟关键词在噪声环境下的变化,提高关键词检测系统的鲁棒性。
  • 噪声抑制:在噪声抑制任务中,通过模糊含噪语音的时频表示,可以消除噪声,并恢复干净的语音信号。
http://www.lryc.cn/news/351305.html

相关文章:

  • 浅谈后端整合Springboot框架后操作基础配置
  • 英码科技算能系列边缘计算盒子再添新成员!搭载TPU处理器BM1688CV186AH,功耗更低、接口更丰富
  • selenium 爬取今日头条
  • docker 安装 yapi
  • 【AI如何帮你编写测试用例并输出表格格式】
  • 九宫格转圈圈抽奖活动,有加速,减速效果
  • 利用阿里OSS服务给文件设置过期删除--简单版
  • LabVIEW控制Trio控制器
  • 02--大数据Hadoop集群实战
  • 【ARMv8/v9 异常模型入门及渐进 10 -- WFI 与 WFE 使用详细介绍 1】
  • @DateTimeFormat 和 @JsonFormat 的区别和使用方式
  • C++—结构体
  • 指针与引用
  • 使用 mysql-binlog-connector 监听处理 MySQLBinlog 文件
  • CF Div2 729 Plus and Multiply
  • Joomla 3.7.0 (CVE-2017-8917) SQL注入漏洞环境
  • Python高克勒-曼宁-斯特里克勒公式计算一维流量
  • 【GD32系列--基本定时器Timer + 定时1ms 灯光间隔1s闪烁例程】
  • 第11章 集合与迭代器
  • 探索Linux中的神奇工具:探秘tail命令的妙用
  • 1688商品API接口:电商数据自动化的新引擎
  • 路由器不能端口映射什么原因?如何设置内网映射?
  • 开源RAG,本地mac启动 dify源码服务
  • 【Linux取经路】基于信号量和环形队列的生产消费者模型
  • 计算机SCI期刊,中科院2区,收稿范围非常广泛!
  • JDK、JRE、编译指令和垃圾回收机制详解
  • 【ARM 嵌入式 C 入门及渐进 6.2 -- ARMv8 C 内嵌汇编读系统寄存器的函数实现】
  • 使用 LlamaParse 进行 PDF 解析并创建知识图谱
  • Oracle行迁移解析
  • 【k8s】 busybox镜像、挂载volume卷