基于扩散的生成模型的语音增强和去噪

news2024/9/28 11:22:38

第二章 目标说话人提取之《Speech Enhancement and Dereverberation with Diffusion-based Generative Models》


文章目录

  • 前言
  • 一、任务
  • 二、动机
  • 三、挑战
  • 四、方法
    • 1.方法:基于分数的语音增强生成模型(sgmse)
    • 2.网络结构
  • 五、实验评价
    • 1.数据集
    • 2.采样器设置和评价指标
    • 3.基线模型
    • 4.评价
  • 六、结论
  • 七、知识小结


前言

语音新手入门,学习读懂论文。
发表于《关于音频、语音和语言处理的 IEEE/ACM 事务》
本文作者
在这里插入图片描述


一、任务

作者在之前的基于短时傅立叶变换(STFT)域中扩散过程的基础上,使用基于扩散的生成模型进行语音增强。作者在随机微分方程中引入了漂移项,以实现重建问题所需的任务适应,并进一步将扩散过程和分数匹配目标应用于复杂的数据表示。

二、动机

关于扩散模型在语音增强中的应用,目前存在两种方法,它们在如何使用扩散过程方面存在概念上的差异。
一种方法是基于语音再生,即使用基于扩散的声码器网络通过无条件先验采样合成干净语音,而调节网络将有噪声的语音作为输入,通过向声码器网络提供增强的语音表示来完成去噪的核心部分。为调理网络引入辅助损失,以促进其估计干净语音表示的能力。
第二种方法不需要任何辅助损失,直接在正向扩散过程中模拟环境背景噪声或混响对干净语音的破坏,因此逆转这一过程将最终产生干净语音。这被认为是时域语音信号的离散扩散过程,以及复杂谱图域中基于sde的连续扩散过程。

三、挑战

在现实条件下,环境噪声或混响可能不符合平稳高斯白噪声的假设。因此,有人提出在扩散过程中包括真实的噪声记录,要么在过程中对干净的语音和有噪声的语音进行线性插值,要么在SDE的漂移项中定义这样的变换。

四、方法

1.方法:基于分数的语音增强生成模型(sgmse)

在这里插入图片描述
∠(·)表示复数的角度,α∈(0,1)是一个压缩指数,它可以产生能量较低的频率成分(例如未发音语音的摩擦音)[34],β∈R+是一个简单的比例因子,可以将振幅大致归一化到[0,1]以内。
作者设计了一个随机扩散过程,将其建模为一般形式的线性SDE的解。
在这里插入图片描述
xt为当前过程状态,t∈[0,t]为描述过程进程的连续时间步长变量,y为噪声或混响语音,w为标准维纳过程。向量值函数f(xt, y)称为漂移系数,g(t)称为扩散系数,控制每个时间步注入高斯白噪声的量。
在这里插入图片描述
其中γ是一个常数,称为刚度,控制从x0到y的转变。
在这里插入图片描述
σmin和σmax是定义维纳过程噪声调度的参数。

分数∇xt log pt(xt|y)是要由DNN近似的项,因此称为分数模型。我们将分数模型表示为sθ(xt, y, t),该模型由一组参数θ参数化,并接收当前过程状态xt、带噪声语音y和当前时间步长t作为输入。
在这里插入图片描述
在这里插入图片描述
xt的初始条件
在这里插入图片描述

接下来,我们推导出用于训练分数模型sθ的目标函数。
当过程状态xt的初始条件已知时,可以推导出过程状态xt的均值和方差[41]。这允许在给定x0和y的任意时间步长t上直接采样xt,通过使用所谓的扰动核,NC为圆对称复正态分布,I为单位矩阵
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
σ(t) ,它在t = 0附近具有非常小的数值(包括0)。为了避免未定义值和数值不稳定,我们因此引入了一个最小过程时间tε。
在每个训练步骤中,过程可以描述如下:1)从数据集中随机抽取t ~ U[tε, t], 2)从数据集中抽取样本(x0, y), 3)样本z ~ NC(z;0, I),和4)通过有效计算14得到xt
在这里插入图片描述
最终损失为模型输出与扰动核分数之间的未加权L2损失。将Eq.(14)代入Eq.(13),则整体训练目标为:
在这里插入图片描述
其中期望通过在每个训练步骤中对所有随机变量进行采样来近似,如上所述。注意,由于消去了µ(x0, y, t),损失函数没有显式地涉及y,只是作为分数模型的输入。这意味着分数模型的任务不是直接估计环境噪声的任何部分。最后,采用随机梯度下降法对参数θ进行优化,达到最小值。

2.网络结构

在这里插入图片描述
使用具有3x3内核和步幅1的Conv2D层作为输入和输出层,并使用1x1 Conv2D层从我们稍后描述的渐进增长路径中聚合信息。残差块由与上述配置相同的Conv2D层、群归一化、有限脉冲响应(FIR)滤波器的上采样或下采样和Swish激活函数组成。每个上采样层由三个残差块组成,每个下采样层由两个残差块组成,最后一个块进行上采样或下采样。全局注意力机制16×16的分辨率。为了使模型与时间相关,有关扩散过程的当前进展的信息被输入到网络结构中。一种常见的做法是,将标量时间坐标t映射到m维向量temb的学习投影,该向量temb被集成到每个残差块中。

五、实验评价

1.数据集

WSJ0-CHiME3数据集和VB-DMD数据集,WSJ0- reverb数据集。使用WSJ0数据集中的干净语音数据,并将每个话语与模拟的房间脉冲响应(RIR)进行卷积。

2.采样器设置和评价指标

POLQA:感知客观听力质量分析(POLQA)是一项ITU-T标准,其中包括用于预测语音质量的感知模型。
PESQ:语音质量感知评估(PESQ)用于客观语音质量测试。
ESTOI:扩展的短时客观可解度(ESTOI)是预测语音可解度遭受各种退化的工具测量。
SI-SDR、SI-SIR、SI-SAR:尺度不变(SI-)信失真比(SDR)、信干扰比(SIR)和信伪比(SAR)是单通道语音增强和语音分离的标准评价指标。
DNSMOS:深度噪声抑制MOS (Deep Noise Suppression MOS, DNSMOS)是一种评估感知语音质量的无参考指标。
提供了三个MOS分数:语音质量(SIG),背景噪声质量(BAK)和音频的整体质量(OVRL)。
WVMOS: wave -to- vec MOS (WVMOS)是一种使用经过微调的wav2vec2.0模型进行语音质量评估的MOS预测方法。
我们研究哪种采样器选择产生最佳的语音增强性能,比较具有不同校正步骤数的PC采样器和第3节中描述的普通ODE采样器。在(预测校正)PC采样器中使用一个校正步骤似乎是有利的,但使用两个步骤并不会导致性能的进一步提高。因此,我们决定使用带有一个校正步骤的PC采样器进行评估。
使用一个校正步骤会使采样器的函数评估次数(NFE)加倍。函数是昂贵的分数模型,这导致平均实时因子(RTF)为1.77,即1秒的音频需要1.77秒的处理
在这里插入图片描述
反向步骤数N可用于设置计算工作量和模型性能之间的平衡。选择N = 30的值,在这个值下,两个指标都没有显示性能的进一步提高。
改变校正器中的步长r。
在这里插入图片描述

3.基线模型

a) STCN:一种基于生成式vae的语音增强方法,该方法使用随机时间卷积网络(STCN)[72],允许潜在变量同时具有层次依赖性和时间依赖性。利用蒙特卡罗期望最大化算法对噪声模型的参数和潜在变量进行估计。

b) DVAE:基于无监督动态VAE (DVAE)的生成式语音增强方法[73],该方法对连续可观察变量和潜在变量之间的时间依赖性进行建模。在测试时使用变分期望最大化(VEM)方法更新参数,其中编码器使用随机梯度上升进行微调。

c) CDiffuSE:与我们提出的方法最相关的是CDiffuSE,这是一种基于时域中定义的条件扩散过程的生成语音增强方法。

d) SGMSE:基于分数的语音增强生成模型(SGMSE)是作者之前的出版物,所提出的方法是基于该出版物。主要区别在于它使用了深度复杂的U-Net[74]而不是ncsn++架构作为分数模型。

e) MetricGAN+:一种判别性语音增强方法,该方法使用生成器网络对基于掩码的干净语音进行预测,并引入经过训练的判别器网络来近似PESQ分数。

f) convt - tasnet:一种端到端神经网络,用于估计用于过滤噪声混合物的学习表示的掩模。过滤后的表示通过学习解码器转换回时域。

g) GaGNet:该神经网络在单通道去噪的复杂域和幅度域混合回归目标上进行训练。它使用所谓的“glance”和“gaze”(GaG)模块,分别对幅度进行粗略估计,并在复域中使用相位估计对其进行细化。

h) TCN+SA+S:这种单通道去噪方法使用自关注模块从输入幅度中提取特征。然后,该表示被一个时间卷积网络使用,随后是一个单层卷积平滑器,输出一个幅度估计,作为训练目标。Griffin-Lim迭代用于重构相位。

4.评价

我们看到SGMSE+在所有指标上都优于所有其他生成方法。将SGMSE+与我们之前的模型SGMSE进行比较,我们发现了显着的改进,特别是在感知度量方面。
在这里插入图片描述
对于每种方法,匹配和不匹配条件的分布都是并排绘制的,因此可以从两个分布之间的水平对齐推断出泛化的能力。可以看出,SGMSE+的两个分布是相对相似的。
在这里插入图片描述
用箱线图报告了MUSHRA聆听实验的结果。
在这里插入图片描述

在这里插入图片描述
WSJ0-REVERB测试集的单通道去噪结果。
在这里插入图片描述
我们评估了在真实噪声记录下的语音增强性能。对于真实世界的嘈杂录音,不存在干净的语音参考。为了进行评估,我们使用了来自深度噪声抑制(DNS)挑战2020测试集的300个文件。结果表明,我们提出的方法在所有非侵入性度量中都比所有其他方法表现得更好,证明了它对现实世界噪声示例的鲁棒性。
在这里插入图片描述


六、结论

作者在现有工作的基础上,使用一种新的随机扩散过程来设计复杂STFT域中语音增强的生成模型。作者通过使用新的网络体系结构,与之前的模型相比,显著提高了性能。作者在语音去噪任务上对所提出的方法进行了训练和评估,结果表明,与判别基线方法相比,该方法的性能明显优于判别基线方法。作者探索了不同的采样策略来解决测试时的反向过程,使我们能够平衡所提出的方法的性能和计算速度。未来的工作可能包括其他采样技术,以进一步减少扩散步骤的数量,从而降低计算复杂度。

七、知识小结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1949056.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

godot新建项目及设置外部编辑器为vscode

一、新建项目 初次打开界面如下所示,点击取消按钮先关闭掉默认弹出的框 点击①新建弹出中间的弹窗②中填入项目的名称 ③中设置项目的存储路径,点击箭头所指浏览按钮,会弹出如下所示窗口 根据图中所示可以选择或新建自己的游戏存储路径&…

音视频开发之旅(85)- 图像分类-VGG模型解析

目录 1. VGG解决的问题 2. 网络结构和参数 3. pytorch搭建vgg 4.flower_photos分类任务实践 5.资料 一、VGG解决的问题 论文链接:https://arxiv.org/pdf/1409.1556 在VGG之前,大多数深度学习模型相对较浅,比如下面的AlexNet(5层卷积和3…

记录阿里云部署gitlab

登录阿里云: 阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台 选择自己的ECS实例。我的实例是 使用VNC登录:输入用户名和密码 安装所需的依赖包: sudo yum install -y yum-utils device-mapper-persistent-data lvm2 添…

Git(分布式版本控制系统)(fourteen day)

一、分布式版本控制系统 1、Git概述 Git是一种分布式版本控制系统,用于跟踪和管理代码的变更,它由Linux、torvalds创建的,最初被设计用于Linux内核的开发。Git允许开发人员跟踪和管理代码的版本,并且可以在不同的开发人员之间进行…

货架管理a

路由->vue的el标签->Api->call方法里calljs的api接口->数据声明const xxxData-> 编辑按钮:点击跳出页面并把这一行的数据给到表单formDataba2 保存按钮:formDataba2改过的数据->xxApi发送->查询Api 跳转仓库:把tableData.value数据清空->callXxxAp…

华为云依赖引入错误

问题:记录一次项目加在华为云依赖错误,如下: 错误信息:Could not find artifact com.huawei.storage:esdk-obs-java:pom:3.1.2.1 in bintray-qcloud-maven-repo (https://dl.bintray.com/qcloud/maven-repo/) 找到本地仓库&#…

mac环境Qt Creator报错:Warning: You are changing a read-only file.

mac环境Qt Creator报错: Warning: You are changing a read-only file. 权限许可 文件权限问题 修改文件夹权限的基本语法: 打开终端:打开 macOS 中的终端应用程序。 sudo chmod -R permissions folder_pathchmod 是改变文件或文件夹权限…

虚拟机之ip配置,ssh连接到虚拟机

右边是我的虚拟机,左边是我使用vscode来连接(终端也可以。然后注意vscode配置后点一下刷新,不会自动刷新的QA)(吐槽一下,虚拟机都不能复制内容呢,确实仿真,centos仿真就是因为没有图…

基于深度学习网络的USB摄像头实时视频采集与水果识别matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 将usb摄像头对准一个播放不同水果图片的显示器,然后进行识别,识别结果如下: 本课题中…

爬取贴吧的标题和链接

免责声明 感谢您学习本爬虫学习Demo。在使用本Demo之前,请仔细阅读以下免责声明: 学习和研究目的:本爬虫Demo仅供学习和研究使用。用户不得将其用于任何商业用途或其他未经授权的行为。合法性:用户在使用本Demo时,应确…

微信小程序-自定义tabBar

通过官网给出的示例自己实现了自定义的tabBar,但结果发现 无法监听页面生命周期函数 结语:原想的是实现不一样的效果(如下) 故尝试了自定义tabBar,虽然做出来了,但也发现这个做法存在不足: 在…

算法竞赛数据生成及使用Sublime对拍

写在前面:最近几天看蒋老师直接使用了Sublime中的FastOlympicCode插件进行了对拍,出于兴趣来学习一下,关于插件的配置已经有很多大佬讲过啦,这里不再赘述。数据生成的代码我会放到最后,包括生成数组、区间、树、图。 …

2024安全大模型技术与市场研究报告

大模型驱动的AIGC引发技术革命,国资委强调国企需加大AI投入。大模型解决网络安全行业攻防不对等问题,国内外企业纷纷推出基于大模型的网络安全产品,AI将改变网络安全产品格局。 自 2022 年底开始,以 LLM(大语言模型,简…

CSS(九)——CSS 轮廓(outline)

CSS 轮廓(outline) 轮廓(outline)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。 轮廓(outline)属性指定元素轮廓的样式、颜色和宽度。 让我们用一个图来看…

使用Claude 3.5 Sonnet和Stable Diffusion XL:如何通过Amazon Bedrock不断优化图像生成直到满足需求

在Amazon Bedrock的AI模型中,Anthropic Claude 3系列现在新增了图像识别功能。特别是最新的Anthropic Claude 3.5 Sonnet,图像识别能力得到了显著提升。我进行了一些简单的试验和比较,深入探索了这些Claude模型在OCR(光学字符识别…

边界网关IPSEC VPN实验

拓扑: 实验要求:通过IPSEC VPN能够使PC2通过网络访问PC3 将整个路线分为三段 IPSEC配置在FW1和FW2上,在FW1与FW2之间建立隧道,能够传递IKE(UDP500)和ESP数据包,然后在FW1与PC2之间能够流通数据…

C# Nmodbus,EasyModbusTCP读写操作

Nmodbus读写 两个Button控件分别为 读取和写入 分别使用控件的点击方法 ①引用第三方《NModbus4》2.1.0版本 全局 public SerialPort port new SerialPort("COM2", 9600, Parity.None, 8, (StopBits)1); ModbusSerialMaster master; public Form1() port.Open();…

河道高效治理新策略:视频AI智能监控如何助力河污防治

一、背景与现状 随着城市化进程的加快,河道污染问题日益严重,对生态环境和居民生活造成了严重影响。为了有效治理河道污染,提高河道管理的智能化水平,TSINGSEE青犀提出了一套河污治理视频智能分析及管理方案。方案依托先进的视频…

LeetCode三道模式匹配算法题(同构字符串 一串三~)

模式匹配 好像回到小学语文课堂~ 🤣 老师:ABB式 大家能想出哪些呀~😊 我:绿油油~😁 金灿灿~😁 哈哈哈哈哈 好啦,来看算法题~ LeetCode 205 同构字符串 哈哈哈哈 怎么判断 绿油油 和 金灿灿 是…

从0到1:理发店预约剪发小程序开发笔记(上)

背景 理发师可以在小程序上设置自己的可预约时间,价格,自我介绍,顾客可以根据理发师的日程安排选择合适的时间进行预约和支付。这样可以提高预约的效率,减少沟通成本,方便双方的安排。 功能规划 首页展示&#xff1…