논문 링크: https://arxiv.org/abs/2010.02977v1
ABSTRACT
- VoiceGrad라는 non-parallel any-to-many voice conversion method를 제안
- WaveGrad에서 영감을 받아서, VoiceGrad는 score-matching과 Langevin dynamics의 개념에 기초한다.
- score approximator를 학습시키기 위해 weighted denoising score matching을 사용한다.
- log density of the speech feature sequences of multiple speakers의 기울기를 예측하기 위해 fully convolutionsal network with U-Net 구조
- 학습된 score approximator network에 기초한 target distribuion의 가까운 stationary point에 대한 input feature sequence를 반복적으로 업데이트하기 위해, annealed Langevin dynamics를 사용하여 VC를 진행한다.
- input speach의 speaker가 임의인 VC scenario인 any-to-many 그리고 non-parallel training을 하게했다.
INTRODUCTION
- VC의 응용은 speaker-identity modification to spaking assistance, speech enhancement, badwidth extension, and accent conversion 등이 있다.
- non-parallel 필요
- any-to-many 필요
- 임의의 화자의 목소리를 다수의 화자의 목소리로 변환하게 하는 것
- input speaker의 목소리를 재학습할 필요가 없다는 점에서 매력적
- non-parallel methods는 많다.
- VAEs
- GNAs
- flow-based models
- VAE는 인코더와 디코더로 구성된 autoencoder의 stochastic version이다.
- 인코더와 디코더는 가우시안과 같은 parametric distribution의 파라미터 집합을 만드는 다른 neural networks로 모델링된다.
- 인코더는 latent variable의 posterior distribution을 나타내고, 디코더는 latent variable를 conditioned하는 데이터의 집합의 conditional distribution을 나타낸다.
- VAE에서는 이 두 분포가 Bayesian sense에서 모순되지 않도록 인코더와 디코더가 학습된다.
- 의도적으로 encoder에 source sepeaker code를 conditioning하지 않으면 encoder는 speaker-independent manner로 학습된다 ⇒ 이 방법으로 VAE는 any-to-many 가능
- GANs
- generator distribution의 명시적 정의 없이 generator network를 학습한다
- generator의 목표는 discriminator를 속이는 것
- 학습 과정은 adversarial loss를 사용해 minimax game의 식으로한다.
- CycleGAN등을 이용해 non-parallel VC 했었음
- adversarial loss는 대응되는 target distribution을 따르기 위해 사용
- cycle-consistency loss는 input의 linguistic content를 유지하기 위해 사용
- cycle consistency loss는 VAE에서도 잘 사용된다.
- cycle consistency loss방법이 잘되지만, 이는 one-to-one이라는 한계가 있음
- 이를 극복하기위해 StarGAN을 사용한 방법을 제안했었음
- VAE-based 방법들처럼 이 방법은 single network를 사용해 다수의 speaker에게 mapping을 동시에 학습하고, 따라서 다양한 화자로부터 수집된 데이터를 학습으로 사용할 수 있었다.
- 추가로 이것은 source speaker 정보 없이 작동하므로 any-to-many conversion을 할 수 있었다.
- Flow-based model
- flow라고 불리는 다수의 inverible nonlinear layer들로 구성된 생성 모델
- flow는 변수의 변화의 연속으로 볼 수 있다
- 점진적으로 진짜 데이터 sample를 random noise로 변환하는 과정
- basic idea는 Jacobian과 역함수들이 쉽게 계산되는 flow로 구서ㅇ된 특별한 네트워크를 사용하므로써, log-likelihood 함수의 direct evaluaion과 optimization이다
- flow based model을 base로 한 VC모델은 개념적으로는 VAE의 것과 비슷하다
- Seuquence-to-sequence
- 이걸로도 non-parallel 그게 제안됨
- 그러나 그것이 phoneme transcriptions를 auxiliary information으로 가져야한다는 점에서 완전한 non-parallel은 아니다
- 위의 non-parallel methods는 any-to-many conversion을 할 수 있다
- 다만, 모든 방법드릉ㄴ 공통적으로 feature mapping이나 인코더-디코더 스타일의 함수를 묘사하는 neural networks를 사용하기 때문에, 그들은 unexpected out-of-distribution inputs에 대해 약하다
- 따라서 다양한 souce speaker를 학습에 활용하여 새로운 화자에도 잘 일반화할 수 있도록 해야한다.
- 이 논문에서는 새로운 타입의 non-parallel any-to-many VC모델을 제안한다
- Langevin dynamics와 score matching에 기반한
- 이 모델은 input의 distribution에 덜 의존한다
- 따라서 특히 low-resource 조건에서의 any-to-one or any-to-many VC에서 장점이 있을 것이다.
SCORE MATCHING AND LENGEVIN DYNAMICS
- score function
-
- score function을 받으면 Langevin dynamics 사용 가능
- x_0부터 시작해 log-density log p(x)를 증가시키기 위해 반복적으로 noisy gradient ascent를 한다.
- alpha는 step size
- T는 전체 반복 횟수
- z^(t)는 zero-mean Gaussian white noise with variance 1
- 몇 regularity 조건 아래에서 alpha가 작고 T가 크다면 x^(T)는 정확히 p(x)의 sample이 될 것이다.
- p(x)는 추정하기 힘들지만 score fucntion은 비교적 쉽다.
- 따라서 학습 데이터의 score function을 어떻게 estimate하는지가 관건이다.
- Score matching은 score approximator s_theta(x)를 최적화하면서, 실제 분포의 score function을 추정하는 것이다.
- s_theta(x)와 실제 score function의 expected squared error를 사용
- score function이 직접적으로 접근가능하지 않아도, 정확한 p(x)없이 이 문제를 해결하는몇 방법이 있다.
- 그중 하나가 implicit score mathcing
- 식2를 아래와 같이 만든다.
- score function을 x로 미분한 저거는 score fucntion의 Jacobian이다.
- tr은 trace of matrix이다
- 그러나 tr(어쩌고) 이 식은 계산하기 너무 expensive하다
- 따라서 denoising socre matching (DSM) 방법을 도입했다.
- noise distribution을 가우시안으로 가정하면 아래와 같이 식을 변경할 수 있다.
- noise variance sigma^2가 충분히 작다면 q_sigma(x)는 p(x)와 유사하다.
- 직관적으로 보면 x^~의 log ensity의 미분은 clean sample x를 향해야 한다.
- 이미지 생성에서도 DSM이 많이 사용되는데, low dimensional manifold embedded in high-dimensional space라는 경향이 있는게 문제였다.
- DSM은 오직 data space가 whole space여야 valid했기 때문
- 이를 극복하기 위해 weighted DSM 개념 도입
- 학습과 테스트 sampling에서 모두 multiple noise levels를 사용하는 것
- test sampling에서는 noise level이 점차 감소한다. q_sigam_l(x)가 처음에 전체 공간에서 잘 기을 찾을 수 있도록
- l은 어느정도의 noise가 input으로 들어갔는지
- l = 1 to L은 noise schedule
- t = 1 to T는 gradient ascent step
RELATED WORK
- VoiceGrad는 dpm의 개념을 사용한 WaveGrad에서 영감을 얻음
- idea는 Markov chain을 사용해서, mel-spectrogram과 같은 acoustic feature sequence의 conditioning과 관련된 speech waveform에 가우시안 white noise로 변환하는 denoising process를 표현하는 것이다.
- 몇 parameterization 이후 이 denoising process는 Langevin dynamics와 비슷한 과정으로 표현 가능하고, training objective는 DSM을 재조합한 것과 비슷하다
- 학습 이후 (WaveNet과 다르게 non-autogressive manner로) 랜덤한 로이즈 신호에서 시작해 denoising process를 거쳐 acoustic feature sequence를 생성할 수 있다.
- source speech를 conditioning input으로 사용하고 target speech의 acousitc feature sequence를 생성하도록 VC에서 응용 가능
- 위 idea는 speaker pair의 time-aigned parallel utterances가 있어야 작동한다
VOICEGRAD
Key Idea
- non-parallel any-to-many VC를 성취하기위해 DSM과 Langevin dynamics를 개념을 어떻게 사용했는지 설명할 것
- key idea는 VC 문제를 source sequence에서 가장 가까운 target speech featrue sequences의 log density의 stationary point를 찾는 것으로 생각하는 것이다.
- source speech feature sequence를 초기 포인트로 사용
- target speech feature sequence의 log density의 기울기 방향을 따라 이동하여 VC를 수행하기 위해 Langevein dynamics 사용
- 이 프로세스가 소스 음성에서 언어적 내용을 반드시 보존하는 것은 아니지만 나중에 자세히 설명한 대로 몇 가지 설정에서 작동하는 것으로 실험적으로 밝혀졌다
- single score approximator가 가 훈련 세트에 포함된 모든 K 대상 스피커의 특징 시퀀스의 로그 밀도를 예측할 수 있도록, target speaker index k ∈ {1,..., K}에서 noise conditional network를 추가로 조건화합니다.
- 즉, VoiceGrad는 noise-speaker conditional network s_θ(x, l, k)를 사용하여 score approximator를 구성
- 위와 같은 idea를 사용함면서, VoiceGrad는 parallel uttereances를 필요로 하지 않으며 test시 input speech를 임의의 화자로 할 수 있다.
- 그리고 single trained network를 사용하여 input speech를 multiple known speakers로 변환할 수 있다.
Training and Conversion Processes
- training obdective for VoiceGrad는 위 식을 theta에 대해 minimize하는 것이다.
- score approximator s_θ(x, l, k)가 학습된다면, x^(0)을 input feature sequence로 정하고, Algorithm 1을 사용하여 input feature sequence를 speaker k의 음성으로 변환할 수 있다.
Acustic Feature
- WORLD를 이용한 mel-cepstral coefficients(MCC)를 사용해서 acoustic featrue이 변환되도록 했다.
- train 때, 아래와 같이 nomalize 했다
- d는 MCC seqeunce의 차원 index를 나타낸다
- m은 frame index를 나타낸다psi와 저건 각각 동일한 화자의 훈련 샘플의 모든 음성 세그먼트 내에서 d번째 MCC sequence의 평균과 표준편차를 의미한다.
- test 때는 input speech의 MCC sequence를 nomalize하고, Algorithm 1에 넣는다.
Waveform Generation
- Algorighm 1로 x^(T)를 얻은 후 생성된 generated feature sequence의 평균과 분산이 사전 학습된 target speaker의 feature vector의 평균과 분산과 match하기 위해 조정된다.
- fundamental frequency (F0) contour conversion를 위해서는 logarithm Gaussian normalized transformation가 사용됨
- aperiodicities (APs)가 그대로 사용되었다
- acoustic waveform은 WORLD vocoder나 또다른 vocoder를 사용해 얻을 수 있다.
Network Architecture
- U-Net-like Structure
- U-Net과 유사한 fully convolutional structure이 사용됨
- acoustic feature sequence를 input으로 받고 같은 size의 배열을 output으로 보낸다
- Conditional Batch Normalization
- noise-dependent 그리고 speaker-dependent bases에서 레이어 input distribution을 정규화하기 위해 conditional batch normalization 사용
- Noise-level and Speaker Conditioning
- noise level(l)과 speaker indices(k)는 one-hot vector로 표현했고, 각 층의 input에 channel방향으로 붙였다
- Gated Linear Unit
- non-linear activation functino으로 GLU를 사용
- GLU는 깊은 신경망에서 발생할 수 있는 기울기 소실 문제를 해결하면서도 복잡한 데이터 패턴을 학습할 수 있게 해주는 도구
EXPERIMENTS
Dataset
- CMU ARCTIC database 사용
- closed-set scenario에 대한 훈련 세트와 테스트 세트는 두 명의 여성 화자 'clb'와 'slt'의 발화와 두 명의 남성 화자 'bdl'과 'rms'의 발화를 사용했습니다. 따라서 K = 4.
- 또한 남성 화자인 'ksp'와 여성 화자인 'lnh'의 발화를 open-set scenario의 테스트 세트로 사용
- 다른 화자가 같은 sentence를 말하는걸 막기위해 4그룹으로 나눴음
Baseline Methods
- VAE-VC
- StarGAN-VC
- StarGAN-VC(C) ⇒ cross-entorpy loass 버전
- StarGAN-VC(W) ⇒ WGAN 버전
Model Setup
- Adam
- random initialization
- learning rate = 0.001
- mini-batch size of 16
- …
Objective Evaluations
- average of the mel-cepstral distortion (MCDs)
- 표 1,2는 MCD를 95% 신뢰구간으로 나타낸다.
- VoiceGrad는 close-set scenario에서는 StarGAN-VC(W)보다 약했다.
- open-set scenario에서는 모든 baseline들보다 뛰어났다
- 모든 baseline 방법은 open의 성능이 낮다
- 현재 훈련 세트에는 4개의 스피커만 포함되어 있기 때문에 이러한 방법에서 특징 매핑을 담당하는 신경망은 알려지지 않은 스피커에 대해 충분히 일반화할 수 없었을 수 있다
- VoiceGrad에서는 다른 baseline들보다 open-set과 closed-set의 결과 차이가 적었다
- 이것은 VoiceGrad가 다른 방법들보다 입력 특징 시퀀스들의 분포에 덜 의존하는 방식으로 신경망을 사용하기 때문
Subjective Listening Tests
- mean opinion score(MOS)
- speach quality, speaker similarity
- 오직 open-set만 사용
- 24 listener 참가
CONCLUSION
- VoiceGrad: non-paralle any-to-many VC method based upon the concepts of score matching and Langevin dynamics
- weighted denoising score matching을 사용하여, 여러 화자의 speech feature sequences의 log density의 기울기를 예측하는 fully convolutional network인 score approximator를 훈련
- 훈련된 score approximator network를 기반으로, annealed Langevin dynamics을 사용하여 target distribution의 가장 nearest stationary point을 향해 input feature sequence를 반복적으로 업데이트하며 VC 작동
- 객관적 주관적 실험으로 VoiceGrad가 기존의 non-parallel VC methods들보다 any-to-many VC task에서 뛰어남을 볼 수 있다.