Parallel Tacotron 12

2023-10-23 21:10
文章标签 parallel tacotron

本文主要是介绍Parallel Tacotron 12,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 单位:google
  • 作者:Isaac Elias
  • 时间:2020 & 2021 interspeech

文章目录

  • 1. Parallel Tacotron
    • 总结
    • abstract
    • introduction
    • method
      • Input Encoder
      • VariationalResidualEncoder
        • Global VAE per Speaker
        • Phoneme-Level Fine-Grained VAE
      • Duration Decoder
      • 2.4. Upsampling and Positional Embeddings
      • 2.5 Spectrogram Decoder with Iterative Loss
    • Loss
  • 2. parallel tacotron2
    • abstract
    • introduction
    • related work
    • model arch
    • soft-DTW

1. Parallel Tacotron

总结

  • global VAE提取speaker embedding, CVAE提取层级phn prosody embedding;LConv block建模phn encoding;
  • 预训练的模型提取duration info,duration predictor预测两个信息(1)是否有phn dur,0/1;(2)phn dur;
  • decoder使用iter loss,多级逼近mel spec,loss求和;

abstract

  • 非自回归框架
  • contribution:
    • 基于VAE的residual encoder:可以缓解TTS上one-to-many的问题,并且改善自然度;
    • lightweight convolutions:有效的建模local context;
    • iterative spectrogram loss:受启发于 iterative refinement。

introduction

  • Tacotron以及其他的自回归框架,基于previous mel+text生成当前mel,从而解决TTS上one-to-many的问题;
  • FastSpeech:FastSpeech1是基于知识蒸馏,FastSpeech2是添加额外的pitch & energy信息。
  • 其他的方法:使用latent embedding表示韵律信息,比如style tokens或者使用VAE捕捉prosody representation来表示。

method

在这里插入图片描述

  • lightweight convolutions (LConv)——depth-wise convolution,在TTS任务上相对于Transformer的self-attention会更关注局部特征。
  • global VAE和fine-grained VAE都有两个形式:posterior VAE和prior VAE。以speaker Global VAE为例,

Input Encoder

在这里插入图片描述

phn—encoder embedding。

VariationalResidualEncoder

Global VAE per Speaker
  • traing stage :输入mel-spec,通过多个LConv block降采样,生成定长的global latent representation,表征说话人相关的信息。降维到8,然后后层使用的时候再升维度到 dim32。
  • infer stage:使用预设的speaker prior mean;
  • residual encoder:建模文本以外的说话人信息(包含说话人相关的韵律特征)
Phoneme-Level Fine-Grained VAE

此部分参考层级建模:Fully-hierarchical fine-grained prosody modeling for interpretable speech synthesis

  • 输入position-emb + spk-emb + gt-mel
  • 预测:mel-spec和encoder outputs的对齐
    训练一个AR-LSTM,使用teacher forcing和L2 loss预测posterior mean

Duration Decoder

预训练的对齐器拿到phn duration信息

  • 输入:encoder outputs + latent representation + speaker embeddings
  • 预测两个类型的输出:(1) 二进制的0/1 ,判断phn是否有对应的时长——phn一般都有时长,预测1,silence & 标点符号可能是没有时长,预测0;(2)phn-duration,以秒计数;

2.4. Upsampling and Positional Embeddings

  • 输入:duration decoder outputs,使用phn duration上采样到frame level;
  • 然后➕三种位置向量,使得spec decoder知道the frame positions within phonemes :
    • transformer sin_pos表明a frame position within a phoneme
    • transformer sin_pos表明phoneme duration信息;
    • Fractional progression of a frame in a phoneme(1D CoordConv)

2.5 Spectrogram Decoder with Iterative Loss

在这里插入图片描述

  • 每一个LConv Block的输出都直接被转到128维的mel谱特征,计算L1 Loss,sum(L1 Loss)

Loss

在这里插入图片描述

2. parallel tacotron2

abstract

  • motivation:parallel tacotron是需要额外的对齐器,这增加了系统的复杂度,并且高度依赖对齐器的好坏。因此提出一个不需要对齐器、也不需要teacher-forcing duration info的合成系统。
  • 包括:(1)可微分的时长模型(不需要监督的时长信号),soft-DTW
    (2)upsample using attention with a novel auxiliary context ;
    (3) iterative recon-loss基于soft-DTW,学习token-frame的对齐

introduction

Flow-TTS从token预测frame级别特征,使用teacher-forcing使预测和真实长度mismatch接近。
PT2也使用dot-product,从token预测时长,使用soft-DTW loss解决长度不匹配的问题。

  • parallel Tacotron-1的问题
    • 使用aligner得到对齐时长,时长处理时候有四舍五入的操作,该操作是不可导的;因此四舍五入的错误不会参与梯度反传(该错误无法校正);
    • 训练时候用的真实duration,预测时候用的predict duration,因此mel重建损失无法参与duration predictor预测的提度反传。
      ——————————————————
      学到token和frame mel之间的对齐信息,且duration model可以参与梯度反传。
  • duration由自然数N表示修改为实数R
  • token2frame mapping

related work

  • Parallel Tacotron2 的主要改进在时长预测的部分,使用可微分时长建模以及learned upsampling提取对齐和模型时长。
  • AlignTTS, JDI-T 和 EfficientTTS 使用联合训练的对齐模型得到时长信息,为了将token上采样,AlignTTS, JDI-T 使用 length regulator 信息, EfficientTTS使用Gaussian kernel mechanism;
  • FlowTTS直接预测token在句中对应的帧数,而不预测token的时长。(这个地方没太明白??)
  • EATS 的对齐是基于block-alignment假设,先随机给一个时长,在这个范围内使用softDTW对齐;PT2也是使用softDTW,但是没有这个假设,是基于整句进行的对齐。

model arch

在这里插入图片描述

soft-DTW

在这里插入图片描述

这篇关于Parallel Tacotron 12的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/270447

相关文章

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

翻译论文的关键部分 | Parallel Tiled QR Factorization for Multicore Architectures

SSRFB DTSQT2 DLARFB DGEQT2 1, 对角子矩阵分解 DGEQT2 这个例程被开发出来,用于针对对角Tile子矩阵: ,执行不分块的QR分解。 这个运算产生: 一个上三角矩阵 一个酉下三角矩阵,这个矩阵包含 b 个 Householder 反光面、 一个上三角矩阵 ,在WY技术中,这个矩阵被定义用来累计Householder变换。 和 能够写进 所占据的内存空间,

OpenCV Parallel

OpenCV并行加速Parallel_for_与ParallelLoopBody教程 https://blog.csdn.net/qq_27825451/article/details/103878676

并行 parallel DOP 受 Resource Manager 限制

监控 Script select s.SID, s.SERIAL#, s.username ,rpd.plan,        s.RESOURCE_CONSUMER_GROUP,        rpd.PARALLEL_DEGREE_LIMIT_P1  from   v$session s,         DBA_RSRC_CONSUMER_GROUPS rcg,        DBA_

SAP Parallel Accounting(平行分类账业务)配置及操作手册【适用于多国家会计准则】

1. 配置准备 1.1 理解平行账概念 平行账,也称为多分类账,是SAP系统中的一项功能,它允许企业按照不同的会计准则来维护各自的财务数据。这种设置特别适用于那些需要符合多种会计准则的跨国公司。通过平行账,企业可以在不同的分类账中记录相同的交易,但按照各自的会计政策进行处理。 1.2 SAP平行账配置前提条件 在SAP系统中配置平行账之前,需要满足以下前提条件: 必须有一个有效的

Go单测时的Parallel

在 Go 语言中,t.Parallel() 通常用于测试代码中,表示将当前的测试用例标记为可以并行执行。 当在测试函数中调用 t.Parallel() 后,测试框架会尝试在多个 goroutine 中并行地执行被标记的测试用例。 这可以显著提高测试的执行效率,尤其是在有大量独立的测试用例时。 package mainimport ("testing")func TestA(t *testing

OceanBase 并行执行参数 parallel_servers_target 理解

为了最大程度降低 PX 使用难度,OceanBase 3.1 版起,parallel_max_servers 参数废弃。 用户只需用好 parallel_servers_target 即可。 target 的用途 用一个酒吧的例子来粗略理解下 parallel_servers_target 的意思: target 先生开了一个酒吧。来这个酒吧里喝酒的都是一群一群的人。酒吧最多容纳100个人

UE Parallel Rendering 简介

https://perfect-fragrance-a69.notion.site/UE-Parallel-Rendering-b17bf7421c1244638501c1ab060ade3e?pvs=4

【darknet】源码阅读理解(四)——#pragma omp parallel for

参考自:https://www.cnblogs.com/qinguoyi/p/7251305.html 出处: darknet在cpu上进行CNN计算时。 Code: void gemm_nn(int M, int N, int K, float ALPHA, float *A, int lda, float *B, int ldb,float *C, int ldc){int i,j,k

parallel+rsync快速复制文件夹

parallel+rsync快速复制文件夹 find . -type f | parallel 'mkdir -p /run/media/root/TOSHIBA\ EXT/backup1/{//}; rsync -a {} /run/media/root/TOSHIBA\ EXT/backup1/{}'