논문 링크: https://arxiv.org/abs/1904.04631
ABSTRACT
- CycleGAN-VC가 잘했지만, real target과 converted speech에는 아직 gap이 있었다.
- 따라서 CycleGAN-VC에 새로운 3개의 technique을 추가한 CycleGAN-VC2를 제안한다.
- improved objective(two-step adversarial losses)
- imporved generator(2-1-2D CNN)
- improved discriminator(PatchGAN)
INTRODUCTION
- 기존에는 parallel VC가 많았지만 실용적이지 않았다.
- 이를 해결하기 위해 non-parallel VC 접근 등장
- non-parallel의 한 단점으로 데이터 분포를 정확히 근사하는 것이 어려운 점이 있었다.
- over-smoothing 문제
- 이를 해결하기 위해 GAN 사용
- CycleGAN-VC가 sequence-based mapping function을 학습시킬 수 있었다.
- 이는 linguistic information을 유지한 채, sequential and hierarchical 구조가 인식될 수 있도록 했다.
- 하지만 CycleGAN-VC는 아직 실제 데이터와 간극이 있었다.
- 이를 줄이기 위해 크게 3가지 향상점을 보인 CycleGAN-VC2를 제안
- improved objective (two-step adversarial losses)
- improved generator (2-1-2D CNN)
- improved discriminator (PatchGAN)
CONVENTIONAL CYCLEGAN-VC
Objective: One-Step Adversarial Loss
Adversarial loss
- G_X→Y(x)와 target y를 구별하지 못하게 하기위해 사용
- D_Y는 식을 maximize함으로써 실제 데이터와 만들어진 데이터의 decision boundary를 찾는다.
- G_X→Y는 식을 minimize함으로써 D_Y를 속이는 데이터를 생성한다.
Cycle-consistency loss
- adversarial loss는 G_X→Y가 target distribution을 따르도록만 제한하지, input과 output feature 사이의 linguistic consistency를 보장하지는 않는다.
- 이러한 mapping을 더 정규화하기 위해 cycle-consistency loss가 사용된다.
- 학습을 안정화하기 위해 forward-inverse와 inverse-forward는 동시에 학습된다.
Identity-mapping loss
- input의 정보를 더 잘 보존하기 위해 identity-mapping loss가 사용된다.
Full objective
- lambda_cyc와 lambda_id는 trade-off 파라미터이다.
- 이 식에서, adversarial loss는 각 cycle에 한번만 사용되었기에 이를 one-step adversarial loss라고 부른다.
Generator: 1D CNN
- 필터가 움직이는 방향이 한방향이면 1D-CNN이고, 두 방향이면 2D-CNN이다.
- temporal structure은 유지하면서, feature direction과 함께 전체적인 관계를 파악하기 위해 generator에 1D CNN을 사용하였다.
- feature들의 관계를 오직 프레임별로 파악하는 frame-by-frame 모델의 시간저긴 확장이라고 볼 수 있다.
- 더 넓은 범위의 시간적 구조를 효율적으로 파악하기 위해, generator는 downsampling, residual, 그리고 upsampling 층으로 구성되어 있다.
- 또한, CycleGAN-VC는 acoustic features의 sequential and hierarchichal 구조를 파악하기 위해 gated CNN을 사용한다.
Discriminator: FullGAN
- Discriminator는 2D 구조에 집중하기 위해 2D CNN을 사용한다.
- FullGAN
- fully connected layer가 마지막 레이어에 사용된다.
- input의 대체적인 구조가 진짜가 맞는지 판단하는 용도
CYCLEGAN-VC2
Improved Objective: Two-Step Adversarial Losses
- 확률 모델의 단점은 statiscal averaging으로 인한 over smoothing이다
- 이전 버전의 adversarial loss가 이를 완화하지만, L1으로 구성된 cycle-consistency loss가 여전히 over smoothing을 야기한다.
- 이를 완화하기 위해, 새롭게 추가적인 Discriminator를 만들고, 이것이 circularly converted feature에도 adversarial loss를 확인하도록 한다.
- 각 cycle마다 adversarial loss를 2번 사용하므로 two-step adversarial loss라고 한다.
Improved Generator: 2-1-2D CNN
- postfilter로는 2D CNN이 주로 선된 반면에,
- VC framework에서는 generator로 1D CNN이 흔히 사용되었다.
- 1D CNN은 feature dimension과 함께 전체적인 관계를 파악할 수 있으므로, dynamical change를 파악을 더 잘한다.
- 2D CNN은 converted region을 local로 제한하기 때문데, 기존 구조를 유지하면서 converting feature를 적용하는데 적합하다.
- 1D-CNN을 사용하더라도, residual blocks이 원래 구조를 잘 유지하지만, downsampling과 upsampling이 성능 저하의 이유임을 찾았다.
- 이를 완화하기 위해 2-1-2D CNN 구조를 만들었다.
- 2D convolution이 downsampling과 upsampling을 위해 사용되고, 1D convolution이 main conversion process(i.e. residual blocks)로 사용된다.
- channel dimension을 맞추기 위해, feature map을 reshaping하기 전후에 1x1 convolution을 사용하였다.
Improved Discriminator: PatchGAN
- 이전의 GAN-based speech processing 모델들은 FullGAN을 범용적으로 사용했다.
- 하지만, 최근의 CV 연구들은 discriminaotr의 넓은 receptive fields가 많은 파라미터를 필요로 하고 학습에 어려움을 야기한다고 말한다.
- 이에 영감을 얻어, FullGAN을 PatchGAN으로 변경하였다.
- PatchGAN
- 마지막 layer이 convolution
- patch에 기반하여 realness를 판단
- 실험적으로 이의 효과를 검증함
EXPERIMENTS
Experimental Conditions
- implement는 CycleGAN-VC와 거의 동일
Objetive Evaluation
- local과 global 두 측면에서 평가하기 위해 2가지 metric 사용
- Mel-cepstal distortion(MCD)
- measure global structural differences
- Modulation spectra distance(MSD)
- measure local structural difference
Subjective Evaluation
- CycleGAN-VC를 baseline으로 사용
CONCLUSION
- CycleGAN-VC를 발전시킨 CycleGAN-VC2를 제안
- 제안된 방법들은 ono-to-one 뿐만 아니라, many-to-many에도 잘 적용될 수 있을 것이다.