https://arxiv.org/abs/2110.05777
Large-scale Self-Supervised Speech Representation Learning for Automatic Speaker Verification
The speech representations learned from large-scale unlabeled data have shown better generalizability than those from supervised learning and thus attract a lot of interest to be applied for various downstream tasks. In this paper, we explore the limits of
arxiv.org
해당 논문을 보고 작성했습니다.
Abstract
large scale unlabeled data로 학습된 speech representation은 supervised learning을 통해 얻은 결과보다 더 나은 일반화 성능을 보였으며, 다양한 downstream task에서 사용되고 있습니다. 해당 논문에서, 저자들은 ECAPA-TDNN을 downstream model로 사용하여, 다양한 self-supervised objective와 dataset으로 학습된 speech representation의 한계를 알아봅니다. pretrained model에 존재하는 모든 hidden layer로부터 구해진 representation은 먼저 학습 가능한 weight로 평균화된 후, ECAPA-TDNN의 input feature로 들어갑니다. VoxCeleb dataset을 이용한 실험 결과는 weighted average representation이 ASV를 위한 전통적인 handcrafted feature인 Filter Bank보다 현저히 우수하다는 것을 보여줍니다. 저자들은 3가지 dataset에 대한 실험결과를 보이며, ensemble system에서의 성능도 보입니다.
Introduction
최근 몇년동안 automatic speaker verification(ASV)의 성능 향상을 이루었습니다. 연구자들은 다양한 neural network architecture, training objectives, pooling function을 발전시켜 왔고, system의 한계를 넘고자 노력해 왔습니다. 그러나, 이러한 기술들은 잘 labeling된 대규모 data가 있어야 동작가능했습니다. 하지만 이런 대규모 data를 얻는 것은 큰 어려움이 있습니다. 최근 몇 년간, pretrain된 model은 NLP task에서 최신 기술의 standard가 되었습니다. BeRT와 GPT의 큰 성공에 영향을 받아, speech community에서는 wav2vec 2.0과 HuBERT와 같은 일련의 작업이 제안되어 대규모 label이 없는 data를 활용하고, ASR 작업에서 인상적인 결과를 보여주었습니다.
speaker verification task에서는, 많은 연구자들은 하나의 utterance의 한 명의 speaker가 있다는 가정 하에 unlabeled data로부터 speaker embedding을 추출하는 extractor를 학습하기 위해 특정 loss를 설계했습니다. 이러한 가정은 제한없는 data로 unsupervised speaker verification 학습을 제한할 수 있습니다. Wav2Vec 2.0과 HuBERT는 이러한 가정에 덜 의존합니다. 이 두 pretrained model은 speech에 포함된 음성 구조 정보를 capture할 수 있고, 이를 통해 ASR에 이점이 있다는 것을 보여주었습니다. pretrain된 model의 다른 layer에서 학습된 representation의 본질을 탐구하는 것은 흥미로운 연구 주제입니다. Wav2vec 2.0의 pretrain과 fine-tuning이라는 two stage training 과정 효과는 speaker verification과 language recognition task에서 입증되었습니다. 그러나 최신 ASV system에서도 speech representation이 benefit을 줄 수 있는지는 여전히 open question입니다.
이 논문에서, labeling이 되어 있지 않은 대규모 data로 학습된 speech representation이 speaker verification을 위한 benchmark dataset에서 연구됩니다. 저자들의 주된 contribution은 다음과 같습니다.
1. unlabel 대규모 data로부터 학습된 speech representation을 사용하여 Voxceleb dataset에서 SOTA(ECAPA-TDNN)의 성능을 향상시킨 첫 시도입니다.
2. pretrain model의 final layer로부터 얻은 representation을 사용하는 것 대신, 저자들은 모든 hidden layer로부터 얻은 representation의 weighted average를 이용해 model 전체에 포함된 speaker 관련 information을 최대한 활용합니다.
3. 다양한 학습 방법, 모델 크기 및 대규모 train dataset을 사용한 pretrained model의 성능에 대한 종합적인 연구를 수행합니다.
4. pretrained model에 내재된 layer 별 speaker information을 탐색하기 위해, 학습가능한 weight를 기반으로 하는 detail한 분석을 수행합니다.
Related work
speech signal은 음성 구조, 감정, speaker identity 등 모든 종류의 information을 포함하고 있습니다. filter bank와 MFCC는 frequency domain에서 sound 특성을 나타내는 가장 흔한 handcrafted acoustic feature입니다. 추가적으로, 연구자들은 성능을 향상하기 위해 수많은 feature engineering을 해왔습니다. 다른 논문에서 의 저자들은 speaker verification task에서 articulation rate filter와 상수 Q cepstral coefficients를 결합하여 MFCC를 개선했습니다. neural network의 더 뛰어난 learning ability를 사용하기 위해, raw audio signal로부터 task에 맞는 feature를 학습하기 위한 convolution neural network를 사용하는 연구들도 있었습니다.
최근엔, label이 없는 data를 활용하여 speech representation을 학습하는 것은 점차 부각되고 있습니다. self-supervised learning으로 학습된 pretrained model이 좋은 일반화 능력을 가지고 있습니다. 그리고 pretrained model로부터 얻어진 representation 위에 간단한 classifier를 추가하면, 제한된 양의 labeling data로도 많은 downstream task에 대해 괜찮은 성능을 얻을 수 있습니다. speech representation을 위한 self supervised learning은 3가지 접근법으로 분류될 수 있습니다.
1. reconstruction learning은 과거 time step이나 masked input으로부터 추출된 information을 사용하여 original input을 reconstruct하는 것을 목표로 합니다.
2. contrastive learning은 latent embedding space에서 contrastive task를 해결함으로써 high-level representation을 학습합니다.
3. multiple objective와 multiple input을 가진 multi-task learning입니다.
Methods
Pre-train for Representation Learning
이 연구에서, 저자들은 speaker verification을 수행하기 위해 Wav2Vec 2.0, HuBERT, UniSpeech-SAT으로부터 얻은 representation을 활용합니다. 이러한 3가지 model은 feature representation을 학습하기 위해 다른 방식을 사용합니다. Wav2Vec 2.0 model은 true speech segment와 negative speech segment를 구분하기 위해 contrastive loss를 사용합니다. HuBERT의 목표는 mask frame에 대한 weak supervised label을 예측하는 것입니다. UniSpeech-SAT은 speaker 관련 information를 학습된 representation에 강제로 통합하는 HuBERT와 유사한 representation learning에 utterance 별 contrastive loss를 통합합니다. 위에서 설명한 pretrained model들의 서로 다른 train objective에도 불구하고, 비슷한 model structure를 갖습니다.
위 그림의 좌측과 같이, 3개 pretrained model은 모두 convolutional feature extractor와 encoder로써 deep transformer network를 사용합니다. 수학적으로, input waveform X = {x_1, ... , x_N} where N is the number of sampling points인 input waveform X가 주어지면, CNN feature encoder는 sample point들을 feature vector sequence H_0 = {h_1,0, ... , h_t,0}로 convolution합니다. 그 이후, sequence feature vector는 transformer model에 들어가고 각 layer마다 frame별 hidden state를 생성합니다.
Leverage Representations from pre-trained model
- Downstream speaker verification model
downstream task의 성능을 향상시키기 위해, 저자들은 최신 speaker verification system인 ECAPA-TDNN을 downstream model로 사용했습니다. x-vector와 비교했을 때, ECAPA-TDNN은 Squeeze-Excitation Res2Block과 multi-layer feature aggregation과 같은 이점을 가지고 있습니다. ECAPA-TDNN의 구조는 위 오른쪽과 같습니다. model은 filter bank feature를 input으로 사용합니다. frame encoder는 각 input frame으로부터 speaker information을 추출하며, statistic pooling layer는 가변 길이 input sequence를 고정된 차원의 representation으로 변환시킵니다. 마지막에는, speaker embedding을 추출하기 위해 fully connected(FC) layers을 추가합니다. pretrained model로부터 구한 representation을 활용하기 위해, 저자들은 filter bank를 pretrained model의 last layer output으로 대체했으며, 이를 ECAPA-TDNN의 input으로 넣었습니다.
- Explore speaker information in pre-trained model
audio data의 톤을 볼 수 있는 pretrained model은 다양한 downstream task에서 좋은 일반화 능력을 가지고 있어야 합니다. 그러나 handcrafted teature와 비교했을 때, pre-traiend representation의 우수성을 보이지 못한다는 결과를 보이는 연구가 있었습니다. 대부분의 pretraiend task의 목적은 직접적으로 speaker recognition과 직접적으로 관련되어 있지 않습니다. final objective에 근처에 있는 layer는 training loss와 관련된 더 많은 정보를 포함하고 있어야 합니다. 그래서 pre-trained model의 low layer에서 speaker information을 더 잘 발견할 수도 있습니다.
저자들은 pre trained model의 각 layer로부터 얻은 각 hidden states H_l, l∈{0, ... , L}에 learnable weight w_t를 적용합니다. pretrained model의 마지막 layer의 output을 그대로 feeding하지 않고, 각 layer의 hidden state에 weighted average를 적용해 frame representation o_t = Σw_l*h_l,t를 생성합니다. 이를 통해 저자들은 ECAPA-TDNN에 들어가는 filter bank feature를 weighted average representation으로 대체하여 speaker embedding e를 추출합니다(아래와 같이).
저자들은 additive angular margin(AAM) loss를 사용해 model을 학습합니다.
training pipeline은 2 stage로 나눠집니다. 먼저, pretrained model은 고정됩니다. 저자들은 ECAPA-TDNN과 weight w만 update합니다. 그다음, pretrained model과 ECAPA-TDNN 모두 fine-tuning합니다.
Experimental setup
speaker verification task에 대한 pretrained model representation의 효과를 분석하기 위해, 저자들은 Voxceleb1과 Voxceleb2 dataset을 사용하는 downstream speaker verification model을 학습하고 평가합니다. 3가지 공식 test list인 Vox1-O, Vox1-E, Vox1-H는 system 성능을 평가하는 데 사용됩니다. handcrafted acousitc feature를 사용하는 baseline model을 구현할 때, 저자들은 25ms window size와 10ms frame shift를 이용하여 40차원의 filter bank feature를 추출해 사용했습니다. 저자들은 voice activity detection(VAD)를 사용하지 않았습니다. 그리고 저자들은 MUSAN noise와 RIP reverberation을 online mode에서 0.6 확률을 training data에 적용해 data augmentation을 수행했습니다.
자세한 information은 위와 같습니다. speaker 관련 task에서 Wav2vec2.0_Base가 HuBERT_Base보다 성능이 나쁘다 하여서 사용하지 않았습니다. UniSpeech-SAT은 가장 최근에 제안된 model이며, pre training 과정에서 speaker information을 명시적으로 modeling합니다. 이는 positive는 동일한 speaker로부터 구해지고 negative는 다른 speaker로부터 구해지는 instance를 이용해 utterance contrastive loss를 구하고 single speaker information을 modeling합니다. 그리고, UniSpeech-SAT는 HuBERT보다 더 많은 synthesis 또는 공개된 data를 사용했습니다. downstream task model로 저자들은 small ECAPA-TDNN을 사용했습니다.
저자들은 모든 model을 Additive Angular Margin Loss(AAM)을 이용해 학습했으며, margin은 0.2로 설정했습니다. 학습 과정에서, 저자들은 각 utterance에서 training batch를 만들기 위해 random하게 3초 segment를 sample했습니다. 저자들은 먼저 pre-trained model을 고정하고 10 epoch을 학습합니다. 그 다음 저자들은 5 epoch동안 모든 parameter를 fine tuning합니다. 추가적으로, large margin fine tuning을 진행합니다. margin을 0.5로 설정하여, random하게 6초 segment를 sampling해 추가적인 2epoch을 더 학습합니다.
evaluation 동안에, 저자들은 cosine score를 사용해 pair의 similarity를 계산합니다. 저자들은 adaptive s-norm을 사용해 score를 정규화합니다. training set에서 추출된 embedding은 speaker label에 따라 평균화되었고, imposter set으로 사용되었습니다. 저자들은 imposter set의 크기를 600으로 설정하고 실험했습니다. 저자들은 quality aware score calibration을 수행할 때, VoxCeleb2 test set을 기반으로 하는 30k개의 test set을 random하게 생성하여 calibration model을 학습했습니다.
Evaluation Results
Comparison with handcrafted acoustic feature
먼저, 저자들은 최근에 주로 쓰이는 handcrafted feature와 pretrained model로부터 추출되는 speech representation을 비교합니다. 저자들은 pretrained model로부터 얻은 representation을 speaker verification model ECAPA-TDNN의 input으로 사용합니다. 추가적으로, pretrained model의 last layer로부터 얻은 representation과 모든 layer에서 얻은 hidden representation의 weighted average를 적용해 구한 representation의 영향력을 비교합니다.
결과는 위와 같습니다. 위 표를 보면, weighted averaging hidden representation이 filter bank보다 훨씬 뛰어난 결과를 보입니다. 그리고 data augmentation을 적용했을 때, 모든 model이 다 성능이 향상된 것을 볼 수 있습니다.
Comparision among different pretrained models
pretrained model로부터 얻어지는 representation의 효과를 향상시키기 위해, 저자들은 VoxCeleb2 development set인 대규모 dataset을 이용해 model을 학습합니다. 그리고 다른 pretrained model과 비교하고, train 전략에 따라 비교합니다.
결과는 위와 같습니다. 결과를 보면 모든 large model이 fiter bank feature보다 더 좋은 결과를 보입니다. pretrained model을 fix하지 않고 pretrained model과 downstream model을 동시에 fine tuning할 때 더 성능이 향상하는 것을 볼 수 있습니다. 특히 Vox2_development data 로 학습했을 때, 더 많은 향상을 보입니다. Wav2vec2.0_Large(XLSR)과 UniSpeech-SAT_Large pretrained model이 HuBERT_Large보다 더 좋은 성능을 보입니다. Wav2vec2.0_Large model을 학습할 때 사용했던 train data는 Voxceleb data와 더 match되고 다양하기 때문에, downstream task에 더 적합합니다. 게다가, UniSpeech-SAT_large model을 추가적인 data로 학습했을 때 가장 좋은 모습을 보여줍니다.
저자들은 large margin fine-tuning 전략과 quality aware score calibration을 소개했으며, 성능 향상을 이끌어냈습니다.
Analysis speaker information in pretrained model
지금까지 실험 결과를 통해 all hidden layer를 이용하는 것이 last layer만 사용하는 것에 비해 representation의 영향력이 더 크다는 것을 보였습니다. 그러므로, 어떤 layer가 가장 speaker information을 잘 담고 있는지 분석했습니다.
저자들은 모든 layer의 output에 normalized weight value를 시각화했습니다. 결과는 위와 같습니다. pretrained model의 lower layer에서 speaker information이 higher layer에서 구한 speaker information에 비해 ASV task에서 더 구별력 있다는 것을 알 수 있습니다. 저자들의 실험에서 사용했던 pretrained model의 학습 목표는 speech recognition task에 더 관련 있습니다. 저자들이 사용한 model들의 higher layer에 할당된 학습된 weight는 lower layer에 할당된 학습된 weight보다 훨씬 더 작습니다. 이는 higher layer를 없앤다면 model의 크기를 줄일 수 있다는 가능성을 의미합니다.
Conclusion
이 논문에서, 저자들은 speaker verification task에서 대규모 unlabel data로 학습된 pretrained model로부터 추출된 representation을 비교했습니다. Filter bank보다, pretrained model을 이용해 구한 feature를 사용하는 것이 speaker verification task에서 더 좋은 성능을 얻을 수 있다는 것을 알아냈습니다. 그리고 다양한 기술을 통해 성능 향상을 이끌어냈습니다. 그리고 pretrained model이 본인의 lower layer가 higher layer에 비해 speaker information을 더 많이 capture한다는 것도 알아냈습니다.
'연구실 공부' 카테고리의 다른 글
[논문] Deep Residual Learning for Image Recognition (0) | 2024.02.19 |
---|---|
[논문] Generative Adversarial Net (0) | 2024.02.17 |
[논문] ResNeXt and Res2Net Structures for Speaker verification (0) | 2024.02.07 |
[논문] ECAPA-TDNN: Emphasized Channel Attention, Propagation and Aggregation in TDNN Based Speaker Verification (0) | 2024.02.06 |
[논문] Voxceleb: Large-scale Speaker Verification in Wild (0) | 2024.02.05 |