Reconnaissance des émotions vocales avec la version ajustée de Wav2vec 2.0/HuBERT

Au Zaion Lab, nous travaillons sans relâche pour améliorer notre moteur de reconnaissance des émotions, l'idée d'explorer wav2vec 2.0 et HuBERT est très attrayante.

21 septembre 2022

Yingzhi Wang, Ingénieur Deep Learning chez Zaion, collaborateur de speechbrain, ingénieur de Centrale-Supélec.

Je suis passionné par les technologies de la parole, c’est pour cette raison j’aime énormément discuter.

Les modèles de parole self-supervised tels que wav2vec 2.0 et HuBERT font des progrès révolutionnaires dans la reconnaissance automatique de la parole ou « Automatic Speech Recognition » (ASR). Cependant, il n’a pas été totalement prouvé qu’ils permettent d’obtenir une meilleure performance en matière de reconnaissance des émotions.

Au Zaion Lab, nous travaillons sans relâche pour améliorer notre moteur de reconnaissance des émotions, l’idée d’explorer wav2vec 2.0 et HuBERT.

Pour notre projet, nous avons donc adapté wav2vec 2.0 et HuBERT à la reconnaissance des émotions en ajustant  leurs modèles pré-entraînés. Les résultats ont été excellents ! Nous avons atteint l’état de l’art sur l’ensemble de données public de reconnaissance des émotions IEMOCAP avec une WA (Weighted Accuracy) de 79,58%.

Voyons de quelle manière nous avons réalisé cela !

Une brève introduction à Wav2vec 2.0/HuBERT

Wav2Vec 2.0 (Facebook 2020) et HuBERT (Facebook 2021) sont deux des modèles self-supervised les plus performants et les plus représentatifs utilisés dans les tâches vocales, en particulier pour l’ASR. Commençons par une brève introduction de l’apprentissage self-supervised. Citant Yann LeCun, qui a initialement proposé cette approche en 2019 : « Dans l’apprentissage self-supervised, le système apprend à prédire une partie de son input grâce à d’autres parties de son input ». En élaborant des tâches complémentaires pour explorer des informations supervisées à partir de données non supervisées, l’apprentissage self-supervised permet d’entraîner les réseaux de neurones à travers ces tâches construites en vue d’apprendre des représentations précieuses pour les tâches en aval. Par exemple, dans wav2vec 2.0, certaines parties de l’audio sont masquées de manière aléatoire, et le modèle est entraîné à prédire correctement ces parties de l’audio masquées. De cette façon, le modèle apprend à représenter les audios sans aucune donnée labélisée.

Hubert partage la même idée que wav2vec 2.0, mais il applique une tâche de classification, forçant le modèle à classer les séquences masquées dans des catégories pré-définies. Pour générer des labels à la première itération, un clustering k-means est appliqué sur des caractéristiques MFCC à 39 dimensions. Afin de générer des labels plus précises pour les itérations suivantes, le clustering k-means travaille ensuite sur les représentations extraites du modèle HuBERT pré-entraîné issu de l’itération précédente.

Pour plus de détails sur wav2vec 2.0 et HuBERT, veuillez consulter :

(wav2vec2) https://arxiv.org/abs/2006.11477

(HuBERT) https://arxiv.org/abs/2106.07447

 

Dans notre travail, nous avons comparé quatre modèles pré-entraînés wav2vec 2.0 de Meta AI : le modèle de base wav2vec 2.0 (12 blocs de transformation et 768 dimensions d’intégration) et sa version ASR ajustée, le modèle large wav2vec 2.0 (24 blocs de transformation et 1024 dimensions d’intégration) et sa version ASR ajustée. Les modèles de base et les modèles larges ont pré-entraînés sur les données LibriSpeech 960h, également utilisées pour leur ajustement ASR.

Pourquoi la reconnaissance vocale des émotions suscite-t-elle de l’intérêt ?

La reconnaissance des émotions a suscité de grandes attentes au sein de la Relation Client; une détection réussie de l’état émotionnel humain constitue un atout majeur pour les solutions de Zaion.

La parole est le principal moyen de communication dans la vie quotidienne, puisqu’elle ne transmet pas uniquement des pensées, mais exprime également l’état émotionnel du locuteur. L’objectif de la reconnaissance des émotions dans la parole est d’identifier les états émotionnels humains à partir de la parole, ce qui est une mission qui se joue au niveau de l’énoncé : l’entrée est une phrase audio, et la sortie est une classe émotionnelle telle que neutre, colère, etc. Le principal défi de la détection des émotions dans la parole est d’extraire des caractéristiques émotionnelles puissantes, telles que les caractéristiques manuelles comme la MFCC, les spectrogrammes, les prosodies au cours des dernières années, et les caractéristiques issues des réseaux approfondis couramment utilisés dans les recherches plus récentes.

Explorons Wav2vec2.0/HuBERT + la reconnaissance vocale des émotions

Dans le benchmark SUPERB (NTU, MIT, Facebook AI, JHU, Amazon AI, CMU), wav2vec 2.0 et HuBERT sont utilisés comme extracteurs de caractéristiques figées, et durant ce processus, aucun paramètre de wav2vec 2.0 et HuBERT pré-entraînés n’est modifié. Les caractéristiques extraites sont ensuite utilisées pour une classification en 4 classes (neutre, colère, triste, heureux), le modèle le plus performant (HuBERT large) a obtenu une WA (Weighted Accuracy) de 67,62% sur IEMOCAP.

Cependant, dans notre recherche, nous avons exploré le fine-tuning partiel et le fine-tuning complet de wav2vec 2.0 et HuBERT, en adaptant leurs paramètres à la tâche de reconnaissance des émotions pendant le processus d’entraînement.

Les deux méthodes de fine-tuning sont présentées ci-dessous :

Comme le montre cette illustration à gauche pour un fine-tuning partiel, le modèle wav2vec 2.0/HuBERT est divisé en deux parties : un codeur de caractéristiques basé sur CNN et un codeur contextualisé basé sur transformer. Nous bloquons le codeur de caractéristiques basé sur CNN, en fixant tous les paramètres de ces blocs CNN, et nous n’affinons que les paramètres des blocs transformer Le fine-tuning partiel peut être considéré comme un entraînement d’adaptation au domaine pour le niveau supérieur, destiné à prévenir les interférences et les dommages aux couches CNN inférieures, déjà dotées d’une capacité d’expression.

Dans le cas du fine-tuning complet, illustré à droite, les modules CNN et transformateur sont tous tous ajustés pendant le processus d’entraînement en aval. En entraînant des caractéristiques générales au niveau inférieur, le fine-tuning complet permet aux expressions de niveau supérieur d’être plus complètes et plus ciblées.

Pour la structure en aval, un average-pooling et une couche linéaire sont ajoutés en tant que classificateur simple en aval. L’average-pooling comprime les différentes longueurs en un, puis la couche linéaire effectue une classification au niveau de la phrase en minimisant la perte d’entropie croisée.

Ensemble de données

L’ensemble de données choisi dans nos expériences est l’IEMOCAP, l’un des ensembles de données les plus largement utilisés et les plus représentatifs pour la reconnaissance des émotions vocales.

L’ensemble de données IEMOCAP (Interactive Emotional Dyadic Motion Capture) contient environ 12 heures de données et consiste en des dialogues scriptés et improvisés par 10 locuteurs. Comme ceci est généralement le cas dans la recherche sur la reconnaissance vocale des émotions, nous avons également utilisé 4 classes d’émotions dans notre travail :

  • colère,
  • bonheur
  • tristesse
  • neutre

La métrique d’évaluation utilisée est celle de la précision pondérée (WA) et la moyenne des résultats est calculée sur 5 graines différentes.

Et… La pointe du progrès en reconnaissance des émotions par la parole

Avant d’examiner les résultats, nous renommons les modèles que nous comparons avec la méthode suivante :

EF/PF/Frozen : Entièrement affiné/Partiellement affiné/Non affiné

w2v/hbt : modèle basé sur wav2vec 2.0/HuBERT

base/large : modèle pré-entraîné base/large

-/960h : avec/sans fine-tuning de l’ASR à l’aide des données LibriSpeech 960h

Nous comparons nos résultats avec l’état de l’art actuel Attention Pooling qui fournit un résultat comparable et compétitif utilisant uniquement la parole.

Nous avons été surpris de constater que tous nos modèles affinés ont obtenu des résultats satisfaisants, comme le montre le tableau ci-dessous, où le modèle large HuBERT partiellement affiné, atteint la meilleure WA de 79,58 %, soit une amélioration de 7,83 % par rapport à l’état de l’art et dépasse de loin les modèles figés répertoriés dans le benchmark SUPERB. En outre, nous observons que le réglage de précision partiel semble être une méthode de fine-tuning plus efficace que le fine-tuning complet. Nous avons considéré que IEMOCAP est un petit ensemble de données avec seulement 12 heures de données, donc trop de paramètres d’entraînement peuvent facilement causer un sur-apprentissage. De plus, nous avons remarqué que le fine-tuning des ASR ne facilite pas la tâche SER en aval, indiquant une perte d’informations prosodiques pendant le fine-tuning des ASR.

Prochain épisode

Dans ce blog, nous présenterons la performance des modèles self-supervised en les adaptant à la reconnaissance des émotions dans la parole. Dans les prochains blogs, nous démontrerons que les modèles self-supervised peuvent également être adaptés aux tâches de reconnaissance du locuteur et de compréhension du langage parlé avec des performances à l’état de l’art !

L’article a été soumis à Interspeech 2022. Une version ARXIV peut être trouvée ici. Notre article a été cité 10 fois jusqu’à présent et les résultats ont été utilisés comme modèle de base par d’autres chercheurs.