본문 바로가기
Linguistic Intelligence/Speech Recognition

[Speech Recognition] wav2vec2

by goatlab 2024. 8. 6.
728x90
반응형
SMALL

wav2vec2

 

wav2vec2 모델은 음성 표현의 자기 지도 학습 (Self-Supervised Learning)을 위한 프레임워크이며, 16kHz 샘플링 음성 오디오에서 대규모 음성 녹음 자료인  960시간의 Librispeech를 통해 사전 훈련되고 미세 조정되었다. 그런 다음, 음성 인식을 위해 감독되는 방식으로 신속하게 미세 조정되거나 다른 어플리케이션을 위한 상위 수준 기능 및 의사 음소 추출기 역할을 할 수 있다.

 

이 모델은 음성 오디오만으로 강력한 표현을 학습한 후 전사된 (transcribed) 음성을 미세 조정하는 것이 개념적으로 더 간단하면서도 최상의 준지도 (semi-supervised) 방법보다 성능이 뛰어날 수 있음을 처음으로 보여준다. wav2vec2 잠재 공간 (latent space)에서 음성 입력을 마스크하고 공동으로 학습된 잠재 표현 (latent representations)의 양자화 (quantization)에 대해 정의된 대조 작업 (contrastive task)을 해결한다. Librispeech의 모든 라벨링된 데이터를 사용한 실험은 clean 및 기타 테스트 세트에서 1.8/3.3 WER을 달성했다. 레이블이 지정된 데이터의 양을 1시간으로 줄이면 wav2vec2은 100배 적은 레이블이 있는 데이터를 사용하면서 100시간 하위 집합에서 이전 기술 수준보다 성능이 뛰어나다. 단 10분간의 레이블이 지정된 데이터를 사용하고 53,000시간의 레이블이 없는 데이터에 대한 사전 학습을 통해 여전히 4.8/8.2 WER을 달성한다. 이는 제한된 양의 레이블이 지정된 데이터를 사용하여 음성 인식의 타당성을 보여준다.

 

모델 구조

 

 

모델은 원시 파형 (raw waveforms)을 입력으로 사용다. fully convolutional 특징 추출기 (feature extractor)는 대략 20ms마다 신호의 해상도를 단일 벡터로 줄인다. 대부분의 계산은 모델의 transformer 인코더 부분에서 수행된다. transformer의 출력과 특징 추출기의 양자화된 출력은 대비 손실에 대한 입력 역할을 다. 미세 조정 중에 이 손실은 CTC 손실로 대체되며 양자화는 수행되지 않는다.

 

 

또한, 모델은 인코더에 Hourglass Transformer 아키텍처를 사용한다. 이 아키텍처는 신호의 시간 차원 T를 줄이기 위해 고정 크기 풀링 (fixed-sized pooling)을 사용하므로 self-attention 메커니즘의 O(T²) 비용을 낮춘다.

 

https://github.com/NVIDIA/DeepLearningExamples/tree/master/PyTorch/SpeechRecognition/wav2vec2

 

DeepLearningExamples/PyTorch/SpeechRecognition/wav2vec2 at master · NVIDIA/DeepLearningExamples

State-of-the-Art Deep Learning scripts organized by models - easy to train and deploy with reproducible accuracy and performance on enterprise-grade infrastructure. - NVIDIA/DeepLearningExamples

github.com

 

728x90
반응형
LIST