ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [yongggg's] A Survey on Audio Diffusion Models: Text To Speech Synthesis andEnhancement in Generative AI 요약(1)
    Machine & Deep Learning 2025. 4. 22. 10:43

    안녕하세요 요즘 TTS 연구에 필수로 들어간다고해도 과언이 아닌 Diffusion model의 survey 논문을 소개 해드리겠습니다. Diffusion model은 vision model에서 연구가 먼저 되었지만, 음성 합성 분야에 많이 쓰이는 model입니다.
    다른 Survey이의 Diffusion model은 vison 쪽에 focus 되어 있지만 이 논문에는 Audio 쪽에 focus가 되어 있어서 audio 쪽 diffusion model에 관심이 있으신 분은 한 번 읽어보시면 좋을 것 같습니다! 그럼 요약 시작하겠습니다!

    Abstract

    Text-to-Speech 변환 과제에서는 모델이 적용되는 단계에 따라 세 가지 범주로 나뉜다.

    • acoustic model (음향 모델)
    • vocoder
    • end-to-end framework

    speech enhancement 과제에서는 입력 음성에 다음 작업을 함에 따라 범주가 나뉜다.

    • 특정 신호 추가
    • 특정 신호 제거

    1. Introduction

    Text-to-Speech 변환과 speech enhancement는 각각 주어진 text로 부터 음성을 생성하고 기존 음성의 품질을 향상시키는 주요 과제 이다. Text-to-Speech 과제의 발전은 세 단계로 나눌 수 있다. 초기 연구(ex: formant synthesis and concatenative synthesis, statistical parametric speech synthesis(SPSS)-based methods, neural network-based stage)

    최근에는 diffusion model이 컴퓨터 비전 등 여러 분야에서 큰 주목을 받으며 Text-to-Speech 과제에도 활용되고 있다. speech enhancement는 음성 신호를 입력으로 받아 음성을 생성하는 또 다른 연구 분야이며, 일반적으로 음성 denoising(잡음 제거), dereverberation(잔향 제거), speech super-resolution 등이 포함된다.

     

    본 연구에서는 모든 분야에서 쓰이는 diffusion model에 대한 survey를 수행했다.

    2. Background

    2.1 Background on audio and speech

    공기 중의 audio wave(오디오 파형)은 분자의 진동으로, 이를 통해 소리가 전달 된다. audio wave는 시간에 따른 진동 변위를 나타내며, 그 강도는 진폭으로 표시된다. 본질적으로 audio wave는 다양한 주파수의 혼합이다. 따라서 오디오 분석은 원시 파형을 시간 도메인에서 time-frequency(시간-주파수) 도메인의 spectrogram으로 변환하는 것에서 시작된다. 이는 audio를 window로 분할하고, 각 Window에 대해 shor-time Fourier Transform(STFT)를 사용하여 각 주파수의 크기를 계산함으로써 이루어진다. STFT는 시간 방향을 따라 각 window마다 반복되어, 두 가지 차원(가로축은 frame(시간) 세로축은 frequency(주파수))을 가진 복소수 값의 맵을 생성한다. 이 맵의 복소수 값은 절대값(또는 amgnitude(크기))과 위상(phase)으로 변환될 수 있다. 인간은 frequency에 대해 동일하게 민감하지 않기 때문에, spetrogram(magnitude map(크기 맵))을 Mel-scale로 변환하여 Mel-spetrogram을 얻는 경우가 많다. Mel-spectrogram은 음성 과제에 널리 적용된다.


    https://yongggg.tistory.com/101

     

    [yongggg's] Audio Domain (소리의 기초)

    * 소리의 기초(1) Sound소리는 일반적으로 진동으로 인한 공기의 압축에서 생성된다.(2) Wave공기의 압축이 얼마나 됐는지에 따라 표현한 것을 wave(파동)이라고 한다. $/rightarrow$ 파동은 진동 하며, 공

    yongggg.tistory.com

    위 포스트에서 소리의 기초를 보고 온다면, 더 이해가 쉬울 수 있다.


    2.2 Background on diffusion model

    diffusion model을 speech synthesis에 적용하는 방법을 소개하기 전에, 작동 원리에 대해 살펴본다.

    Diffusion model은 비평형 열역학에서 영감을 받은 "Deep Diffusion Model(DPM)"에서 기원한다. 이 모델은 사전 분포에서 점진적으로 noise를 추가하며, 이를 역으로 되돌려 합성 데이터를 얻는 방식으로 작동한다. "Denoising Diffusion Probabilistic Models(DDPM)"은 DPM을 개선하여 고해상도 이미지를 생성하여 큰 주목을 받았다. 그 이후로도 score 기반 생성 모델 등의 develop 연구가 많이 나왔다.

    Diffusion model이 speech synthesis 분야에 적용되는지를 소개하기 전에, DDPM을 예로 들어 어떻게 작동하는지 살펴보자. DDPM은 forward process와 backward process로 구성된다. forward process 동안 DDPM은 깨끗한 이미지에 단계적으로 noise를 추가하여 이미지가 파괴될 때까지 진행한다. 데이터 분포 $x_{0} \sim q(x_{0})$와 단계 $t$에서의 잠재 변수 $x_{t}$를 정의하면, approximate posterior는 마르코프 체인으로 고정되며 다음과 같이 정의된다.

    $$ \begin{align} q(x_{1:T} | x_{0}) &:= \prod_{t=1}^{T} q(x_{t} | x_{t-1}) \tag{1} \\ q(x_{t} | x_{t-1}) &:= \mathcal{N} (x_{t}; \sqrt{1-\beta_{t}} x_{t-1}, \beta_{t} I ) \tag{2} \end{align}$$

    backward process에서 DDPM은 파괴된 $x_{T}$로 부터 $x_{0}$을 복원하는 것을 목표로 한다. 이는 훈련 중, noise를 추정함으로써 학습된다.

     

    - 예를들어 Vodocer의 U-net기반인 DDPM이 있다면, $t$ 시점에서 clean audio에 Gausian noise($\epsilon_{t}$)를 추가한 것을 $x_{t}$라고 하면, $x_{t}$가 input으로 들어 갔을 때, $\epsilon_{t}$를 예측하도록 함. $\rightarrow$ 추론 단계에 이 noise를 예측하여, noise를 제거할 수 있음.

     

    - DDPM는 Forward process와 Reverse process로 구성된다.

    • Forward process: $ 0 < \beta_{1} <\cdots < \beta_{T} < 1$인 pre-defined noise schedule $ \beta $에 따라 data sample $x_{0}$에 Gaussian noise $ \epsilon \sim \mathcal{N}(0, I)$를 주입하는 Markov chain 이다.
      • 이 때, 각 time step $ t \in [1, ..., T] $에서 transition probability는 다음과 같다.
        $q(x_{t} | x_{t-1}) = \mathcal{N} (x_{t}; \sqrt{1- \beta_{t}} x_{t-1}, \beta_{t} I)$.
      • DDPM과 Gaussian noise의 특성을 통해, $x_{0}$에서 noise data 분포 q(x_{t} | x_{0})를 얻을 수 있다.
        $q(x_{t} | x_{0}) = \mathcal{N}(x_{t} ; \sqrt{\bar{\alpha_{t}}} x_{0}, (1- \bar{\alpha_{t}}) \epsilon) $
        : $\alpha_{t} := 1 - \beta_{t}$
        : $\bar{\alpha_{t}} := \prod_{s=1}^{t} \alpha_{s} \rightarrow$ time step $t$에서의 noise level
    • Reverse process: Data $x_{0}$를 재구성하기 위해, $p(x_{T}) \sim \mathcal{N}(0, I)$에서 noise를 점진적으로 제거하는 denoising process이다. $\rightarrow$ $p_{\theta}(x_{0}, ..., x_{T-1} | x_{T}) = \prod_{t=1}^{T} p_{\theta} (x_{t-1} | x_{t}) $
      • 이 때, reverse step에 대한 transition probability는 $p_{\theta} (x_{t-1} | x_{t}) = \mathcal{N} (x_{t-1}, \mu_{\theta} (x_{t}, t), \sigma^{2}_{\theta} I) $로 parameterize 된다.
        : 분산 $ \sigma^{2}_{\theta}$ 는 ${ 1 - \bar{\alpha}_{t-1} \over 1 - \bar{\alpha}_{t}} \beta_{t}$ 또는 $\beta_{t}$로 미리 정의된다.
        : 평균 $\mu_{\theta}$는 $\mu_{\theta}(x_{t}, t)=1 / \sqrt{\alpha_{t}} (x_{t} - \beta_{t} / \sqrt{1 - \bar{\alpha}_{t}} \epsilon_{\theta} (x_{t}, t)$로 나타낼 수 있다.
        : $ \epsilon_{\theta} (x_{t}, t)$는 신경망에서 추정된 노이즈이다.
    • 최종적으로 model은 $p_{\theta}(x_{0})$의 variation lower bound를 최대화하는 방향으로 학습된다. $\mu_{\theta}$에 대한 parameterization을 통한 training objective는 다음과 같다.
      $ L_{D}(\theta) = \mathcal{E}_{x_{0}, \epsilon, t} || \epsilon - \epsilon_{\theta}( \sqrt{\bar{\alpha_{t}}}x_{0} + \sqrt{1-\bar{\alpha_{t}}} \epsilon, t ||^{2}_{2})$

    3. Text-Speech Synthesis

    3.1 Overview of the text-to-speech development

    Three-stage에서 two-stage로의 전환. 

    그림 1에서 볼 수 있듯이 3단계에서 2단계 framework로 전환을 거쳐왔다. 신경망을 적용하기 전, SPSS(Statistical Parameter Speech Synthesis)가 널리 사용되었으며 그림 1(a)처럼 Text $\rightarrow$ 언어적 특징 $\rightarrow$ acoustic(음향적) 특징 $\rightarrow$ 파형 순으로 변환 되었다. 일반적으로 acoustic 특징은 mel-cepstral 계수, mel-generalized 계수, F0 및 band aperiodicity(비주기성) 등이 있다. 신경망은 1(a)에서 1(b)/1(c)로의 변화를 가져왔으며, two-stage의 한 방법은 deep-Vocoder를 통해 언어적 특징에서 직접 파형을 생성한다.(1(b); ex: Wavenet, Parallel Wavenet, DeepVoice, DeeVoice2, HiFi-GAN 등)

    현재는 1(c)의 방법이 더 많이 사용되고 있으며, single deep acoustic model을 통해 Text에서 acoustic 특징의 Mel-spectrogram 형태를 직접 생성한다.(DeepVoice3, TransformerTTS, Fast Speech1, Speech2)

     

    Overview of diffusion-based methods.

    현재 그림1의 1(c)의 two-stage framework를 따르며, 이는 먼저 acoustic model을 통해 acoustic features를 생성한 뒤, Vocoder를 통해 waveform을 출력한다. 또 다른 연구는 text-speech synthesis 과제를 end-to-end 방식으로 해결하려고 하고 있으며, 아래의 표에 최근 연구들을 요약하며 각 Framework의 각 단계를 소개한다.

    3.2 acoustic model

    text를 acoustic feature로 변환하는 acoustic model은 text-speech synthesis task에서 핵심 구성 요소이다. diffusion model에 적용한 대표적인 연구들은 표2에 정리했다.

     

    3.2.1 Pioneering works. (선행 연구)

    speech synthesis system에서 acoustic model은 text를 acoustic feature(ex; mel-sepectrogram)으로 변환한다. Diff-TTS는 DDPM을 mel-spectrogram 생성에 처음 적용한 연구이다.

    • Diff-TTS의 과정
      text-encoder가 문맥정보 추출 $\rightarrow$ length & duration (길이 및 지속 시간) predictor로 정렬 $\rightarrow$ DiffWave와 유사한 아키텍처를 가진 decoder가 DDPM을 사용하여 mel-spectrogram을 생성하도록 훈련(DDIM이 샘플링 과속화를 위해 사용됨)

    Grad-TTS는 확률적 미분 방정식(stochastic differential equation; SDE)을 기반으로 한 Wave Grad의 U-net을 mel-spectrogram 생성 decoder로 사용한다. 이 연구에서는 decoder의 출력으로 mel-spectrogram 대신, 파형을 사용하여 end-to-end text-speech synthesis 파이프라인의 가능성을 제공한다.

     

    3.2.2 Towards efficient acoustic model. (효율적인 acoustic model을 향해)

    Knowledge Distillation으로 인한 가속화.

    이전 diffusion model에서는 data 밀도의 기울기를 추정하는 방법(gradient-based parameterization)이 주를 이뤘지만 이는 고품질 생성을 위해 수천 번의 반복이 필요했다.

    ProDiff 연구에서는 깨끗한 데이터를 직접 생성하는 generator 기반 parameterization을 채택했다. 방법은 다음과 같다.

    N-step DDIM teacher model을 ${N \over 2}$ step으로 모방하도록 student model을 최적화하는 Knowledge Distillation을 통해 데이터 분산을 줄이는 방법을 제안했다. 이로인해 diffusion model을 저비용으로 대화형 real-world speech synthesis application에 처음 적용할 수 있었다.

     

    Denoising Diffusion Gan으로 인한 가속화.

    이전 연구에서는 Gausian noise를 추가하고 제거하는 과정을 수학적으로 모델링한다. 예를들어 DDPM에서는 noise 제거 분포를 Gausian Noise로 근사했고 가우시안 노이즈로 근사하는 방식은 수학적으로 안정적이지만, 한 번에 제거할 수 있는 Noise의 양이 적다.(Gausian 분포는 변화가 부드럽기에 Noise를 한 번에 제거하면 결과가 왜곡될 가능성이 높음.)

    따라서 "small step size"로 noise를 제거해야 하기 때문에,  전체 noise 제거 과정에서 수천번의 iterations이 필요로한다. (시간이 많이 소요됨)

     

    위의 문제를 해결하기 위해,  "big step size"로 적은 iterations을 가능하게 하는 GAN을 사용하여 noise 제거 분포를 모델링했다.

     

    * DiffGAN-TTS

    DiffGAN-TTS에서는 pre-trained Generator를 acoustic generator로 사용했다. 속도를 더욱 높이기 위해 pre-trained Generator가 생성한 대략적인 예측 결과의 Noise 제거를 active shallow diffusion mechanism을 도입해 수행했다. 이를 통해 one-step 만으로도 고품질 audio를 생성할 수 있음을 증명했다.

     

    3.2.3 Multi-speaker setting을 위한 Adaptive modeling.

    이전 연구들은 text를 조건으로 하는 diffusion model을 사용하여 Mel-Spectrogram을 생성했다. 즉, 화자의 음성 데이터와 그에 해당하는 전사 text(transcribed data)가 제공되어야 한다는 것이다.

     

    * Grad-TTS

    iterative latent variable sampling(ILVR; 반복 잠재 변수 샘플링)을 적용한 Grad-TTS는 추론 시에 target 화자의 reference voice을 latent variable에 섞는 방법을 제안하여, 추가 학습 없이 zero-shot speaker 생성을 가능하게 했다.

     

    * Grad-StyleSpeech

    Grad-TTS를 기반으로 하여 reference voice의 Mel-Spectrogram을 style vector로 Encoding하여 diffusion model 학습에 활용했다.

     

    * Guided-TTS

    대규모 전사되지 않은 데이터를 multi-stage 방식으로 활용하는 adaptive modeling 방법이다. Guided-TTS는 two-steps의 방법을 제안했다. 첫 번째 단계에서는 대규모 전사되지 않은 데이터를 사용하여, unconditional DDPM model을 학습시키고, 두 번째 단계에서 phoneme classifiers(음소 분류기)와 speaker embedding을 guide로 활용해 Mel-Spectrogram을 생성한다.

    - Unconditonal DDPM: 전사 text를 필수로 필요로 하는 것 없이, 음성 데이터(Mel-Spectrogram)을 생성하는 방법을 학습한다.

    - Phoneme classifiers: 음성의 phoneme(음소; 발음 단위)를 분석하여 text 정보를 간접적으로 반영한다.

    - Speaker embedding: target speaker voice의 특성을 나타내는 vector 이다.(tone, style 등)

     

    * Guided-TTS2

    Guided-TTS의 unconditional DDPM model 대신, speaker-conditional DDPM model을 사용했다. 또한, 분류기가 없는 guidance(classifier-free guidance)를 통해 pre-trained diffusion model을 target speaker에 적응시키고, target speaker의 짧은 reference voice를 직접 상ㅇ하여 pre-trained diffusion model fine-tuning한다.

     

    3.2.4 discrete latent space를 활용한 Acoustic models.

    이전 연구들은 autoregressive 방법의 효율성을 높이기 위해 Mel-Spectrogram을 Vector Quantized Variational Autoencoder(VQ-VAE)를 사용해 discrete token으로 압축하는 방식을 제안했다.

     

    * Diffsound

    이 연구에서는 위의 discrete 설정을 따르지만, non-autorgressive한 방식으로 token을 생성하는 diffusion-based decoder를 제안했다. 데이터 효율성 문제를 해결하기 위해, 대규모 Opensource dataset인 Audioset을 기반으로 새로운 text-audio dataset을 구축하여 pre-train에 활용했다.

     

    * NoreSpeech

    이 연구도 VQ-VAE를 사용하여 Mel-Spectrogram을 생성한다. Diffsound가 mel-spectrogram의 이산화에 초점을 맞춘 것과 달리 NoreSpeech에서는 reference audio에 잡음이 포함된 경우에도 음성 출력에 화자의 말투 style을 강건하게 전달하는 것을 목표로 하여, Style Feature의 이산화에 집중했다. 이 방법은 구체적으로, diffusion model을 적용하여 잡음이 포함된 Reference audio를 conditon으로 하여 연속적인 세미리한 스타일 특징을 생성한 뒤, VQ-VAE로 이산화했다.

    학습 중 diffusion model의 정답 style feature는 깨끗한 audio를 기반으로 pre-trained style teacher model(ex; GenerSpeech, NANSY)이 생성한다. 세밀한 style feature와 global speaker embedding을 활용하여, GenerSpeech에서 사용된 동일한 Mel-Spectrogram을 생성한다.

    - VQ-VAE: data를 압축하고 복원하는 Auto-Encoder이다. Encoder에서 입력 데이터(Mel-Spectrogram)을 잠재 공간(Latent Space)으로 변환하고 Vector Quantization을 하여 latent space의 연속적인 값을 미리 정의된 discrete tokens으로 변환한다. Decoder에서는 이 discrete tokens을 다시 원래의 Mel-Spectrogram 형태로 복원한다.

     

    3.2.5 Audio 생성에 대한 Fine-grained control(세밀 제어)

    Controllable emotional models.

    이전 연구의 대부분 시도는 감정의 강도 값을 계산하기 위해 추가적인 최적화 과정을 필요로 한다. 예를 들면, RAR(Relative Attributes Rank)와 같은 방법이 사용되지만, 이러한 방법들은 audio 품질 저하를 가져올 수 있다.

    - RAR(Relative Attributes Rank): 감정의 상대적인 강도를 순위로 매기는 방식이다. 모델이 감정 강도를 계산하고 최적화 하는 별도 과정이 필요하다.

     

    * EmoDiff

    감정의 강도를 직접 제어할 수 있는 soft-labeled guidance 기법을 제안한다. 구체적으로 Unconditional Acoustic model을 학습시킨 후, Diffusion Trajectory(확산 궤적)을 기반으로 Emotion classifier를 학습한다. 추론 시에는 soft label을 가진 감정 분류기의 guidance를 통해 audio를 생성한다. 결과적으로 감정을 정밀하게 제어하면서 높은 생성 품질의 결과를 가져왔다.

     

Designed by Tistory.