Cet été, j’ai eu la chance de participer à l’école d’été puis à l’atelier JSALT, organisé par l’université Johns Hopkins. La sixième édition de l’évènement Frederick Jelinek avait lieu pour la première fois au Canada, à l’École de technologie supérieure!
Comme l’explique le directeur du département de génie logiciel et des technologies de l’information de l’ÉTS, Patrick Cardinal, « l’école d’été vise à faire avancer les connaissances scientifiques dans le domaine des technologies de la parole, mais aussi à susciter l’intérêt des étudiants pour la recherche. » C’est exactement avec cet objectif que j’ai participé à l’évènement. Je voulais découvrir ce qu’est la recherche et si c’est quelque chose que j’aimerais poursuivre.
En d’autres mots, après avoir étudié tant d’années en informatique, je souhaitais découvrir si j’aimerais faire un doctorat…
L’école d’été – 10 au 21 juin
Les deux premières semaines de l’évènement étaient surtout destinées aux étudiants, que ce soit au baccalauréat, à la maîtrise (master) ou au doctorat. Chaque jour, un sujet différent était présenté et nous étions invités à en apprendre davantage sur des sujets qui en dehors de notre expertise. Par exemple, j’ai appris certaines notions de linguistiques, tandis que les linguistes dans la salle en ont appris davantage sur le machine learning.
Voici les sujets qui ont été présentés:
- Automatic Speech Recognition (ASR) avec Kaldi
- NLP
- Computer Vision
- Information Retrieval
- Neural Networks, Convolutional Neural Networks, Recurrent NN, Attention Mechanism and Transformer
- Machine Translation
- Advanced Machine Learning
- Using Cooperative Ad-hoc Microphone Arrays for ASR
- Speaker Detection in Adverse Scenarios with a Single Microphone
- Neural Polysynthetic Language Modeling: Leveraging Related Low-Resource Languages and Rule-Based Resources
Les diapositives des présentations sont disponibles sur le site de l’école d’été. Ces ressources sont en anglais.
En avant-midi, nous avions des présentations magistrales théoriques. Par contre, en après-midi, nous avions des laboratoires à réaliser. Alors, nous devions travailler sur l’ordinateur et accomplir le travail demandé, mettant déjà en pratique les connaissances apprises le matin!
Pendant ces deux premières semaines, nous en avons profité pour faire connaissance. Nous avons été au pub de l’ÉTS, monté le Mont-Royal, marcher sur le bord du Canal Lachine, regarder un match des Raptors sur la rue Peel!
L’atelier – 24 juin au 2 août
Les 6 semaines suivantes ont été consacrées à travailler en équipe sur un sujet particulier. Mon équipe et moi-même travaillions sur « Speaker Detection in Adverse Scenarios with a Single Microphone ». Nous avons passé six semaines à faire de la recherche dans le but d’améliorer la reconnaissance du locuteur (détecter qui est en train de parler) et le « speaker diarization » (détecter qui est en train de dire quoi).
Les travaux ont été effectués sur des ensembles de données (BabyTrain, AMI, CHiME5, SRI) sur lesquels il est plus difficile actuellement d’obtenir de bons résultats sur les tâches de speaker recognition et speaker diarization. L’enregistrement des fichiers audio a été effectué alors que les locuteurs étaient loin du microphone et dans des conditions non contrôlées. Par exemple, pour CHiME5, certains enregistrements audio ont été effectués pendant qu’une famille mangeait à table. Ainsi, il y a du bruit de « cuisine », peut-être une télévision allumée dans une autre pièce, etc.
Pour l’ensemble de données BabyTrain, celui-ci a été composé par des enregistrements audio durant toute une journée, alors qu’un enfant portait le microphone. Ainsi, ces données sont difficiles à analyser puisqu’elles comportent un grand nombre de scénario : l’enfant est au parc et il y a beaucoup de bruit, ou encore c’est l’heure de la sieste et ses parents chuchotent. Il est donc difficile de créer un algorithme qui soit en mesure de généraliser et d’offrir de bons résultats alors qu’il y a autant de variations dans l’enregistrement audio.
Puisque nous étions environ 25 personnes dans mon équipe, 4 tâches stratégiques ont été identifiées, agissant comme sous-équipes:
- Enhancement
- Super VAD
- End-to-end diarization
- Resegmentation
J’ai fais partie de la sous-équipe travaillant sur le end-to-end diarization.
Ma recherche pendant JSALT : Adversarial Training of Voice Activity Detection
En quelques mots, ma recherche cet été a porté sur le adversarial training of voice activity detection. Il est assez difficile de traduire et vulgariser ces concepts en français, je vais donc faire de mon mieux! N’hésitez pas à me poser des questions en commentaires.
Diarization
Le speaker diarization sert à répondre à la question « qui parle quand? ». La figure ci-dessous représente les différentes étapes de la speaker diarization. Ainsi, à partir de l’enregistrement audio, la première étape est le voice activity detection. Cette étape sert à identifier les séquences où il y a de la voix dans l’enregistrement.
La deuxième étape est le speaker change detection. Cette étape sert à découper les segments de voix en segments où il y a un changement de locuteur. Donc au lieu de juste identifier « quelqu’un parle ici », on va se dire « quelqu’un parle ici, mais à partir de la 3e seconde, c’est quelqu’un d’autre qui parle ».
L’étape finale, le speaker diarization, sert à prendre tous les segments de locuteurs et à les regrouper ensemble pour identifier les segments qui appartiennent au même locuteur.
Figure réalisée par Alex Crista
De mon côté, je me suis concentrée sur l’étape de Voice Activity Detection!
Chaque étape expliquée précédemment possède sa propre métrique pour évaluer si les résultats obtenus sont bons ou non. Dans le cas du VAD, cette métrique est appelée la Detection Error Rate (DER, à ne pas confondre avec Diarization Error Rate).
Le défi du VAD : faire face aux différents domaines
Un défi pour effectuer le voice activity detection est de faire face aux différents domaines rencontrés dans des fichiers audios.
Un domaine peut être considéré comme les conditions d’enregistrements du fichier. Par exemple, si j’enregistre un fichier audio dans un party avec beaucoup de bruit, cela peut être considéré comme un domaine. Si, plus tard, j’enregistre dans ma voiture où il y a aucun bruit dans l’environnement, alors c’est un autre domaine totalement différent.
Si on essaie de performer un algorithme de voice activity detection sur ces deux fichiers avec des conditions très différentes, les performances pourraient être grandement affectées.
Résultat de la recherche
Pour lire davantage sur les travaux effectués cet été, voir ces papiers scientiques:
Chen, Anonyme, Marvin Lavechin, Lei Sun, Marie-Philippe Gill, Bar Ben-Yair, Sajjad Abdoli, Xin Wang, Wassim Bouaziz, Hadrien Titeux, Emmanuel Dupoux, Kong Aik Lee, Najim Dehak. « Speaker detection in the wild: Lessons learned from JSALT 2019. » arXiv preprint arXiv:1912.00938 (2019).
Marvin Lavechin, Marie-Philippe Gill, Ruben Bousbib, Hervé Bredin, Leibny Paola Garcia-Perera. « End-to-end Domain-Adversarial Voice Activity Detection. » arXiv preprint arXiv:1910.10655 (2019).
Hervé Bredin, Ruiqing Yin, Juan Manuel Coria, Gregory Gelly, Pavel Korshunov, Marvin Lavechin, Diego Fustes, Hadrien Titeux, Wassim Bouaziz, Marie-Philippe Gill. « pyannote. audio: neural building blocks for speaker diarization. » arXiv preprint arXiv:1911.01255 (2019).
Résumé de mon expérience à JSALT
Quelques mois plus tard, je réalise finalement à quel point cette expérience de recherche m’a beaucoup apportée. J’ai été entourée de chercheurs inspirants qui m’ont généreusement donné de leur temps afin de m’expliquer plusieurs concepts que je ne comprenais pas encore. Je pense notamment à Hervé Bredin et Marvin Lachevin avec qui j’ai travaillé de plus près.
J’ai pu me pratiquer à présenter mes résultats de recherches pendant les « Brown Bag Lunch », où les étudiants au baccalauréat étaient invités à présenter leurs travaux aux chercheurs senior. En me préparant pour ces présentations, j’ai pu présenter mon PowerPoint d’avance aux membres de mon équipe et obtenir leurs commentaires pour améliorer ma présentation. Ce fut vraiment une expérience enrichissante pour moi!
Voici d’ailleurs ma présentation de quelques minutes que j’ai réalisé lors de la cérémonie de clôture de l’évènement. Tous les membres de l’équipe devaient présenter le résultat de leur travail :
Conclusion
Cette expérience fut merveilleuse et déterminante dans mon parcours! Je crois que tout étudiant au baccalauréat qui étudie aux États-Unis peut appliquer pour participer à cet évènement annuel. Si la recherche en machine learning et speech vous intéresse, je vous encourage fortement à appliquer!