上一篇文章介绍AI-CGNet降噪算法和AI-GruNet降噪算法,本篇文章介绍一个新的轻量级降噪做法AI-FGNet。
一、模型结构
AI-FGNet网络相比AI-GruNet,额外添加一层全连接实现特征的维度变换,作为频谱压缩、控制计算量的一种手段。此外,增加残差连接,提升序列长期依赖的建模能力。
特征方面,仍然使用log功率谱作为特征。
网络方面,先进行归一化,然后通过全连接层实现对频谱维度的升维或者降维。然后使用两层GRU层,实现对时间序列历史信息建模,dropout防止过拟合。增加残差连接,提升序列长期依赖的建模能力。最后加上三层全连接。最后预测幅度上的一个增益mask。
前向代码如下,最后估计的增益作用到幅度谱,达到降噪。
二、损失函数
使用Negative SNR作为损失函数。SNR,也称SDR, 常用于降噪、分离等任务,输入时域信号,隐式包含相位信息,相比SI-SNR,对幅度等信号变化相对敏感。
三、工程化
一些计算资源紧张的平台,往往需要对频谱维度进行压缩,来减少计算量。这是一个简单实用的方式。
四、测试数据和处理结果
风噪,纯噪声段降噪达45db以上。
无法张贴测试音频,更多测试音频和下载链接,见微信公众号“算法晓记”。
五、代码
包括训练代码和工程代码,后续考虑公开。