공부/논문 리뷰
[음성 인식] WAV2VEC: UNSUPERVISED PRE-TRAINING FOR SPEECH RECOGNITION
Moonie'
2023. 4. 27. 01:19
반응형
Abastract
Raw audio representation을 unsupervised로 학습하여 음성 인식을 위한 사전 교육을 제안
- wav2vec은 레이블이 지정되지 않은 많은 양의 오디오 데이터에 대해 학습되며 결과 표현(representations)은 음향 모델 학습을 개선하는 데 사용
- noise contrastive binary classification task를 통하여 간단한 다층 컨볼루션 신경망을 사전학습
2. PRE-TRAINING APPROACH
- 입력으로 오디오 신호가 주어지면 주어진 신호 컨텍스트에서 향후 샘플을 예측하도록 모델을 최적화(1.MODEL 부분)
- 하지만 데이터 분포 p(x)를 정확하게 모델링해야 한다는 요구 사항으로, 이는 어려운 일
- 원시 음성 샘플 x를 더 낮은 시간 주파수에서 특징 표현 z로 인코딩한 다음 밀도 비율 p(zi+k|zi . . . zi−r)/p(zi+k) 를 모델링하여 이 문제를 피함
2.1. MODEL
- 모델은 raw 오디오 신호를 입력으로 받은 다음 두개의 네트워크를 적용
- encoder network는 오디오 신호를 latent space 에 embedding하고 컨텍스트 네트워크는 인코더의 여러 시간 단계를 결합하여 컨텍스트화된 표현을 얻음
- X: audio sample, Z: encoder network C:context netwokr
- Encoder layer는 (10,8,4,4,4) 커널 사이즈 (5,4,2,2,2) 스트라이드를 가짐
- 인코더의 출력은 30ms의 16kHz 오디오를 인코딩하는 low frequency representation zi ∈ Z 이며 10ms 마다 representation zi 의 스트라이딩 결과이다.
- context network는 인코더 네트워크의 출력을 적용하여 multiple latent representation zi를 혼합한다.
ci = g(z_i .... z_i-v) - 컨텍스트 네트워크에는 커널 크기가 3이고 슽라이드가 1인 9개의 레이어가 존재
- 컨텍스트 네트워크의 총 receptive field는 약 210ms 임
- encoder 와 context networs의 계층은 모두 512개 채널, 그룹 정규화 계측 및 ReLU 비선형성이 있는 인과 컨벌루션으로 구성.
- single normalization group을 사용한 그룹(Wu & He,2018)을 사용한 그룹 정규화와 동일한 각 샘플의 기능 및 시간적 차원에 걸쳐 정규화 함.
- 입력의 스케일링 및 오프셋에 invariant(불변) 하는 normalization 방식을 선택
--> 이 선택은 데이터 세트 전체에서 잘 일반화 되는 표현으로 이어짐 - 더 큰 데이터 세트에 대한 학습을 위해 용량이 증가된 모델 ("wav2vec large")를 고려
인코더에서 두 개의 추가 linear transformation을 사용하고 커널 크기가 증가하는(2,3,...,13) 12개 레이어로 구성된 훨씬 더 큰 컨텍스트 네트워크를 포함시킴 - 마지막 context network 층의 총 receptive filed는 이로써 약 810ms 로 증가
2.2 OBJECTIVE
모델을 교육하여 미래의 k 단계에서 샘플 Zi+k 를 proposal distribuion pn에서 추출한 distractor sample z^~와 구별하도록 함. 각 단계 k에 대해 대조 손실(contrastive loss)을 최소화 함.
- sigmoid
- loss
를 최적화 하여 다른 단계 step에 대해 식(1)을 합산
- Zi+k가 참인 샘플
- 실제로 각 오디오 시퀀스에서 distractor를 균일하게 선택하여 음성 예제 10개를 샘플링하여 근사
- 즉 proposal distribution인
T: 시퀀스길이, λ negative 수
- 훈련 후에는, 컨텍스트 네트워크에서 생성한 표현 c_i를 log-mel filterbank features 대신 음향 모델에 입력.
3 EXPERIMENTAL SETUP
3.1 DATA
- TIMIT (Garofolo 등, 1993b)에서의 음소 인식을 위해, 표준 훈련, 개발, 테스트 분할을 사용하며, 훈련 데이터는 약 3시간 이상의 오디오 데이터를 포함.
- 월스트리트저널(WSJ; Garofolo 등, 1993a; Woodland 등, 1994)은 약 81시간의 전사된 오디오 데이터를 포함.
- si284에서 훈련하고, nov93dev에서 검증하고, nov92에서 테스트합니다. Librispeech (Panayotov 등, 2015)는 총 960시간의 클린하고 노이즈가 있는 음성을 훈련용으로 제공.
- 사전 훈련을 위해, WSJ 말뭉치의 전체 81시간, Librispeech의 클린한 부분 집합 80시간, 전체 960시간 Librispeech 훈련 세트 또는 이들의 조합을 사용.
3.2 ACOUSTIC MODELS
- wave2letter++ 툴킷을 사용하여 모델의 훈련과 평가를 진행
- TIMIT 작업에 대해서 7개의 연속적인 convolution 블록(커널 크기 5와 1,000채널)을 사용하고, 그 뒤에 PReLU와 0.7 의 드롭아웃을 사용하는 wav2letter++ 설정을 따름
- 최종 representation은 39차원 음소 probability로 나타남.
- 모델은 SGD 와 momentum을 사용하는 Auto Segmentation Criterion(ASG; Collobert et al., 2016)을 사용하여 학습
- WSJ 벤치마크에 대한 기준은 Collobeert 등 (2019)에 의해 설명된 17층 모델로, 게이트가 있는 컨볼루션 (Dauphin 등, 2017)을 가진 wav2letter++ 설정임
- 이 모델은 표준 영어 알파벳, 아포스트로피와 마침표, 두 개의 반복 문자 (예: ann 이라는 단어는 an1로 전사됨), 그리고 단어 경계로 사용되는 침묵 토큰 (|)을 포함한 31개의 그래피템에(graphemes,문자소- writing system에서 기술하기 위해서 사용되어지는 최소 단위.) 대한 확률을 예측
- 모든 음향 모델은 fairseq와 wav2letter++의 분산 훈련 구현을 사용하여 8개의 NVIDIA V100 GPU에서 학습
- WSJ에 음향 모델을 학습할때에는 그래디언트 클리핑과 함께 학습률 5.6의 일반 SGD를 사용하고, 총 배치 크기가 64개의 오디오 시퀀스인 1,000 에폭 동안 학습 4-gram 언어 모델로 체크포인트를 평가한 후에 검증 WER에 기반하여 모델을 선택하고 early stopping를 사용
- TIMIT에 대해서는 학습률 0.12, 모멘텀 0.9를 사용하고, 배치 크기가 16개의 오디오 시퀀스인 8개의 GPU에서 1,000 에폭 동안 훈련합니다.
3.3 DECODING
- 음향 모델의 출력을 디코딩하기 위해 우리는 사전과 WSJ 언어 모델링 데이터만으로 훈련된 별도의 언어 모델을 사용
- 4-gram KenLM 언어 모델, word-based 컨볼루션 언어 모델 그리고 문자(character) based 컨벌루션 언어 모델을 고려
- Beam-search 디코더를 사용하여 컨텍스트 네트워크 c의 출력이나 log-mel filter bank에서 word sequence y를 디코딩
- f_AM은 음향모델 p_LM은 언어모델. π = π1, ..., πL은 y의 문자들
- 하이퍼 파라미터 α, β, γ는 언어 모델, 단어 패널티, 그리고 침묵 패널티에 대한 가중치
- WSJ를 디코딩하기 위해, 우리는 random search(주어진 범위 내에서 임의의 조합을 추출하여 최적의 조합을 탐색하는 방법)을 사용하여 하이퍼파라미터 α, β, γ를 조정
- 마지막으로 α, β, γ에 대한 최적의 파라미터 설정을 가진 음향 모델의 출력을 디코딩
- 단어 기반 언어 모델에 대해 빔 크기 4,000과 빔 점수 임계값 250을 사용하며, 문자 기반 언어 모델에 대해 빔 크기 1,500과 빔 점수 임계값 40을 사용
3.4 PRE-TRAINING MODELS
- 사전 학습 모델들은 PyTorch로 구현되었고 fairseq 툴킷을 이용
- Adam 을 이용하여 최적화, cosine 학습률을 일정하게 따르는데 이는 WSJ와 Librispeech 훈련 데이터 터셋에 대해서는 40k 업데이트 단계에 걸쳐서 서서히 줄여나갔고, 전체 Librispeech에 대해서는 400k 단계에 걸쳐서 줄여나감
(1 × 10^−7의 학습률로 시작하여, 500 업데이트 동안 이를 점진적으로 5 × 10^−3까지 올렸다가, 그 이후에는 cosine 곡선을 따라서 1 × 10−6까지 줄여나감) - 목표치를 계산하기 위해, 우리는 각 K = 12 태스크에 대해 10개의 negative를 샘플링
- 첫번째 wav2vec 변형을 8개의 GPU에서 훈련시켰고, 각 GPU에는 최대 1.5M 프레임의 오디오 시퀀스를 넣음
- 시퀀스는 길이별로 그룹화되며 각각을 최대 150k 프레임 크기 또는 배치에서 가장 짧은 시퀀스의 길이 중 더 작은 크기로 자름
- Cropping 는 시퀀스의 시작 부분이나 끝부분에서 음성 신호를 제거하며, 우리는 각 샘플에 대해 잘라내기 오프셋을 무작위로 결정; 모든 에폭마다 re-sample 함
- 이것은 데이터 증강의 한 형태이지만, 또한 GPU의 모든 시퀀스의 길이를 동일하게 유지하며, 평균적으로 훈련 데이터의 25%를 제거
- Cropping 후 , GPU 전체의 총 효과적인 배치 크기는 대략 556 초의 음성임
- 대형 모델 변형에 대해서는, 우리는 16개의 GPU에서 훈련시키며, 위 배치 크기를 두 배로 늘림
참조
랜덤 서치 : https://dacon.io/en/codeshare/4646
논문 : https://arxiv.org/pdf/1904.05862.pdf
반응형