오늘 리뷰할 논문은 Vesper로 대규모의 음성 사전학습 모델을 감정인식이라는 특정 task에 대해 adaptation을 진행함과 더불어 경량화를 진행하는 논문입니다.
본격적인 리뷰에 앞서 간단하게 개요를 설명드리자면 general representation을 학습한 large PreTrained Model (PTM)인 WavLM에 감정 특징을 보다 잘 학습할 수 있도록 하여 task에 optimize하였고, 이 과정에서 small model로의 distillation기법을 적용하여 동일 성능의 WavLM에 대한 파라미터 경량화를 이루었습니다.
Introduction
서론에서 논문의 저자들은 대규모의 pre-trained model (PTM)들이 다양한 도메인과 task 전반에 걸쳐 좋은 성능을 보여주고 있으며 이는 사전 학습에 대규모의 unlabelled 데이터를 사용하여 model이 데이터의 general한 표현을 잘 학습하였기 때문이라고 언급합니다. 이러한 PTM의 예로는 자연어 처리와 컴퓨터 비전 분야에는 BERT, GPT-3, CLIP등이 있으며, 본 논문에서 주목하는 음성 처리 분야에는 Wav2Vec 2.0, HuBERT, WavLM등이 널리 사용되고 있습니다.
저자들은 이러한 PTM의 발전 가능성을 언급하며 특정 범주의 task에 맞는 PTM을 생성하는 것의 중요성을 강조하였습니다. 현재의 PTM은 대량의 unlabelled 데이터를 사용하여 task agnostic한 형태로 학습되고 있으니, 이로 인해 특정 task에 대해서는 보다 성능 향상의 여지가 있다는 것입니다. 게다가 PTM은 수십억 개의 파라미터를 가지는 대형 모델이다 보니 computation and storage resource 문제로 applicataion 관점에서는 활용하기 어려우니 이를 경량화 하는 것이 필요하다는 것이죠.
최근 연구자들이 general PTM을 task-soecific하게 사용하는 방식은 크게 compression과 adaptation의 두 가 지 갈래로 나뉘게 됩니다. Compression은 [그림 1(a)]와 같이 large PTM의 latency 문제를 해결하기 위한 것으로, knowledge distillation (KD)과 같은 기법을 통해 model size를 줄여 latency 문제를 해결하게 됩니다. 그러나 단순 KD는 task specific한 정보를 통합할 수 없다는 단점이 있습니다. 또 다른 PTM의 활용 방식인 Adaptation은 fine-tuning을 통해 task specific한 정보를 학습하여 downstream task에 적합한 모델을 생성하는 것입니다. 그러나 downstream에 대한 labeled 데이터를 확보하는 것은 어렵고, adaptation이 완료된 model의 크기 자체는 줄어들지 않기 때문에 실질적인 deploy에는 제한이 있었다고 합니다.
이러한 기존의 한계를 극복하기 위해 저자들은 음성 감정인식 task에 초점을 맞춘 사전 학습 encoder 인 Vesper를 제안하였습니다. 이는 [그림 1(c)]와 같이 compression과 adaptation을 단일 pipeline으로 통합하는 방법론입니다. 먼저 compression 관점에서는 Vesper는 음성 도메인의 PTM인 WavLM의 구조를 기반으로 하되, WavLM의 일부 레이어만을 사용하고, 추가적으로 label-free 방식의 masked prediction을 적용하여 적은 파라미터에서도 원본 모델만큼의 성능을 끌어올릴 수 있도록 하였습니다. 이때 저자들은 모델이 감정 정보를 잘 반영하도록 새로운 emotion-guided masking strategy를 제안하였습니다. 간단히 설명하자면, 음성 신호의 energy 정보를 토대로 음성에서 감정 정보를 포함하고 있을 확률이 높은 구간을 찾아내어 해당 부분에 masking을 적용하는 기법이며, 자세한 것은 method에서 설명드리겠습니다. 마지막으로 저자들은 음성 PTM에서 레이어의 깊이에 따라 acoustic feature, semantic feature를 인식하는 정도가 다른 것을 토대로 acoustic한 얕은 레이어와 semantic한 깊은 레이어를 각각 supervise하는 hierarchical self-supervision를 사용하며, 마지막에서는 deep layer output의 표현력을 향상시키기 위한 cross-layer self-supervision을 사용하였다고 합니다.
논문에서 저자들이 언급하는 본 논문의 contribution은 아래와 같습니다.
- We propose a new pipeline that generalizes large-scale pretrained models on speech emotion recognition task by compression and emotion-specific adaptation. We hope that the pipeline inspires researchers to generate compact and effective pretrained models for various speech tasks.
- We focus on the speech emotion recognition task and propose an emotion-specific pretrained encoder called Vesper. To enhance Vesper’s sensitivity to emotional information, we introduce an emotion-guided masking strategy during pretraining, leveraging the energy of the input speech signal to identify the regions that need masking. We also propose a hierarchical self-supervision approach to enhance Vesper’s capability to capture both acoustic and semantic information and present a cross-layer self-supervision approach to improve the informativeness and balance of the final output representation.
- We evaluate Vesper on three widely used emotion recognition datasets, namely, IEMOCAP, MELD, and CREMA-D. Experimental results demonstrate that our Vesper with 4 layers outperforms WavLM Base with 12 layers and that Vesper with 12 layers outperforms WavLM Large with 24 layers.
Method
Vesper의 학습 과정은 [그림 2]와 같이 compression at initialization 과 task-specific pretraining by self-supervision의 두 step으로 구성됩니다.첫 번째 step에서는 compression 과 initialization을 결합하여 대규모 사전 학습 모델을 기반으로 compact model을 생성하고,두 번째 단계에서는 첫 step에서 생성된 compact model이 downstream task의 특성을 통합하여 self-supervised 방식으로 학습됩니다.
Compression at Initialization
그럼 먼저 첫 번째 step인 compression 부분에 대해 설명드리겠습니다. 아래 [그림 3]이 audio PTM인 WavLM을 Vesper로 compression 하는 과정을 나타내고 있습니다.
저자들은 총 두 가지의 compression 기법을 비교하고자 하였습니다.
먼저 통상적인 knowledge distillation 기법과 같이, WavLM을 teacher로, Vesper를 student로 활용하였는데요, student 모델 학습에는 [그림 3(a)]와 같이 KL loss를 사용하여 student 출력이 teacher 출력의 분포를 따라가도록 하였습니다.
compression에서 저자들은 Vesper와 WavLM이 동일한 모델 구조를 가져가도록 하였는데요, 이 과정에서 두 번째 기법으로 Vesper를 WavLM의 파라미터로 직접 초기화하는 것을 고려하고자 하였습니다. 이에 Vesper의 구조는 [그림 3(b)]와 같이 WavLM의 CNN encoder와 transformer 레이어를 그대로 활용하였습니다.
Vesper와 WavLM Large에서 사용된 Transformer 레이어의 수를 각각 N과 M이라고 한다면, 논문에서는 N이 M보다 훨씬 작아지도록 하여 compression을 진행한 것입니다. 이때 WavLM Large에서 Transformer 레이어를 균등하게 추출하여 Vesper의 Transformer 레이어를 초기화하였고, 수식으로는 Vesper의 i-번째 Transformer 레이어가 WavLM Large의 (1 + \lfloor \frac{M}{N} \rfloor \times (i - 1))번째 Transformer 레이어의 파라미터로 초기화하였습니다.
Task-Specific Pretraining
위의 compression을 통해 compact하고 일반적인 knowledge를 학습한 Vesper를 얻을 수 있습니다. 다음으로는 이때 Vesper가 task-specific하도록 하기 위한 추가 학습이 필요한데요, 그 과정은 [그림 4]와 같습니다.
Emotion-Guided Masking Strategy
저자들은 emotion 정보에 대한 민감도를 향상시키기 위해, [그림 5]와 같은 emotion-guided masking strategy를 제안하였습니다. 이는 입력 음성 신호의 root mean square에너지를 기반으로 masking 위치를 결정하는 방식으로, 무작위로 mask의 위치를 선택하는 이전의 방법들과는 다른 접근 방식을 사용하였다고 합니다.
masking을 진행하기 위해 먼저 음성 신호의 RMS energy를 계산하는데요, RMS energy는 입력 오디오의 각 프레임에 대해서 화자의 목소리 크기와 강도를 계산한 것으로 높은 에너지는 일반적으로 분노나 행복과 같은 intense한 감정과 관련이 있으며, 낮은 에너지는 슬픔이나 우울과 같이 depress한 감정과 관련이 있다고 합니다.
RMS energy를 구했다면 이를 [0, 1]범위로 정규화한 뒤 [그림 4]와 같이 세 구역으로 나누었습니다. 이 세 구역은 각각 high, low, noise 구간이며, high 구역은 intense, low 구역은 depress한 감정이 존재할 확률이 높게 됩니다. 입력된 음성 신호에서 각 구역이 분리되면, Vesper 모델이 감정 정보를 더 잘 학습할 수 있도록, high 구역에서 mask 위치의 절반을 무작위로 선택하고, 나머지 절반은 low 구역에서 선택합니다. 이렇게 선택된 마스크 위치는 마스킹 영역의 중심이 되고, 중심으로부터 일정 범위까지 masking이 진행된다고 합니다. 논문에서는 [160ms, 800ms]의 두 범위를 설정하였다고 하네요.
Hierarchical Self-Supervision
Hierarchical Self-Supervision은 Vesper 모델에 감정 특이성을 통합하기 위한 접근 방식입니다. 이 방법은 음성 신호에서 감정이 어떻게 표현되는지를 이해하는 데 중점을 둡니다. 음성 신호는 리듬과 발음 같은 음향적 특징과 화자의 감정 상태를 나타내는 의미적 정보를 포함하고 있습니다. 따라서, Vesper가 감정 인식을 위해 음향적 및 의미적 정보를 모두 추출할 수 있는 능력을 향상시키는 것이 중요합니다.
기존의 음성 관련 연구에서 밝혀진 바에 따르면, 사전 학습된 모델의 shallow layer는 주로 음향적 특징을 학습하는 반면, deep layer는 음성 신호의 의미적 특징을 추출하는 경향이 있습니다. 이를 기반으로, 논문의 저자들은 Vesper의 shallow layer와 deep layer를 별도로 감독하는 Hierarchical Self-Supervision 제안하였습니다. Hierarchical Self-Supervision은 Vesper를 pretraining 할 때WavLM Large 모델의 고정된 layer를 각각 deep, 혹은 shallow 한 target으로 사용합니다. [그림 4]의 그림을 보면서 설명드리자면 WavLM Large의 transformer layer 중 M 번째 transformer는 deep layer, 중간에 해당하는 M\over 2는 shallow layer로 지정하는 것이라고 이해하시면 됩니다.
구체적으로, WavLM Large 모델의 j -번째 Transformer 레이어를 Tr_j^W 라고 하고, 계산 흐름은 다음과 같습니다. 먼저, CNN 인코더가 오디오 A 를 잠재 표현 y_0 로 변환하며, 이는 시퀀스 길이 T 와 차원 d 를 가집니다. 그런 다음, y_j = Tr_j^W(y_{j-1}) 와 같은 방식으로 계산이 진행됩니다.
Vesper 모델의 경우, i -번째 Transformer 레이어를 Tr_i^V 라고 합니다. 음소 수준 마스크의 마스크 인덱스를 I_p , 단어 수준 마스크의 마스크 인덱스를 I_w 라 가정하며, 마스크 임베딩을 M_K 라 합니다. Vesper의 계산 흐름은 다음과 같습니다. 먼저, CNN 인코더가 오디오 A 를 잠재 표현 x_0 로 변환합니다. 그런 다음, x_0' = Add_Mask(x_0, M_K, I_p) 와 같이 마스크를 추가하고, Tr_i^V 레이어를 통해 계산이 진행됩니다. 이 과정은 i \in [1, N/2] 및 i \in [N/2 + 1, N] 의 두 부분으로 나뉩니다.
사전 학습 동안, Vesper의 중간 및 최종 출력은 각각 WavLM Large 모델의 중간 및 최종 출력을 예측해야 합니다. 이를 위해 평균 제곱 오차 (MSE)를 사용하여 손실 함수를 계산합니다. 예를 들어, 음소 수준의 손실 L_l 과 단어 수준의 손실 L_h 은 각각 중간 출력과 최종 출력의 MSE를 기반으로 계산됩니다.
이러한 Hierarchical Self-Supervision을 통해, Vesper는 얕은 층에서 음향적 정보를, 깊은 층에서 의미적 정보를 효과적으로 학습할 수 있었다고 합니다.
Cross-Layer Self-Supervision
Hierarchical Self-Supervision은 Vesper 모델이 음향 정보와 의미 정보를 모두 추출하는 능력을 향상시키지만, 여전히 정보 편향이 존재합니다. 모델의 얕은 층은 음향 정보를 잘 추출하는 반면, 깊은 층은 의미 정보를 더 잘 캡처합니다. 이 정보 편향으로 인해 Vesper의 각 층에서 얻은 표현이 서로 보완적이 됩니다. Vesper의 최종 표현이 더욱 풍부한 정보를 포함하도록 하기 위해, 즉 음향 정보와 의미 정보를 모두 포함하도록, 우리는 Cross-Layer Self-Supervision 접근 방식을 제안하여 Vesper의 마지막 층의 학습 과정에 추가적인 감독을 제공합니다.
구체적으로, 추가적인 Cross-Layer Self-Supervision 손실은 다음과 같이 정의됩니다:
여기서 P_3 는 Vesper의 최종 출력을 사용하여 WavLM Large의 중간 출력을 예측하는 예측기입니다. L_x 는 마스크된 부분과 마스크되지 않은 부분을 모두 포함한 모든 위치에 적용됩니다. 이제 Vesper의 출력은 풍부한 의미 정보와 충분한 음향 정보를 모두 포함하게 됩니다.
최종적으로, Vesper를 학습시키기 위한 목표 함수는 다음과 같이 작성할 수 있습니다:
여기서 \lambda_l , \lambda_h , \lambda_x 는 서로 다른 손실 구성 요소를 균형 있게 조절하기 위해 사용되는 하이퍼파라미터입니다.
이 Cross-Layer Self-Supervision 접근 방식을 통해, Vesper는 얕은 층과 깊은 층의 정보를 결합하여 더 풍부하고 포괄적인 최종 표현을 형성할 수 있습니다.
Experiments
실험에는 ser 데이터셋인 IEMOCAP, MELD, CREMA-D을 사용하였습니다.
Performance and Computational Efficienty
speech emotion dataset에서 저자들의 방법론인 Vesper와 본래의 PTM인 WavLM과의 efficiency, performance는 아래의 [표2], [표3]과 같습니다.
사전 학습 모델인 WavLM과 비교했을 때, 저자들이 제안한 Vesper는 약 30%의 모델 크기 및 연산량이 줄어들었음에도 거의 모든 부분에서 더 좋은 성능을 보이는 것을 확인할 수 있습니다. 이를 통해 일반적인 사전학습 모델을 task-specific하게 추가적으로 학습하였을 때 실제로 개선의 여지가 있었음을 보였습니다.
Comparison with Some Known Systems
각 dataset에 대한 기존 논문과의 성능 비교는 위의 [표 5]와 같습니다. 거의 모든 경우에 저자들이 제안한 Vesper가 좋은 성능을 달성한 것을 볼 수 있습니다. 이때 classification을 위한 추가 레이어를 두 가지로 실험하였으며, 단순 FC를 사용하였을 때도 충분한 성능을 보이며 classifier로 shiftformer를 사용하였을 때 IEMOCAP가 CRAMA-D에서는 추가적인 성능 향상을 보였습니다.
Ablation Study
저자들이 제안한 compression과 emotion-guided masking에 대한 실험입니다.
먼저 WavLM을 Vesper로 압축할 때 Vesper의 파라미터를 초기화 하는 방식에 따른 Ablation으로 WavLM의 transformer 레이어를 그대로 가져오는 extraction 방식의 성능이 가장 높은 것을 확인할 수 있습니다.
다음으로는 emotion-guided maskimg을 효과를 입증하기 위한 실험입니다.
입력된 audio에 masking을 진행할 때 rms energy를 기반으로 emotion이 있을 확률이 높은 곳을 masking 하는 것이 단순 random masking 보다 좋은 성능을 보이는 것을 확인할 수 있습니다.
안녕하세요. 좋은 리뷰 감사합니다.
연구미팅 때 이 논문을 가져온 기억이 있는데, 그때 의문점을 이 댓글로 해소하고자 합니다. 이 논문 같은 경우, dislation 논문인데 연구미팅 때 vesper 부분을 cnn으로 바꿔 distilation을 시도하겠다고 한 말이 기억이 납니다. 그런데 transformer의 knowledge를 cnn layer에 distilation 했을 때 정말 제대로 워킹할까 궁금했던 기억이 있는데요. 혜원님께서 이것과 관련하여 어떻게 생각하시는지 여쭙고자 합니다.
감사합니다.
안녕하세요 혜원님 좋은 리뷰감사합니다.
1. Vesper와 WavLM Large에서 사용된 Transformer 레이어의 수를 작아지도록 한다고 하셨는데 이는 모델 경량화를 위해 추가한 방법인가요? 아니면 다른 이유가 있는지 궁금합니다.
2. Emotion-Guided Masking Strategy 부분에서 질문이 있습니다. 그림을 통해서 첫 audio가 입력으로 들어갈때 생성되었던 마스킹 위치가 Middle layer로 갈 수록 적어지는것 같은데 그 이유가 궁금합니다.
감사합니다.
안녕하세요 ! 좋은 리뷰 감사합니다.
RMS 에너지를 구하고, 에너지의 높고 낮음에 따라 어떤 감정과 관련되어 있는지 설명해주셔서 이해가 잘 되었씁니다. 그런데 높고 낮음에 따라 intense/depress한 감정과의 연관성까지는 이해가 되었으나 이 RMS 에너지를 구해서 어떻게 노이즈가 포함된 세 구역으로 나누어지나요 ? RMS 에너지에서 에너지라고 구분되어지는 기준이 무엇이며, 마스킹 영역을 high와 low에서만 절반씩 선택하는 이유도 궁금합니다.
감사합니다.
안녕하세요 ! 좋은 리뷰 감사합니다.
task-specific pretraining과정을 도식화한 그림 4를 보면 Veesper의 tansformer만 학습하고 cnn encoder나 WavLM Large 모델은 freeze한 것을 볼 수 있는데 이에 대한 이유가 언급이 되어 있을까요 ?
또 rms 에너지를 기반으로 masking 위치를 결정하는 emotion-guided masking strategy를 제안하였는데, 이 rms 에너지라는게 일반적으로 많이 사용이 되어 왔던것인지 혹은 이 논문에서 처음으로 제안한 접근 방식인지 궁금합니다. 마지막으로 이 RMS 에너지 중 높은 에너지가 intense한 감정과 관련이 있고 낮은 에너지는 depress한 감정과 관련 있다고 하였는데 이런 분석에 대한 실험이 따로 있는 것인가요 ?
감사합니다 !