博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《MASKCYCLEGAN-VC: LEARNING NON-PARALLEL VOICE CONVERSION WITH FILLING IN FRAMES》论文笔记
阅读量:2159 次
发布时间:2019-05-01

本文共 3031 字,大约阅读时间需要 10 分钟。

论文地址:https://ieeexplore.ieee.org/abstract/document/9414851

会议:ICASSP2021

Abstract

CycleGAN-VC3中使用的TFAN模块会大大增加计算量。作为替代,本文提出MaskCycleGAN-VC,它是CycleGAN-VC2的一种扩展,使用一种FIF(filling in frames)进行训练。使用FIF,可以将时域Mask应用于输入的Mel频谱图并且可以激励转换器根据周围的帧来填充丢失的帧。FIF能够以自监督的方式学习时频结构,无需其他模块。

As an alternative, we propose MaskCycleGAN-VC, which is another extension of CycleGAN-VC2 and is trained using a novel auxiliary task

called filling in frames (FIF). With FIF, we apply a temporal mask to the input mel-spectrogram and encourage the converter to fill in missing frames based on surrounding frames.This task allows the converter to learn time-frequency structures in a self-supervised manner and eliminates the need for an additional module such as TFAN.

1. Introduction

MaskCycleGAN-VC是CycleGAN-VC2的扩展,它使用filling in frames(FIF)进行训练。我们对输入的Mel频谱图应用时序Mask,并鼓励转换器根据周围的帧填充丢失的帧。

FIF允许转换网络通过补全过程以自我监督的方式学习时频特征结构
存在的问题:CycleGAN-VC2使用MCEP进行转换再重建,这会导致转换过程中时频信息丢失和无法使用神经网络声码器。提出的CycleGAN-VC3虽然能使用TFAN弥补时频损失的问题,但计算量过于庞大。

As an alternative, we propose MaskCycleGAN-VC, which is another extension of CycleGAN-VC2 and is trained using a novel auxiliary task called filling in frames (FIF). With FIF, we apply a temporal mask to the input mel-spectrogram and encourage the converter to fill in the missing frames based on the surrounding frames.

Similarly, FIF allows the converter to learn the time-frequency feature
structure in a self-supervised manner through a complementation process.

2. Conventional CycleGAN-VC2

对抗损失(adversarial loss):让转换后的特征 G X − Y ( x ) G_{X-Y}(x) GXY(x)与目标 y y y难以区分

在这里插入图片描述
循环一致性损失(Cycle-consistency loss):在无监督的情况下,找到循环一致性约束内的最佳伪对
在这里插入图片描述
身份映射损失(Identity-mapping loss):用来增强对输入结构的部分保留,保留的频谱中的语义特征。
在这里插入图片描述
二次对抗损失(Second adversarial loss):对生成器生成的特征进行二次鉴别(CycleGAN-VC2)
在这里插入图片描述
则CycleGAN-VC2的总损失函数为:
在这里插入图片描述

3. MaskCycleGAN-VC

3.1 Training with Filling in Frames (FIF)

在这里插入图片描述

给定Mel频谱 x x x,创建一个时域的Mask m m m,它与 x x x的大小相同,一部分为1值(图中 m m m的空白),另一部分值为(图中 m m m的黑色部分)。之后对其进行运算
在这里插入图片描述
其中点表示元素之间进行乘积。进行公式(6)的运算之后,可以得到 x ^ \hat{x} x^,红色框得部分就是Mask的频谱。之后将 x x x m m m输入到生成器 G X − Y m a s k G_{X-Y}^{mask} GXYmask中,得到 y ′ y^{\prime} y
在这里插入图片描述
y ′ y^{\prime} y则为转换后的目标 Y Y Y,根据CycleGAN-VC2中,使用公式(1)计算对抗损失。之后再将 y ′ y^{\prime} y m ′ m^{\prime} m输入到生成器 G Y − X m a s k G_{Y-X}^{mask} GYXmask
在这里插入图片描述
其中 m ′ m^{\prime} m是使用全1矩阵表示的,前提是假设在此过程之前已填写了丢失的帧。最后使用循环一致性损失进行计算
在这里插入图片描述
优点:1.与CycleGAN-VC3使用TFAN模块相比,大大减少了参数的计算量 2.FIF是一种自监督学习,不需要额外的数据或预训练模型

3.2 Conversion with all-ones mask

在进行转换的过程中使用全为1的Mask,即没有帧丢失的情况下进行转换。

4 EXPERIMENTS

4.1 Experimental conditions

数据集:VCC2018

输入特征:80维Mel频谱
声码器:预训练MelGAN

4.2 Objective evaluation

MCD/KDSD(Kernel DeepSpeech Distance :该值可计算DeepSpeech2特征空间内的最大平均差异,并显示出与人类判断有更好的相关性)

表1在比较不同尺寸的mask中进行比较

FIF X:mask所占的百分比
FIF 0-X:mask所占比例的大小随机在[0,X%]
在这里插入图片描述
表2在比较不同类型的mask中进行比较
FIF:连续帧mask
FIF_NS:非连续帧mask(每帧独立,并且随机选取)
FIS:连续的频带mask
FIP:类似于dropout的某个点的Mask
在这里插入图片描述
表3.不同模型的比较
在这里插入图片描述

4.2 Subjective evaluation

分别对转换后语音的自然度和相似度进行测试。进行偏好性测试,只给出两个选项,必须选择其中的一个。对MaskCycleGAN-VC和V2、MaskCycleGAN-VC和V3进行测试。

图1 自然度测试
在这里插入图片描述
图2 相似性测试
在这里插入图片描述

5. CONCLUSIONS

MaskCycleGAN-VC是CycleGAN-VC2的改进,它在不需要TFAN的情况下可以学到时频结构,引入了FIF,允许转换器以自监督的形式进行学习,同时还减少了运算量。

转载地址:http://okgwb.baihongyu.com/

你可能感兴趣的文章
图解什么是 Transformer
查看>>
代码实例:如何使用 TensorFlow 2.0 Preview
查看>>
6 种用 LSTM 做时间序列预测的模型结构 - Keras 实现
查看>>
走进JavaWeb技术世界1:JavaWeb的由来和基础知识
查看>>
走进JavaWeb技术世界2:JSP与Servlet的曾经与现在
查看>>
走进JavaWeb技术世界3:JDBC的进化与连接池技术
查看>>
走进JavaWeb技术世界4:Servlet 工作原理详解
查看>>
走进JavaWeb技术世界5:初探Tomcat的HTTP请求过程
查看>>
走进JavaWeb技术世界6:Tomcat5总体架构剖析
查看>>
走进JavaWeb技术世界7:Tomcat和其他WEB容器的区别
查看>>
走进JavaWeb技术世界9:Java日志系统的诞生与发展
查看>>
走进JavaWeb技术世界10:从JavaBean讲到Spring
查看>>
走进JavaWeb技术世界11:单元测试框架Junit
查看>>
走进JavaWeb技术世界12:从手动编译打包到项目构建工具Maven
查看>>
走进JavaWeb技术世界13:Hibernate入门经典与注解式开发
查看>>
走进JavaWeb技术世界14:Mybatis入门
查看>>
走进JavaWeb技术世界16:极简配置的SpringBoot
查看>>
初探Java设计模式1:创建型模式(工厂,单例等)
查看>>
初探Java设计模式2:结构型模式(代理模式,适配器模式等)
查看>>
初探Java设计模式3:行为型模式(策略,观察者等)
查看>>