Audio-002, HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Unit, TASLP 2021
◼ Comment
- wav2vec과 더불어 엄청 유명한 논문 같음
- wav2vec처럼, 입력신호에 대한 레이블이 있는것은 아님
- wav2vec에선 이 부분을 qunatization해서 매핑해서 같이 학습을 시켰지만
- 여기서는 클러스터링을한 index을 label 로 사용함. 즉 학습방식은 BERT을 따르려고 하는 것
- 클러스터링은 k-means을 사용함
- 전체적인 플로우
- 레이블 쪽
- 음성 신호를 MFCC 로 만든다
- MFCC 신호를 기반으로 k-means 클러스터링한다
- 클러스터링 개수는 100개로 첨에 학습하다가
- 클러스터링 개수 = 코드북 사이즈라 보면됨
- 학습이 어느정도 되면, HuBERT hidden state로 클러스터링한다.
- 중간 transformer layer의 hidden state을 말한것
- 이러면서 클러스터링 개수(K)는 500개로 변경해서 실험하는 식 (이때 K 늘리면 성능이 올란다고 리포트한거 같음)
- => 실제로 이렇게 했을떄 더 효과가 좋음을 보이긴 함
- 모델쪽
- wav 원시 신호를 CNN encoder을 태운다
- CNN 출력에 일부 마스킹을 한다
- 마스킹 입력을 결과 뽑아서 레이블과 매칭하여 학습
- Loss 설계
- loss는 2가지 버전이 있음
- Lm과 Lu인데 Lm은 Masking token을 말하는거고 Lu는 비마스크된걸 말하는것
- 버트는 기본적으로 masking token을 복원하는 개념으로 학습되는데
- 여기서는 Lu 버전도 학습을 하고 이는 weighted loss로 학습함
- Transformer hidden → projection → 코드벡터와 cosine similarity → softmax → cluster ID
- 모델구조
- CNN encoder 뒷부분에 Transformer layer이랑 projection layer가 있음
- 즉 projection layer은 코드벡터와의 similarity을 계산하기 위한 dimension 맞추는 것
- BERT와 다른게, 바로 vocab size로 출력을 내는게 아니고, code embedding size로 보내고 codebook 에 해당하는 벡터와 각각 유사도를 통해 확률을 계산
- 이렇게 하는 이유는, 클러스터링의 index가 가지는 의미가 매번 달라지기 때문인듯 (클러스터링 개수도 달라지고)
Abstract
자기 지도(self-supervised) 방식의 음성 표현 학습은 세 가지 고유한 문제에 직면한다:
(1) 각 입력 발화에는 여러 개의 음향 단위가 존재한다,
(2) 사전학습 단계에서는 입력 음향 단위에 대한 사전(lexicon)이 존재하지 않는다,
(3) 음향 단위의 길이가 가변적이며 명시적인 분절(boundary)이 없다.
이 세 가지 문제를 해결하기 위해, 우리는 HuBERT(Hidden-Unit BERT) 라는 자기 지도 음성 표현 학습 방식을 제안한다. HuBERT는 오프라인 클러스터링 단계를 통해 정렬된 목표 레이블을 생성하고, 이를 BERT와 유사한 예측 손실(prediction loss)에 활용한다. 핵심 아이디어는 마스킹된 영역에 대해서만 예측 손실을 적용하여, 모델이 연속적인 입력으로부터 음향 모델과 언어 모델을 동시에 학습하도록 강제하는 것이다.
HuBERT는 할당된 클러스터 레이블의 내재적 품질보다는 비지도 클러스터링 단계의 일관성(consistency) 에 크게 의존한다. 우리는 100개의 클러스터를 가진 단순한 k-means 교사 모델로 시작하여 두 번의 클러스터링 반복을 수행한다. 그 결과, HuBERT는 Librispeech(960시간)과 Libri-light(60,000시간) 벤치마크에서 10분, 1시간, 10시간, 100시간, 960시간 미세조정(fine-tuning) 세트 모두에서 최첨단인 wav2vec 2.0과 동일하거나 더 나은 성능을 달성한다.
매개변수가 10억 개(1B)에 달하는 대형 모델을 사용할 경우, HuBERT는 더 어려운 dev-other와 test-other 평가 세트에서 상대적 WER(word error rate)을 각각 최대 19%와 13% 감소시키는 성과를 보였다.
Index Terms—Self-supervised learning, BERT
1. 서론 (Introduction)
많은 연구 프로그램의 북극성(north star)은 아기들이 첫 언어를 배우는 방식처럼, 듣기와 상호작용을 통해 음성과 오디오 표현을 학습하는 것이다.
고품질의 음성 표현은 발화된 내용(content)을 분리(disentangle)하는 동시에, 그것이 전달되는 방식과 관련된 비어휘적(non-lexical) 정보 ― 예를 들어 화자 정체성, 감정, 머뭇거림, 끊김 ― 을 포함해야 한다.
- 또한 완전한 상황 이해를 위해서는 웃음, 기침, 입술 소리, 배경의 차량 엔진음, 새소리, 음식 조리음과 같은 구조적 잡음(structured noise)의 삽입이나 음성과의 겹침을 모델링할 수 있어야 한다.
- 이런 데이터도 결국엔 합성을 해야하는것 아닌가? 싶긴한데.. 어떻게?ㅋㅋ
이러한 고품질 표현의 필요성은 설계된 사전 학습 과제가 입력 신호 그 자체에서 학습 신호(targets)를 끌어내는 자기지도(self-supervised) 학습 연구를 촉진시켰다. 자기지도 음성 표현 학습을 위한 사전 과제(pretext task)의 예로는 시간적으로 가까운 특징과 먼 특징을 구분하기 [1–3], 오디오 특징의 다음 단계를 예측하기 [4], 마스킹된 오디오 특징을 주변(context)으로부터 예측하기 [5,6] 등이 있다.
자기지도 학습은 학습 과정에서 언어학적 자원(lexicon, annotation, 텍스트 등)에 의존하지 않으므로, 입력 신호 속의 풍부한 정보를 무시하지 않고 **보편적 표현(universal representations)**을 학습할 수 있다. 방대한 라벨 데이터에 의존하지 않고 음성 표현을 학습하는 것은, 새로운 언어와 도메인으로의 적용 범위가 빠르게 확장되는 산업 응용 분야에서 특히 중요하다. 각 시나리오를 포괄하는 대규모 라벨링 데이터셋을 수집하는 데 걸리는 시간은 현재 빠르게 움직이는 AI 산업에서 가장 큰 병목 현상이며, 제품 성공에 중요한 **시장 출시 속도(time-to-market)**에 직접적인 영향을 미친다. 또한 문자 기반 표기법이 비표준적인 많은 언어·방언을 포함하는 더 포괄적인 응용 프로그램을 만드는 데도 큰 도움이 된다. 이러한 언어와 방언은 자원이 거의 없거나 전혀 없는 경우가 많다.
**의사 레이블링(pseudo-labeling, PL)**은 자기훈련(self-training)이라고도 불리며 반지도 학습 기법의 일종으로, 1990년대 중반부터 비라벨 음성/오디오 데이터를 활용하는 대표적 접근법이었다 [7–10]. PL은 특정 다운스트림 과제를 위한 지도 학습 데이터로 “교사(teacher)” 모델을 먼저 학습시킨 뒤, 이 모델을 사용하여 비라벨 데이터에 의사 레이블을 생성한다. 이후 지도 데이터와 교사 레이블이 붙은 데이터를 함께 사용해 학생(student) 모델을 학습시키는데, 이때 표준 교차 엔트로피 손실 [9]이나 교사 레이블의 잡음을 고려한 대조 손실 [11]을 사용한다. 교사 레이블의 품질을 점진적으로 개선하기 위해 이 과정을 여러 번 반복할 수도 있다 [12].
의사 레이블링 기법의 큰 성공에도 불구하고, 자기지도 표현 학습은 두 가지 고유한 장점을 제공한다:
-
의사 레이블링은 학생 모델이 교사 모델을 모방하도록 강제하는데, 교사 모델의 한계는 지도 데이터의 크기와 주석 품질에 의해 제약된다. 반면 자기지도 사전 과제는 학습된 잠재 표현에 훨씬 더 많은 정보를 압축하여 입력 신호 전체를 표현하도록 모델을 강제한다.
-
의사 레이블링은 교사 모델이 가진 지도 데이터로 인해 학습이 단일 다운스트림 과제에만 맞춰지는 반면, 자기지도 표현은 더 다양한 응용 과제에 **범용적 일반화(generalization)**를 보인다.
자기지도 학습은 컴퓨터 비전(CV) [13–15]과 자연어 처리(NLP) [16–18]에서도 놀라운 성공을 거두고 있다. NLP처럼 이산적(discrete) 입력 시퀀스를 다루는 경우, 부분적으로 가려진 입력 시퀀스를 마스킹 예측(masked prediction) [19,20] 또는 자가회귀(auto-regressive) 생성 [18,21]을 통해 학습한다. 반면, CV처럼 연속적(continuous) 입력을 다루는 경우에는 **인스턴스 분류(instance classification)**를 통해 표현을 학습하는 경우가 많으며, 이때 하나의 이미지와 그 증강된 버전을 같은 출력 클래스로 묶거나 [14,15], 다른 샘플과 대조적으로 학습한다 [22].
그러나 음성 신호는 텍스트나 이미지와 달리 연속 값 시퀀스라는 점에서 CV와 NLP와는 다른 고유한 도전 과제를 가진다. 음성 인식 영역에서의 자기지도 학습은 다음의 어려움에 직면한다:
-
입력 발화에는 여러 음향 단위가 존재하므로, 많은 CV 사전학습 접근법에서 사용하는 인스턴스 분류 가정이 깨진다.
-
사전학습 동안 NLP처럼 단어 또는 서브워드 단위로 정의된 이산 음향 단위의 사전이 없으므로, 예측 손실을 적용하기 어렵다.
-
음향 단위의 경계(boundary)가 알려져 있지 않아 마스킹 예측 사전학습을 복잡하게 만든다.
이 논문에서는 이러한 문제를 해결하기 위해 **Hidden-Unit BERT (HuBERT)**를 제안한다. HuBERT는 오프라인 클러스터링을 통해 노이즈가 섞인 레이블을 생성하고, BERT 스타일 사전학습을 수행한다.
- 구체적으로, BERT 모델은 마스킹된 연속 음성 특징을 입력받아 사전에 할당된 클러스터를 예측한다.
- 이때 예측 손실은 마스킹된 부분에만 적용되며, 모델이 비마스킹 입력의 고수준 표현을 잘 학습하여 마스킹된 부분을 정확히 추론하도록 유도한다.
- 직관적으로, HuBERT는 연속 입력으로부터 동시에 **음향 모델(acoustic model)**과 **언어 모델(language model)**을 학습하는 셈이다.
이때 중요한 통찰은, 정답 여부보다는 **타깃의 일관성(consistency)**이 모델이 입력 데이터의 순차적 구조를 학습하는 데 핵심적이라는 점이다. HuBERT는 자기지도 비전 학습을 위한 DeepCluster [23] 방법에서 영감을 얻었으나, 음성 시퀀스의 마스킹 예측 손실을 활용해 순차적 구조를 더 효과적으로 표현한다.
HuBERT를 LibriSpeech 960시간 [24] 또는 Libri-Light 60,000시간 [25] 데이터로 사전학습했을 때, 모든 파인튜닝 조건(10분, 1시간, 10시간, 100시간, 960시간)에서 최첨단 wav2vec 2.0 [6]의 성능을 같거나 능가하였다. 우리는 BASE (9천만 매개변수), LARGE (3억), X-LARGE (10억) 세 가지 모델 크기로 HuBERT의 체계적 결과를 제시한다. 특히 X-LARGE 모델은 Libri-Light 60k 시간 데이터에서 사전학습 시, dev-other와 test-other 평가 세트에서 LARGE 모델 대비 각각 상대적 WER 19%, 13% 감소를 보였다.
II. METHOD
2.A. HuBERT를 위한 숨겨진 단위 학습 (Learning the Hidden Units for HuBERT)
텍스트–음성 쌍 데이터에 대해 학습된 음향 모델은, 반지도 학습에서 강제 정렬(forced alignment)을 통해 각 프레임에 의사-음소(pseudo-phonetic) 레이블을 제공할 수 있다.
- CTC을 사용해서 학습할 수 있다는 의미일듯
그럼에도 불구하고, k-means나 가우시안 혼합 모델(GMM)과 같은 단순한 이산 잠재 변수 모델은 실제 기저에 존재하는 음향 단위와 **비자명한 상관관계(non-trivial correlation)**를 가지는 숨겨진 단위를 추론할 수 있음이 알려져 있다 [26] (Table V 참조).
- 클러스터 품질이 좋아질수록 (PNMI↑), HuBERT 학습 결과 WER이 낮아진다는 것을 보여줍니다.
더 발전된 시스템은 더 정교한 그래픽 모델 [27,28]을 사용하거나, 더 강력한 신경망 모델 [29–33]로 분포를 매개변수화하여 더 나은 음향 단위 발견 성능을 달성할 수 있다.
이러한 점에 착안해, 우리는 음향 단위 발견(acoustic unit discovery) 모델을 이용하여 프레임 단위의 타깃을 제공하는 방법을 제안한다.
발화 (길이 T 프레임)이라 하자. 발견된 숨겨진 단위는 로 나타내며, 여기서 는 C개의 범주(class)를 가진 이산 변수이고, 는 클러스터링 모델(예: k-means)이다.
원문에 나온 **그림 1 (Fig. 1)**에서는, HuBERT가 CNN 인코더와 Transformer를 통해 마스킹된 프레임()의 **클러스터 할당값(cluster assignments)**을 예측하는 과정을 보여줍니다.
- wav2vec 2.0이랑 유사한거 같은데, qunatization을 k-means MFCC로 대체하는 것인가?
- 그림만보면 MFCC로 벡터뽑고, 이를 k-means 클러스팅 (개수=CNN encoder로 출력한 토큰 개수)로 묶어서 학습하는것처럼 보임
B. Representation Learning via Masked Prediction
길이 인 시퀀스 에서 마스킹할 인덱스의 집합을 라고 하자. 또한 에서 인 위치의 를 마스크 임베딩 로 치환한 손상(corrupted) 버전을 이라 하자.
마스크 예측 모델 는 입력 를 받아 매 시점마다 목표 인덱스에 대한 분포 를 예측한다. 마스크 예측에는 두 가지 결정 사항이 있다: 어떻게 마스크를 생성할 것인가와 예측 손실을 어디에 적용할 것인가이다.
첫 번째 결정과 관련해, 우리는 마스크 생성에 대해 SpanBERT [34]와 wav2vec 2.0 [6]에서 사용된 동일한 전략을 따른다. 즉, 전체 시점의 를 무작위로 시작 인덱스로 선택하고, 길이 의 구간(span)을 마스킹한다. 두 번째 결정을 다루기 위해, 마스크된 시점과 비마스크된 시점에서 각각 계산된 교차 엔트로피 손실을 과 로 표기한다. 은 다음과 같이 정의된다:
도 동일한 형태이되, 합은 에 대해 계산된다. 최종 손실은 두 항의 가중합으로 계산된다:
극단적인 경우 이면, 손실은 비마스크된 시점들에 대해 계산되며, 이는 하이브리드 음성 인식 시스템에서의 음향 모델링과 유사하다 [35]–[38]. 우리의 설정에서는, 이것이 학습 과정을 클러스터링 모델을 모사하는 데로 제한하게 된다.
다른 극단적인 경우 이면, 손실은 오직 마스크된 시점들에 대해서만 계산되며, 이때 모델은 문맥으로부터 관측되지 않은 프레임에 대응하는 타깃을 예측해야 한다. 이는 언어 모델링에 상응한다. 이 설정은 모델이 비마스크 구간의 음향 표현을 학습하는 동시에, 음성 데이터의 장기 시간 구조를 포착하도록 강제한다. 우리는 인 설정이 클러스터 타깃의 품질에 더 탄력적이라 가정하며, 이는 우리의 실험에서 입증된다(표 V 참조).
- Lu는 마스킹 토큰에 대한 loss, Lm은 비마스킹 토큰에 대한 loss이고 이것을 가중합을 더한게 최종 Loss
- BERT같은데서는 Lm이 쓰이진 않긴함
C. 클러스터 앙상블을 통한 학습
타깃의 품질을 향상시키는 간단한 아이디어는 여러 개의 클러스터링 모델을 활용하는 것이다. 개별 클러스터링 모델의 성능이 형편없을 수 있지만, 클러스터 앙상블은 표현 학습을 돕는 상보적 정보를 제공할 수 있다.
- 예를 들어, 서로 다른 코드북 크기를 가진 k-means 모델들의 앙상블은 조음 방식(모음/자음)과 같은 거친 수준에서부터 서폰(sub-phone) 상태(세논; senones)와 같은 미세 수준에 이르기까지 다양한 세분도의 타깃을 만들어낼 수 있다.
제안된 프레임워크를 확장하기 위해, 번째 클러스터링 모델이 생성한 타깃 시퀀스를 로 두자. 그러면 을 다음과 같이 다시 쓸 수 있다:
- 식 (1)이랑 똑같은데, 클러스터링 모델이 여러 개가 되면서 summation이 생긴식
비마스크된 손실 도 동일한 방식으로 정의된다. 이는 비지도 클러스터링에 의해 생성된 “작업(task)”들을 사용하는 점을 제외하면 다중 작업 학습과 유사하다.
덧붙여, 앙상블은 제품 양자화(Product Quantization; PQ) [39]와 함께 사용할 수 있다는 점에서도 흥미롭다. PQ에서는 특징 공간을 여러 하위공간으로 분할하고 각 하위공간을 별도로 양자화한다. 이 방법은 하위공간들 사이의 스케일이 크게 다른 이질적 특징이나 고차원 특징들에 대해, k-means와 같은 유클리드 거리 기반 양자화를 효과적으로 가능하게 한다. 이 경우, 타깃 공간의 이론적 크기는 모든 코드북 크기의 곱이 된다.
D. 클러스터 할당의 반복적 정제 (Iterative Refinement of Cluster Assignments)
클러스터 앙상블을 사용하는 것 외에도, 표현을 개선하기 위한 또 다른 방향은 학습 과정 전반에서 클러스터 할당을 반복적으로 정제(refine)하는 것이다.
- 우리는 사전 학습된(pre-trained) 모델이 MFCC와 같은 원시 음향 특징보다 더 나은 표현을 제공할 것이라 기대한다.
- 따라서 학습된 잠재 표현 위에 새로운 이산(latent discrete) 모델을 훈련시켜 새로운 세대의 클러스터를 만들 수 있다.
- 그러면 학습 과정은 새롭게 발견된 단위를 사용하여 계속 진행된다.
E. 구현 (Implementation)
우리의 사전 학습(pre-trained) 모델은 wav2vec 2.0 아키텍처 [6]를 따른다. 이 구조는 합성곱 기반 파형 인코더(convolutional waveform encoder), BERT 인코더 [19], 투영(projection) 층, 코드 임베딩 층으로 구성된다.
우리는 HuBERT를 세 가지 다른 설정으로 고려한다: BASE, LARGE, X-LARGE. 앞의 두 가지는 wav2vec 2.0 BASE와 LARGE 아키텍처를 밀접하게 따른다. X-LARGE 아키텍처는 모델 크기를 약 10억 개의 파라미터로 확장하는데, 이는 [40]에서 제시된 Conformer XXL 모델 크기와 유사하다.
모든 설정에서 파형 인코더는 동일하며, 7개의 512채널 층으로 이루어져 있고, stride는 [5, 2, 2, 2, 2, 2, 2], 커널 너비는 [10, 3, 3, 3, 3, 2, 2]이다. BERT 인코더는 동일한 Transformer 블록들로 구성되며, 이들의 파라미터와 그 뒤에 오는 투영 층의 파라미터는 표 I에 요약되어 있다.
합성곱 파형 인코더는 16kHz로 샘플링된 오디오를 입력받아 20ms 프레임율로 특징 시퀀스를 생성한다 (CNN 인코더 다운샘플링 비율은 320배). 이후 오디오 특징은 섹션 II-B에서 설명한 방식대로 무작위 마스킹된다.
BERT 인코더는 마스킹된 시퀀스를 입력받아 출력 특징 시퀀스 를 생성한다.
- 따라서 projection layer는 Transformer 출력 → codebook 공간으로 매핑하는 역할임
코드워드 분포는 다음과 같이 매개변수화된다:
여기서
-
는 투영 행렬,
-
는 코드워드 의 임베딩,
-
은 두 벡터의 코사인 유사도,
-
는 logit 스케일링 파라미터(0.1로 설정).
클러스터 앙상블을 사용할 경우, 클러스터링 모델 마다 하나의 투영 행렬 가 적용된다.
HuBERT 사전 학습이 끝난 뒤에는, 전체 모델(합성곱 오디오 인코더 제외)에 대해 CTC(Connectionist Temporal Classification) [41] 손실을 사용해 ASR 파인튜닝을 진행한다. 합성곱 오디오 인코더는 고정(frozen)되며, 투영 층은 제거되고 무작위 초기화된 softmax 층으로 대체된다.
CTC 타깃 어휘에는 26개의 영어 알파벳, 공백 문자, 아포스트로피, 그리고 CTC의 특별한 blank 기호가 포함된다.
III. 관련 연구
우리는 자기지도 음성 표현 학습에 관한 최근 연구를 훈련 목표에 따라 분류하여 논의한다. 가장 초기의 연구 흐름은 잠재 변수를 지닌 음성 생성 모델을 가정하여 표현을 학습하며, 이 잠재 변수들이 관련 음소 정보를 포착한다고 본다. 이러한 모델의 학습은 (모수) 우도 최대화에 해당한다. 연속형 [29], 이산형 [31], [42], 또는 순차적 [28], [30], [32], [33], [43]인 다양한 잠재 구조가 이러한 가정을 인코딩하는 데 적용되어 왔다.
예측 기반(self-supervised) 학습은 최근 큰 관심을 받고 있는데, 여기서는 모델이 보이지 않는 영역의 내용을 예측하도록 하거나[4], [44]–[50], 대상이 되는 보이지 않는 프레임을 무작위로 샘플링한 프레임들과 대조하도록 한다[1]–[3], [6]. 일부 모델은 예측 손실과 대조 손실을 결합한다[5], [51]. 이러한 목표들은 보통 상호정보량을 최대화하는 것으로 해석될 수 있다[52]. 이 범주들에 속하지 않는 다른 목표도 존재한다(예: [53]).
본 연구는 DiscreteBERT[51]와 가장 관련이 깊다. HuBERT와 DiscreteBERT는 모두 마스킹된 영역의 이산 목표값을 예측한다. 그러나 몇 가지 중요한 차이가 있다. 첫째, DiscreteBERT가 양자화된 단위를 입력으로 사용하는 것과 달리, HuBERT는 가능한 한 많은 정보를 트랜스포머 계층으로 전달하기 위해 원시 파형을 입력으로 사용한다. 이는 [6]에서 중요함이 보여졌다. 더 나아가, 실험에서 우리는 단순한 k-평균(k-means) 목표만으로도 vq-wav2vec[5]으로 학습된 단위를 사용하는 DiscreteBERT보다 더 나은 성능을 달성할 수 있음을 보인다. 둘째, DiscreteBERT가 단일 고정 교사(teacher)를 사용하는 것과 달리, 우리는 교사 품질을 개선하기 위한 여러 기법을 제시한다.
HuBERT는 wav2vec 2.0[6]과도 관련이 있다. 그러나 후자는 어디에서 음수(negative) 프레임을 샘플링할지에 대한 세심한 설계가 필요한 대조 손실을 사용하고, 이산 단위 사용을 장려하기 위한 보조 다양성 손실을 도입하며, 적절한 Gumbel-softmax 온도 감소(annealing) 스케줄을 요구한다. 또한, (그림 2의 어블레이션 연구가 시사하듯) 파형 인코더의 출력만을 양자화 대상으로 탐색하는데, 이는 합성곱 인코더의 용량이 제한적이기 때문에 양자화에 최적의 특징일 필요는 없다. 구체적으로, 우리가 제안하는 방법은 음향 단위 발견 단계를 마스킹 예측 기반 표현 학습 단계와 분리함으로써 보다 직접적인 예측 손실을 채택하며, 다양한 파인튜닝 규모에서 최첨단인 wav2vec 2.0과 비슷하거나 이를 능가하는 결과를 달성한다.
마지막으로, 목표 레이블을 반복적으로 정제(iterative refinement)하는 아이디어는 반지도 ASR을 위한 반복적 의사 레이블링(iterative pseudo labeling)[12], [54]과 유사하다. 그 방법은 시간이 지남에 따라 개선되는 학생 모델을 활용해 다음 학습 반복을 위한 더 나은 의사 레이블을 생성한다. HuBERT 접근법은 이러한 방법을 마스킹 예측 손실을 사용하는 자기지도 설정으로 확장했다고 볼 수 있다.
IV. 실험 세부사항
A. 데이터
비지도(pre-training) 사전학습에는 LibriSpeech 960시간 오디오 [24] 전체 또는 Libri-light 60,000시간 오디오 [25]를 사용한다. 두 데이터셋 모두 인터넷 자원봉사자들이 저작권이 없는 오디오북을 녹음한 LibriVox 프로젝트에서 파생된 것이다.
지도 학습 기반 파인튜닝(fine-tuning)에는 다섯 가지 분할을 사용한다:
-
Libri-light: 10분, 1시간, 10시간 분할
-
LibriSpeech: 100시간(train-clean-100) 분할
-
LibriSpeech: 960시간(train-clean-100, train-clean-360, train-other-500을 합친 분할)
세 가지 Libri-light 분할은 LibriSpeech 학습 데이터의 부분집합으로, 각각의 분할은 train-clean-* 에서 절반, train-other-500에서 절반의 오디오를 포함한다.
B. 비지도 단위 발견 (Unsupervised Unit Discovery)
제안된 방법이 품질이 낮은 클러스터 할당을 활용할 수 있음을 보이기 위해, 우리는 기본적으로 음향 단위 발견(acoustic unit discovery)에 k-평균(k-means) 알고리즘 [55]을 사용한다. k-평균은 각 음향 단위를 동일한 스칼라 분산을 갖는 등방성 가우시안으로 모델링하는 가장 단순한 단위 발견 모델 중 하나로 간주할 수 있다.
첫 번째 HuBERT 학습 반복에서 레이블을 생성하기 위해, LibriSpeech 960시간 학습 데이터셋의 39차원 MFCC 특징(13개 계수 + 1차, 2차 도함수)에 대해 100개 클러스터로 k-평균을 수행한다.
이후 반복에서 더 나은 목표(targets)를 생성하기 위해, 이전 반복에서 사전학습된(파인튜닝되지 않은) HuBERT 모델의 중간 Transformer 계층 출력에서 특징을 추출하고, 500개 클러스터 k-평균을 수행한다. Transformer 출력의 차원 수(예: BASE 모델의 경우 768차원)가 MFCC보다 훨씬 크기 때문에, 전체 960시간 학습 데이터를 메모리에 올리는 것은 불가능하다. 따라서 우리는 데이터를 무작위로 10% 샘플링하여 k-평균 모델을 학습시킨다.
그래서 몇 epoch or step에서 이렇게 바꿔서 하는것인지?
클러스터링에는 scikit-learn [56]에 구현된 MiniBatchKMeans 알고리즘을 사용하며, 이는 한 번에 소규모 배치의 샘플만 적합시킨다. 여기서 미니배치 크기는 10,000 프레임으로 설정한다. 또한 k-means++ [57] 초기화 기법을 적용하고, 20번의 랜덤 초기화를 통해 더 나은 초기화를 보장한다.
C. 사전학습 (Pre-Training)
우리는 BASE 모델을 LibriSpeech 960시간 오디오로 두 번의 반복(iteration) 학습하였다.
-
사용 장비: 32개 GPU
-
배치 크기: GPU당 최대 87.5초 분량 오디오
-
1차 반복: 250k(25만) 스텝 학습
-
2차 반복: 400k(40만) 스텝 학습 (1차 모델의 6번째 Transformer 계층 출력으로 클러스터링하여 얻은 레이블 사용)
-
속도: 100k 스텝 학습에 약 9.5시간 소요
그 다음, 우리는 HuBERT LARGE와 X-LARGE 모델을 Libri-light 60,000시간 오디오로 각각 한 번의 반복 학습하였다.
-
사용 장비: LARGE는 128개 GPU, X-LARGE는 256개 GPU
-
학습 스텝: 400k(40만) 스텝
-
배치 크기: GPU당 56.25초 (LARGE), 22.5초 (X-LARGE) — 메모리 제한 때문에 감소시킴
여기서 MFCC에서 다시 시작하지 않고, BASE 2차 반복 모델의 9번째 Transformer 계층 출력을 클러스터링하여 얻은 레이블을 사용하였다. 따라서 LARGE와 X-LARGE 모델은 사실상 3차 반복 모델로 볼 수 있다.
마스킹 설정:
-
마스크 길이(span)
-
파형 인코더 출력 프레임의 를 무작위로 선택하여 마스크 시작점으로 설정
최적화(Optimizer):
-
Adam [58],
-
학습률 스케줄:
-
전체 스텝의 첫 8% 동안 0에서 최대 학습률까지 선형 증가
-
이후 0까지 선형 감소
-
-
최대 학습률(peak learning rate):
-
BASE:
-
LARGE:
-
X-LARGE:
-
D. 지도 파인튜닝 및 디코딩 (Supervised Fine-Tuning and Decoding)
각 모델을 **라벨이 있는 데이터 분할(섹션 IV-A 참고)**에서 8개 GPU로 파인튜닝하였다.
-
GPU당 배치 크기:
-
BASE: 최대 200초 분량 오디오
-
LARGE: 최대 80초 분량 오디오
-
X-LARGE: 최대 40초 분량 오디오
-
파인튜닝 중에는 **합성곱 기반 파형 인코더의 파라미터는 고정(freeze)**한다. wav2vec 2.0과 마찬가지로, 우리는 freeze-step 하이퍼파라미터를 도입하여 Transformer 파라미터를 고정하는 학습 단계를 제어하고, 이 단계 동안은 새로 초기화된 소프트맥스 행렬만 학습한다.
하이퍼파라미터 탐색(sweep)은 다음 항목들에 대해 수행되었다:
-
최대 학습률(peak LR):
-
학습률 스케줄 (선형 증가 및 감소 비율)
-
파인튜닝 스텝 수
-
freeze step
-
파형 인코더 출력 마스킹 확률
모델 선택 기준은 **개발(dev-other) 셋에서의 단어 오류율(WER)**이다.
디코딩은 wav2letter++ [59] 빔 서치 디코더를 Fairseq [60]에 통합해 사용하며, 언어 모델( LM )과 결합하여 다음 목표를 최적화한다:
-
: 예측된 텍스트
-
: 텍스트 길이
-
: 언어 모델 가중치
-
: 단어 길이 보정(word score)
디코딩 하이퍼파라미터는 베이지안 최적화 툴킷 Ax를 사용해 탐색하였다.
본 연구에서는 n-그램 언어 모델과 Transformer 기반 언어 모델 모두를 사용했으며, 이들은 공식 LibriSpeech 언어 모델링 데이터로 학습되었다.
- 언어모델을 학습시키는데, 이는 LibriSpeech 텍스트코퍼스로 학습시킨다.
- wav2vec랑 똑같은거 같은데?
- 모델 출력: 26개 알파벳 + 공백(space) + 아포스트로피 + CTC blank.
- 예) h e - l l o가 나왔다고하자
- 1) 여기서 CTC 확률 (토큰 생성확률)을 계산함
- 이거를 CTC collapse을 하여 문장을 만듬
- h e - l l o --> helo
- 2) helo(문장)에 대한 언어 모델 점수
- 3) 길이 보정 점수
- 식 4)
- 1,2,3)점수를 더해서 최종 문장을 선택하는 구조인듯
E. 목표(target) 품질 측정 지표
분석을 위해, 우리는 하이브리드 ASR 시스템을 이용해 프레임 단위의 강제정렬(forced-aligned) 음소 전사(phonetic transcripts)를 얻어, k-means 클러스터 할당과 실제 음소 단위 간의 상관관계를 측정한다.
학습에 사용했던 k-means가 실제 음소랑 얼마나 일치가 되는가를 판단해보자!
주어진 프레임 단위 음소 레이블 과 k-means 레이블 로부터, 두 변수의 결합 분포 는 발생 빈도를 세어 다음과 같이 추정된다:
여기서 는 음소 클래스, 는 k-means 클래스 레이블을 의미한다.
한편, 주변확률은 다음과 같이 계산된다:
각 음소 클래스 에 대해, 가장 가능성 높은 타깃 레이블은 다음과 같다:
마찬가지로, 각 k-means 클래스 에 대해 가장 가능성 높은 음소 레이블은:
이를 바탕으로 세 가지 지표를 정의한다:
1) 음소 순도 (Phone Purity, Phn Pur.)
-
한 클래스 내부의 평균적인 음소 순도를 측정한다.
-
각 k-means 클래스를 그에 해당하는 대표 음소로 전사했을 때의 프레임 단위 음소 정확도로 해석할 수 있다.
-
같은 단위 수일 때는 값이 높을수록 품질이 좋음을 의미한다.
-
하지만 단위 수가 다를 경우에는 비교가 무의미할 수 있다. (예: 각 프레임마다 다른 레이블이면 순도는 100%)
2) 클러스터 순도 (Cluster Purity, Cls Pur.)
-
음소가 주어졌을 때 k-means 레이블의 일관성을 측정한다.
-
단위 수가 많아질수록 일반적으로 값이 감소한다.
-
같은 단위 수라면 값이 높을수록 품질이 좋음을 의미한다.
3) 음소 정규화 상호정보량 (Phone-Normalized Mutual Information, PNMI)
-
정보 이론적 측도로, k-means 레이블 를 관찰했을 때 음소 레이블 의 불확실성이 얼마나 줄어드는지를 측정한다.
-
값이 클수록 더 나은 클러스터링 품질을 의미한다.
좋아, 아주 천천히 풀어서 설명해볼게요. 이 절에서 하고 싶은 일은 **“k-means로 만든 프레임 단위 타깃(=클러스터 레이블)이 실제 음소(phoneme)와 얼마나 잘 맞는지”**를 수치로 평가하는 거예요. 그래서 세 가지 지표(Phone Purity, Cluster Purity, PNMI)를 정의하고 씁니다. 먼저 “무엇을 비교하나?”부터 차근차근 가요.
0) 무엇을 비교하나?
-
한 음성 프레임마다 두 개의 라벨이 있다고 생각하세요.
-
실제 음소 라벨 : 강제정렬(Forced alignment)로 얻은 진짜 음소(예: /a/, /b/ …).
-
k-means 라벨 : 비지도 클러스터링으로 붙인 번호(예: 1, 2, …, C).
-
-
목표: “이 둘이 얼마나 일치하는지”를 통계적으로 측정. 논문은 이를 위해 강제정렬 음소 전사를 만들고, k-means 레이블과의 상관을 봅니다.
1) 기본 확률값 만들기 (공동/주변 분포)
프레임별 짝 들을 세어 공동분포 를 만듭니다.
쉽게 말해, “음소가 이고 클러스터가 인 프레임 비율”이에요.
여기서 는 프레임 총수예요. 이걸로부터 주변분포
, 도 얻습니다.
또, “각 음소 와 가장 잘 맞는 클러스터”와 “각 클러스터 와 가장 잘 맞는 음소”를 다음처럼 정해둡니다:
2) 세 가지 지표
(a) Phone Purity (Phn Pur.)
아이디어: “클러스터 하나를 그 ‘가장 잘 맞는 음소’로 번역한다고 가정하면, 프레임 기준 정확도는 얼마일까?”
= 각 클러스터 에서 다수 음소가 차지하는 비율을 구해 평균낸 값.
같은 “클러스터 개수”끼리 비교할 땐 값이 클수록 좋고, 클러스터 수가 다르면 단순 비교는 주의(극단적으로 “프레임마다 전부 다른 클러스터면 100%가 될 수 있음”).
(b) Cluster Purity (Cls Pur.)
아이디어: “음소 하나를 그 ‘가장 잘 맞는 클러스터’로 보낸다고 가정하면, 프레임 기준 일관성은 얼마일까?”
= 각 음소 가 “자기 대표 클러스터”에 얼마나 잘 모여 있는지의 평균.
클러스터 수가 많아질수록 보통 값이 내려가지만, 같은 수끼리 비교하면 높을수록 품질이 좋아요.
(c) PNMI (Phone-Normalized Mutual Information)
상호정보량으로 “클러스터 라벨을 알면 음소 라벨의 불확실성이 얼마나 줄었나?”를 비율로 측정:
값이 클수록, 가 를 잘 설명(=좋은 클러스터링)한다는 뜻입니다. PNMI는 “Phone-Normalized Mutual Information”의 약자예요.
3) 진짜 감으로 이해하는 작은 예시
두 음소 /a/, **/b/**와 두 클러스터 c1, c2가 있다고 해볼게요(총 100 프레임).
-
c1에: /a/ 40프레임, /b/ 5프레임 →
-
c2에: /a/ 10프레임, /b/ 45프레임 →
이때
-
, .
-
(c1에서 다수 음소), .
-
, .
계산해보면
-
Phone Purity
=
(각 클러스터의 다수 음소 비율을 가중 평균) -
Cluster Purity
=
(각 음소가 대표 클러스터에 들어간 비율의 평균) -
PNMI도 높은 편(정확 계산은 로그 합산이 필요하지만, 직관적으로 서로 잘 맞으니 큼).
즉, “대부분의 /a/는 c1로, /b/는 c2로 잘 모여 있다” → 세 지표가 모두 높게 나옵니다.
4) 이 지표들을 어떻게 쓰나?
논문은 이 세 지표로 교사(=클러스터 타깃) 품질을 비교하고, 어떤 층의 피처로 k-means를 돌리면 좋은지 등을 분석합니다. 그림 2(7쪽)에는 층/반복별로 Cluster Purity, Phone Purity, PNMI 곡선이 그려져 있어요(교사 품질이 어떻게 달라지는지 시각화).
V. RESULTS
알겠어. V. RESULTS – A. Main Results: Low- and High-Resource Setups를 핵심만, 하지만 빠짐없이 정리해줄게.
저자원(10분/1시간/10시간/100시간) 세팅: 핵심 포인트
-
설정: 사전학습 모델을 10분, 1시간, 10시간, 100시간의 라벨 데이터로 파인튜닝해 비교(반지도(ipl, slimipl, noisy student)와 자가지도(DeCoAR 2.0, DiscreteBERT, wav2vec 2.0) 포함).
-
스케일링 효과: 비라벨(언라벨) 데이터가 많을수록, 모델이 클수록 성능 향상 → HuBERT의 확장성 입증.
-
초저자원(라벨 10분):
-
HuBERT LARGE: test-clean 4.7%, test-other 7.6% (동시기 SOTA인 wav2vec 2.0 LARGE보다 각각 0.1%p, 0.6%p 낮음).
-
1B 파라미터로 키운 HuBERT X-LARGE: test-clean 4.6%, test-other **6.8%**로 추가 개선.
-
-
전 구간 우세 + 예외: 라벨 데이터 양이 달라져도 전반적으로 HuBERT가 우세. 다만 100시간 세팅에서만 예외적으로
-
HuBERT LARGE가 test-clean에서 wav2vec 2.0 LARGE보다 0.1%p 높음,
-
HuBERT BASE가 test-other에서 wav2vec 2.0 BASE보다 0.1%p 높음(=약간 열세).
-
-
DiscreteBERT 대비 큰 격차: 두 방법 모두 “마스크된 구간의 이산 단위 예측”이라는 거의 동일한 목적함수지만, HuBERT가 전 설정에서 큰 폭으로 앞섬. 저자들은 그 이유로
-
원시 파형 입력 사용(양자화 전 손실 최소화),
-
**반복적 정제(Iterative refinement)**로 k-means 단위 품질이 점진 개선됨
을 제시.
-
고자원(라벨 960시간) 세팅: 핵심 포인트
-
비교 틀: 선행연구를 (1) 순수 지도(Supervised), (2) Self-training, (3) Pre-training, (4) Pre-training + Self-training의 네 범주로 정리해 성능 비교.
-
HuBERT의 위치:
-
지도/셀프트레이닝 단독 계열보다 우수,
-
사전학습(Pre-training) 단독 계열의 **최상위(wav2vec 2.0 기반)**와는 대등한 수준.
-
다만 사전학습+셀프트레이닝을 결합한 최신법에는 다소 뒤처짐. 저자들은 HuBERT도 self-training을 결합하면 동급 이상으로 도달할 것으로 전망.
-
-
수치 한눈에: 960h 전량 파인튜닝 시 HuBERT X-LARGE는 dev-other 2.5%, test-other 2.9% WER에 도달(동 테이블 상단의 비교 항목들과 대등/우세한 구간 다수).
정리(메시지)
-
스케일이 답: 언라벨 데이터와 모델 크기를 키우면 HuBERT는 꾸준히 좋아진다(저자원에서 특히 강함).
-
실전 경쟁력: 저자원 전반에서 wav2vec 2.0을 자주 앞서고, 960h에서도 사전학습 단독 계열의 최상위와 어깨를 나란히 함.
-
설계 인사이트: 파형 입력 + 반복적 정제 전략이 DiscreteBERT 대비 큰 격차를 만든 핵심.
좋습니다 👍
그럼 V.A. Main Results에 나오는 **Table II (저자원 세팅)**과 **Table III (고자원 세팅)**을 하나씩 풀어 설명해드릴게요.
📊 Table II – 저자원 세팅 (10분, 1h, 10h, 100h 라벨)
내용: 라벨이 극도로 적을 때(저자원) 다양한 방법 비교.
컬럼: 모델 이름 / 사전학습 데이터 / 언어모델 유형(LM) / dev-clean / dev-other / test-clean / test-other WER
1. 비교되는 방법들
-
DiscreteBERT [51]: MFCC → vq-wav2vec 단위 학습 후 BERT.
-
wav2vec 2.0: 기존 SOTA. BASE (96M) / LARGE (317M).
-
HuBERT: BASE / LARGE / X-LARGE (1B).
-
DeCoAR 2.0, SlimIPL, Noisy Student: 반지도/자가지도 기법.
2. 관찰 포인트
-
10분 라벨
-
DiscreteBERT: test-other 25.2% WER → 매우 높음.
-
wav2vec2.0 LARGE (LL-60k, Transformer LM): test-other 8.2%.
-
HuBERT LARGE: test-other 7.6% → wav2vec 2.0보다 0.6%p 낮음.
-
HuBERT X-LARGE: test-other 6.8% → 가장 낮음.
-
-
1시간 라벨
-
wav2vec2.0 LARGE: test-other 5.8%.
-
HuBERT LARGE: test-other 5.4%.
-
HuBERT X-LARGE: test-other 4.8%.
-
-
10시간 라벨
-
wav2vec2.0 LARGE: test-other 4.9%.
-
HuBERT LARGE: test-other 4.6%.
-
HuBERT X-LARGE: test-other 4.0%.
-
-
100시간 라벨
-
wav2vec2.0 LARGE: test-other 4.0%.
-
HuBERT LARGE: test-other 3.9%.
-
HuBERT X-LARGE: test-other 3.5%.
-
3. 결론
-
HuBERT가 DiscreteBERT를 압도 (같은 마스크 예측 구조인데 성능 격차 큼).
-
HuBERT vs wav2vec2.0: 거의 모든 세팅에서 HuBERT가 근소하게 앞섬.
-
스케일링 효과 뚜렷: 10분 라벨만 있어도 X-LARGE 모델은 test-other 6.8%까지 낮춤.
📊 Table III – 고자원 세팅 (960시간 라벨)
내용: 라벨이 풍부할 때(고자원) HuBERT 성능을 기존 방법들과 비교.
컬럼: 모델 / 사전학습 데이터 / LM / dev-clean / dev-other / test-clean / test-other
1. 비교되는 범주
-
Supervised (지도학습 전용)
-
Conformer L: test-other 3.9%
-
-
Self-Training (반지도 학습)
-
IPL, Noisy Student → test-other 3.4~4.0%
-
-
Pre-Training (자가지도 사전학습 후 파인튜닝)
-
wav2vec2.0 LARGE (LL-60k): test-other 3.3%
-
Pre-trained Conformer XXL: test-other 3.1%
-
-
Pre-Training + Self-Training (혼합)
-
wav2vec2.0 + self-training: test-other 3.1%
-
Conformer XXL + Noisy Student: test-other 2.6% → 최고 성능
-
-
This work (HuBERT)
-
HuBERT LARGE: test-other 3.3%
-
HuBERT X-LARGE: test-other 2.9%
-
2. 관찰 포인트
-
HuBERT LARGE: wav2vec2.0 LARGE와 거의 동급(둘 다 test-other ~3.3%).
-
HuBERT X-LARGE: test-other 2.9%로 순수 Pre-training 계열 중 최상위.
-
하지만 Pre-training + Self-training 계열(2.6~3.1%)보다는 아직 뒤처짐.
3. 결론
-
순수 사전학습 계열에서는 HuBERT가 wav2vec 2.0과 동등하거나 더 좋음.
-
Self-training과 결합한 최신법(예: wav2vec2.0 + self-training, Noisy Student)에는 다소 뒤지지만, 저자들은 HuBERT도 결합하면 충분히 따라잡을 수 있다고 봄.
✅ 정리
-
Table II (저자원): HuBERT가 wav2vec2.0과 DiscreteBERT를 대부분 능가, 특히 극저자원(10분~1h)에서 강력.
-
Table III (고자원): HuBERT X-LARGE는 사전학습 계열 최상위, 하지만 self-training 결합법에는 약간 열세.
좋습니다 👍 이제 **나머지 표(Table IV–VII)**와 그림 2, 3에 대해서 차근차근 설명드릴게요.
📊 Table IV – K-means 안정성 분석
내용: k-means 클러스터링이 얼마나 안정적인가?
-
비교 대상:
-
특징(feature): MFCC(39차원) vs HuBERT BASE 1차 반복 6번째 층 출력 (768차원).
-
클러스터 개수(K): 100, 500.
-
학습 데이터 크기: 1h, 10h, 100h.
-
-
평가 지표: PNMI (phone-normalized mutual information) 평균±표준편차.
핵심 결과:
-
MFCC 기반: PNMI ≈ 0.25~0.28 → 낮고 변화 없음.
-
HuBERT 특성 기반: PNMI ≈ 0.56~0.69 → 훨씬 높음.
-
데이터 크기 늘려도 PNMI 개선폭은 미미(0.012 이하).
➡️ 결론: HuBERT latent features가 훨씬 더 좋은 클러스터링을 가능하게 하고, k-means는 비교적 안정적.
📊 Table V – 학습 목표/클러스터 품질 영향
내용: “Masked frame만 예측할까, 아니면 모든 프레임을 예측할까(α 값)” + 교사 품질 차이(Chenone vs k-means MFCC vs HuBERT feature).
-
α=1.0: 마스크된 프레임만 예측 (HuBERT 방식).
-
α=0.5: 마스크/비마스크 섞어서 예측.
-
α=0.0: 비마스크 프레임만 예측 (클러스터 흉내내기).
결과:
-
MFCC 기반 k-means (품질 낮음): α=1.0일 때 성능 최상 (WER 최소).
-
HuBERT feature 기반 k-means (품질 좋음): α=1.0, 0.5 모두 비슷, 성능 양호.
-
Chenone(지도 강제정렬) 기반: 오히려 모든 프레임(α<1) 예측도 잘 됨.
➡️ 결론: 클러스터 품질이 낮을수록 "마스크 프레임만" 예측하는 것이 중요. HuBERT 설계가 이와 잘 맞음.
📊 Table VI – 클러스터 앙상블 효과
내용: 여러 k-means 모델을 합쳐 ensemble 할 때 성능 비교.
-
K-means {50,100}: WER 17.81
-
K-means {50,100,500}: WER 17.56 → 단일 모델보다 개선.
-
Product k-means (스플라이스된 MFCC를 3개 부분으로 나눠 각각 100개):
-
단독 성능은 불안정,
-
세 부분 합친 Product k-means-{0,1,2}-100은 WER 16.73 → 가장 좋음.
-
➡️ 결론: 클러스터 앙상블/조합은 단일 k-means보다 안정적이고 성능도 향상.
📊 Table VII – 학습 스텝 수 영향
내용: 사전학습 스텝 수(100k~800k)에 따른 WER 변화.
-
K=50, 100: 스텝이 늘어날수록 WER 감소.
-
예: K=100, 100k 스텝 → WER 17.86 → 800k 스텝 → 11.68.
-
-
DiscreteBERT [51] 비교: MFCC 기반 13.5k 유닛으로 학습 → WER 26.6 (훨씬 나쁨).
➡️ 결론: 학습 스텝을 늘리면 꾸준히 성능 향상, DiscreteBERT와의 차이는 구조적 우위 때문.
🖼 그림 2 – 층별/반복별 클러스터 품질
-
x축: Transformer 층 (0~12).
-
y축: Cluster Purity, Phone Purity, PNMI.
-
비교: 1차 반복 BASE vs 2차 반복 BASE.
-
클러스터 개수: 100, 500, 1000.
관찰:
-
MFCC보다 HuBERT 특성이 훨씬 좋은 PNMI/순도 제공.
-
1차 모델은 중간층(6층 근처)이 제일 좋음.
-
2차 모델은 층이 깊어질수록 품질이 좋아지는 경향.
➡️ 반복(iteration)을 거듭하며 피처 품질이 개선됨.
🖼 그림 3 – 마스킹 확률 & 배치 크기 영향
-
(왼쪽 그래프) 마스킹 비율 p에 따른 WER 변화.
-
최적: **p=8%**일 때 가장 낮은 WER.
-
-
(오른쪽 그래프) GPU 수를 늘려 배치 크기 증가 → WER 급격히 감소.
➡️ 결론: 마스킹 비율과 대규모 배치 둘 다 중요한 하이퍼파라미터. 대규모 학습이 효과적임.
✅ 최종 요약
-
Table IV: HuBERT 피처 기반 k-means는 MFCC보다 훨씬 품질 좋고 안정적.
-
Table V: 클러스터 품질이 낮으면 마스크 프레임만 예측해야 함.
-
Table VI: 여러 k-means 앙상블이 단일보다 성능 향상.
-
Table VII: 학습 스텝 늘릴수록 성능 향상, DiscreteBERT 대비 우위 명확.
-
그림 2: 반복이 진행될수록, 층이 깊어질수록 더 나은 클러스터링 품질.
-
그림 3: 마스킹 비율 최적은 8%, 배치 크게 키우면 성능 비약적 개선.
VI. 결론
본 논문은 연속 입력의 마스킹된 구간에 대한 k-평균(K-means) 클러스터 할당을 예측하는 데 기반한 음성 표현 학습 접근법인 HuBERT를 제시한다. LibriSpeech 960시간과 Libri-light 60,000시간의 사전학습 설정 모두에서, HuBERT는 10분, 1시간, 10시간, 100시간, 960시간의 모든 파인튜닝 하위 분할에 걸쳐 최첨단 기법들과 동일하거나 이를 능가하는 성능을 보인다. 또한 이전 반복에서 학습된 잠재 표현을 사용해 k-평균 클러스터 할당을 반복적으로 정제함으로써, 학습된 표현의 품질이 크게 향상된다. 마지막으로, HuBERT는 10억(1B) 파라미터 규모의 트랜스포머 모델로도 잘 확장되며, test-other 평가 세트에서 최대 13%의 상대적 WER 감소를 보인다. 향후 연구로 우리는 HuBERT의 학습 절차를 단일 단계로 구성하도록 개선할 계획이다. 더 나아가, 그 표현의 높은 품질을 감안하여, ASR을 넘어서는 다양한 다운스트림 인식 및 생성 과제에 HuBERT 사전학습 표현을 활용하는 방안을 검토할 것이다.
Reference
댓글
댓글 쓰기