VAE Tutorial 4

VAE Tutorial 4: MusicVAE

이 논문을 Tutorial에 넣은 이유는 다음과 같은 이유에서입니다.

  1. VAE의 발전과 흐름에 대해서 잘 설명한다.
  2. 딥러닝에 대한 좋은 방향을 제시한다고 생각한다.
  3. 이미 웹에 application이 프로토타입으로 구현되어 올라와있다.
  4. 논문이 예쁘고 읽기 좋게 되어있다.

다음 유투브 링크는 MusicVAE에 대해서 설명해주는 동영상입니다. 안봤다면 한 번 보는 것을 추천합니다. 한 문장으로 요약하자면 “음악데이터에 대해 VAE를 학습한 다음에 학습한 latent code를 가지고 이러저러한 음악 창작 도구로 사용할 수 있다”라고 볼 수 있습니다. 밑의 화면을 클릭 해주세요.

musicvae youtube



1. Introduction

MusicVAE가 하고 싶은 것은 Music generation입니다. 문장을 만들어내는 일과는 다르게 음악을 만들어내는 일은 훨씬 긴 sequence를 generation 하는 것입니다. 1초의 음원당 보통 16000개의 sample을 가지고 있으니까요. 논문에서는 “very long sequence”라고 표현합니다. 이 문제를 해결하기 위해 MusicVAE는 hierarchical recurrent decoder를 제안합니다. 이 모델 구조만 보자면 다음 그림과 같습니다. Likelihood 쪽이 conductor와 decoder로 hierarchical 하게 구성되어있는 것을 볼 수 있습니다.

이 모델 구조를 가지고 음악 데이터에 대해서 학습하고 나면 이미지와 문장에서 했듯이 latent vector interpolation을 할 수 있습니다. 제일 왼쪽에 있는 음원에 대한 latent vector를 구하고 가장 오른쪽의 있는 음원에 대한 latent vector를 구한 다음에 linear interpolation한 것입니다. 이제 MusicVAE에 대해 자세히 살펴보겠습니다.



2. Model of MusicVAE

2.1 Bidirectional Encoder

2.2 Hierarchical Decoder

2.3 Multi-stream Modeling



3. Experiment & Conclusion

3.1 Experiment

3.2 Conclusion



4. Code Review






© 2018. by Woongwon Lee

Powered by dnddnjs