1 of 12

2022.10.13

제네시스랩 신재영

NeurIPS 2020

2 of 12

Introduction

  • Supervised Learning의 한계

    • 전세계의 수많은 언어들에 대한 양질의 labeled data를 얻기 어려움

    • Labeled data만을 활용하여 학습하는 것은 유아기에 부모가 말하는 것을 듣는 것만으로 �언어를 습득하는 인간의 방식과 다름

  • Self-Supervised Learning 방법 제안

    • Self-Supervised Learning은 데이터 자체의 representation을 잘 학습하기 위한 방법으로, �인간이 유아기에 언어를 습득하는 방법과 유사

    • 본 논문에서는 raw waveform 데이터로부터 적절한 representation을 학습하는 �Self-Supervised Learning 프레임워크를 제안함

3 of 12

Background

VQ-wav2vec

Self-supervised 방법으로 audio data의 representation을 학습하되, BERT를 활용하여 음성인식의 성능을 향상시키는 데에 목적을 둔 모델

Context network

encoder network를 거쳐서 나온 Z를 context representation C로 변환

Module q

BERT의 MLM pre-training 방법을 적용하기 위한 Discretization module

Encoder network

raw waveform X를 latent space에 embedding하여 latent representation 로 변환

Input : raw audio data

Output : Speech Recognition System에 적용가능한 audio의 representation

4 of 12

wav2vec2.0 overview

Wav2vec2.0

VQ-wav2vec의 Context Network를 Transformer로 구조 변경한 점이 특징

Architecture:

Encoder, Context Network(Transformer), Quantization Module로 구성됨

Loss:

Codebook의 다양한 패턴을 학습하기 위하여 codebook 관련 제약 Loss를 추가

Performance:

Acoustic Model을 개발할 때 wav2vec2.0 모델도 함께 학습하는 Fine-tuning 방법 적용

Input : raw audio data

Output : Speech Recognition System에 적용가능한 audio의 representation

5 of 12

Architecture

�BERT의 MLM pre-training 방법을 적용

Wav2vec 모델의 출력을 이산 형태로 변환

Discretization 모듈(q) 추가 (Gumbel-Softmax,

K-means Clustering 활용)

음성인식의 성능 향상

Multi-layer convolutional feature encoder 

  • Raw waveform sequence를 X로 �입력 받아서 매 T step마다 latent representation z_1,⋯,z_T로 출력
  • 이후 latent speech representation은 �아래의 두 모듈에 각각 나뉘어 입력값으로 �들어감
    • Transformer 모듈
    • Quantization 모듈

6 of 12

Architecture

�BERT의 MLM pre-training 방법을 적용

Wav2vec 모델의 출력을 이산 형태로 변환

Discretization 모듈(q) 추가 (Gumbel-Softmax,

K-means Clustering 활용)

음성인식의 성능 향상

 

7 of 12

Architecture

Quantization module

  • Feature encoder를 통과한 z에 Product Quantization(PQ) 수행

  • 각 codebook에 PQ를 수행할 때, gumbel softmax로 수행

  • 변환된 데이터들을 concat하여 일정 크기의 벡터로 변환 후, linear transformation을 적용하여 q 얻음

  • Gradient가 흐를 수 있도록 VQ-wav2vec과 동일한 trick 사용

8 of 12

Training

 

9 of 12

Objective

  1. Contrastive Loss

    • Masking된 time step의 Quantized representation을 유추할 때 활용하는 Loss
    • Transformer를 통과한 벡터 c가 Quantized vector q와 일치하면 Loss 값이 감소

    • : Masking이 수행된 time step t에서 추출된 context representation
    • : K개의 negative sample과 1개의 positive sample 로 구성되어 총 K+1개의

candidate quantized representation

      • K개의 negative sample : 동일 발화의 다른 mask time step으로부터 랜덤하게 추출한 값들
    • : 학습 과정에서 temperature 역할을 하는 상수값

10 of 12

Loss Function

 

11 of 12

Experiments

Dataset

  • 16kHz, English
  • Pre-train : Librispeech (LS-960), LibriVox(LV-60k)
    • Label 없는 데이터 사용
  • Finetune : TIMIT dataset (5hours)

결론

  1. 적은 label만으로 finetuning 해도 높은 성능
  2. 많은 Unlabeled 데이터를 활용할수록 높은 성능

  • 한계
  • Language Model이 성능에 큰 영향을 미침
  • 모델의 크기가 매우 큼(Base 기준 1GB)
  • Pre-training하는 데 많은 GPU 자원 필요

12 of 12

THANK YOU �FOR LISTENING