DIFFWAVE: A VERSATILE DIFFUSION MODEL FOR AUDIO SYNTHESIS (Paper reading)

DIFFWAVE: A VERSATILE DIFFUSION MODEL FOR AUDIO SYNTHESIS

Zhifeng Kong, Computer Science and Engineering, UCSD, ICLR2021, Code, Paper

1. 前言

在这项工作中,我们提出了DiffWave,这是一种用于条件和无条件波形生成的多功能扩散概率模型。该模型是非自回归的,通过具有合成过程中恒定步数的马尔可夫链将白噪声信号转换为结构化波形。通过在数据似然上优化一种变体的变分下界,该模型能够高效训练。DiffWave在不同的波形生成任务中产生高保真音频,包括基于梅尔频谱图的神经声码化、类别条件生成和无条件生成。我们证明DiffWave在语音质量方面与强大的WaveNet声码器相匹配(MOS:4.44对比4.43),同时合成速度更快数个数量级。特别是,在具有挑战性的无条件生成任务中,它在音频质量和从各种自动和人工评估中得到的样本多样性方面明显优于自回归和基于GAN的波形模型。

2. 整体思想

扩散模型的U-Net换为1维的网络,其他基本一致

3. 方法

大多数先前的波形模型侧重于具有信息性局部条件的音频合成(例如,梅尔频谱图或对齐的语言特征),只有少数例外用于无条件生成)。已经注意到,自回归模型在无条件设置下往往会生成虚构的类似词汇的声音,或者在无条件情况下生成较差的样本。这是因为需要生成非常长的序列(例如,一个秒的语音需要生成16,000个时间步),而没有任何条件信息。

扩散概率模型(简称扩散模型)是一类有前途的生成模型,它使用马尔可夫链逐渐将一个简单分布(例如,各向同性高斯分布)转化为复杂的数据分布。尽管数据似然性难以计算,但扩散模型可以通过优化变分下界来高效地进行训练。最近,在图像合成中已经展示了一种特定的参数化方式取得了成功,该方式与去噪分数匹配有关。扩散模型可以利用扩散(加噪)过程而无需可学习参数,从训练数据中获得“白化”的潜在表示。因此,与其他模型相比,训练过程中不需要额外的神经网络。这避免了由于两个网络的联合训练而产生的“后验崩溃”或“模式崩溃”问题,因此对于高保真度的音频合成非常有价值。

在这项工作中,我们提出了DiffWave,一种用于原始音频合成的多功能扩散概率模型。DiffWave相比先前的工作具有几个优势:i) 它是非自回归的,因此可以并行合成高维波形。ii) 它是灵活的,因为与需要保持潜在表示与数据之间双射关系的流模型不同,它不强加任何架构约束。这导致了仍然能够生成高保真语音的小型神经声码器。iii) 它使用基于单一ELBO的训练目标,无需任何辅助损失(例如,基于频谱图的损失)进行高保真度的合成。iv) 它是一个多功能模型,可为有条件和无条件波形生成产生高质量的音频信号。具体而言,我们做出了以下贡献:

DiffWave采用了受WaveNet启发的前馈和双向扩张卷积架构。它在语音质量方面与强大的WaveNet声码器相匹配,同时合成速度更快,因为它仅需要进行少量的顺序步骤即可生成非常长的波形。

我们的小型DiffWave具有2.64M参数,并在V100 GPU上以超过5倍于实时的速度合成22.05 kHz的高保真语音,而无需经过专门设计的内核。虽然它的速度仍然比最先进的基于流的模型慢,但它的占用空间更小。我们期望通过在未来优化其推理机制来进一步提高速度。

在具有挑战性的无条件和类条件波形生成任务中,DiffWave在音频质量和多样性方面显著优于WaveGAN和WaveNet,这是通过多个自动和人工评估进行衡量的。

在这里插入图片描述
网络结构如图。输入一维输出一维,算法流程如下,其实和DDPM一样的:
在这里插入图片描述

局部条件器:在语音合成中,神经声码器可以在对齐的语言特征、从文本到频谱图模型得到的梅尔频谱图或文本到波形架构中的隐藏状态的条件下合成波形。在这项工作中,**我们将DiffWave作为一个神经声码器,以梅尔频谱图为条件进行测试。我们首先通过转置的2D卷积将梅尔频谱图上采样到与波形相同的长度。在将其梅尔频谱图映射为2C通道的每个层特定的Conv1×1之后,条件器作为偏差项添加到每个残差层的扩张卷积中。超参数可以在第5.1节中找到。

全局条件器:在许多生成任务中,条件信息是由全局离散标签(例如,说话者ID或单词ID)给出的。在所有实验中,我们使用维度为128的共享嵌入。在每个残差层中,我们应用层特定的Conv1×1将dlabel映射到2C通道,并在每个残差层的扩张卷积后将嵌入作为偏差项添加。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全志V853开发板硬件开发用户入门指南

本章节将介绍V853开发板上各模块的基础使用方法。 V853开发板集成了LED、WiFi、蓝牙、以太网、音频、屏幕、USB、TF卡等模块。本章节将对这些模块进行简单的操作介绍,方便开发者快速上手了解开发板。 *注: 本文中 rootTinaLinux:~# 开头的命令是在开发…

初识C语言·内存函数

1 memcpy的使用和模拟实现 紧接字符串函数,出场的是第一个内存函数memcpy。前面讲的字符串函数是专门干关于字符串的事的,而这个函数可以干strcpy一样的事,但是区别就是它碰到\0也会继续复制。 函数的头文件是string,返回类型是v…

了解PyTorch中的缩放点积注意力及演示

torch.nn.functional.scaled_dot_product_attention 函数在 PyTorch 框架中用于实现缩放点积注意力(Scaled Dot-Product Attention)。这是一种在自然语言处理和计算机视觉等领域常用的注意力机制。它的主要目的是通过计算查询(query&#xff…

Java-网络爬虫(三)

文章目录 前言一、爬虫的分类二、跳转页面的爬取三、网页去重四、综合案例1. 案例三 上篇:Java-网络爬虫(二) 前言 上篇文章介绍了 webMagic,通过一个简单的入门案例,对 webMagic 的核心对象和四大组件都做了简要的说明,以下内容…

数据聚合、自动补全、数据同步、es集群

目录 数据聚合 聚合的分类 DSL实现bucket聚合 DSL实现Metrics聚合 RestAPI实现聚合 多条件聚合 带过滤条件的聚合 自动补全 安装拼音分词器 自定义分词器 completion suggester查询 修改索引库数据结构 RestAPI实现自动补全查询 实现搜索框自动补全 数据同步 数…

数据库读写分离设计方案

一、什么是读写分离 数据库读写分离是一种架构模式,其中数据库系统被配置为将读操作(查询)和写操作(插入、更新、删除)分别路由到不同的数据库实例或节点。读操作通常由从节点(或只读节点)处理&…

自动化测试框架pytest系列之21个命令行参数介绍(二)

第一篇 : 自动化测试框架pytest系列之基础概念介绍(一)-CSDN博客 接上文 3.pytest功能介绍 3.1 第一条测试用例 首先 ,你需要编写一个登录函数,主要是作为被测功能,同时编写一个测试脚本 ,进行测试登录功能 。 登…

视频转为序列图的软件,让视频批量转为序列图

你是否曾经遇到过这样的困境:需要将一段视频转为一系列的图片,但却没有合适的工具来完成?或许你曾经手动截图,或者用其他方式,但结果往往不尽如人意,图片质量差、色彩失真、画面不清晰。现在,让…

建议收藏!2023首获中科院分区期刊目录

2023年12月27日,中科院分区正式发布《2023年中国科学院文献情报中心期刊分区表》。今年期刊分区表包括SCIE、SSCI、A&HCI,以及ESCI中国期刊,共设置了包括自然科学、人文科学和社会科学在内的21个大类。 相比之前,中科院分区今…

CAN总线记录仪给出口车辆的应用

CAN总线记录仪给出口车辆的应用 CAN总线记录仪在出口车辆中的应用十分广泛,主要体现在故障排查、数据分析、质量保证和驾驶行为分析等方面。 1.故障排查:CAN总线记录仪可以记录车辆在运行过程中的所有CAN总线数据,包括发动机、刹车系统、转…

【AI大模型应用开发】1.0 Prompt Engineering(提示词工程)- 典型构成、原则与技巧,代码中加入Prompt

从这篇文章开始,我们就正式开始学习AI大模型应用开发的相关知识了。首先是提示词工程(Prompt Engineering)。 文章目录 0. 什么是提示词(Prompt)1. 为什么Prompt会起作用 - 大模型工作原理2. Prompt的典型构成、原则与…

聚会喝酒摇色子活跃气氛神器小程序源码系统 附带完整的搭建教程

在中国的传统聚会文化中,喝酒摇色子是一种非常受欢迎的游戏方式。它能迅速拉近人与人之间的距离,使气氛更加活跃。然而,传统的摇色子方式存在很多不便,如需要手动计数、无法记录历史数据等。因此,开发一款聚会喝酒摇色…