티스토리 뷰
Paper/Conversion
[Paper 리뷰] FragmentVC: Any-to-Any Voice Conversion by End-to-End Extracting and Fusing Fine-Grained Voice Fragments with Attention
feVeRin 2024. 8. 16. 09:07반응형
FragmentVC: Any-to-Any Voice Conversion by End-to-End Extracting and Fusing Fine-Grained Voice Fragments with Attention
- Any-to-Any voice conversion은 unseen any speaker에 대해 voice conversion을 수행하는 것을 목표로 함
- FragmentVC
- Wav2Vec 2.0을 통해 source speaker의 latent phonetic structure를 얻고 target speaker의 spectral feature를 log mel-spectrogram을 통해 얻음
- 두 가지의 서로 다른 feature space를 two-stage training process를 통해 align 한 다음, target utterance에서 fine-grained voice fragment를 추출하여 desired utterance로 fuse 함
- Content/speaker에 대한 disentanglement 없이 reconstruction loss만 training 됨
- 논문 (ICASSP 2021) : Paper Link
1. Introduction
- Voice Conversion (VC)는 source speaker의 voice를 target speaker의 voice로 변환하는 것을 목표로 함
- 기존에는 Gaussian Mixture Model을 활용했지만, CycleGAN-VC, StarGAN-VC와 같은 neural network 기반의 VC model이 좋은 성능을 보이고 있음
- BUT, pre-defined speaker set에 의존적이라는 한계가 존재 - 따라서 any-to-any VC는 real world와 같이 unseen speaker에 대한 voice conversion을 수행하는 것을 목표로 함
- 기존에는 Gaussian Mixture Model을 활용했지만, CycleGAN-VC, StarGAN-VC와 같은 neural network 기반의 VC model이 좋은 성능을 보이고 있음
-> 그래서 any-to-any VC를 위한 encoder-decoder architecture 기반의 FragmentVC를 제안
- FragmentVC
- Transformer의 attention mechanism을 활용하여 end-to-end 방식으로 동작
- 이때 Wav2Vec 2.0으로 얻어진 source speaker utterance의 latent phonetic structure를 query로 사용하고, target speaker의 fine-grained voice fragment를 추출해 desired utterance로 fuse함
- Two-stage training process를 통해 speaker/content disentanglement를 고려하지 않고도 unseen speaker에 대한 generalization이 가능
< Overall of FragmentVC >
- Source encoder, target encoder를 통해 각각의 voice fragment를 추출하고, attention을 통해 fuse 하는 방식
- 결과적으로 기존보다 뛰어난 conversion 성능을 달성
2. Method
- FragmentVC는 source encoder, target encoder, decoder로 구성됨
- Source encoder는 Wav2Vec 2.0에 의존하여 source speaker의 latent phonetic structure를 얻음
- Target encoder는 log mel-spectrogram을 통해 target speaker의 spectral feature를 추출
- Decoder는 latent phonetic structure를 query로 사용하여 Transformer cross-attention을 통해 target speaker에서 voice fragment를 추출한 다음, converted utterance에 fuse 함
- Source Encoder
- Wav2Vec 2.0은 pre-trained feature extractor로써, source utterance의 768-dimensional speech representation을 추출함
- 이때 Wav2Vec 2.0의 model weight는 training 중에 fix 됨
- 768-dimensional feature는 ReLU activation을 가지는 2개의 linear layer를 통해 512-dimension으로 변환된 다음, decoder input으로 전달됨
- Target Encoder
- Target encoder는 decoder에서 사용할 voice fragment를 추출하는 역할
- 이때 target speaker utterance에 대한 log mel-spectrogram은 concatenate 되어 input 됨
- 구조적으로는 ReLU activation과 3개의 1D convolution layer로 구성
- Decoder
- Decoder는 extractor와 smoother의 stack으로 구성되고, 이후에 linear projection과 Tacotron2-styled PostNet을 통해 non-autoregressive 하게 desired output voice에 대한 log mel-spectrogram을 예측함
- Extractor, smoother는 2개의 attention head와 512 hidden size를 가지는 Transformer layer를 활용함
- Extractor에서는 target encoder output에 attend 하기 위해 self-attention, cross-attention을 모두 사용하지만, Smoother에서는 self-attention만 사용
- 추가적으로 speech의 adjacent feature correlation을 고려하기 위해 feed-forward layer는 FastSpeech2와 같은 convolutional network로 대체됨
- 여기서 extractor는 U-Net-like architecture를 따라 cross-attention을 통해 source speaker의 latent phonetic structure를 기반으로 target speaker의 fine-grained voice fragment를 추출하고 fuse 함
- 위 그림에서 $\text{Extractor 1}$은 source representation을 기반으로 highest-level phonetic structure를 구성하는 반면, target encoder의 $\text{Conv1D 3}$는 abstractive spectral information을 생성함
- 따라서, $\text{Extractor 1}$은 $\text{Conv1D 3}$의 output에 attend 해야 함 - $\text{Extractor 3}$은 spectrogram에 대한 slight modification이나 minor adjustment를 제공하므로 target encoder의 $\text{Conv1D 1}$에서 얻어지는 feature에 attend 해야 함
- 이후 smoother를 통해 해당 extractor stack output을 further smooth 하여 output utterance를 얻음
- 위 그림에서 $\text{Extractor 1}$은 source representation을 기반으로 highest-level phonetic structure를 구성하는 반면, target encoder의 $\text{Conv1D 3}$는 abstractive spectral information을 생성함
- 한편으로 residual speaker information은 Wav2Vec feature를 통해 inevitably carry 될 수 있음
- 따라서 논문에서는 아래 그림과 같이 $\text{Extractor 1}$의 cross-attention module에 대한 residual connection을 제거하여 source encoder에서 decoder로의 information flow를 restrict 함
- Extractor, smoother는 2개의 attention head와 512 hidden size를 가지는 Transformer layer를 활용함
- Loss Function
- FragmentVC는 예측된 log mel-spectrogram과 ground-truth 간의 $L1$ loss 만을 사용하여 end-to-end 방식으로 training 됨
- 여기서 pre-trained Wav2Vec model은 fix 되므로 training에서 제외함됨
- 이를 통해 FragmentVC는 target encoder에서 target speaker characteristic을 추출하는 방법을 학습할 수 있음
- Two-Stage Training
- 논문은 two-stage training scheme을 채택함
- First stage에서는 utterance의 log mel-spectrogram을 reconstruct 하기 위해 training speaker와 동일한 single utterance를 source/target encoder의 input으로 사용함
- 이때 target encoder의 spectrogram input이 reconstruction target과 동일하더라도 attention mechanism은 다양한 acoustic event를 나타내는 absolute position information을 얻을 수 없음
- 따라서 voice fragment를 추출하고 fusing 하여 source encoder의 Wav2Vec feature space와 target encoder의 spectral feature space 간의 hidden structure를 align 하도록 학습됨
- BUT, 해당 과정만 적용하면 source utterance와 다른 target utterance가 주어졌을 때, converted result가 discontinuous 할 수 있음
- 이때 target encoder의 spectrogram input이 reconstruction target과 동일하더라도 attention mechanism은 다양한 acoustic event를 나타내는 absolute position information을 얻을 수 없음
- 따라서 second stage에서는 10개의 utterance의 spectrogram을 concatenate 하여 target encoder에 전달하고, 동일한 speaker가 생성한 single utterance를 source encoder에 전달함
- 결과적으로 초기에는 source utterance가 10개의 target utterance에 포함되지만, training이 진행됨에 따라 traget에 포함될 probability가 0으로 linearly decay 하여 source/target이 달라지는 scenario를 학습하게 됨
- 이때 well-trained attention module을 preserve 하기 위해 source encoder, target encoder, extractor의 learning rate는 $100\times$ reduce 됨
- First stage에서는 utterance의 log mel-spectrogram을 reconstruct 하기 위해 training speaker와 동일한 single utterance를 source/target encoder의 input으로 사용함
3. Experiments
- Settings
- Results
- FragmentVC는 unseen-to-unseen (u2u) scenario에서 기존보다 우수한 speaker verification 성능을 달성함
- 특히 utterance가 많을수록 더 나은 voice fragment를 추출할 수 있으므로 성능이 크게 향상됨
- MOS 측면에서도 FragmentVC는 높은 similarity와 naturalness를 달성함
- 추가적으로 attention map을 비교해 보면
- 아래 그림의 (a)와 같이 동일한 content/다른 speaker의 경우, diagonal pattern으로써 두 utterance 간의 alignment가 적절하게 나타나는 것을 확인할 수 있음
- (b)와 같이 동일한 source speaker/다른 content의 경우, extractor는 acoustically similar voice fragment를 attend 할 수 있음
반응형
'Paper > Conversion' 카테고리의 다른 글
댓글