티스토리 뷰
Paper/Vocoder
[Paper 리뷰] GLA-Grad: A Griffin-Lim Extended Waveform Generation Diffusion Model
feVeRin 2024. 5. 9. 11:05반응형
GLA-Grad: A Griffin-Lim Extended Waveform Generation Diffusion Model
- Diffusion model은 diffusion process로 인한 비효율성이 존재하고 unseen speaker에 대한 고품질 합성이 어려움
- GLA-Grad
- Conditioning error를 최소화하면서 diffusion process의 효율성을 향상하기 위해 diffusion process의 각 step에 Griffin-Lim algorithm을 도입
- 이를 통해 추가적인 training이나 fine-tuning 없이 already-trained waveform generation model에 직접 적용 가능
- 논문 (ICASSP 2024) : Paper Link
1. Introduction
- 고품질 음성 합성을 위한 vocoder로써 normalizing flow, generative adversarial network (GAN) 등의 다양한 방법들이 제시되고 있음
- Diffusion model은 differental equation을 solve 하기 위해 stochastic flow가 fixed noise schedule에 의해 관리되는 generative model임
- 대표적으로 WaveGrad, DiffWave, PriorGrad 등은 diffusion model을 음성 합성에 적용하여 우수한 성능을 달성 - BUT, diffusion model은 stability를 보장하기 위해 large dataset에서 상당한 iteration을 필요로 하므로 효율성이 떨어짐
- 이를 위해 FastDiff는 noise schedule을 dynamically predict하여 iteration 수를 줄이는 방법을 제시했음 - 이외에도 diffusion model은 speech signal의 다양성으로 인해 unseen scenario에서 generalization 성능이 떨어짐
- Diffusion model은 differental equation을 solve 하기 위해 stochastic flow가 fixed noise schedule에 의해 관리되는 generative model임
-> 그래서 diffusion model의 효율성을 향상하면서 unseen scenario에 대한 generalization을 보장할 수 있는 GLA-Grad를 제안
- GLA-Grad
- Reverse process iteration 중에 mel-spectrogram의 conditioning error를 rectify 하는 것을 목표로 WaveGrad를 확장
- Griffin-Lim Algorithm (GLA)를 활용하여 diffusion process에서 current sample의 STFT phase를 conditioning mel-spectrogram의 pseudo-inverse로 얻은 magnitude spectrogram과 partially reconcile 함
- 이를 통해 주어진 signal이 training dataset과 다른 경우에 대해서도 reverse process의 consistency를 보장
< Overall of GLA-Grad >
- Griffin-Lim Algorithm을 각 diffusion step에 적용하여 conditioning error를 최소화함
- 결과적으로 unseen scenario에 대한 우수한 generalization과 합리적인 추론 속도를 달성
2. Background
- DDPM
을 data sample이라고 하자y∼q(y0) - Denoising Diffusion Probabilistic Model (DDPM)은 forward process에서
에 noise를 점진적으로 추가한 다음, reverse process를 통해 이를 recover 하는 방법을 학습함y0 - Forward process에서 각 time step
의n∈[1,N] 은yn 을 통해 얻어짐q(yn|yn−1)=N(yn;√1−βnyn−1) - 여기서
: variance schedule,(βn)n : maximum time step 수라고 하면, 다음의 formulation을 얻을 수 있음:N
(Eq. 1)y0∼q(y0),q(y1:N|y0)≜∏Nn=1q(yn|yn−1) 라고 하면,αn≜1−βn,ˉαn≜∏ns=1αs,ϵ∼N(ϵ;0,I) 은 주어진 timeyn 에 대해 closed form으로 얻어짐:n
(Eq. 2)yn=√ˉαny0+√1−ˉαnϵ
- 여기서
- Reverse process에서는
를 reconstruct 하는 것을 목표로 함y0 - 여기서
은 intractable 하기 때문에 neural network는 true denoising distribution과 match 되도록 training 됨q(yn−1|yn) - 따라서 reverse process에 대한 equation은:
(Eq. 3)pθ(y0:N)≜p(yN)∏Nn=1pθ(yn−1|yn)
- 이 충분히 크다고 가정하면,N 은 neural network에 의해 결정된 평균과 분산을 가지는 Gaussian distribution으로 모델링 됨pθ(yn−1|yn)
- 이때 는 model parameter를 나타내고,θ p(yN)=N(yN;0,I)
- 여기서
- 실질적으로
으로 표현되는 neural network는 (Eq. 2)에서ϵθ(yn,n) 에 추가된 noise를 추정하기 위해 parameterize 되어 다음의 training objective를 최소화함:y0
(Eq. 4)En,ϵ[||ϵθ(√ˉαny0+√1−ˉαnϵ,n)−ϵ||22]
- 결과적으로 이는 denoising score-matching과 유사
- Denoising Diffusion Probabilistic Model (DDPM)은 forward process에서
- WaveGrad
- WaveGrad는 DDPM을 기반으로
가 mel-spectrogram인 conditional diffusion process˜X 를 사용하여 waveform을 합성pθ(y0:n|˜X) - 이때
를 conditioning factor로 고려하는 graident-based sampler를 사용한 iterative refinement process를 통해 Gaussian white noise signal를 점진적으로 개선함˜X - WaveGrad는 DDPM과 달리 discrete iteration index
대신 continuous noise leveln 를 condition으로 하여 model을 reparameterize 함ˉα - 결과적으로 WaveGrad의 loss function은:
(Eq. 5)Eˉα,ϵ[||ϵ(√ˉαy0+√1−ˉαϵ,˜X,√ˉα)−ϵ||1]
- 에서n>1 이고,z∼N(z,0,I) 일때n=1 z=0,σn=1−ˉαn−11−ˉαnβn - WaveGrad는
을 생성하기 위해 다음의 iterative procedure를 적용함:yn−1
(Eq. 6)yn−1=(yn−1−αn√1−ˉαnϵθ(yn,˜X,√ˉαn))√αn+σnz
- 이때
- SpecGrad
- SpecGrad는 WaveGrad를 기반으로 dynamic spectral characteristic을 conditioning mel-spectrogram과 align 하는 방식으로 diffusion noise를 adjust 함
- Time-varying filtering을 통해 SpecGrad의 adaptation은 high-frequency region에 대한 fidelity를 크게 개선함
- 여기서 SpecGrad는 time-frequency domain 내에서 time-varying filter를 적용함 - 먼저 time-domain에서 time-frequency domain의 flattened version인 STFT의 matrix representation을
, inverse STFT (iSTFT) matrix를T 라고 하자T† - 그러면 time-varying filter는:
(Eq. 7)L=T†DT
- : time-frequency domain에서 filter를 결정하는 diagonal matrix로 spectral envelope를 통해 얻어짐D - 이후
로부터 diffusion process에서 Gaussian noiseL 의 covariance matrixN(0,Σ) 를 얻을 수 있음Σ=LL⊤ - 결과적으로 loss function은:
(Eq. 8)Eˉα,ϵ[||L−1(ϵ(√ˉαy0+√1−ˉαϵ,˜X,√ˉα)−ϵ)||22]
- 그러면 time-varying filter는:
- Time-varying filtering을 통해 SpecGrad의 adaptation은 high-frequency region에 대한 fidelity를 크게 개선함
3. Griffin-Lim Diffusion Extension
- Griffin-Lim Algorithm
- Griffin-Lim Algorithm (GLA)는 해당하는 magnitude와 가장 일치하는 phase를 추정하여 주어진 magnitude mel-spectrogram
로부터 lengthˆS∈RT×F 의 time-domain signalL 을 iteratively reconstruct 하는 방법s∈RL - 먼저
를 각각 time-frequency (TF) representation의 time/frequency dimension으로, STFT/iSTFT operation을 각각T,F 라고 하자T,T† - 이때 GLA는 complex time-frequency domain
에서 2가지의 projection operation에 의존함CT×F - 첫 번째는 consistent spectrogram의 subset
에 대한 projection으로:C⊂CT×F
(Eq. 9)PC(C)=TT†C
- 의 element는CT×F 의 signal에 대한 STFT로 얻어짐RL - 두 번째는 magnitude가
과 같은 spectrogram의 subsetˆS 으로의 projection:{C∈CT×F||C|=ˆS}
(Eq. 10)P|⋅|=ˆS(C)=ˆS⊙C|C|
- : 각각 element-wise product, division⊙,⋅⋅
- 첫 번째는 consistent spectrogram의 subset
- 이때 GLA는
로 initialize 되고,C0=ˆS⊙eiΦ0 은 일반적으로 random임Φ0 - 그러면
-th iteration은:k
(Eq. 11)Ck=PC∘P|⋅|=ˆS(Ck−1)
- 실질적으로 논문에서는 optimization을 가속하고 diffusion model modification에 쉽게 적용할 수 있도록 GLA의 modified version인 Fast Griffin-Lim Algorithm (FGLA)를 사용
- 먼저
- GLA-Grad: Griffin-Lim Corrected Diffusion Model
- GLA-Grad는 WaveGrad를 기반으로 함
- 이때 (Eq. 6)과 같은 diffusion model의 iteration process는 training data distribution을 벗어나는 signal
로 이어질 수 있음yn−1
- 즉, 에 대한 conditioning 외에도 더 강한 constraint가 필요함˜X - 따라서 GLA-Grad는 아래 그림과 같이 GLA를 도입하여 생성된 signal과 예측된 signal 간의 bias를 correction 하는 것을 목표로 함
- 이를 위해 diffusion process의 각 step에 GLA를 도입하고, desired magnitude spectrogram의 추정치와 해당하는 magnitude
를 최소화함으로써 step|Tyn−1| 에서 signal estimationn−1 의 생성을 guide 함yn−1 - Desired magnitude은 직접적으로 access 할 수 없지만, desired mel-spectrogram
에서 얻은 magnitude spectrogram estimation˜X 에 pseudo-inverseˆS 를 적용하여M† 의 mel transform을 고려함ˆS=M†˜X - 그러면 diffusion time step
에서 magnitude spectrogramn−1 를 desired magnitude로 사용하여 GLA를 수행 가능ˆS
- 이를 위해 diffusion process의 각 step에 GLA를 도입하고, desired magnitude spectrogram의 추정치와 해당하는 magnitude
- 결과적으로 (Eq. 6)에 대해 WaveGrad를 통해 얻은 current diffusion estimate
에서 시작하여 다음의 new estimateyn−1 로 이어지는 Griffin-Lim correlction을 도입함:yGLAn−1
(Eq. 12)yGLAn−1=T†(PC∘P|⋅|=ˆS)K(Tyn−1)
- :(PC∘P|⋅|=ˆS)K 의 spectrogramyn−1 을 initial value로 하여Tyn−1 iteration GLA를 적용한 결과K - 실질적으로 GLA-Grad는 아래 그림과 같이 두 단계로 구성됨
- Initial phase에서는 diffusion process의 각 sampling step에서 GLA-corrected approach를 적용
- 즉, (Eq. 6)의 WaveGrad update를 사용하여 을 얻은 다음, (Eq. 12)의 GLA correction을 통해yn−1 를 얻는 과정yGLAn−1
- 이러한 GLA projection을 통해 diffusion process에서 signal consistency를 유지할 수 있음 - 이후 second phase에서는 기존의 diffusion process를 수행함
- Initial phase에서는 diffusion process의 각 sampling step에서 GLA-corrected approach를 적용
- 이때 (Eq. 6)과 같은 diffusion model의 iteration process는 training data distribution을 벗어나는 signal

4. Experiments
- Settings
- Results
- LJSpeech에서는 WaveGrad의 성능이 좀 더 높았지만, GLA-Grad는 PESQ 측면에서 낮은 표준편차를 보이므로 보다 안정적인 output quality를 가짐

- VCTK 측면에서는 GLA-Grad의 합성 품질이 가장 뛰어남

- 한편으로 LJSpeech에서 VCTK로의 generalization 측면에서는 GLA-Grad가 가장 우수한 성능을 보임

- Complexity 측면에서 GLA-Grad는 WaveGrad보다 빠른 속도를 보임

반응형