티스토리 뷰

반응형

CycleGAN-VC3: Examining and Improving CycleGAN-VCs for Mel-Spectrogram Conversion


  • Non-parallel voice conversion에서 CycleGAN-VC가 우수한 성능을 보임
    - BUT, mel-spectrogram conversion에 대한 ambiguity로 인해 time-frequency structure가 손상됨
  • CycleGAN-VC3
    • Time-Frequency Adaptive Normalization을 도입하여 time-frequency structure를 반영
    • 기존 CycleGAN의 mel-spectrogram conversion 성능을 향상
  • 논문 (INTERSPEECH 2020) : Paper Link

1. Introduction

  • Voice Conversion (VC)은 linguistic information을 retaining 하면서 non/para-linguistic information을 변환함
    • 대부분의 VC method는 parallel corpus를 사용하여 source에서 target speech로의 mapping을 학습함
      - BUT, parallel data는 수집하기 어렵다는 한계가 있음
    • 한편으로 non-parallel VC는 data 수집 측면에서는 유용하지만, explicit supervision이 존재하지 않으므로 학습이 어렵다는 문제가 있음
      1. 이를 위해 CycleGAN-VC, StarGAN-VC와 같은 Generative Adversarial Network (GAN)-based 방식을 고려 가능
      2. BUT, mel-spectrogram conversion 과정에서 ambiguity로 인한 성능의 한계가 존재 

-> 그래서 기존 CycleGAN-VC/VC2의 한계를 개선한 CycleGAN-VC3를 제안

 

  • CycleGAN-VC3
    • Mel-spectrogram의 time-frequency structure를 preserve 하기 위해 Time-Frequency Adaptive Normalization (TFAN)을 도입
    • TFAN을 통해 source mel-spectrogram의 time-frequency structure를 반영하면서 converted feature의 scale/bias를 adjust

< Overall of CycleGAN-VC3 >

  • CycleGAN-VC2를 기반으로 TFAN을 도입
  • 결과적으로 기존 보다 뛰어난 conversion 성능을 달성

2. Conventional CycleGAN-VC/VC2

- Training Objectives

  • CycleGAN-VC/VC2는 parallel corpus를 사용하지 않고, source acoustic feature xX를 target acoustic feature yY로 변환하는 mapping GXY를 학습하는 것을 목표로 함 
    • CycleGAN-VC는 adversarial loss, cycle-consistency loss, identity-mapping loss를 사용하여 해당 mapping을 학습하고, CycleGAN-VC2에서는 second adversarial loss를 통해 reconstructed feature의 detail을 개선함
    • Adversarial Loss
      1. Adversarial loss LXYadv는 converted feature GXY(x)가 target Y에 속하도록 함:
        (Eq. 1) LXYadv=EyPY[logDY(y)]+ExPX[log(1DY(GXY(x)))]
      2. Discriminator DY는 loss를 최대화하여 합성된 GXY(x)와 real y를 distinguish 하고, GXY는 loss를 최소화하여 DY를 deceive 하는 GXY(x)를 합성함
        - 마찬가지로 inverse mapping GYX와 discriminator DXLYXadv를 통해 adversarially training 됨
    • Cycle-Consistency Loss
      1. Conversion 과정에서 composition을 preserve 하기 위해 cycle-consistency loss Lcyc가 사용됨:
        (Eq. 2) Lcyc=ExPX[||GYX(GXY(x))x||1]+EyPY[||GXY(GYX(y))y||1]

        - 해당 loss의 relative importance를 control 하기 위해 hyperparameter λcyc가 추가됨
      2. 해당 loss는 GXY,GYX가 cycle-consistency constraint 하에서 pseudo pair를 identify 하도록 함 
    • Identity-Mapping Loss
      1. Input preservation을 위해, identity-mapping loss $\mathcal{L}_{id}가 사용됨:
        (Eq. 3) Lid=EyPY[||GXY(y)y||1]+ExPX[||GYX(x)x||1]
        - 여기서 importance를 control 하기 위해 hyperparameter λid를 사용
    • Second Adversarial Loss
      1. CycleGAN-VC2에서는 (Eq. 2)L1 loss로 발생하는 statistical averaging을 완화하기 위해 additional discriminator DX를 도입함
      2. 이때 second adversarial loss LXYXadv2는 circularly converted feature에 impose 됨:
        (Eq. 4) LXYXadv2=ExPX[logDX(x)]+ExPX[log(1DX(GYX(GXY(x))))]
        - 마찬가지로 discriminator DY를 도입하여 inverse-forwrd mapping을 위한 LYXYadv2를 적용할 수 있음

- Generator Architectures

  • CycleGAN-VC는 1D CNN generator를 사용하여 temporal structure를 preserve 하면서 feature direction에 대한 relationship을 capture 함
    • 구조적으로는 downsampling, residual, upsampling block으로 구성되어 wide-range temporal relationship을 반영
      - Activation으로는 Gated Linear Unit (GLU)를 사용해 sequential, hierarchical structure를 학습
    • 한편으로 CycleGAN-VC2에서는 down/upsampling block에서 2D CNN을 사용하고 residual block에서 1D CNN을 사용하는 2-1-2D CNN을 도입
      - 여기서 2D CNN은 original structure를 preserve 하면서 time-frequency structure를 추출하고 1D CNN은 dynamic change를 수행

- Discriminator Architectures

  • CycleGAN-VC는 2D CNN disciminator를 사용하여 2D spectral texture를 discriminate 함 
    • 이때 last layer에 fully-connected layer를 적용한 FullGAN을 활용 
      - BUT, FullGAN은 많은 parameter가 필요하므로 training이 학습에 어려움이 있음
    • 한편으로 CycleGAN-VC2는 last layer에 convolution을 적용한 PatchGAN을 사용해 parameter 수를 줄이고 GAN training을 stabilize 함 

3. CycleGAN-VC3

- TFAN: Time-Frequency Adaptive Normalization

  • CycleGAN-VC/VC2는 conversion 과정에서 preserve 되어야 하는 time-frequency structure를 손상시킬 수 있음
    • 따라서 CycleGAN-VC3에서는 time-frequency-wise로 source information x를 반영하면서 converted feature의 scale/bias를 adjust 하기 위해, Instance Normalization (IN)을 확장한 TFAN을 도입
      - 특히 2-1-2D CNN의 1D/2D time-frequency feature에 대한 TFAN을 설계함
    • 먼저 feature f가 주어지면 TFAN은 IN과 같이 channel-wise normalization을 수행하고, CNN을 통해 x에서 계산된 scale γ(x)와 bias β(x)를 사용하여 normalized feature를 element-wise로 modulate 함:
      (Eq. 5) f=γ(x)fμ(f)σ(f)+β(x)
      - f : output feature, μ(f),σ(f) : 각각 f의 channel-wise 평균/표준편차
    • IN에서 x-independent scale β와 bias γ는 channel-wise로 적용되지만, TFAN에서 계산된 β(x),γ(x)는 element-wise로 적용됨
      - 이를 통해 TFAN은 time-/frequency-wise로 x를 반영할 수 있고, f의 scale/bias를 adjust 할 수 있음
    • 구조적으로 TFAN은 image synthesis에서 활용되는 SPADE와 유사하지만 다음의 차이점을 가짐:
      1. 이때 SPADE는 2D image feature에 특화되어 있지만 TFAN은 1D, 2D time-frequency feature를 대상으로 함
      2. SPADE는 one-layer CNN을 사용하지만 TFAN은 dynamic change를 보장하기 위해 multi-layer CNN을 사용
      3. SPADE는 batch normalization을 사용하지만, TFAN은 IN을 기반으로 함

Overall of TFAN

- Implementation

  • CycleGAN-VC3는 TFAN을 CycleGAN-VC2 generator에 결합하여 구성됨 
    • 이때 아래 그림과 같이 1D 2D block의 IN과 upsampling block의 IN을 각각 1D TFAN, 2D TFAN으로 대체함 
      - Channel size Ch와 kernel size h를 각각 128, 5로 설정
    • Discriminator는 CycleGAN-VC2의 PatchGAN을 활용

CycleGAN architecture 비교

3. Experiments

- Settings

  • Dataset : VCC2018
  • Comparisons : CycleGAN-VC, CycleGAN-VC2

- Results

  • Naturalness, Similarity 측면에서 CycleGAN-VC3의 성능이 가장 뛰어남

Naturalness, Similairty 비교

  • TFAN depth가 3이고 1D 2D/upsampling에 모두 사용할 때 가장 우수한 성능을 보임

모델 성능 비교

  • Mel-spectrogram 측면에서도 CycleGAN-VC3는 ground-truth와 비슷한 결과를 합성함

Mel-Spectrogram 비교

 

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Total
Today
Yesterday