본문 바로가기
논문 공부

AUTOVC 논문 정리(1)

by Candy Lee 2021. 2. 27.

안녕하세요, Candy Lee 입니다.

 

오늘 리뷰해볼 논문은

AUTOVC:Zero-Shot Voice Style Transfer with 

Only Autoencoder Loss [Qian,K. et al.,2019]  입니다.

 

개인적으로 저는 음성 처리 분야에 관련된 논문을 접하는게

 

이번이 처음이에요.. 부족하더라도 읽어주시면 감사하겠습니다.

 

 

[사전 정보]

 

우선, 이 논문을 이해하기 위해서 필요한 두 가지 사전정보가 있습니다.

 

음성이 무엇인지? 

 

그리고 음성 데이터가 무엇인지에 대해서 알아보도록 하겠습니다.

 

1. 음성이란?

 

 

음성은 크게 2가지 요소로 분리해서 이해할 수 있습니다.

 

주파수(Frequency)는 소리의 높고 낮음을 결정하는 요소입니다.

 

진폭(Amplitude)는 소리의 세기 또는 강도를 결정하는 요소입니다.

 

 

2. 음성 데이터란?

 

음성 데이터는 아날로그 데이터를 디지털 신호로 변환한 결과입니다.

음성 데이터 변환 과정(출처 : https://drive.google.com/file/d/1jcfe3zTH6wRsN3rP6K5UlOghYAQb49Lw/view)

우선, 아날로그 데이터에서 대표적 값들을 추출해 내는 표본화 과정을 거치게 됩니다.

 

그리고 양자화 과정을 통해 연속적 값들을 이산적 값들로 변한시켜 

 

최종적으로 디지털 데이터 형식인 음성 데이터를 얻게 되는 것 입니다.

 

또한 음성 데이터는 다양한 주파수 대역의 혼합체이므로,

 

섞여있는 다양한 음성 주파수를 푸리에 변환을 통해서 해체시켜 작업을 진행합니다.

 

 

 

 

[논문 본론]

 

Motivation)

 

이전의 음성 변환 관련 연구들이 연구 되었는데 크게 두 가지로 나뉩니다.

 

GAN 기반의 Voice Conversion(VC) 과 CVAE 기반의 VC가 있습니다.

 

전자인 GAN 기반의 VC는 학습 알고리즘이 너무 어려워서 접근성이 떨어졌습니다.

 

반면에 후자인 CVAE 기반 VC는 전자의 연구보다 학습 알고리즘은

 

간소화 되어서 좋았지만, Distribution-matching을 제대로 이끌어 내지 못한다는 한계를 가지게 되었습니다.

 

 

Contribution)

 

그래서 이 논문의 기여를 말하자면,

 

앞선 연구들 보다 더욱 autoencoder 기반의 간단한 Training, Conversion 구조를 제시하였고 

 

학습과정은 self-reconstruction loss 를 최소화 할 수 있는 Weight 값들을 학습해 나가는 

 

방식으로 진행 되었다. 그래서 매우 간소화 된 모습임을 알 수 있습니다.

 

게다가 Non-parallel 데이터에서도 좋은 변환 성능을 가졌고

 

무엇보다도 최초로 Zero-shot Voice Conversion을 수행한 논문입니다.

 

 

 

 

[Conversion & Training]

 

1. Conversion

 

최종 목표로는 Source voice의 컨텐츠 내용을 Target voice 로 변환시키는 것입니다.

 

Conversion Scheme(출처 : 논문 캡처)

위의 그림을 바탕으로 설명드리겠습니다.

 

X1은 Source voice 입니다.

X2는 Target voice 입니다.

 

그리고 Z1, Z2는 Content vector(발화 내용)이고

 

U1,U2는 Speaker identity 입니다(발화자 구별 ID)

 

정리하자면

X1=Z1+U1(Source Voice는 발화 내용 + 발화자 구별 ID 결합체)

X2=Z2+U2(Target Voice는 발화 내용 + 발화자 구별 ID 결합체)

라고 이해할 수 있습니다.

 

이제 모듈에 대해 정리해 보겠습니다.

E_c (∙) : Content Encoder => 음성으로 부터 Content Embedding 추출

E_s (∙) : Speaker encoder => 음성으로 부터 Speaker Information 추출

D(∙,∙)  : Decoder => Content Embedding과 Speaker Information을 기반으로 변환 음성 추출

 

 

 

 

2. Training

Training 과정(출처 : 논문 캡처)

 

학습과정은 조금 특이합니다.

 

아래 Speaker Encoder의 입력값을 보면 U1을 제외하고

 

나머지 요소들은 Source Voice(X1)의 기호에 ' 프라임 기호를 붙여서 표현되고 있습니다.

 

이것이 뜻하는 바는

 

Z1' : Source Voice 와는 다른 내용을 말함

 

U1 : Source Voice와 같은 발화자

 

X1' : 결과적으로 Source Voice(X1)와 똑같은 발화자가 다른 내용을 말한 것을 뜻합니다.

 

그래서 Training과정은 자기 자신을 재구성하는 Self-reconstruction loss를 최소화 하는

 

weight 값들을 학습하는 것이 핵심이라고 할 수 있습니다!

 

 

 

나머지 내용들은 

 

다음 포스팅에서 말씀드리겠습니다.

 

읽어주셔서 감사드리고

 

오늘도 감사합니다.

 

 

다음 포스팅 바로가기=> candyz.tistory.com/23?category=909047

 

AUTOVC:Zero-Shot Voice Style Transfer with Only Autoencoder Loss [Qian,K. et al.,2019] 논문 정리(2)

안녕하세요, 앞선 포스팅에 이어서 진행하겠습니다. [Information Bottleneck] Bottleneck 이라는 개념이 도입된 이유는 무엇일까요? 아마도, 해당 논문의 auto voice conversion이 autoencoder 구조 기반으로 이..

candyz.tistory.com

 

반응형

'논문 공부' 카테고리의 다른 글

AUTOVC 논문 정리(2)  (0) 2021.03.01
R-CNN & Fast R-CNN 비교 정리  (0) 2021.02.07
R-CNN 정리(3)  (0) 2021.01.21
R-CNN 정리(2)  (0) 2021.01.14
R-CNN 정리(1)  (0) 2021.01.11
Fast R-CNN 정리(4)  (0) 2021.01.07
Fast R-CNN 정리(3)  (0) 2021.01.04
Fast R-CNN 정리(2)  (0) 2021.01.03

댓글