논문 링크: https://ieeexplore.ieee.org/document/8553236
ABSTRACT
- non-parallel voice-conversion (VC) 방법을 제안한다.
- 이 방법은 CycleGAN-VC라고 불리며, cycle-consistent adversarial network (CycleGAN)를 사용한다.
- 이 CycleGAN은 gated convolutional neural networks와 identity-mapping loss를 통합한다.
- CycleGAN은 adversarial loss와 cycle-consistency loss를 사용하여 forward와 inverse mappings을 동시에 학습한다.
- 이는 non-parallel data에서 최적의 pseudo pair를 찾는 것을 가능하게 한다.
- Adversarial loss는 명시적인 density estimation 없이도 변환된 음성을 target과 구별할 수 없게 만들어 준다.
- 이를 통해 많은 전통적인 통계 모델 기반 VC 방법에서 발생하는 over-smoothing을 피할 수 있다.
INTRODUCTION
- Parallel data를 사용한 학습은 쉽지 않다:
- 데이터 수집이 복잡하고, 수집된 데이터는 automatic time alignment 과정에서 음질 저하의 문제가 발생할 수 있으며, 이로 인해 추가적인 후처리가 필요하다.
- 반면, Non-parallel method는 아래의 장점을 가진다:
- 추가적인 데이터가 필요 없다:
- transcripts, reference speech, 그리고 ASR (automatic speech-recognition) 모듈과 같은 추가 모듈들이 필요 없다.
- Over-smoothing에 취약하지 않으며, alignment 절차 없이도 spectrotemporal structure를 정확히 포착할 수 있다.
- Cycle-consistent adversarial network와 gated CNNs를 사용하여 CycleGAN-VC를 구현하였고, 이는 DiscoGAN 및 DualGAN 기술과 유사하다.
- Identity-mapping loss와 adversarial loss를 사용하여, 변환된 음성이 target과 구별될 수 없게 만들며, 이는 통계적 평균화로 인한 over-smoothing을 방지한다.
- Gated CNNs를 이용해 훈련하고 identity-mapping loss를 적용하여, sequential과 hierarchical structures를 포착하면서 linguistic information을 보존한다.
- 실험은 VCC2016 데이터셋을 사용하여 수행되었다.
RELATED WORK
- Non-parallel voice conversion (VC)을 위해 여러 접근법이 제안되었다.
- 일부 접근법은 ASR 모듈을 사용해 연관된 프레임의 쌍을 찾는다.
- 이 방법은 ASR 훈련을 위해 대량의 transcripts가 필요하며, non-verbal 정보를 포착하기 어렵다.
- 다른 접근법으로는 adaptation technique 사용이나 pre-constructed speaker space를 통합하는 방법이 있는다.
- 이는 source와 target speaker 사이에는 parallel data를 요구하지 않지만, reference speakers 간에는 필요로 한다.
- 위와 같이 Parallel과 non-parallel VC 간의 품질 격차가 존재하며, 이 분야에서는 추가 연구가 필요했다.
NON-PARALLEL VC USING CYCLEGAN
CycleGAN
- CycleGAN을 사용하여 non-parallel VC를 수행한다.
- Adversarial loss는 변환된 데이터와 타겟 데이터를 얼마나 구별할 수 있는지 측정한다.
- Cycle-consistency loss는 inverse mapping을 위한 adversarial loss와 cycle-consistent loss를 포함한다.
- Full objective는 adversarial loss와 cycle-consistency loss를 합친 목표함수이다.
CycleGAN for Non-parallel VC: CycleGAN-VC
- Non-parallel VC를 위한 CycleGAN, 즉 CycleGAN-VC에서는 CycleGAN 구조에 두 가지 변경을 추가했다:
- gated CNN
- identity-mapping loss.
- Gated CNN은 voiced/unvoiced segments와 phonemes/morphemes 같은 음성의 sequential하고 hierarchical 구조를 처리하는데 적합하다.
- RNN을 사용하는 것이 효과적이지만, 병렬 구현이 어렵고 계산 비용이 많이 들기 때문에, gated CNN을 사용한다.
- 이는 sequential data에 대한 parallelization을 가능하게 하며,
- language modeling과 speech modeling에서 최고 성능을 낸다.
- 또한 GLU(gated linear units)를 activation function으로 사용한다.
-
- Identity-mapping loss는 cycle-consistency loss만으로는 linguistic information을 항상 보존하는 것을 보장하기 어렵기 때문에 도입되었다.
- 추가적인 module 없이도 linguistic information을 잘 보존하기 위해 identity-mapping loss를 사용한다.
- 이 loss는 generator가 input과 output 사이의 composition을 잘 보존하도록 돕는다.
- 이전의 CycleGAN 연구들에서 이 방법이 색상 보존에 효과적임을 보여주었다.
EXPERIMENTS
- CycleGAN-VC는 non-parallel and half the amount of data라는 불리한 조건 하에서 학습되었다.
- Implementation details:
- one-dimensional (1D) CNN을 사용하여 전체 특성 간의 관계를 포착하면서 시간적 구조를 보존한다.
- Downsampling, residual, upsampling layers 및 instance normalization을 포함한다.
- Pixel shuffler는 upsampling에 사용되며 high-resolution image 생성에 효과적이다.
- Discriminator는 2D spectral texture에 초점을 맞춘 2D CNN을 사용한다.
- Training details 훈련 세부사항:
- 사전 처리로 source와 target MCEPs를 차원별로 정규화한다.
- 훈련을 안정화하기 위해 least squares GAN을 사용한다.
- Identity loss는 처음 10,000번의 iterations에만 사용된다.
- 무작위성을 높이기 위해 고정된 길이의 segment (128 frames)를 사용하지 않는다.
- Adam optimizer를 batch size 1로 사용한다.
- Objective Evaluation 객관적 평가:
- GMM-based model과 비교한다.
- GLU 대신 ReLU를 사용한 CycleGAN-VC 버전과 비교한다.
- Mel-cepstral distortion (MCD) 대신 GV와 MS로 평가한다; MCD는 가우시안 분포를 내재적으로 가정하기 때문에 over-smoothing을 더 선호하는 경향이 있다.
- CycleGAN-VC w/ GLU가 가장 좋은 결과를 보인다.
- Adversarial loss가 over-smoothing을 피하는 데 기여한다.
- GLU가 ReLU나 leaky ReLU보다 sequential and hierarchical structures를 더 잘 표현한다.
-
- Subjective Evaluation 주관적 평가:
- CycleGAN-VC는 non-parallel and half the amount of data라는 불리한 조건에도 불구하고 좋은 결과를 보인다.
DISCUSSION AND CONCLUSIONS
- CycleGAN-VC
- gated CNNs와 identity-mapping loss와 함께 사용한 CycleGAN-VC 모델 제안
- 이 방법은 추가 데이터, 모듈, 시간 정렬 절차 없이 sequence-based mapping function을 학습할 수 있다.
- 다만 아직 음성 변환 결과와 타겟 원본의 차이가 꽤 남아있다.
- 이를 해결하기 위해 아래와 같은 노력을 할 예정이다.
- STFT spectrogram등과 같은 다른 feature 사용
- 다른 speech-synthesis frameworks 사용 (ex. vocoder-free VC)
- 이를 해결하기 위해 아래와 같은 노력을 할 예정이다.
- 본 연구는 general framework로서, 추후 다른 응용에 적용할 수 있을 것이다.