티스토리 뷰

반응형

AudioLM: A Language Modeling Approach to Audio Generation


  • 고품질 audio 생성을 위해 long-term consistency를 갖춘 language model을 활용할 수 있음
  • AudioLM
    • Input audio를 discrete token sequence에 mapping 하고 해당 representation space에서 audio 생성을 language modeling으로 cast 함
    • Audio에 pre-train 된 masked language model의 discretized activation을 사용하여 neural audio codec의 long-term structure와 discrete code를 capture
  • 논문 (TASLP 2023) : Paper Link

1. Introduction

  • Audio signal에는 다양한 scale의 abstraction이 포함되어 있음
    • For example,
      - 음성은 local acoustic, phonetic level에서 분석되고 prosody, syntax, grammar, semantics 측면에서도 분석됨
      - 음악은 non-stationary acoustic signal을 가지면서 long-term structure를 따름
    • Autoregressive, Adversarial, Diffusion과 같은 modeling 방식은 기존 audio 합성에서 자주 사용되고 있음
      - BUT, linguistic feature나 MIDI sequence 같은 strong condition이 없으면 합성 품질이 크게 저하
    • 그에 비해 Language Model은 다양한 content type에 대한 high-level long-term structure를 쉽게 modeling 할 수 있고, 그에 따라 높은 합성 품질을 보이고 있음
      - 특히 discretized speech unit으로 train 된 Transformer는 text annotation에 의존하지 않고 coherent speech를 합성할 수 있음

      - BUT, 대부분의 Language Model을 통한 audio 합성은 single speaker로 제한되어 있음

-> 그래서 long-term coherent structure를 효과적으로 capture 하고, 다양하고 고품질의 audio 합성을 수행하는 Language Model인 AudioLM을 제안

 

  • AudioLM
    • Adversarial neural audio compression, Self-supervised representation learning, Language modeling을 결합
      1. Raw audio waveform에서 시작하여 self-supervised masked language modeling objective로 coarse semantic token을 구성
      2. 해당 token에 대한 autoregressive modeling을 통해 local dependency와 global long-term structure를 capture
      3. Token reconstruction을 향상하기 위해 SoundStream neural codec에서 생성된 fine-level acoustic token을 도입
    • Semantic token과 acoustic token을 모두 사용해 language model의 audio 생성 품질과 long-term consistency를 향상

< Overall of AudioLM >

  • Semantic, acoustic token을 hierarchical 한 방식으로 결합하는 audio language model
  • Pre-trained w2v-BERT에서 추출한 semantic token과 SoundStream의 acoustic token을 활용하여 상호 보완
  • Textual annotation 없이 phonetics, syntax, semantics 측면에서 coherent 한 음성을 생성하고 음악 생성으로도 확장
  • AudioLM에서 생성된 음성을 detect 하는 classifier를 학습하여 speech continuation의 위험을 완화

2. Model

  • AudioLM은 Adversarial neural audio compression, Self-supervised representation learning, Language modeling을 결합하여 구성됨

- Components

  • AudioLM은
    • 아래 3가지 component에 의해 처리되는 single channel audio sequence $x \in \mathbb{R}^{T}$를 고려
      1. Tokenizer Model
        - $T' \ll T$에서 $x$를 finite vocabulary의 discrete token sequence $h = \textrm{enc}(x), \, h=(h_{1},...,h_{T'})$로 mapping
      2. Decoder-only Transformer Language Model
        - Likelihood $\prod_{t=1}^{T'}p(h_{t}|h_{<t})$를 최대화하도록 학습되고, discrete token $y$에서 동작

        - 추론 시에는 token sequence $\hat{h}$를 autoregressive 하게 예측
      3. Detokenizer Model
        - 예측된 token sequence를 audio로 mapping 하여 $\hat{x}=\textrm{dec}(\hat{h})$ waveform을 생성
    • 이때 다음의 측면을 고려해야 함
      1. Token $T'$의 수는 일반적으로 $T$보다 2~3배 더 적음
        - Standard self-attention의 complexity는 sequence length에 따라 quadratically 증가하므로 language model의 temporal context size를 증가시킬 수 있음
      2. Tokenizer와 Detokenizer는 pre-train 되고 language model 이전에 frozen 됨
        - 이를 통해 tokenizer와 language model을 분리하고 training setup을 단순화함

Overview of Tokenizer

- Trade-offs of Discrete Audio Representations

  • Tokenizer, Detokenizer를 통해 discrete audio representation를 사용할 수 있음
    • 이때 audio representation을 고품질로 reconstruct 하기 위해 bitrate와 그에 따른 token sequence length의 lower bound를 설정하면서, 한편으로 long-term dependency를 capture 하는 compact representation을 얻을 수 있어야 함
    • 이러한 trade-off를 만족하기 위해 acoustic, semantic token을 조합하여 활용
      - Semantic token은 long-term coherence를 반영하고, acoustic token은 고품질 합성을 가능하게 함
  • Acoustic token을 계산하기 위해 neural codec인 SoundStream을 사용
    • SoundStreaminput waveform을 embedding sequence에 mapping 하기 위해 convolution encoder를 활용
      - 이때 embedding의 sampling rate는 original audio의 sampling rate보다 훨씬 낮음
      - 따라서 16kHz의 input waveform에 대해 50Hz (20ms 마다 하나씩)의 embedding을 생성하도록 구성
    • 각 embedding은 $N$ symbol의 vocabulary를 사용하는 $Q$ vector quantizer의 hierarchy로 구성된 Residual Vector Quantizer (RVQ)를 사용하여 discretize 됨
      - For example, $N=1024$일 때 $Q=4$의 bitrate는 2000bps ($50\cdot 4\cdot \log_{2}1024$)
      - 따라서, input audio sample $x$는 $T_{A}=T/320$인 codebook symbol의 matrix $Y\in \{1,...,N\}^{T_{A}\times Q}$로 표현됨
    • SoundStream의 convolution decoder는 해당 discrete representation을 real-valued embedding에 mapping 한 다음, waveform을 reconstruct 함
      - Codec은 reconstruction과 adversarial loss를 결합하여 end-to-end 방식으로 학습됨
  • Self-supervised audio representation learning을 위해 w2v-BERT를 사용하여 semantic token을 계산
    • w2v-BERT는 대규모의 speech corpora를 학습할 때 input audio waveform을 rich linguistic feature set에 mapping 하는 방법을 학습함
      - 이는 Masked Language Modeling (MLM) loss와 contrastive loss, 두 가지의 self-supervised objective를 사용하여 Conformer-based model을 통해 수행됨
    • 해당 모델은 fine-tuning 하여 사용할 수도 있지만, AudioLM은 pre-trained w2v-BERT의 representation을 활용하여 long-term temporal structure를 modeling 함
      1. 이를 위해 w2v-BERT의 MLM module에서 intermediate layer를 선택하고 해당 level에서 embedding을 계산
      2. 추가적으로 해당 embedding에 대한 $K$개 cluster를 가지는 $k$-means clustering을 수행하고 centroid index를 semantic token으로 사용
        - 이때 clustering 각 dimension이 zero mena, unit variance가 되도록 w2v-BERT embedding을 normalizing 하면 phonetic discriminability가 크게 향상됨
    • w2v-BERT는 temporal dimension을 따라 downsampling을 수행하므로 real-valued 1024-dimensional feature vector가 25kHz (40ms 마다 하나씩) sampling rate로 계산됨
      - Input audio sample $x$는 $T_{S} = T/640$인 semantic token sequence $z = (z_{1},...,z_{T_{S}})\in \{1,...,K\}^{T_{S}}$로 변환됨
      - For example, $T=16000, K=1024$이면 bitrate는 250bps
  • AudioLM의 hybrid tokenization scheme의 효과를 알아보기 위해
    • SoundStream에서 얻은 acoustic token과 w2v-BERT에서 얻은 semantic token의 다양한 property를 audio 품질과 phonetic discriminability 측면에서 비교
      - 이를 위해 ViSQOL score를 활용하여 reference와 reconstruction 간의 similarity를 계산하고, ABX error rate를 통해 phonetic discriminability를 측정
    • 결과적으로 아래 표와 같이
      1. SoundStream으로 얻어진 acoustic token은 3.3 ViSQOL, 3.9 ViSQOL의 우수한 reconstruction 품질을 보이는 반면 phonetic discriminability는 상당히 낮은 것으로 나타남
      2. 반대로 w2v-BERT로 얻어진 semantic token은 phonetic discriminability는 우수하지만 reconstruction 품질이 낮음
    • 즉, tokenizer를 하나만 사용하면 long-term consistency와 높은 합성 품질 모두를 만족하기 어려움
      1. 실제로 acoustic token에 대해 $Y$를 row-major order로 length $T_{A}\cdot Q$ length의 token sequence $y+o$로 flatten 하고, 이에 대해 decoder-only Transformer를 학습해 보면,
        - $y=(y_{1}^{1},y_{1}^{2},...,y_{1}^{Q},y_{2}^{1},...,y_{T_{A}}^{Q})$
        - $y_{t}^{q}$ : $t$-th time step 동안 $q$-th quantizer에 의해 생성된 token
        - $o=(o_{1},o_{2},...,o_{T_{A}\cdot Q})$ : $o_{i}=(i-\,1\mod Q)\cdot N$인 residual vector quantizer의 $Q$ layer에 대한 unique token index를 생성하는 offset vector
      2. 결과적으로 recording token과 speaker identity는 preserve 되지만 inconsistent 한 linguistic content를 가지는 음성이 생성됨
    • 따라서 AudioLM은 semantic, acoustic token을 모두 사용하는 hybrid tokenization scheme을 활용하므로 성능의 저하 없이 두 tokenizer의 장점을 모두 활용할 수 있음

Token Type 별 비교

- Hierarchical Modeling of Semantic and Acoustic Tokens

  • 동일한 framework 내에서 semantic token과 acoustic token을 모두 modeling 함으로써 long-term consistency를 capture 하면서 고품질의 합성이 가능함
    • 이를 위해 AudioLM framework는, 전체 sequence에 대한 semantic token을 modeling 한 다음, 이를 conditioning 하여 acoustic token을 예측하는 hierarchical approach를 채택
    • Hierarchical approach에는 2가지 장점이 있음
      1. Hierarchical modeling은 semantic token이 past semantic token이 주어진 past acoustic token과 conditionally independent 하다는 가정을 반영함
        - 즉, $p(z_{t}|z_{<t},y_{<t}) \approx p(z_{t}|z_{<t})$
      2. Semantic token과 acoustic token의 interleaved sequence를 modeling 하면 stage 당 token sequence가 줄어들어 더 계산 효율적인 학습/추론이 가능함
    • 결과적으로 AudioLM은 아래 그림과 같이 3가지의 subsequent stage로 구성되고, 각 stage에서 해당 stage의 모든 previous ground-truth token을 고려하여 next token을 예측하는 decoder-only Transformer를 사용
      1. Semantic Modeling
        • First stage에서는 long-term temporal structure를 capture 하기 위해 semantic token의 autoregressive 예측인 $p(z_{t}|z_{<t})$를 modeling 함
      2. Coarse Acoustic Modeling
        • Second stage에서는 semantic token을 condition으로 하는 coarse $Q'$ SoundStream quantizer를 통해 acoustic token을 예측
          - 이때 SoundStream의 residual quantization으로 인해 acoustic token은 hierarchical strcutre를 가짐
          - Coarse quantizer의 token은 speaker ID 및 recording condition과 같은 acoustic property를 recover 하면서 다음 stage에서 modeling 되는 fine quantizer token의 fine acoustic detail만 남김
        • Hierarchical structure를 처리하기 위해 row-major order로 flattening 하는 방식을 활용
          - 즉, $q\leq Q'$에 대해 $p(y_{t}^{q}|z,y_{<t}^{\leq Q'},y_{t}^{<q})$를 모델링함
          - 이때 해당 token sequence는 $\left( z_{1},z_{2},...,z_{T_{S}}, y_{1}^{1}, y_{1}^{2},...,y_{1}^{Q'},y_{2}^{1},y_{2}^{2},...,y_{2}^{Q'},...,y_{T_{A}}^{Q'} \right)$
          - $y_{1}^{1}$ : training 중 예측된 첫 번째 token
      3. Fine Acoustic Modeling
        • Third stage에서는 $q>Q'$에 대해 conditional probability 분포 $p(y_{t}^{q}|y^{\leq Q'}, y_{<t}^{>Q'}, y_{t}^{<q})$를 modeling 하기 위해 $Q'$의 coarse token을 fine quantizer에 대한 acoustic token으로 사용
          - 즉, $y_{t}^{q}$는 coarse $Q'$ quantizer에 해당하는 모든 token과 previous time step의 fine $Q-Q'$ quantizer, current time step에서 decoding 된 token을 기반으로 예측을 수행함 
        • 이를 통해 second stage 이후에 남아있는 lossy compression artifact를 제거하여 audio 품질을 향상
    • Second/Third stage는 single stage로 합쳐질 수 있지만, 모델이 한 번에 처리하는 sequence length를 제한하기 위해 2-stage로 나누어서 수행
      1. Coarse acoustic token을 condition으로 할 때,
        - Fine acoustic token이 semantic token과 conditionally independent 하다는 점을 고려하면, third stage에서는 semantic token을 ignore 할 수 있어 전체 sequence length가 감소함
      2. Fine acoustic detail이 coarse acoustic token에 의해 locally determine 된다는 가정 하에,
        - 3초의 non-overlapping audio chunk batch에 대해 third stage를 수행하여 target audio sequence length와 independent 하게 scale 할 수 있음

3-Stage Hierarchical Modeling

- Inference

  • Training이 마무리되면 AudioLM은 conditioning signal에 따라 다양한 형태의 audio 생성을 얻을 수 있음
    1. Unconditional Generation
      • 모든 semantic token $\hat{z}$를 unconditionally sampling 하고 이를 acoustic modeling의 conditioning으로 활용함
      • 이를 통해 모델은 다양한 speaker identity, prosody, acoustic condition을 기반으로 syntactically, semantically consistent linguistic content를 생성할 수 있음
    2. Acoustic Generation
      • Test sequence $x$에서 추출된 ground-truth semantic token $z$를 acoustic token을 생성하기 위한 conditioning으로 활용
      • 이를 통해 모델은 speaker identity는 다르지만 spoken sentence의 content는 동일하게 유지하는 음성을 생성
        - 즉, semantic token은 semantic content를 capture 할 수 있음
    3. Generating Continuations
      • 짧은 prompt $x$에서 generating continuation을 수행할 수도 있음
      • 먼저 prompt를 해당 semantic token $z_{\leq t_{s}}$와 coarse token $y^{\leq Q'}_{\leq t_{a}}$에 mapping 하면
        1. 이후 $z_{\leq t_{s}}$ conditioning을 기반으로 autoregressive semantic token $\hat{z}_{>t_{s}}$를 생성
        2. 그리고 전체 semantic token sequence $\left( z_{\leq t_{s}}, \hat{z}_{>t_{s}} \right)$를 prompt의 coarse acoustic token $y^{\leq Q'}_{\leq t_{a}}$과 함께 coarse acoustic model로 공급한 다음, 해당 acoustic token의 continuation을 sampling 함
        3. 다음으로 fine acoustic model을 사용하여 coarse acoustic token을 처리하고
        4. 최종적으로 prompt와 sampling 된 acoustic token을 모두 SoundStream decoder에 제공하여 waveform $\hat{x}$를 reconstruct 함
      • 이를 통해 unseen speaker에 대한 3초의 음성만으로도 AudioLM은 original voice와 거의 구별할 수 없는 continuation을 생성함

3. Experiments

- Settings

  • Dataset : Libri-Light
  • Comparisons : BERT, HuBERT, CPC-BERT, GSLM

- Model Selection

  • Semantic Tokens
    • w2v-BERT-XL을 활용하고 quantize 할 intermediate layer와 $k$-mean cluster의 cluster 수 $K$를 선택해야 함
    • w2v-BERT의 MLM module의 다양한 layer에서 계산된 sBLIMP를 활용하여 이를 결정
      - 결과적으로 7번째 layer와 $K=1024$의 cluster를 사용
  • Acoustic Tokens
    • SoundStream을 기반으로 12개 residual vector quantizer layer, 1024 codebook size를 사용
      - 12개의 quantizer layer를 coarse, fine level로 나누기 위해, $Q'=4$로 설정하여 4개의 coarse layer와 8개의 fine layer로 quantization을 수행
    • 4개의 convolution block은 $(2,4,5,8)$의 stride를 가짐
  • Model
    • 12개 layer, 16개 attention head, 1024 embedding dimension, 4096 feed-forward layer dimension, 0.1 dropout, T5-style relative positional embedding을 가지는 decoder-only Transformer를 사용
    • 각 stage별 model parameter size는 $0.3B$

w2v-BERT의 MLM module에 대한 ABX 변화와 Cluster 수에 따른 sBLIMP 변화

- Results

  • Information Represented by the Semantic Token
    • AudioLM은 WER, CER 측면에서 GSLM과 유사한 성능을 보임
      - GSLM은 clean 한 환경에서 single voice만을 합성한다는 점을 고려하면 semantic token 반영 능력은 AudioLM이 더 뛰어나다고 볼 수 있음
    • AudioLM의 acoustic generation의 output은 original transcript를 따르기 때문에 semantic content가 semantic token에 의해 fully capture 될 수 있음
    • SoundStream token을 sampling 하고 이를 audio로 decoding 하면 우수한 transcription 품질을 유지할 수 있음

Ground-Truth Semantic Token에 대한 CER, WER 비교

  • Information Represented by the Acoustic Token
    • 동일한 semantic token에 대해 다양한 speaker의 acoustic generation 능력을 확인해 보면
    • Speaker classificaiton accuracy는 다소 낮게 측정되는데, 이는 semantic token은 speaker identity에 대한 information을 거의 전달하지 않는다는 것을 의미함
    • 반면 sampled recording condition에서 나타나는 다양성은 주로 acoustic token을 통해 represent 됨

Semantic Token에 대한 Speaker Classification Accuracy

  • Probing the Linguistic Knowledge of AudioLM
    • AudioLM이 semantic token modeling을 통해 학습한 lexical, syntactic knowledge를 zero-shot 측면에서 평가
    • 결과적으로 AudioLM은 가장 높은 sWUGGY, sBLIMP를 달성함
    • 즉, AudioLM은 text supervision 없이도 linguistic content를 효과적으로 modeling 할 수 있음

Semantic Token Modeling 성능 비교

  • Generating Coherent Continuations
    • Speaker identity 측면에서 acoustic consistency를 측정해 보면
    • Speaker classification accuracy는 92.6%로, AudioLM은 speaker identity를 strongly preserve 할 수 있음
  • Subjective Evaluation
    • Sample이 original record인지, AudioLM으로 생성된 record인지에 대한 주관적인 평가를 수행해 보면
    • 정확하게 분류한 비율이 51.2%로 무작위 분류와 큰 차이를 보이지 않음
    • 즉, AudioLM과 실제 sample은 human evaluation 측면에서는 거의 구분하기 어려움
  • Detecting Synthesis Speech
    • SoundStream을 통해 compress 된 audio와 original sample을 neural network를 통해 분류해 보면
    • 앞선 주관적 분류와는 달리 98.6%의 classification accuracy를 달성함
    • 즉, AudioLM은 human evaluation 측면에서는 구별하기 어렵지만 간단한 audio classifier로는 쉽게 구별할 수 있음
  • Piano Continuation
    • 음성 외에도 피아노 음악으로 AudioLM을 확장해 보면
    • AudioLM으로 합성된 음악이 83.3% 더 선호되는 것으로 나타남

 

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/12   »
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 31
Total
Today
Yesterday