Audio-007, SpeechT5: Unified-Modal Encoder-Decoder Pre-Training for Spoken Language Processing, ACL 2022

◼ Comment

  • 이 논문은 T5 논문을 텍스트-오디오 버전으로 바꾼것이라 보면 된다
  • 즉, 텍스트와 오디오 입력과 출력을 지원하기 위해 여러 서브 모듈들이 생긴다
    • 그림 2을 보면, speech-encoder pre-net, text-encoder pre-net과 speech-decoder post-net, text-decoder post-net 부분이 있는 것을 알 수가 있다
  • 학습의 과정은 pre-training/fine-tuning이 있는데 pre-training 부터 살펴보자
    • 먼저 원시 시그널을 벡터화를 해야하는데
      • 오디오 => wav2vec을 통해 벡터화한 H 입력을 만들고
      • 텍스트 => char tokenizer + word embedding(아마 랜덤 초기화)로 벡터화한다
    •  학습 테스크
      • BERT처럼 오디오 mlm 학습을 한다
        • 인코더 입력쪽 H는 wav2vec으로 만들었고
        • 인코더 출력쪽은 HuBERT의 hidden representation을 clustering하여 token index을 만든다
        • H의 일부를 랜덤마스크 벡터로 바꾸고, 이에 해당하는 레이블을 클러스터링된 token index을 맞추도록 학습한다
      • 오디오 재구성 학습
        • 디코더의 출력이 기존 신호가 되도록 학습을 하는것인데
        • 기존 신호 타겟이란게, libsora을 통해 멜 필터뱅크 Xf 벡터이다
        • 즉 디코더 출력이 Xf 벡터가 되도록 regression 식의 loss을 걸어준다
      • 텍스트 mle 학습
        • 텍스트 BART처럼, 학습을 한다
      • joint pre-training
        • 텍스트와 오디오가 서로 상관관계가 존재하도록, 공유된 코드북을 통한 학습을 하는데
        • 텍스트든 오디오든 인코더 출력의 일부를 코드북 C중 가장 가까운 코드북 벡터로 바꾸게한다 (그림2(b) 참고)
        • 그렇게 치환된 인코더 출력이 디코더쪽으로 들어가게 함으로써 재구성할때 활용하는 것이다
        • 실질적으로 interleaving식의 데이터를 만드는 것은 아니고 공유된 코드북이 알아서 이를 공유하게끔 하는 것인데.. 텍스트와 오디오가 분리되서 각자 코드북의 일부분을 사용하게끔 될 수도 있는거 아닌가?
  • Fine-tuning은 간단히 소개가 되는데, 특정 테스크에 맞게 모듈을 학습한다고 한다.
    • ASR에 대한 예시가 본문에 있다.

Abstract

T5(Text-To-Text Transfer Transformer) 모델이 자연어 처리 분야의 사전학습(pre-trained) 모델에서 성공을 거둔 것에 영감을 받아, 우리는 자기지도학습 기반 음성/텍스트 표현 학습을 위한 인코더-디코더 사전학습(unified-modal encoder-decoder pre-training) 프레임워크인 SpeechT5를 제안한다.

SpeechT5 프레임워크는 공유 인코더-디코더 네트워크(shared encoder-decoder network)6개의 모달리티별(음성/텍스트) 전처리(pre-net) 및 후처리(post-net) 로 구성된다.
입력된 음성 또는 텍스트는 먼저 pre-net을 통해 전처리되며, 그 다음 공유 인코더-디코더 네트워크가 시퀀스-투-시퀀스 변환(sequence-to-sequence transformation) 을 수행한다. 이후 post-net이 디코더의 출력을 기반으로 음성 또는 텍스트 형태의 출력을 생성한다.

대규모의 라벨 없는 음성 및 텍스트 데이터를 활용하여 SpeechT5를 사전학습함으로써, 우리는 음성과 텍스트 모두에 대해 향상된 모델링 능력을 가지는 통합 모달 표현(unified-modal representation) 을 학습하도록 한다.

  • 텍스트와 음성 정보를 동일한 의미 공간(semantic space)에 정렬하기 위해, 우리는 크로스모달 벡터 양자화(cross-modal vector quantization) 방법을 제안한다. 
  • 이 방법은 인코더와 디코더 사이의 인터페이스로서, 음성/텍스트 상태와 잠재(latent) 단위를 무작위로 혼합한다.

광범위한 평가 결과는 제안된 SpeechT5 프레임워크가 다양한 음성 언어 처리(spoken language processing) 작업에서 우수함을 보여준다.
이에는 자동 음성 인식(ASR), 음성 합성(TTS), 음성 번역(ST), 음성 변환(VC), 음성 향상(SE), 화자 식별(SID) 등이 포함된다.

우리의 코드와 모델은 다음에서 공개된다: https://github.com/microsoft/SpeechT5

1. 서론 (Introduction)

ELMo (Peters et al., 2018)와 BERT (Devlin et al., 2019)로부터 시작된 일련의 연구들은, 사전학습(pre-trained) 모델이 다양한 자연어 처리(NLP) 작업에서 성능을 크게 향상시킬 수 있음을 보여주었다 (Radford et al., 2019; Conneau and Lample, 2019; Yang et al., 2019; Dong et al., 2019; Lewis et al., 2020).
NLP에서의 이러한 사전학습 기법을 따르면서, 자기지도 음성 표현 학습(self-supervised speech representation learning) 역시 활발히 연구되어 왔으며, 풍부한 표현 학습을 통해 유망한 성과를 보였다
(Chung and Glass, 2018; Chuang et al., 2020; Song et al., 2019; Baevski et al., 2020; Wang et al., 2021; Hsu et al., 2021; Chung et al., 2021a).
대표적인 예로는 wav2vec 2.0 (Baevski et al., 2020)HuBERT (Hsu et al., 2021) 이 있다.

하지만, 기존의 음성 사전학습 연구들은 두 가지 한계가 있다.

  1. 대부분의 연구는 라벨이 없는 음성 데이터만을 사용하여 음성 표현을 학습하며,
    음성과 텍스트 간의 모달리티 변환(modality transformation) 이 필요한 작업들(예: 자동 음성 인식, ASR)에 있어 텍스트 데이터의 중요성을 간과한다.

  2. 대부분의 모델은 사전학습된 음성 인코더에만 의존하여 다양한 다운스트림 작업을 수행하며,
    시퀀스-투-시퀀스 생성(sequence-to-sequence generation) 작업에 필요한 디코더는 사전학습되지 않는다.

즉 wav2vec이나 HuBERT는 인코더만 학습하는 거라는 것.

따라서, 음성과 텍스트의 비라벨 데이터(unlabeled speech/text data) 를 모두 활용하여 다양한 음성 언어 처리 작업을 향상시킬 수 있는 통합형 인코더-디코더(unified encoder-decoder) 모델을 설계하는 방법은 아직 충분히 탐구되지 않았다.

이 연구에서는 T5 (Raffel et al., 2020)의 아이디어에 영감을 받아, 각 음성 언어 처리 작업을 “음성/텍스트 → 음성/텍스트” 문제로 공식화하여 인코더-디코더 프레임워크로 처리하고자 한다.
이로써, 그림 1에 나타난 것처럼, 서로 다른 작업에서도 음성과 텍스트의 이중 모달(bimodal) 데이터를 동일한 사전학습 모델로 처리할 수 있다.

이를 달성하기 위해, 우리는 SpeechT5라는 통합 모달(unified-modal) 사전학습 프레임워크를 제안한다.
이 프레임워크는 인코더-디코더 백본(backbone) 네트워크모달 특화(pre/post) 네트워크로 구성된다.

  • pre-net은 입력된 음성/텍스트를 공유된 임베딩 공간(shared space) 으로 변환한다.

  • 인코더-디코더 백본은 시퀀스-투-시퀀스 변환을 모델링한다.

  • post-net은 디코더 출력을 기반으로 음성 또는 텍스트 출력을 생성한다.

SpeechT5는 대규모 라벨 없는 텍스트 및 음성 코퍼스를 활용하여 노이즈 제거 기반 시퀀스-투-시퀀스(denoising seq2seq) 방식으로 주로 사전학습된다.
텍스트와 음향 정보를 동일한 의미 공간에 정렬하기 위해, 제안하는 SpeechT5는 다음 두 가지 방법을 적용한다.

  1. 텍스트와 음성 표현을 공유된 벡터 양자화 공간(shared vector quantization space) 으로 매핑한다.

  2. 양자화된 잠재 표현(latent representation)문맥적 상태(contextual states) 를 무작위로 혼합하여,
    크로스모달 특징(cross-modal features) 학습을 위한 양자화기의 학습을 더욱 효과적으로 유도한다.

우리는 SpeechT5를 다양한 음성 언어 처리 다운스트림 작업에서 미세조정(fine-tuning)하였으며,

  • 여기에는 자동 음성 인식(ASR), 텍스트-투-스피치(TTS), 음성 번역(ST), 음성 변환(VC), 음성 향상(SE), 화자 식별(SID) 이 포함된다.
T5와 유사하게, 인코더-디코더 구조로 모델을 학습하는 것인데, 입출력이 텍스트/오디오가 가능하게 하는 것이고
학습방식은 아마? 노이즈 첨가한 입력을 넣고, 출력은 원본 입력이 되도록 학습하는거 같은데?
그리고 shared vector quantization space으로 매핑한다는데, 이거를 어떻게하는건지 좀 봐야할거 같음
다운스트림에서 fine-tuning은 위처럼 ASR, TTS, ST, VC, SE, SID에서 시도한거 같음

대규모 실험 결과, 제안된 SpeechT5 모델은 다양한 작업에서 최신 기준(state-of-the-art) 모델들보다 유의미한 성능 향상을 보였다.

예를 들어,

  • ASR 작업에서 wav2vec 2.0HuBERT의 BASE 모델을 능가하였으며,

  • VC 작업에서는 Voice Transformer Network (VTN) (Huang et al., 2021)을 뛰어넘는 성능을 달성했다.

  • 또한, SpeechT5는 SpeechNet (Chen et al., 2021b)SUPERB (Yang et al., 2021) 의 사전학습 모델보다 뛰어나며,
    SID(화자 식별) 작업에서는 **96.49%**의 최고 정확도를 달성했다.

추가적으로, 우리는 다양한 사전학습 과제 및 모듈의 경험적 비교를 제공하며, 합동 음성-텍스트 사전학습(joint speech-text pre-training) 방법의 유효성을 실험적으로 검증하였다.


이 논문의 주요 기여는 다음과 같다:

  • (1) 다양한 음성 언어 처리 작업을 위한 통합 인코더-디코더 프레임워크를 탐구한 최초의 연구이다.

  • (2) 음향(acoustic)텍스트 표현(textual representation) 간의 내재적 정렬(implicit alignment) 을 학습하는 크로스모달 벡터 양자화(cross-modal vector quantization) 방법을 제안하였다.

  • (3) 광범위한 음성 언어 처리 작업에서의 실험을 통해 제안된 SpeechT5 모델의 효과성과 우수성을 입증하였다.

2. SpeechT5

이 절에서는 SpeechT5라는 통합 모달(unified-modal) 프레임워크를 제안한다. 이는 공유된 인코더-디코더 구조(shared encoder-decoder structure) 를 통해 음성과 텍스트 데이터를 함께 처리하면서, 두 모달리티의 공동 문맥 표현(joint contextual representations) 을 학습하기 위한 모델이다.

2.1 모델 구조

그림 2(a)는 제안된 SpeechT5 모델의 구조를 보여준다. 이 모델은 인코더-디코더 모듈과 6개의 모달리티 특화 pre-net/post-net으로 구성된다.

Pre-net은 입력되는 음성 (X_s \in D_s) 또는 텍스트 (X_t \in D_t)를 하나의 통합된(hidden) 표현 공간으로 변환하고, 이를 공유된(shared) 인코더-디코더에 전달하여 sequence-to-sequence 변환을 수행하게 된다. 마지막으로 디코더 출력값을 기반으로 post-net이 음성 또는 텍스트 모달리티의 최종 출력을 생성한다.

입력 및 출력 표현 (Input/Output Representations)

다양한 음성 처리 작업을 단일 모델로 학습하기 위해, 우리는 모든 작업을 "음성/텍스트를 음성/텍스트로" 변환하는 문제로 정의하였다. 모델은 입력으로 음성 또는 텍스트를 받아 대응하는 모달리티의 출력을 생성하게 된다. 특히 텍스트의 경우, 입력 및 출력을 문자 시퀀스 (X_t = (x_1^t, \dots, x_{N_t}^t))로 변환한다. 음성 모달리티에서는 원시 파형(raw waveform) (X_s = (x_1^s, \dots, x_{N_s}^s))을 입력으로 사용하며, 출력값으로는 원시 오디오로부터 librosa 툴을 사용하여 추출된 로그 멜 필터뱅크 특징(log Mel-filterbank features) 시퀀스 (X_f = (x_1^f, \dots, x_{N_f}^f))를 사용한다. 최종 파형은 vocoder를 이용하여 생성된다.

  • Xs는 H = [h₁, h₂, ..., hₙ], 각 hᵢ는 벡터 (512-dimensional 등) 이런식으로 구성
  • Xt는 문자열 "hello" → 문자로 분할 ["h", "e", "l", "l", "o"] → embedding 층 → [e₁, e₂, e₃, e₄, e₅]
  • Xf는 원본 waveform → librosa로 로그 멜 필터뱅크 추출 → Xf = [mf₁, mf₂, ..., mfₙ] (각 벡터: 80-dimensional)
  • 결국 다양하게 벡터화되서 입력으로 들어가는 개념

인코더-디코더 백본 (Encoder-Decoder Backbone)

SpeechT5의 백본 네트워크로는 Transformer 기반의 인코더-디코더 모델을 사용한다. 구체적인 내용은 Vaswani et al. (2017)를 참고할 수 있다. 특히 입력 요소들의 상대적인 위치 정보를 더욱 효과적으로 캡처하기 위해, self-attention의 내적 가중치(dot-product weights)에만 상대 위치 임베딩(relative position embedding)을 추가하여 활용하였다.

음성 Pre/Post-Net (Speech Pre/Post-Net)

wav2vec 2.0 (Baevski et al., 2020)의 컨볼루션 기반 특징 추출기(convolutional feature extractor)를 음성 인코더 pre-net으로 사용하여, 원시 파형 (X_s)를 다운샘플링한 음성 표현 (H=(h_1, \dots, h_{N_h}))을 생성한다. 음성 디코더 pre-net은 로그 멜 필터뱅크 (X_f)를 입력으로 받아 ReLU 활성화 함수가 적용된 3개의 완전 연결층(fully connected layers)으로 구성된다. 다중 화자 TTS 및 음성 변환(voice conversion)을 지원하기 위해, x-vector (Snyder et al., 2018)를 통해 추출된 화자 임베딩을 음성 디코더 pre-net 출력과 결합한 후 선형 층(linear layer)에 전달한다.

음성 디코더 post-net은 두 개의 모듈로 구성된다. 첫 번째 모듈은 디코더 출력을 입력으로 선형 층을 사용하여 로그 멜 필터뱅크 (Y_f=(y_1^f, \dots, y_{N_f}^f))를 예측한 후, 5개의 1차원 컨볼루션 층을 통해 예측된 값을 정교하게 개선하는 잔차(residual)를 생성한다. 두 번째 모듈은 디코더 출력을 스칼라(scalar) 값으로 사영(projection)하여 정지(stop) 토큰을 예측한다.

텍스트 Pre/Post-Net (Text Pre/Post-Net)

텍스트 인코더 pre-net과 텍스트 디코더 pre-net/post-net은 공유된 임베딩을 사용한다. Pre-net은 토큰의 인덱스를 임베딩 벡터로 변환하며, Post-net은 디코더의 hidden state를 소프트맥스(softmax) 함수를 통해 정규화된 토큰 확률 분포로 변환한다.

  • pre-net은 위에서 말했듯이 입력을 벡터화하는 거라고 보면됨
  • 음성 Xs는 wav2vec, Xf는 librosa을 사용하고, 텍스트는 토크나이저(character-level)+word embedding 형태임
  • post-net은 벡터로 된 출력을 원하는 타겟으로 맞게끔 변환하는것.
    • text post-net은 softmax을 통해 토큰 index을 예측하도록 학습하는 그런개념이고 (CE loss로 학습되는 듯)
    • 음성 post-net은 멜 필터뱅크를 예측하는 그런건가? (regression으로 벡터 예측하는 듯)

2.2 사전 학습 (Pre-Training)

제안된 SpeechT5 모델은 대규모의 음성 및 텍스트 말뭉치를 활용하여 사전 학습할 수 있다. 제안된 결합 사전 학습(joint pre-training) 방법은 텍스트와 음성 정보를 통합된(unified) 의미 공간으로 정렬할 수 있다.

음성 사전 학습 (Speech Pre-Training)

라벨이 없는 음성 데이터 ( D_s ) 를 활용하여 음성 분류 및 생성 작업에 적합한 일반적 음성 표현(representations)을 학습하기 위해, SpeechT5는 두 가지 유형의 작업으로 학습된다: 양방향 마스크 예측(bidirectional masked prediction) 및 시퀀스 간 생성(sequence-to-sequence generation).

HuBERT(Hsu et al., 2021)를 따라, 양방향 마스크 예측은 BERT와 유사한 마스크 언어 모델(masked language model)을 인코더에 사용하며, 여기서 음향 단위(acoustic unit) 발견 모델을 통해 프레임 단위 목표값 ( $Z = (z_1, ..., z_{N_h})$ ) 를 제공받는다. 구체적으로, 음성 인코더 프리넷(speech-encoder pre-net)의 출력인 ( H ) 에 대해 span-mask 전략을 적용하여, 타임스텝의 8%를 무작위로 선택하여 시작 지점으로 하고, 각 지점부터 길이 10의 구간(span)을 마스킹한다. Transformer 인코더는 이 마스킹된 입력 ( H ) 를 받아 숨겨진 표현(hidden representation) ( $U = (u_1, ..., u_{N_h})$ ) 을 생성한다. 이러한 숨겨진 표현을 기반으로, 마스킹된 타임스텝에 대해 cross-entropy 손실이 다음과 같이 계산된다:

여기서 ( $\hat{H}$ ) 는 마스킹된 ( H ) 를 나타내고, ( M ) 은 마스킹된 타임스텝의 집합이다. ( $z_n$ ) 은 timestep ( n ) 의 프레임 단위 목표값이다.

또한 우리는 양방향 마스크 예측에서 임의로 마스킹된 입력을 통해 원본 음성을 시퀀스 간 생성 작업을 통해 재구성하도록 제안한다. seq2seq TTS 모델(Li et al., 2019)을 따라, 음성 디코더 프리넷, Transformer 디코더 및 음성 디코더 포스트넷을 통해 생성된 예측 출력 ( $Y_f$ ) 가 원본 ( $X_f$ ) 와 유사하도록 L1 거리를 최소화함으로써 학습한다:

여기서 ( $x_n^f$ ) 은 ( $X_f$ ) 의 ( n )번째 80차원 로그 멜 필터뱅크를 나타낸다. 또한 종료(stop) 토큰을 예측하기 위해 이진 교차 엔트로피(binary cross-entropy, BCE) 손실 ( $L^s_{bce}$ ) 를 사용한다.

  • 인코더 단에서 학습
    • 원시 오디오를 wav2vec을 태워서 H=(h1,...,hNh) 벡터를 만든다.
      • U=(u1,...,uNh)은 H가 들어가서 나온 hidden representation (인코더의 출력)
    • 원시 오디오를  HuBERT을 태워서 나온 벡터를 클러스터링해서 Z=(z1,...,zNh)을 만든다.
    • 여기서 zn은 1부터 500 사이의 정수형 클러스터 ID.
    • 여기서 H와 Z는 CNN으로 이루어진 모델들이기 때문에 같은 길이를 가지게 된다.
    • H의 일정부분을, 에로 h5을 랜덤 마스킹하여 이를 인코더에 태운다
      • 예시: (h1,h2,h3,h4,[MASK],h6,,hNh)(h_1, h_2, h_3, h_4, [MASK], h_6, \dots, h_{N_h})
    • 인코더의 출력이 z5가 되도록 학습을 한다.
  • 디코더 단에서 학습
    • 원시 오디오를 libsora을 통해 멜 필터뱅크 Xf 벡터를 만든다.
    • H가 입력으로 들어가서 Xf가 예측되도록 regression 개념으로 학습한다.

텍스트 사전 학습 (Text Pre-Training)

라벨이 없는 텍스트 데이터 ( $D_t$ )를 사용하여, SpeechT5는 마스킹된 입력 텍스트 ( $\hat{X}_t = (\hat{x}_1^t, ..., \hat{x}_M^t$) ) 를 입력으로 받아 원본 텍스트 ( $X_t$ ) 를 복원하도록 학습된다. BART(Lewis et al., 2020)의 텍스트 인필링(text infilling) 접근법에 따라, 텍스트 구간(spans)의 30%를 무작위로 선택하여 마스킹하고, 각 구간의 길이는 포아송 분포(( $\lambda = 3.5$ ))에서 추출하며, 각 구간을 단일 마스크 토큰으로 대체한다. 정리하면, 텍스트 인코더 프리넷, 인코더-디코더 모델, 텍스트 디코더 프리넷/포스트넷을 포함한 SpeechT5는 다음 최대우도추정(MLE)을 통해 원본 시퀀스를 생성하도록 최적화된다:

결합 사전 학습 (Joint Pre-Training)

위의 사전 학습 방법은 각각 음성이나 텍스트 데이터만을 사용하여 음향 및 언어 정보를 독립적으로 모델링할 수 있다. 음성 인식(ASR) 및 음성 합성(TTS)과 같은 작업에 필수적인 음성과 텍스트 간의 교차 양상(cross-modal) 매핑을 구축하기 위해, 우리는 양상 불변(modality-invariant) 정보를 포착하는 표현을 학습하는 교차 모달 벡터 양자화(cross-modal vector quantization) 방법을 제안한다.

구체적으로, 그림 2(b)에서 보인 것처럼 공유 코드북(shared codebook)을 통해 음성 및 텍스트 표현을 정렬하기 위한 브리지로 벡터 양자화된 임베딩을 사용한다. 인코더 출력을 통해 얻은 연속된 음성/텍스트 표현 ( $u_i$ )를 크기가 고정된 코드북 ( $C_K$ )의 이산 표현(discrete representation) ( $c_i$ )로 변환한다. 여기서 가장 가까운 코드벡터를 찾는 과정은 L2 거리를 사용하여 이루어진다:

그 후, 컨텍스트 표현의 10%를 무작위로 양자화된 잠재 표현으로 대체하여, 혼합된 표현(mixed representation)에 대한 교차 어텐션(cross-attention)을 계산함으로써 양자기가 교차 모달 정보를 명시적으로 활용하도록 유도한다. 

  • 즉, 텍스트든 오디오든 인코더의 출력 ui들이 있는데, 이를 공유 코드북을 통해 가장 가까운 코드북 벡터 cj로 치환한다.
  • 모든 인코더 출력을 코드북 벡터로 바꾸는건 아니고, 10%만 바꾼다는 것.
  • 그러면 인코더의 출력이 [u1, u2, c3, u4, u5]식이 되는 것이고, 이것이 디코더의 cross-attention 계산시 사용된다는 것
  • 이때 학습은, reconstruction loss인 식2을 통해 되는 것

또한 코드 공유를 장려하기 위해 평균화된 Softmax 분포의 엔트로피를 최대화하는 다양성 손실(diversity loss)을 사용한다:

최종 사전 학습 손실은 다음과 같다:

여기서 사전 학습 중에 ( $\gamma$ ) 는 0.1로 설정된다.

2.3 파인튜닝 (Fine-Tuning)

사전 학습(pre-training)이 끝난 후, 다운스트림 작업(downstream tasks)의 손실(loss)을 사용하여 인코더-디코더 네트워크를 파인튜닝한다. 

여기서 목표는 SpeechT5가 가진 학습 능력을 측정하는 것이며, 

  • 음성 인식(ASR), 
  • 텍스트 음성 합성(TTS), 
  • 음성 번역(ST), 
  • 목소리 변환(VC), 
  • 음성 강화(SE), 
  • 화자 인식(SID)과 
  • 같은 다양한 다운스트림 작업에서의 성능을 평가한다.

본 논문에서 고려하는 모든 음성 언어 처리(spoken language processing) 작업들은 인코더-디코더 네트워크의 출력과 해당 작업에 대응하는 pre-net 및 post-net을 연결함으로써 학습할 수 있다.

예를 들어 ASR(음성 인식) 작업의 경우를 살펴보면, 최종 모델은 다음과 같이 구성된다:

  • Speech-Encoder Pre-net (음성 인코더 프리넷)

  • Encoder-Decoder (공유 인코더-디코더 네트워크)

  • Text-Decoder Pre-net (텍스트 디코더 프리넷)

  • Text-Decoder Post-net (텍스트 디코더 포스트넷)

이러한 모듈들은 사전학습된 SpeechT5 모델로부터 초기화되며, 이후 해당 작업(ASR)의 학습 데이터에 대해 크로스 엔트로피 손실(cross-entropy loss)을 통해 파인튜닝된다.

즉 작업에 따라 사용되고 학습되는 모듈이 조금씩 다른 구조임

Baseline 시스템은 SpeechT5와 동일한 구조를 가지지만, 다운스트림 작업의 입력 데이터가 음성일 경우 baseline 모델의 인코더 가중치는 사전학습된 HuBERT BASE 모델(Hsu et al., 2021)을 사용하여 초기화한다. 이렇게 하면 원시 오디오(raw waveform)를 모델의 입력으로 받을 수 있게 되며, 결과적으로 강력한 성능의 baseline을 제공하게 된다.

3.1 Pre-Training Setup

  • 모델 구조:

    • 12개의 Transformer Encoder 블록, 6개의 Decoder 블록 사용

    • 모델 차원: 768, FFN 차원: 3072, Attention heads: 12개

    • Speech encoder pre-net: 7-layer temporal convolution

    • Text encoder/decoder pre/post-net: 공유된 임베딩 사용

    • 벡터 양자화: 100 entries 코드북 2개 사용

  • 학습 데이터:

    • 음성: LibriSpeech (960시간)

    • 텍스트: LibriSpeech의 LM 데이터 (400M 문장)

  • 학습 설정: Adam optimizer, learning rate 최대 2×10⁻⁴, 총 500k steps


3.2 Evaluation on ASR (Table 1)

  • 데이터: LibriSpeech (100시간, 960시간)

  • 평가 지표: Word Error Rate (WER)

  • 핵심 결과 (Table 1):

    • LM fusion 미사용시에도 SpeechT5가 wav2vec 2.0 및 HuBERT BASE 대비 우수한 성능

    • LM fusion 시 SpeechT5가 모든 baseline 대비 가장 우수한 성능 달성

    • Transformer LM 사용 시 test-clean: 2.4%, test-other: 5.8%로 최고 성능 기록


3.3 Evaluation on TTS (Table 3)

  • 데이터: LibriTTS (460시간 clean 데이터)

  • 평가 지표: Naturalness (NISQA-TTS), MOS, CMOS

  • 핵심 결과 (Table 3):

    • SpeechT5는 baseline 대비 높은 Naturalness(2.91) 및 MOS(3.65)를 기록

    • CMOS에서도 baseline 대비 +0.29 개선 효과 확인


3.4 Evaluation on ST (Table 4)

  • 데이터: MUST-C (EN-DE, EN-FR)

  • 평가 지표: BLEU

  • 핵심 결과 (Table 4):

    • SpeechT5가 baseline 및 기존 최고 성능 모델 (Fairseq ST, ESPnet ST, Adapter Tuning)을 능가하는 성능 기록

    • 특히 EN-DE 25.18, EN-FR 35.30 BLEU 달성하여 state-of-the-art 달성


3.5 Evaluation on VC (Table 2)

  • 데이터: CMU Arctic (다수 화자 간 음성 변환)

  • 평가 지표: MCD, WER

  • 핵심 결과 (Table 2):

    • SpeechT5가 baseline 및 VTN 기존 모델 대비 우수한 MCD, WER 성능 기록

    • "bdl→slt" 전환에서 WER 7.8%, MCD 5.93 달성


3.6 Evaluation on SE (Table 5)

  • 데이터: WHAM! (잡음 환경 음성 향상)

  • 평가 지표: ASR을 이용한 WER

  • 핵심 결과 (Table 5):

    • SpeechT5는 baseline (10.9%) 대비 낮은 WER (8.9%) 달성, 잡음 제거 성능 우수함 입증


3.7 Evaluation on SID (Table 6)

  • 데이터: VoxCeleb1 (화자 식별)

  • 평가 지표: 화자 정확도 (ACC)

  • 핵심 결과 (Table 6):

    • SpeechT5는 96.49%의 정확도로 SUPERB의 wav2vec 2.0, HuBERT 및 SpeechNet과 같은 기존 방법론을 압도, 새로운 최고 성능 달성


3.8 Ablation Study (Table 7)

  • 평가 항목: Pre-training 방법별 효과 분석 (ASR, VC, SID)

  • 핵심 결과 (Table 7):

    • 모든 pre-training 요소가 성능에 크게 기여하며, 각 요소를 제거할 경우 성능 저하

    • 특히 speech pre-training 없이는 ASR에서 학습이 제대로 이루어지지 않음

    • joint pre-training 방식이 cross-modal alignment 성능 향상에 중요

    • masked prediction loss ((L_{mlm}^{s}))가 음성 인코딩 성능 개선에 기여함을 확인

4 관련 연구 (Related Work)

BERT (Devlin et al., 2019), T5 (Raffel et al., 2020), wav2vec 2.0 (Baevski et al., 2020), HuBERT (Hsu et al., 2021)와 같은 대규모 사전 학습 모델은 강력한 일반화 능력과 대규모 데이터를 효율적으로 사용할 수 있는 능력으로 인해 NLP 및 음성 분야에서 많은 관심을 받고 있다(Devlin et al., 2019; Liu et al., 2019; Yang et al., 2019; Lewis et al., 2020; Chen et al., 2021c; Baevski et al., 2020; Lakhotia et al., 2021; Kharitonov et al., 2021; Chen et al., 2021a).

하지만 앞서 언급된 연구는 모두 단일 모달 학습(single-modal learning)에 초점을 맞추고 있으며, 따라서 텍스트나 음성 중 하나의 모달리티만을 모델링할 수 있다. 일부 음성-언어(speech-language) 사전 학습 연구(Chung et al., 2021b; Kim et al., 2021; Qian et al., 2021)가 음성 언어 이해(spoken language understanding) 태스크를 개선하려고 시도하고 있지만, 이 방법들은 다양한 태스크를 위한 작업별(task-specific) 레이어를 가진 인코더만을 중심으로 하고 있으며, 음성 합성(speech synthesis)이나 텍스트 생성(text generation)과 같은 생성 태스크(generation task)를 위한 디코더를 사전 학습하지는 않는다.

또한 일련의 연구들은 음성과 텍스트를 공동으로 학습(joint text and speech training)하는 방법을 조사하고 있지만(Han et al., 2021; Ye et al., 2021; Tang et al., 2021a; Zheng et al., 2021; Tang et al., 2021b), 이 방법들 역시 주로 음성에서 텍스트로의 변환 태스크(speech-to-text tasks)에만 초점이 맞추어져 있다.

본 논문에서 제안하는 SpeechT5 방법론은 T5(Raffel et al., 2020)와 가장 밀접하게 관련되어 있다. T5 모델의 핵심 아이디어는 다양한 텍스트 기반 언어 문제를 위한 통합 프레임워크(unified framework)를 구축하는 것으로, 모든 텍스트 처리 문제를 "텍스트에서 텍스트로"의 문제로 간주하는 것이다.

SpeechT5는 또한 Speech Chain(Tjandra et al., 2020)과도 관련이 있다. Speech Chain은 ASR 모델과 TTS 모델을 활용하여 labeled 및 unlabeled 데이터를 모두 활용할 수 있도록 기계적 음성 체인(machine speech chain)을 구축하여 학습한다. 또한 SpeechNet(Chen et al., 2021b)과도 관련이 있는데, SpeechNet은 다중 태스크 학습(multi-task learning)을 통해 다양한 음성 처리 태스크를 수행하기 위한 범용 모듈화 모델(universal modularized model)을 설계한다.

SpeechT5가 위의 모델들과 다른 점은 다음과 같다.

  • (1) SpeechT5는 여러 개의 pre/post-net을 통해 입력과 출력으로 음성 또는 텍스트를 다룰 수 있는 공유된 교차 모달(cross-modal) 인코더-디코더 프레임워크이다.
  • (2) SpeechT5는 대규모 unlabeled 텍스트와 음성 데이터를 활용하여 범용 모델(universal model)을 사전 학습하고 성능을 개선하려고 한다.

또 다른 관련 연구는 SUPERB(Yang et al., 2021)로, 이는 HuBERT(Hsu et al., 2021)와 같은 사전 학습된 모델의 능력을 평가하기 위한 벤치마크이다. SUPERB는 고정되고 공유된 사전 학습 인코더와 경량의 태스크별 prediction 모듈만을 사용하여 SUPERB 태스크를 학습하는 간단한 프레임워크를 조사하는 데 초점을 맞춘다.

이에 비해 SpeechT5의 목표는 unlabeled 음성과 텍스트 코퍼스를 통해 사전 학습된 통합 모달 인코더-디코더 모델을 미세 조정(fine-tuning)하여 모든 음성 언어 처리(spoken language processing) 태스크를 학습하는 것이다.

5 결론 (Conclusion)

본 논문에서는 다양한 음성 언어 처리(spoken language processing) 작업을 위한 사전 학습된 인코더-디코더 모델인 SpeechT5를 제안하였다. 우리는 모든 음성 언어 처리 작업을 음성 또는 텍스트 입력에서 음성 또는 텍스트 출력으로 변환하는 형태로 재구성하였으며, 레이블이 없는(unlabeled) 음성과 텍스트 데이터를 활용하여 교차 모달(cross-modal) 정보를 효과적으로 사용하는 새로운 joint pre-training 방법을 제안하였다.

제안된 통합(unified) 인코더-디코더 모델은 음성 번역(speech translation) 및 음성 변환(voice conversion)과 같은 생성(generation) 작업을 효과적으로 지원할 수 있다. 다양한 실험을 통해 SpeechT5가 여러 가지 음성 언어 처리 작업에서 모든 베이스라인 모델들 대비 월등한 성능을 보임을 확인하였다.

향후에는 더 큰 규모의 모델과 더 많은 unlabeled 데이터를 사용하여 SpeechT5를 사전 학습할 계획이다. 또한, 제안된 SpeechT5 프레임워크를 다국어(multilingual) 음성 언어 처리 작업으로 확장하는 연구도 관심 있게 진행할 예정이다.

Reference

댓글