티스토리 뷰

반응형

TriAAN-VC: Triple Adaptive Attention Normalization for Any-to-Any Voice Conversion


  • Voice Conversion은 source speech의 content를 유지하면서 target speaker의 characteristic을 반영해야 함
  • TriAAN-VC
    • Encoder-Decoder architecture와 attention-based adaptive normalization block으로 구성된 Triple Adaptive Attention Normalization을 활용
    • Adaptive normalization block을 통해 target speaker representation을 추출하고 siamese loss로 최적화를 수행
  • 논문 (ICASSP 2023) : Paper Link

1. Introduction

  • Voice Conversion (VC)는 source speech content를 유지하면서 target speaker로 변환하는 것을 목표로 함
    • 이를 위해 대부분의 방식들은 utterance를 content, speaker representation으로 disentangle 함
      1. VQVC+와 같은 vector quantization 방식은 discrete code로 content를 represent 하므로 time relationship을 reduce 하는 경향이 있음
      2. S2VC, FragmentVC와 같은 attention-based 방식은 speaker representation에 overly detailed 되는 문제가 있음
      3. AdaIN-VC, AGAIN-VC와 같은 instance normalization 방식은 speaker characteristic을 충분히 반영하지 못함
    • BUT, 기존 방식들은 overly detailed/generalized representation을 사용하므로 content maintain, speaker similarity에 대한 trade-off가 발생함

-> 그래서 VC 성능에 대한 trade-off 문제를 완화하기 위해 core speaker representation을 활용하는 TriAAN-VC를 제안

 

  • TriAAN-VC
    • Encoder-Decoder architecture를 기반으로 content, speaker representation을 disentangle
    • Triple Adaptive Attention Normalization (TriAAN) block을 도입하여 disentangled feature에서 detailed, global representation을 추출하고 conversion을 위해 adaptive normalization을 적용
    • Time masking이 있는 siamese loss를 활용하여 source content preserving을 향상

< Overall of TriAAN-VC >

  • Encoder-Decoder architecture를 기반으로 TriAAN block과 siamese loss를 적용
  • 결과적으로 기존보다 뛰어난 conversion 성능을 달성

2. Method

- Feature Extraction

  • S2VC의 Contrastive Predictive Coding (CPC)는 VC 성능을 크게 향상할 수 있으므로, TriAAN-VC도 마찬가지로 CPC feature를 input으로 사용함
    • 이때 pre-trained model을 사용하여 raw audio xrawRtxrawRt로부터 CPC feature xRH×TxRH×T를 추출
      - H,TH,T : 각각 xx의 hidden size, segment length, tt : xrawxraw의 signal length
    • 추가적으로 source speaker의 pitch information을 represent 하기 위해, VQMIVC와 같이 DIO algorithm을 xrawxraw에 적용하여 log fundamental frequency xf0RTxf0RT를 추출

- Encoder and Decoder

  • TriAAN-VC는 content, speaker information을 각각 추출하는 2개의 encoder와 decoder로 구성됨
    • Encoder, decoder는 bottleneck layer를 통해 연결되고 각각 LL개의 layer를 가짐
    • 먼저 encoder 이전에 xc,sRH×Tc,sxc,sRH×Tc,s에 convolution layer를 적용하여 HH를 channel size CC로 expand 함
      - xc,sxc,s : feature extraction 이후의 content, speaker input
    • Encoder
      1. 각 encoder layer는 convolution block과 Instance Normalization (IN)으로 구성됨
        - 추가적으로 Speaker Attention (SA)는 speaker encoder에서만 사용됨
      2. Convolution block은 kernel size가 3이고 stride가 1인 2개의 convolution layer를 가지는 residual block
    • Bottleneck Layer
      1. Encoder process 이후, source speaker의 xf0RTxf0RT를 사용하여 pitch를 represent 함
      2. 다음으로 xc,xf0xc,xf0 간의 concatenated output에 GRU layer를 적용함
        - xcRC×TxcRC×T : content encoder output
      3. 이후 decoder 이전에 Dual Adaptive Normalization (DuAN)을 speaker, content representaiton에 적용하여 initial converted representation을 생성함 
    • Decoder
      1. Decoder는 encoder와 동일한 convolution block과 TriAAN block을 사용하여 구성됨
        - TriAAN block은 previous layer의 content feature와 speaker encoder layer의 feature map을 사용하여 conversion을 수행
      2. 최종적으로 decoder output은 GRU와 PostNet을 통해 refine 되어 log mel-spectrogram ˆyRM×T^yRM×T를 예측함
        - MM : mel bin 수

Overall of TriAAN-VC

- Speaker Attention

  • Adaptive Instance Normalization (AdaIN)은 speaker representation의 channel-wise statistics를 활용하므로 speaker의 core channel feature를 추출할 수 있어야 함 
    • 따라서 논문은 IN을 Time-wise IN (TIN)으로 변경하고 TIN-based Speaker Attention (SA)를 설계
      - 이때 TIN은 channel relation을 preserving 하면서 time-wise 평균, 표준편차로 normalize 됨
    • SA는 다음과 같이 TIN과 self-attention을 활용함:
      (Eq. 1) Q=TIN(xs)Wq,K=xsWk,V=xsWvQ=TIN(xs)Wq,K=xsWk,V=xsWv
      Attention(Q,K,V)=softmax(QK/d)V
      - xsRT×C,Wq,k,vRC×C : 각각 speaker feature, weight
    • 결과적으로 SA는 query information을 TIN result로 사용하여 conversion을 위한 speaker information의 channel relation을 preserve 하고 강조함

- TriAAN Block

  • TriAAN block은 Dual Adaptive Normalization (DuAN)과 Global Adpative Normalization (GLAN)으로 구성됨
    • 먼저 TriAAN block은 각 l-th speaker encoder layer에서 얻어진 feature map F1:LsRT×C1:L를 사용함
      - l=1,2,...,L
    • DuAN은 dual view (time, channel)에서 Fls의 layer-wise detailed speaker feature를 추출한 다음 adpative normalization을 적용함
    • GLAN은 speaker encoder의 모든 feature map을 사용하여 global speaker information을 추출함 
    • DuAN
      1. DuAN은 detailed speaker feature를 추출하기 위해 도입되어 layer-wise speaker feature Fls의 attention-based statistics를 represent 함 
      2. Previous layer의 content feature가 xcRT×C이고 normalization function이 N()일 때, attention weight αRT×T, attention-weighted mean MRT×C, variance VarRT×C:
        (Eq. 2) Q=N(xc)Wq,K=N(Fls)Wk,V=FlsWv
        α=softmax(QK/d)
        M=αV,Var=α(VV)MM
        - Wq,k,vRC×C : linear transformation에 대한 weight
      3. Normalized feature로 얻어진 α는 content, speaker feature 간의 similarity를 나타내고, Var는 variable에 대한 기댓값과 기댓값의 제곱으로 계산됨 
        - α를 적용하면 weighted mean, standard deviation에 detailed speaker feautre인 per-point statistics가 포함될 수 있음
        - 따라서 overly detailed speaker feature로 인한 biased result를 방지하기 위해, M,Var에 대한 time-wise average를 구하고 Var에 square root를 적용하여 standard deviation SRC를 구함
      4. 결과적으로 adaptive normalization과 content feature로 얻어진 converted representation xcRT×Cxc=IN(xc)S+M으로 얻어짐
        - 이때 channel, time 측면에서 N() function인 IN, TIN에 따라 adaptive normalization을 분리하여 2개의 converted representation을 얻음
    • GLAN
      1. GLAN은 global speaker information을 represent 하기 위해 speaker encoder의 모든 feature map F1:Ls을 활용함 
      2. Content feature xcRC×T의 경우, DuAN에서 얻어진 두 representation에 대한 channel-wise concatentation에 convolution layer를 적용하여 얻어짐
        - 이후 F1:Ls에서 layer-wise concatenated mean μRL×C와 standard deviation σRL×C를 얻음
        - μ=[avg(F1s);...;avg(FLs)],σ=[std(Fls);...;std(FLs)]
      3. 추가적으로 adaptive normalization을 위해 global speaker feature μ,σ에서 core statistics를 추출하고 강조하는 self-attention pooling을 적용 
      4. 그러면 weighted mean μRC와 standard deviation σRC는 attention pooling을 통해 다음과 같이 얻어짐
        (Eq. 3) αμ=softmax(μWμ),ασ=softmax(σWσ)
        μ=sum(μ×αμ),σ=sum(σ×ασ)
        - αμ,σRLμ,σ,Wμ,σRC×Cμ,σ : 각각 attention weight, transformation weight
      5. 결과적으로 GLAN은 DuAN과 같이 μ,σ을 사용하여 adaptive normalization을 적용한 다음, conversion을 수행함

TriAAN Block

- Loss Function 

  • TriAAN-VC의 training을 위해 reconstruction loss와 siamese loss를 결합하여 사용함
    • Reconstruction loss는 ground-truth mel-spectrogram yRM×T와 predicted ˆyRM×T 간의 L1 loss
      - 여기서 y는 mel-spectrogram transformation을 통해 raw audio에서 추출되고, ˆy는 input feature xRH×T가 CPC feature일 때 model로부터 예측됨
    • Siamese loss는 yˆysiamRM×T 간의 L1 loss로 계산됨
      - ˆysiam은 time masking으로 augment된 x를 사용하여 예측됨
    • L1 loss를 loss(y,ˆy)=||yˆy||1/T라고 할 때, combined loss는:
      (Eq. 4) L=(loss(y,ˆy)+loss(y,ˆysiam))/2+loss(ˆy,ˆysiam)
      - ˆysiam에 대한 additional loss를 계산함으로써 robustness, consistency를 향상 가능
      - 특히 time masking은 training 중에 content information을 제거하므로 siamese loss는 content preserving을 향상하는데 도움을 줌

3. Experiments

- Settings

- Results

  • Comparison Results
    • 전체적으로 TriAAN-VC가 가장 우수한 성능을 보임

모델 성능 비교

  • MOS 측면에서도 가장 뛰어난 naturalness와 similarity를 보임

MOS 비교

  • Ablation Study
    • TriAAN-VC의 각 component를 대체하는 경우 성능 저하가 발생함

Ablation Study

 

반응형
최근에 올라온 글
최근에 달린 댓글
«   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