[ICASSP 2022] Multi-Lingual Multi-Task Speech Emotion Recognition Using wav2vec 2.0

안녕하세요. 이번 논문은 speech emotion recognition 입니다. 기존에 가져왔던 논문과는 달리 multi-lingual와 관련한 논문인데요. 재밌게 읽으셨으면 좋겠습니다. 그럼 리뷰 시작합니다.

<Introduction>

Speech Emotion Recognition (SER) 모델을 training하고 validating하기 위해서 여러 오픈 소스 데이터셋이 만들어졌는데요. 그런데 몇몇을 제외하고는 대부분은 크기가 비교적 작고, 화자 수가 적고 emotion category도 제한되어있으며 대부분 laboratory에서 시뮬레이션 한 것이지요. 따라서 이 논문에서는 small scale SER 데이터셋을 합쳐 비교적 큰 규모의 multi-lingual corpus를 생성하여 모델을 fine-tuning하고 평가합니다. 여러 데이터셋을 합친 multi-lingual corpus는 7 emotion categories에 걸쳐서 13개 지역의 25개 open source 데이터셋으로 구성됩니다. 이 corpus에는 자연스러운 대화와 labortatory에서 연기하여 만든 speech emotion이 포함되어 있습니다.

<Relation to prior work>

최근에는 SER을 위한 Multi-Task Learning(MTL), Multi-Lingual(MLi) framework가 인기를 끌고 있다고 하는데요. 이 논문에서는 MTL과 MLi framework를 통합하여 single SER 모델을 만듭니다. single MTL-MLi 모델의 장점은 여러 언어에 걸쳐 여러 SER 모델을 배포하는 것보다 a) generalization capabilities가 향상되고 b) 배포 및 유지 관리 비용이 절감된다는 점입니다.

Intorduction에서 이 논문에서는 small scale의 데이터셋을 통합하여 사용한다고 하였습니다. 하지만 이렇게 여러 데이터셋을 통합하여 사용함에도 불구하고 corpus의 sample 수는 9만 5천 개로, 현재 SER system의 모델 파라미터를 고려할 때 적은 편입니다. 이러한 작은 데이터셋을 처리하는 일반적인 전략은 transfer learning 기법을 적용하는 것인데요. 일반적으로 모델은 대규모 데이터셋을 사용할 수 있는 다른 task에 사전 학습된니다. 이러한 모델은 나중에 feature extractor로 사용하거나 작은 데이터셋에 fine-tuning 될 수 있습니다. transfer learning, MTL, MLi framework에 따라, 논문의 저자는 audio transcription task를 통해 multilingual XLSR-53 corpora에 대해 pre-trained된 wav2vec2.0 모델[3]을 SER 모델의 기본 network로 사용합니다. emotion classification task에서 MTL을 사용하지 않고 영어 corpora만 사용하용 wav2vec2.0이 사용되었지만, 본 논문의 모델은 통합된 multilingual speech emotion corpus에 대해 fine-tuning되어 여러 언어에 걸쳐 일반화 할 수 있다고 합니다.

본 논문에서는 다음에 대해서 경험적으로 입증하였습니다.

a) 본 논문의 wav2vec2.0 single task 기반 모델이 Google Audioset에서 pre-trained된 single-task 모델 PANN[6] 보다 7.2% 성능이 뛰어남

b) 최고의 MTL 모델이 PANN 및 wav2vec2.0 기반 single task 모델보다 8% 성능이 뛰어남

c) wighted F1 score 측면에서 13개 locals 중 9개에서 MTL 기반 system이 pre-trained된 single task wav2vec2.0 모델 보다 성능이 우수함

d) pre-training corpora에 포함된 언어에 대해 MTL wav2vec2.0이 SOTA를 능가함

<Datasets>

Table 1은 데이터셋에 대한 설명과 함께 locales, average duration, 데이터셋 type(연기한건지 nature하게 대화한건지)를 보여줍니다. 모델을 fine-tuning하고 성능을 평가하기 위해 다음과 같이 데이터셋을 결합합니다. 먼저 성별과 감정에 따라 stratified sampling을 사용하여 개별 데이터셋을 train/test/validation (각각 75%/15%/10%)으로 나눕니다. 개별 데이터셋에 사전 정의된 파티션이 없는 경우 세 셋트의 감정 비율을 유사하게 유지하고, 그렇지 않은 경우 개별 데이터셋의 사전 정의된 파티션을 사용합니다. 두번째로 25개 데이터셋에 걸려 각 셋을 결합합니다.

본 논문의 저자는 데이터셋 중 3개만 conversational하고 나머지는 acted인 것을 확인하였습니다. natural conversational 데이터셋은 일반적으로 acted 데이터셋과 달리 mild한 emotion을 나타내는데요. 따라서 human annotator는 audio modality만으로 올바른 감정을 판단하기 어렵습니다. 따라서 natural 데이터셋인 MELD의 경우 SER system이 다른 system에 비해 F1 값이 더 작다는 것을 실증적으로 증명할 것이라고 합니다. emotion category의 총 샘플 수는 다음과 같습니다.

  • neural : 24,225
  • angry : 18,598
  • happy : 17,524
  • sad : 14,590
  • surprise : 11,268
  • disgust : 4,769
  • fear : 4,651

neutral class의 경우가 가장 샘플 수가 많고 fear 클래스가 5배의 불균형 비율로 가장 적은 것을 관찰할 수 있습니다. 데이터셋의 locale 분포는 다음과 같습니다.

  • en-US : 57,343
  • zh-Hans : 17,500
  • bn-BN : 7,000
  • de-DE : 5,402
  • fa-FA : 2,992
  • fr-FR : 1,370
  • pt-BR : 1,174
  • el-EL : 604
  • it-IT 588
  • pl-PL : 4448
  • es-MX : 436
  • ur-UR : 400
  • pt-PT : 368

공개적으로 사용 가능한 무료 오픈 소스 데이터셋의 대부분이 영어로 되어 있기 때문에 locales 분포가 미국 영어에 매우 치우쳐 있는 것을 관찰할 수 있습니다. 데이터셋에는 남성 49,817개, 여성 45,808개의 speech clip으로 남성과 여성의 비율이 거의 동일하게 포함되어 있습니다.

<Method>

본 논문에서는 기본 모델로 wav2vec2.0을 선택했습니다. 이 모델에는 16kHz로 sampling된 raw audio를 latent speech representation으로 매핑하고 convolutional feature encoder와 이를 output representation으로 변환하는 transformer network가 포함되어 있습니다. 이 모델은 53개 언어로 구성된 XLSR-53이라는 multilignual speech specific corpora에 대해 pre-trained됩니다, 따라서 output audio embedding에는 언어, 성별, pitch에 대한 정보가 포함됩니다. 따라서 ImageNet 이나 Google Audioset에서 학습된 pre-trained CNN 기반 모델과 spectrogram을 입력으로 하여 emotion classification을 fine tuning하는 pre-trained 모델 및 feature extractor대신에 emotion classification fine tuning task을 위한 pre-trained 모델과 feature extractor를 선택하는 것이 wav2vec2.0에 적합합니다. [6, 31]

wav2vec2.0은 emotion classification에 줄곧 사용해왔으며, IEMOCAP과 RAVDESS 데이터셋에 대해서 recall 0.67, 0.84라는 SOTA를 얻었다고 합니다[4]. 여기서 저자는 최종 text prediction layer를 emotino prediction CNN, LSTM 그리고 global time dimension average pool layer로 대체합니다. 대신 wav2vec2.0 embedding layer에서 time dimension에 걸쳐 average pooling을 수행하고, primary emotion classification 및 기타 다양한 auxiliary task를 위해 여러개의 dense layer head를 추가합니다. 다음과 같은 몇 가지 auxiliary task를 실험합니다.

a) Gender Prediction: [1]에서 볼 수 있듯이 성별 분류는 emotion classification와 pitch 및 MFCC와 mutual feature를 공유합니다

b) Language Prediction : multi-lingual를 사용하는 classifiier의 특성상, 모델이 개별 언어의 억양을 학습 할 수 있도록 language prediction task를 추가합니다.

c) F0 mean and standard deviation regression task : Pitch (F0)는 emotion과 높은 상관관계가 있습니다. 예를 들어 설명드리자면 높은 음정은 흥분하고 소리 지르는 상태와 관련이 있는 반면, 낮은 음정은 일반적으로 슬프고 멍한 상태와 관련이 있습니다. 따라서 먼저 pYin의 알고리즘을 사용하여 F0 contour를 예측한 다음 모델에 주어진 clip에 대한 F0의 평균과 표준편차를 예측하는 task를 추가합니다.

d) Energy mean and standard deviation regression task : 감정은 valance, activation, dominance의 세 가지 차원으로 분류할 수 있습니다. 높은 에너지는 일반적으로 분노와 흥분과 같은 긍정적인 dominat emotion과 관련이 있습니다. 낮은 에너지는 부정적으로 dominatn fear와 sadness와 관련이 있습니다. 따라서 clip energy prediction의 평균과 표준편차를 auxiliary task로 사용합니다.

e) Voice ratio regression task : clip의 길이가 가변적이기 때문에 auxiliary task로 voice ratio를 예측하도록 task 를 부과합니다.

세 가지 분류 작업에는 weighted cross entropy을 사용하며, 각 분류의 inverse probability와 동일한 가중치를 부여하여 각 분포의 불균형을 고려하고, 회귀 작업에는 L2 loss를 사용합니다.

<Results>

이 파트에서는 학습 방법론과 결과를 설명하는데요. Google Audioset에서 pre-trained된 PANN과 XLSR-53 corpora로 pre-trained된 wav2vec2.0을 사용하여 비교합니다. PANN에서 final audio classification layer를 제거하고 emotion classification task를 위한 dense layer를 사용하였습니다.

먼저, PANN을 사용하여 wav2vec 2.0 모델의 성능을 평가합니다. Table 2와 같이 각 데이터셋에 대한 감정 클래스의 weighted F1, precision 및 recall을 계산하고 전체 데이터셋의 평균을 계산합니다. 여기서 Em은 감정 분류, Ge는 성별 분류, La는 언어 분류, F0-me와 F0-std는 F0 회귀의 평균과 표준편차, En-me와 En-std는 에너지 회귀의 평균과 표준편차, Vr은 voice ratio regression auxiliary task 작업을 나타냅니다. 처음 두 행에서 single task인 wav2vec 2.0이 PANN보다 7.2% 더 우수한 성능을 보이는 것을 확인할 수 있습니다. 그 이유는 두가지로 말할 수 있는데요.

(a) PANN은 음성 및 비음성으로 구성된 오디오 분류 말뭉치에 대해 pre-train을 거쳤기 때문입니다. 그러나 wav2vec 2.0은 53개 언어의 음성 전용 corpus에 대해 학습됩니다.
(b) raw audio waveform을 사용하는 wav2vec 2.0에 비해 PANN은 spctrogram을 사용하므로 일반화가 더 잘 이루어집니다.

두 번째, 다양한 auxiliary classification 및 regression head가 있는 모델간의 비교를 제시하는데요. MTL 모델의 metric이 pre-trained된 single task 모델보다 더 우수하다는 것을 관찰할 수 있었습니다. gender, language, mean F0 head가 포함된 MTL이 weighted F1 점수 측면에서 pre-trained된 single task wav2vec2.0 모델 보다 1.7& 더 우수하다는 것을 본 논문에서는 경험적으로 입증하였습니다. Table 3을 보면, 25개 데이터셋 중 23개와 18개 데이터셋에서 weighted recall 점수 측면에서 각각 single head PANN과 wav2vec 2.0보다 최고 성능의 MTL wav2vec 2.0 모델이 더 우수한 것으로 나타났습니다.

세 번째로, locales 간 성능을 평가합니다. locales 간 F1을 계산하기 위해 각 local에 속한 데이터셋의 F1 값을 평균하여 구합니다. Table 4에서 볼 수 있듯이, 13개 local 중 9개 local에서 MTL 모델이 다른 변형 모델보다 성능이 우수한 것으로 나타났습니다.

마지막으로 Fig 1에서 최적의 MTL 모델에 대한 7가지 감정 클래스에 대한 congusion matrix를 확인할 수 있습니다. confusion matrix는 모든 test data-points를 동시에 사용하여 계산됩니다. 모든 대각선 항목이 76%를 초과하는 것을 관찰할 수 있습니다.


이렇게 리뷰를 마쳤는데요. multi-lingual을 어떻게 다루는지 궁금하여 리뷰하였는데 입력이 어떻게 되는지 가려운 부분을 긁어주는 논문이었던 것 같습니다. 읽어주셔서 감사합니다.


[1] Yuanchao Li, Tianyu Zhao, and Tatsuya Kawahara, “Improved end-to-end speech emotion recognition using self attention mechanism and multitask learning.,” in Interspeech, 2019, pp. 2803–2807.

[3] Alexei Baevski, Yuhao Zhou, Abdelrahman Mohamed, and Michael Auli, “wav2vec 2.0: A framework for selfsupervised learning of speech representations,” 2020, vol. 33.

[4] Leonardo Pepino, Pablo Riera, and Luciana Ferrer, “Emotion recognition from speech using wav2vec 2.0 embeddings,” arXiv preprint arXiv:2104.03502, 2021.

[6] Qiuqiang Kong, Yin Cao, Turab Iqbal, Yuxuan Wang, Wenwu Wang, and Mark D Plumbley, “Panns: Largescale pretrained audio neural networks for audio pattern recognition,” IEEE/ACM Transactions on Audio, Speech, and Language Processing, vol. 28, pp. 2880–2894, 2020.

[31] Margaret Lech, Melissa Stolar, Christopher Best, and Robert Bolia, “Real-time speech emotion recognition using a pre-trained image classification network: Effects of bandwidth reduction and companding,” Frontiers in Computer Science, vol. 2, pp. 14, 2020.

Author: 김 주연

8 thoughts on “[ICASSP 2022] Multi-Lingual Multi-Task Speech Emotion Recognition Using wav2vec 2.0

  1. 안녕하세요 김주연 연구원님…

    리뷰가… 좀… 내용이 많이 부족한 것 같습니다.

    예를 들어서… aux task를 수행하는 것은 알겠는데, “F0 contour”는 무엇이라서 예측을 하는 걸까요? 아니면 “voice ratio”는 왜 예측하는건가요? 음성 비율을 예측하면 어떤 정보를 알 수 있는지…? 또 이 방법론에서 비교군으로 사용하는 모델인 PANN은 아마 처음 보시는 것 같은데 어떤 모델인지 설명이 없습니다.

    그리고 논문 읽은 이유를 잘 보면… “multi-lingual”의 입력이 궁금하다고 하셨는데 데이터셋 그냥 다 모아서 공통적으로 있는 라벨 합쳤다 정도가 끝인 것 같은데… 뭔가 제가 모르는 이슈가 있어서 해결이 되었는지도 궁금합니다.

    1. 안녕하세요. 댓글 감사합니다.

      피드백 주셔서 감사합니다. 다음 리뷰에는 좀 더 좋은 모습 보여드리도록 하겠습니다.

      질문에 답변을 드리자면
      1) F0 contour 같은 경우 F0 음조를 의미하고, PANN의 경우 “Large-Scale Pretrained Audio Neural Networks for Audio Pattern Recognition” 논문의 모델로 Google에서 수집한 유튜브 데이터인 Large-Scale AudioSet 데이터셋을 이용한 Pre-trained Audio Neural Networks 를 제안한 논문입니다. self-supervised 사전학습 모델인 wav2vec2.0과 비교하기 위해서 본 논문에서는 사용하였습니다.

      2) 최근 연구미팅 때 multi-lingual emotion recogntion에 대해서 어떻게 처리하는지 특히 입력이 어떻게 처리되는지 궁금한 부분이 있었는데, 이 논문과 여러 논문을 서베이한 결과 입력으로 영어+제2외국어 이렇게 가져가도 되는 것을 확인할 수 있었습니다.

      감사합니다.

  2. 안녕하세요 김주연 연구원님 좋은 리뷰 감사합니다.

    논문의 wav2vec 2.0가 multilingual에 fine tuning되었다고 하셨는데요, 그렇다면 비교에 사용된 PANN도 multi-lingual fine tuning을 진행한 건가요? Google Audioset이 multilingual인지, 아니면 feature extractor의 공정한 비교가 가능하도록 별도의 조치를 취해 줬는지 궁금합니다.

    그리고 제가 잘 몰라서 그러는데… auxiliary task가 뭔지 설명해주실 수 있나요? 리뷰를 읽어보니 하나의 feature extractor(여기서는 wav2vec2.0)에 task마다 FC head를 추가해 각각 fine tuning하는 것이라고 이해하였는데요, 그렇다면 backbone을 공유하긴 하지만 각각의 head만 학습하는 것 처럼 보이는데 각 task가 어떻게 emotion recognition에 영향을 줄 수 있는 지 잘 모르겠습니다.

    마지막으로는 [표2]와 [그림1]에는 [표1]의 데이터셋 전부를 학습/평가 데이터로 사용한 것인가요? 그렇다면 평가 데이터를 구성한 방법이 논문에 언급되었는지 궁금합니다. (RAVDESS의 경우 별도의 test가 구분되어 있지 않아 성우/감정 등을 균일하게 분포하도록 나눠줘야 하는데 이런 것들을 고려하였는지 )

    1. 안녕하세요. 댓글 감사합니다.

      1) 공정한 비교가 가능하도록 별도의 조치를 취해 줬는지 궁금합니다. -> 저도 혜원 연구원님이 이해하신 것처럼 이해하였는데요. PANN도 multi-lingual fine tuning을 진행하였습니다.

      2) auxiliary task의 경우, 혜원 연구원님께서 이해하신 바가 맞습니다. 각 task 마다 head를 추가해 fine-tuning하는 것이 맞습니다. 다만 저도 이렇게 multi-task를 하는 것이 emotion recogntion에 구체적인 어떤 영향을 미치는 지는 확신하지 못하지만 multi-task를 학습하며 얻은 정보들을 통해서 더욱 성능 향상을 이룬 것은 아닌가 생각합니다.

      3) train/valid/test의 경우 논문에서 정의한 특정 비율에 맞춰 나누어졌는데요. 다만 RAVDESS와 같이 별도의 test가 구분되어 있지 않은 데이터셋에 대해서는 디테일하게 언급이 되어 있지 않아 구체적으로 말씀드리기 어렵지만 다른 논문들처럼 배우가 겹치지 않는 선에서 랜덤하게 split 한 것이 아닌가 추측합니다.

      감사합니다.

  3. 본 논문에서 fine-tuning에 사용할 데이터셋을 구축할 때, 기존 해당 데이터셋의 사전 정의된 파티션이 없다면 감정 비율을 유지해 나눈다고 하셨는데 이 파티션이라는게 train/val/test를 의미하는 것인가요?
    그렇다면 이 파티션이 정의되어있지 않은 데이터셋은 현재 학계에서 어떻게 사용하고 있는 것인가요? 아니면 학계에서 사용하진 않는 데이터셋일 수도 있는것인가요?

    또한 natural 상황에서 수집된 데이터셋인 MELD가 낮은 F1 score를 보일 것이라고 이야기해주셨는데 왜 natural 3개 중 MELD만 이렇게 낮은 F1 score를 보여주는 것인지에 대한 논문에서의 언급이 있나요?

    1. 안녕하세요. 댓글 감사합니다.

      1) 네 맞습니다. 파티션이 정해져 있지 않은 데이터셋 같은 경우 현재 학계에서 어떻게 사용하고 있는지 전부 다 알지는 못하지만 대표적으로 RAVDESS 데이터셋의 경우, 파티션이 나눠져있지 않는데요. 이러한 경우 논문마다 배우가 겹치지 않는 선에서 논문마다 각자 비율을 정해 파티션을 나눕니다.

      2) 이 부분과 관련하여 논문에서는 자세히 다루지 않는데요. MELD가 매우 유명한 데이터셋이기 때문에 강조해서 말한 것은 아닌가 싶습니다.

      감사합니다.

  4. 안녕하세요 ! 좋은 리뷰 감사합니다.

    auxiliary task 실험에서 궁금한 점이 있는데, 분노와 같은 감정은 긍정적인 emotion와 관련이 있는건가요 ? 일반적으로 생각해보았을 때 분노라함은 부정적인 감정과 관련이 있을 것 같은데 이러한 부정/긍정을 나누는 에너지의 높고 낮음이 무엇이고 어떻게 측정되는 것인지 조금만 더 자세하게 설명해주시면 감사합니다.
    또한 F0가 감정과 높은 상관관계가 있는 것까지는 이해가 되나, F0 contour을 먼저 예측해야 한다는 점이 잘 이해가 가지 않는데 F0 contour라는 것은 무엇을 예측하기 위함인가요 ?
    또 하나 헷갈리는 것은 본 논문에서 emotion classifiction fine tuning task를 위한 사전학습된 모델과 feature extractor을 사용하는 이유는 입력으로 multilignual 데이터셋이 들어오기 때문이 맞을까요 ?

    1. 안녕하세요. 댓글 감사합니다.

      1) 에너지의 높고 낮음은 일종의 feature라고 생각하시면 되겠는데요. 음성을 분석했을 때 에너지 라는 feature가 있다. 그런데 이것이 감정에 주요한 역할을 한다고 이해하시면 쉬울 것 같습니다.

      2) contour 같은 경우 음조라고 이해하시면 되겠는데 pitch의 음조를 예측한다는 것으로 이해하시면 되겠습니다.

      3) 네 맞습니다. 하지만 더 설명하여 말하자면 multilingual 때문은 아니고 feature를 추출하기 위해서 feature extractor를 사용하는 거라고 이해하시면 되겠습니다.

      감사합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다