40 한상준1.png Sangjun Han 2024.01.22

[NeurIPS 2023] Multimodal Generation for Audio and Music

1. Introduction

NeurIPS 2023에서는 AI를 활용하여 예술 작품을 생성하는 논문, 기업 부스, 워크샵 등을 다수 확인할 수 있었습니다. 특히 오디오 및 음악 생성 분야에서 다양한 테크 기업들이 흥미로운 연구와 서비스를 시연했습니다. 대표적으로 구글 딥마인드(Google DeepMind)가 선보인 AI 음악 도구 ‘Lyria’와 메타(Meta)의 ‘Audiobox’가 많은 주목을 받았습니다.


이미지 1. 구글 딥마인드의 Lyria (왼쪽), 메타의 Audiobox (오른쪽).


구글 딥마인드의 Lyria는 특정 아티스트의 목소리와 음악 스타일이 반영된 30초 길이의 음악을 생성하고, 유튜브 쇼츠(YouTube Shorts)에도 활용할 수 있는 기능을 제공합니다. 또 텍스트 프롬프트(Text Prompt)를 이용해 Lyria가 제공하는 음악 샘플의 음악적 요소는 유지한 채 스타일만 변화시키는 것도 가능합니다. 부스에서는 구글에서 예술 창작 학습 AI 알고리즘을 설계하는 Magenta 팀의 제시 엥겔(Jesse Engel)이 비트박스를 하며 본인의 목소리를 드럼 샘플로 변환하는 데모를 선보이기도 했습니다.

메타의 Audiobox는 Text-to-Speech, Text-to-Audio, Text-to-Audio Infilling, Text-to-Effect, Vocal Restyling 등의 기능들을 종합적으로 수행할 수 있는 모델입니다. 음성 입력과 자연어 텍스트 프롬프트의 조합을 통해 다양한 음성과 음향 효과를 쉽게 생성할 수 있습니다.


이미지 2. The Interface for Music Loop Generation[14]


LG AI연구원 Data Intelligence(DI) 랩에서도 “The Interface for Symbolic Music Loop Generation Conditioned on Musical Metadata[14]”라는 논문을 발표했습니다. 해당 연구 결과물을 NeurIPS 2023 워크샵 세션에서 데모로 시연하여 음악 연구자들과 활발히 교류했습니다. LG AI연구원의 인터페이스는 음악과 관련된 메타 데이터인 악기, 템포, 평균 음높이, 평균 음길이 등을 입력 받아 4마디로 구성된 MIDI 루프를 생성하는 기능을 제공합니다. 이를 통해 음악 창작자와 연구자들이 보다 효율적이고 창의적인 작업을 수행할 수 있도록 지원합니다.

이처럼 AI를 이용하면 전문적인 지식 없이도 다양한 오디오와 음악을 생성할 수 있으며, 최근에는 Text와 같은 다른 Modal의 데이터를 활용하여 신호를 제어하는 연구들이 활발히 진행되고 있습니다. 본 포스팅에서는 Text-to-Image, Text-to-Music과 같은 Multimodal Generation 연구의 기반 기술 및 기술의 발전 과정과 NeurIPS 2023에서 발표된 관련 연구들을 소개해 드리겠습니다.


2. Multimodal Generation Overview

대부분의 Multimodal Generation 연구들은 아래 그림과 같이 Large-space의 데이터를 압축하는 Encoder/Decoder 구조에 서로 다른 Modal을 이어주는 Prior로 구성된 Framework를 따르게 됩니다.


이미지 3. Multimodal Generation Framework (e.g. Text-to-Image)


먼저 압축된 Data Representation z를 얻기 위해 Autoencoder를 학습합니다. 그리고 Text와 같은 Condition을 통해 z를 생성할 수 있도록 Powerful Prior을 구성합니다. 추론 단계에서는 Condition으로부터 z를 Sampling하고 학습된 Decoder를 통해 원래 도메인으로 복원합니다. VAE와 구조가 유사하나 차이점은 1) Autoencoder와 Prior의 학습을 분리해 Two-stage로 학습함으로써 복원력을 극대화했고, 2) Learned Prior를 사용하여 의미 있는 공간에서 z를 Sampling 할 수 있도록 설계되었습니다. 다음 장에서는 Large-space의 데이터를 Autoencoder로 압축하는 방법 중에서 데이터를 Discrete Representation으로 표현하는 VQ-VAE Family를 살펴보겠습니다.


3. Discrete Representations

현실 세계에서의 데이터는 무한하고 연속적인 공간에서 표현되지만, 유한 개의 의미 덩어리를 잘 조합함으로써 거의 완벽한 표현이 가능할 수도 있습니다. 예를 들어, 이미지에서는 물체 (Object), 언어에서는 단어 (Word), 음성에서는 음소 (Phoneme)가 의미의 최소 단위가 될 수 있습니다. 따라서 물체, 단어, 음소의 조합을 통해 각 도메인의 데이터를 표현할 수 있으면 우리가 생성해야 하는 데이터 단위가 유한한 개수로 줄어듭니다. 3장에서는 Discrete Representation을 학습하는 대표적인 모델인 VQ-VAE의 핵심 원리와 VQ-VAE의 성능을 향상시킨 VQ-GAN, 현재 오디오 도메인에서 Discrete Representation의 표준 기술이 되고 있는 Residual Vector Quantizer를 살펴보겠습니다.


3.1 VQ-VAE

VQ-VAE[1]는 데이터를 압축하고 복원하는 Autoencoder 계열로, 학습이 가능한 Dictionary e ( e R K × D , K는 Dictionary의 Code 개수, D는 각 Code에 대응하는 Embedding Dimension)에서 압축된 데이터의 각 요소를 찾게 하여 유한 개의 Code로 표현하는 방식입니다.


이미지 4. VQ-VAE Overview[1]


이미지 4를 예로 들자면 어떤 압축된 이미지 ze(x)의 Dimension (Width, Height, Channel)이 8×8×10이고 Dictionary의 K가 512, Dictionary의 D가 10이라고 해보겠습니다. 그렇다면 압축된 이미지는 Quantization q(z|x)을 통해 8×8의 Code를 가질 수 있고 각 Code는 0 ~ 511까지의 Integer Index를 가질 수 있습니다. 8×8 Code의 조합으로 표현된 이미지를 원래 데이터 Space로 복원하기 위해서는 Index에 해당하는 Embedding을 Dictionary에서 찾고 (8×8의 이미지가 8×8×10 이미지 zq(x)로 복원), Decoder로 보내는 작업을 수행하면 됩니다.

학습을 위해서는 원데이터와 복원된 데이터의 차이를 줄이는 Reconstruction Loss를 사용합니다. 그리고 Dictionary는 Embedding Space ze(x)에서 너무 멀어지지 않도록 L2 Loss나 Moving Average를 사용하여 Update합니다. 이때 Dictionary를 Lookup하는 과정은 미분이 불가하기 때문에 Backpropagation 과정에서 단순히 이 부분을 Skip하는 방식으로 학습을 진행합니다. 이 방법은 Discrete Latent Variable Model에서 Straight-through Gradient Estimation (ST Estimation)을 통해 Gradients를 계산하는 방법과 유사한데, 이번 NeurIPS 2023에서는 ST Estimation이 실제 Gradients의 First-order Approximation임을 이론적으로 증명한 논문이 Oral로 선정되기도 했습니다[2].


3.2 VQ-GAN

VQ-GAN[3]은 Perceptually Rich Code를 학습하기 위해 VQ-VAE Loss에 Patch-based Adversarial Loss를 추가합니다. 이 Loss는 Decoder로부터 복원된 데이터를 Patch 단위로 나누고 (실제 구현에서는 CNN Discriminator를 통해 원하는 Patch 개수만큼 압축), 각 Patch가 Real인지 Fake인지 구분하지 못하도록 학습합니다. VQ-VAE에 비해 적은 Dictionary의 Code 개수로도 Perceptual 관련 Metric (e.g. FID, FAD)에서 더 나은 성능을 보여주고 있으며, 데이터 도메인에 따라 이미지 또는 오디오 Spectrogram에 모두 활용할 수 있습니다[3, 4].


3.3 Residual Vector Quantizer (RVQ)

데이터를 Discrete Representation으로 온전히 표현하려면 충분한 수의 Dictionary K값이 설정되어야 합니다. 예를 들어 Raw 오디오의 경우 Autoencoder로 몇 백배의 압축을 수행하더라도 Target하는 압축 Bitrate에 따라 K값이 2의 거듭제곱으로 증가합니다. 이를 개선하기 위해서 RVQ[5]는 여러 개의 Dictionary를 두고 Quantize를 Iteratively 진행하며 다음 Dictionary에 Quantize로 인해 발생한 Residual을 넘겨주는 방식으로 문제를 해결합니다.


이미지 5. RVQ의 진행 과정[6]. 압축된 하나의 Frame을 표현하기 위해
8개의 Dictionary로부터 Frame에 해당하는 총 8개의 Code가 사용됨


VQ-VAE에서 데이터를 충분히 표현하기 위해 필요한 K값이 280이었다면, 8번의 RVQ를 사용하여 한 Dictionary에 대해 필요한  K값을 2(80/8) 수준으로 낮출 수 있습니다. 그리고 첫 번째 통과하는 Quantizer가 Reconstruction에 가장 중요한 역할을 수행하게 됩니다.


3.4 Improved RVQGAN

이번 NeurIPS 2023에 소개된 Improved RVQGAN[9]는 좋은 성능을 가진 Vocoder (Spectrogram을 Waveform으로 Inversion하는 모델, e.g. HiFiGAN[10], BigVGAN[11])에서 많은 아이디어를 차용하여 90배 높은 압축률로 Reconstruction 성능을 향상시켰습니다. 특히 Speech, Music, Environmental Sound 등 다양한 Source의 데이터에 대해 44.1kHz로 압축 모델을 학습시켰기 때문에 Universal Audio Compression Model을 지향하고 있습니다. 기본적으로 앞서 설명했던 VQ-VAE, VQ-GAN, RVQ 이외에 Improved RVQGAN에서 추가적으로 적용한 아이디어를 자세히 살펴보겠습니다.


3.4.1 Periodic Activation Function

LeakyReLU와 같은 Activation Function은 신호의 주기성을 온전히 반영하지 못하기 때문에 Extrapolation을 제대로 하지 못하는 것으로 보고되고 있습니다. Improved RVQGAN은 BigVGAN에서 사용된 Snake Activation snake(x)=x+1αsin(αx)2 활용하여 Decoder에 Periodic Inductive Bias를 주입했습니다.


3.4.2 Mitigating Codebook Collapse

VQ-VAE 계열의 모델은 학습 시 특정 Code가 거의 사용되지 않는 Codebook Collapse 문제가 있습니다. 이를 방지하기 위해 기존에는 K-mean으로 Dictionary의 Embedding을 Initialize 하거나, 잘 사용되지 않는 Code Embedding에 대해 Randomized Restarts를 적용하는 방식으로 문제를 해결하였습니다. Improved RVQGAN은 Code Embedding에 일종의 Regularization (PCA로 Lookup Embedding 생성, l2-normalization)을 적용하여 K-means, Randomized Restarts 없이도 Code를 Uniformly 사용할 수 있도록 개선하였습니다.


3.4.3 Quantize Dropout Rate

“SoundStream: An End-to-End Neural Audio Codec[5]” 논문에서는 하나의 모델로 다양한 Bitrate를 커버하기 위해 Quantizer Dropout을 적용했습니다. 이 방법은 RVQ를 위해 사용되는 Dictionary 개수에 따라 Bitrate가 결정되기 때문에 Sample마다 사용되는 Dictionary의 수를 Random하게 조정합니다. Improved RVQGAN은 Sample마다 Quantizer Dropout을 확률적으로 적용하여 Full-bandwidth에서의 Reconstruction Quality를 거의 Near-optimal에 가깝게 개선하였습니다.


3.4.4 Discriminator Design

오디오 도메인에 적합한 Discriminator를 두어 Adversarial Training을 진행했습니다. 기존 Vocoder 연구에서 사용되었던 Multi-period Waveform Discriminator을 활용했고, 추가적으로 Phase 정보를 반영하기 위해 Complex STFT Discriminator를 다양한 Time-scale에서 적용하였습니다.


3.4.5 Loss Functions

Reconstruction Loss (Multi-scale Spectral L1 loss), Adversarial Loss (Multi-period Waveform Loss, Complex STFT Loss, L1 Feature Matching Loss), VQ-VAE Loss (Commitment Loss)의 Loss Function들이 사용되었습니다. 기존 연구와는 다르게 Loss Weight를 Adaptive하게 설정하지 않고도 좋은 성능을 확보할 수 있었습니다.


3.4.6 Balanced Data Sampling

Improved RVQGAN은 44.1kHz의 오디오를 입력으로 고정하여 다양한 Source의 데이터를 Resampling하는 전처리 과정이 필요합니다. 이때 모델이 복원할 수 있는 Frequency 한계치를 실험적으로 확인해 본 결과, 데이터셋의 평균 Sample Rate 정도였다고 합니다. 이를 개선하기 위해 Desired Nyquist Frequency (22.05kHz)를 만족하는 Sample이 Batch에 하나 이상 포함되도록 강제하였고, 다양한 Source의 데이터가 섞이도록 Balanced Sampling을 적용하였습니다.

저자는 Ablation Study를 통해 각각의 Design Choice가 유효하다는 것을 검증하였고, 기존의 Audio Compression Model보다 90배 높은 압축률로 좋은 Reconstruction Quality를 보이는 것을 확인하였습니다. Improved RVQGAN은 다양한 Source, Sample Rate의 데이터를 커버하도록 학습되어 Audio Representation, Compression, Generation 연구를 위한 좋은 Foundation Model로 활용될 수 있을 것으로 기대됩니다.


4. Prior

VQ-VAE 계열의 모델을 통해 데이터를 Discrete Representation 또는 Code로 표현했다면 다른 Modal의 데이터 (e.g. Tokenize된 Text)와 Concatenate하여 Prior를 학습할 수 있습니다. 일종의 Token Sequence로 표현되기 때문에 주로 GPT 계열의 Autoregressive Model이 사용되며, Discrete Diffusion Model도 활용될 수 있습니다[7, 8]. 그런데 본 포스팅의 3.3 Residual Vector Quantizer (RVQ)에서 설명했던 RVQ를 이용해 데이터를 압축하면, RVQ의 적용 횟수에 따라 Prior에서 학습해야 하는 Sequence의 길이가 배수로 증가하게 됩니다. 예시로 이미지 5 ‘RVQ의 진행 과정’에서는 8번의 RVQ를 적용했기 때문에 압축된 하나의 Frame을 표현하기 위해 8개의 Residual Code가 사용되었습니다.

이번 NeurIPS 2023에서는 Text-to-Music Task에서 RVQ로 압축한 Residual Code를 효율적으로 배치하는 방법을 제안한 연구가 소개되었습니다[12]. 먼저, RVQ가 포함된 EnCodec[13]을 활용하여 오디오를 Residual Discrete Code로 압축하였습니다. 그리고 저자는 아래 그림과 같이 압축된 Code를 배치하는 4가지 패턴 (Flattening, Parallel, Coarse First, Delay)을 소개하고 실험적으로 이들의 생성 성능을 확인하였습니다.


이미지 6. RVQ code를 배치하는 4가지 패턴[12]. RVQ를 4번 적용했다고 가정하여 Quantize 적용 순서대로 k1...k4로 표기됨


이미지 6에서 1) Flattening Pattern은 모든 Residual Code를 1D Sequence로 Flatten하였기 때문에 Sequence의 길이가 4배로 증가합니다. 2) Parallel Pattern의 경우 Transformer Input Embedding Layer에서 같은 Sequence Step의 Residual Code를 모두 더하기 때문에 RVQ 적용 횟수와 상관없이 Sequence의 길이가 유지됩니다. 3) 앞서 언급했듯이 첫 번째 통과하는 Quantizer (k1)가 가장 중요한 정보를 담고 있기 때문에 Coarse First Pattern은 중요한 정보는 모두 생성하고 덜 중요한 정보는 손실을 감수합니다. 4) Delay Pattern은 서로 다른 Step의 Residual Code를 교차하게 배열하여 특정 Code의 정보가 손실되지 않도록 설계되었습니다. 각 패턴의 Code Sequence는 300M, 1.5B, 3.3B 크기의 Transformer Model를 활용하여 Next Token Prediction 방식으로 학습되었고, EnCodec의 Decoder를 통해 오디오로 복원되었습니다.


이미지 7. RVQ Code를 배치하는 패턴에 따른 음악 생성 성능 비교[12].
FAD, KL, CLAP은 Pre-trained Model을 활용하여 음악의 Fidelity를 평가하고,
OVL.과 REL.는 Human Evaluation을 통해 음악 Quality 및 Text와의 관련성을 평가함


그 결과 Flattening Pattern이 음악 생성 측면에서는 가장 좋은 성능을 보여주지만, 긴 길이의 Code를 생성해야 하는 문제가 있음을 확인할 수 있습니다. 대안으로 Delay Pattern은 적은 Step을 유지하면서도 양호한 생성 성능을 보여주는 것을 확인할 수 있습니다.


5. Conclusion

본 포스팅에서는 Multimodal Generation 연구의 발전을 Discrete Representations 중심으로 살펴보았습니다. 또, NeurIPS 2023에 발표된 기존 연구보다 오디오를 더 효과적으로 압축하는 Improved RVQGAN과 Text-to-Music에서 Residual Code를 효율적으로 배치하는 방법을 제안한 논문도 소개해 드렸습니다. Transformer의 발전으로 Discrete Data를 쉽고 강력하게 다룰 수 있게 됨으로써 여러 Modal 간의 관계를 쉽게 모델링 할 수 있게 된 것이 Multimodal 연구 발전의 주요한 계기가 되었다고 생각합니다.

LG AI연구원 DI 랩에서는 다양한 Modal을 입력 받아 곡 단위의 Real Sound를 생성하는 것을 궁극적인 연구 목표로 수립하고, Multimodal Generation 관련 연구를 수행하고 있습니다. 목표 달성을 위한 첫 단계로, 음악을 생성하는 데이터 표현 공간을 줄이고 예술가들이 생성된 음악을 용이하게 편집할 수 있도록 하는 MIDI 생성 연구에 주력하고 있습니다. LG AI연구원 DI 랩에서는 청각 예술의 영역에서 누구나 자신만의 예술적 아이덴티티를 발견하고 표현할 수 있게 하는 연구를 진행해 나갈 예정입니다.

참고

[1] A. Oord et al., Neural Discrete Representation Learning, NeurIPS 2017

[2] L. Liu et al., Bridging Discrete and Backpropagation: Straight-Through and Beyond, NeurIPS 2023

[3] P. Esser et al., Taming Transformers for High-Resolution Image Synthesis, CVPR 2021

[4] V. Iashin et al., Taming Visually Guided Sound Generation, BMVC 2021

[5] N. Zeghidour et al., SoundStream: An End-to-End Neural Audio Codec, arXiv:2107.03312 2021

[6] C. Wang et al., Neural Codec Language Models are Zero-Shot Text to Speech Synthesis, arXiv:2301.02111 2023

[7] A. Ramesh et al., Zero-Shot Text-to-Image Generation, ICML, 2021

[8] S. Gu et al., Vector Quantized Diffusion Model for Text-to-Image Synthesis, CVPR 2022

[9] R, Kumar et al., High-Fidelity Audio Compression with Improved RVQGAN, NeurIPS 2023

[10] J. Kong et al., HiFiGAN: Generative Adversarial Networks for Efficient and High Fidelity Speech Synthesis, NeurIPS 2020

[11] S. Lee et al., BigVGAN: A Universal Neural Vocoder with Large-scale Training, ICLR 2023

[12] J. Copet et al., Simple and Controllable Music Generation, NeurIPS 2023

[13] A. Defossez et al., High Fidelity Neural Audio Compression, arXiv:2210.1348 2022

[14] S. Han et al, The Interface for Symbolic Music Loop Generation Conditioned on Musical Metadata, NeurIPS Workshop on ML4CD 2023