Système neuronal pour réponses à des questions de compréhension de scène auditives

 
CONTINUER À LIRE
Système neuronal pour réponses à des questions de compréhension de scène auditives
UNIVERSITÉ DE SHERBROOKE
                    Faculté de génie
  Département de génie électrique et de génie informatique

    Système neuronal pour réponses à des
questions de compréhension de scène auditives

                   Mémoire de maitrise
                Spécialité : génie électrique

                    Jérôme Abdelnour

               Sherbrooke (Québec) Canada

                         Mai 2021
Système neuronal pour réponses à des questions de compréhension de scène auditives
Système neuronal pour réponses à des questions de compréhension de scène auditives
MEMBRES DU JURY

      Jean Rouat
        Directeur

    Giampiero Salvi
       Évaluateur

     Éric Plourde
       Évaluateur
Système neuronal pour réponses à des questions de compréhension de scène auditives
Système neuronal pour réponses à des questions de compréhension de scène auditives
RÉSUMÉ

Le présent projet introduit la tâche "réponse à des questions à contenu auditif" (Acoustic
Question Answering-AQA) dans laquelle un agent intelligent doit répondre à une ques-
tion sur le contenu d’une scène auditive. Dans un premier temps, une base de données
(CLEAR) comprenant des scènes auditives ainsi que des paires question-réponse pour
chacune d’elles est mise sur pied afin de permettre l’entraînement de systèmes à base de
neurones. Cette tâche étant analogue à la tâche "réponse à des questions à contenu visuel"
(Visual Question Answering-VQA), une étude préliminaire est réalisé en utilisant un ré-
seau de neurones (FiLM) initialement développé pour la tâche VQA. Les scènes auditives
sont d’abord transformées en représentation spectro-temporelle afin d’être traitées comme
des images par le réseau FiLM. Cette étude a pour but de quantifier la performance d’un
système initialement conçu pour des scènes visuelles dans un contexte acoustique. Dans
la même lignée, une étude de l’efficacité de la technique visuelle de cartes de coordonnées
convolutives (CoordConv ) lorsqu’appliquée dans un contexte acoustique est réalisée. Fi-
nalement, un nouveau réseau de neurones adapté au contexte acoustique (NAAQA) est
introduit. NAAQA obtient de meilleures performances que FiLM sur la base de données
CLEAR tout en étant environ 7 fois moins complexe.
Mots-clés : Réseau neurones, AQA, VQA, Question réponse, Convolution, Coordconv,
FiLM, Acoustique
Système neuronal pour réponses à des questions de compréhension de scène auditives
Système neuronal pour réponses à des questions de compréhension de scène auditives
TABLE DES MATIÈRES

1 INTRODUCTION                                                                                                              1

2 REVUE DE LA LITTÉRATURE                                                                                                   3
  2.1 Réseaux de neurones . . . . . . . . . . . . . . . . . . . . . . . . . . .                                .   .   .    3
      2.1.1 Perceptron . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                               .   .   .    3
      2.1.2 Perceptron multi-couches . . . . . . . . . . . . . . . . . . . . .                                 .   .   .    4
      2.1.3 Apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . .                                .   .   .    4
      2.1.4 Réseaux convolutifs . . . . . . . . . . . . . . . . . . . . . . . .                                .   .   .    5
      2.1.5 Pooling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                .   .   .    7
      2.1.6 Resnets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                .   .   .    8
  2.2 Visual Question answering et Feature-wise Linear Modulation (FiLM)                                       .   .   .    9
  2.3 Cartes de coordonnées . . . . . . . . . . . . . . . . . . . . . . . . . .                                .   .   .   13
  2.4 Réseaux convolutifs appliqués à l’audio . . . . . . . . . . . . . . . . .                                .   .   .   15
      2.4.1 Filtres convolutifs . . . . . . . . . . . . . . . . . . . . . . . . .                              .   .   .   15
      2.4.2 Représentation spectro-temporelle . . . . . . . . . . . . . . . .                                  .   .   .   15
      2.4.3 Réseaux audio . . . . . . . . . . . . . . . . . . . . . . . . . . .                                .   .   .   16

3 BASE DE DONNÉES ET RÉSULTATS PRÉLIMINAIRES                                             19
  3.1 CLEAR : A Dataset for Compositional Language and Elementary Acoustic
      Reasoning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
      3.1.1 Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
  3.2 Introduction and Related Work . . . . . . . . . . . . . . . . . . . . . . . . 21
  3.3 Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
      3.3.1 Scenes and Elementary Sounds . . . . . . . . . . . . . . . . . . . . 22
      3.3.2 Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
  3.4 Preliminary Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
  3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
      3.5.1 Limitations and Future Directions . . . . . . . . . . . . . . . . . . . 26
  3.6 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
  3.7 APPENDIX : Statistics on the Data Set . . . . . . . . . . . . . . . . . . . 28

4 RÉSEAU DE NEURONES ACOUSTIQUE                                                                                            33
  4.1 NAAQA : A Neural Architecture for Acoustic
      Question Answering . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   35
  4.2 Abstract . . . . . . . . . . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   35
  4.3 Introduction . . . . . . . . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   35
  4.4 Related Work . . . . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   38
      4.4.1 Text-Based Question Answering . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   38
      4.4.2 Visual Question Answering (VQA) . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   38
      4.4.3 Acoustic Question Answering (AQA) .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   38

                                             v
vi                                                                  TABLE DES MATIÈRES

          4.4.4 Convolutional neural network on Audio . . . . . . . . . .         .   .   .   .   .   .   39
     4.5 Variable scene duration dataset . . . . . . . . . . . . . . . . . .      .   .   .   .   .   .   40
     4.6 Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     .   .   .   .   .   .   41
          4.6.1 Baseline model : Visual FiLM . . . . . . . . . . . . . . .        .   .   .   .   .   .   42
          4.6.2 NAAQA : Adapting feature extractors to acoustic inputs            .   .   .   .   .   .   43
          4.6.3 Coordinate maps with acoustic inputs . . . . . . . . . . .        .   .   .   .   .   .   46
     4.7 Experiments & Results . . . . . . . . . . . . . . . . . . . . . . .      .   .   .   .   .   .   47
          4.7.1 Acoustic Processing . . . . . . . . . . . . . . . . . . . . .     .   .   .   .   .   .   47
          4.7.2 Experimental conditions . . . . . . . . . . . . . . . . . .       .   .   .   .   .   .   47
          4.7.3 Initial configuration . . . . . . . . . . . . . . . . . . . . .    .   .   .   .   .   .   48
          4.7.4 Feature Extraction . . . . . . . . . . . . . . . . . . . . .      .   .   .   .   .   .   48
          4.7.5 Coordinate Maps . . . . . . . . . . . . . . . . . . . . . .       .   .   .   .   .   .   50
          4.7.6 Complexity reduction . . . . . . . . . . . . . . . . . . . .      .   .   .   .   .   .   52
          4.7.7 Impact of dataset composition . . . . . . . . . . . . . . .       .   .   .   .   .   .   52
     4.8 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   .   .   .   .   .   .   54
          4.8.1 NAAQA detailed analysis . . . . . . . . . . . . . . . . .         .   .   .   .   .   .   54
          4.8.2 Importance of text versus audio modality . . . . . . . . .        .   .   .   .   .   .   55
          4.8.3 Variability of the input size . . . . . . . . . . . . . . . .     .   .   .   .   .   .   56
     4.9 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    .   .   .   .   .   .   56
     4.10 APPENDIX : Network Optimization . . . . . . . . . . . . . . .           .   .   .   .   .   .   58

5 CONCLUSION                                                                           61
  5.1 Sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
  5.2 Retour sur les contributions . . . . . . . . . . . . . . . . . . . . . . . . . . 62
  5.3 Travaux futurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

LISTE DES RÉFÉRENCES                                                                                      65
LISTE DES FIGURES

 2.1    Perceptron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   .    3
 2.2    Perceptron multi couche . . . . . . . . . . . . . . . . . . . . . . . . . . .      .    4
 2.3    Réseau convolutif. L’opération de pooling est définie dans la section 2.1.5         .    5
 2.4    Champs récepteurs de filtres convolutif. Inspirée de [61]. . . . . . . . . .        .    6
 2.5    Example de Pooling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     .    7
 2.6    Comparaison entre blocs convolutifs . . . . . . . . . . . . . . . . . . . . .      .    8
 2.7    Schéma du système VQA FiLM . . . . . . . . . . . . . . . . . . . . . . .           .   10
 2.8    Exemple de tâche de régression de coordonnée. Inspirée de [63]. . . . . .          .   13
 2.9    Cartes de coordonnées . . . . . . . . . . . . . . . . . . . . . . . . . . . .      .   14
 2.10   Différentes formes de filtres convolutifs. Inspirée de [78]. . . . . . . . . . .     .   16
 2.11   Exemple de spectrogramme. . . . . . . . . . . . . . . . . . . . . . . . . .        .   17

 3.1    Example of an acoustic scene . . . . . . . . . . . . . . . . . . . . . . . . .         24
 3.2    Distribution of answers in the dataset by set type. The color represent the
        answer category. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     29
 3.3    Distribution of question types. The color represent the set type. . . . . . .          30
 3.4    Distribution of template types. The same templates are used to generate
        the questions and answers for the training, validation and test set. . . . . .         31
 3.5    Distribution of sound attributes in the scenes . . . . . . . . . . . . . . . .         32

 4.1    Overview of the CLEAR dataset generation process . . . . . . . . . . . . .             37
 4.2    Common Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          44
 4.3    Acoustic feature extraction . . . . . . . . . . . . . . . . . . . . . . . . . . .      45
 4.4    Test accuracy for NAAQA trained on different dataset sizes . . . . . . . .              53
 4.5    Test accuracy of NAAQA final configuration by question type and the num-
        ber of relation in the question . . . . . . . . . . . . . . . . . . . . . . . . .      54

                                             vii
viii   LISTE DES FIGURES
LISTE DES TABLEAUX

 2.1   Architecture de la première étape de traitement du module image          du    sys-
       tème FiLM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    . .   . . .   11
 2.2   Architecture de chaque bloc résiduel . . . . . . . . . . . . . . . . .   . .   . . .   12
 2.3   Type de questions dans base de donnée CLEVR [48] . . . . . . . .         . .   . . .   12

 3.1   Types of questions with examples and possible answers. . . . . . . . . . . .           23

 4.1   Types of questions with examples and possible answers . . . . . . . . . . .            40
 4.2   Dataset statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     42
 4.3   Impact of different feature extractors . . . . . . . . . . . . . . . . . . . . .        48
 4.4   Impact of the placement of Time and Frequency coordinate maps . . . . .                50
 4.5   Comparison of Time and Frequency coordinate maps . . . . . . . . . . . .               51
 4.6   Impact of the number of GRU text-processing units G . . . . . . . . . . .              58
 4.7   Impact of the number of filters C and hidden units H in the classifier . . .             58
 4.8   Impact of reducing the number of Resblock J and the number of filters M
       in each Resblocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      59
 4.9   Impact of the number of blocks K in the parallel feature extractor and its
       projection size P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      60

                                            ix
x   LISTE DES TABLEAUX
LISTE DES ACRONYMES

Acronyme   Définition
AQA        Acoustic Question Answering
BN         Batch Normalisation
CLEAR      Dataset for Compositional Language and Elementary Acoustic Reasoning
CLEVR      Dataset for Compositional Language and Elementary Visual Reasoning
CNN        Convolutional Neural Network
Conv       Convolution
CQT        Constant-Q transform
dB         Decibel
FiLM       Feature-wise Linear Modulation
GRU        Gated Recurrent Unit
LUFS       Loudness Unit Full Scale
MFCC       Mel-frequency cepstral coefficients
MLP        Multi-Layer Perceptron
NAAQA      Neural Architecture for Acoustic Question Answering
QA         Question Answering
ReLU       Rectified Linear Unit
STFT       Short-Time Fourier transform
t-SNE      t-distributed Stochastic Neighbor Embedding
VQA        Visual Question Answering

                                     xi
xii   LISTE DES ACRONYMES
CHAPITRE 1
INTRODUCTION

Le groupe de recherche NECOTIS [85] de la faculté de génie de l’université de Sherbrooke
est le laboratoire coordonnateur du projet Interactive Grounded Language Understanding
(IGLU [86]) financé par CHIST-ERA [99]. Dans le cadre de ce projet, un “jeu” nommé
GuessWhat ? ! [25] a été développé. Il s’agit d’un jeu comportant 2 joueurs. Ceux-ci ont des
rôles bien spécifiques. Le premier joueur assume le rôle de “l’oracle”. Il doit choisir un objet
dans la scène et le garder secret. Le deuxième joueur doit deviner quel est l’objet choisi
par l’oracle. Pour ce faire, les 2 joueurs doivent avoir une conversation orientée autour de
l’objet choisi par l’oracle. Le “devineur” pose une série de questions se répondant par oui
ou par non à l’oracle afin de déduire quel est l’objet choisi. Exemple de question :
    – Est-ce une personne ?
    – Est-ce que l’objet est de couleur rouge ?
    – Etc.
La tâche de l’oracle est de répondre à une question en lien avec le contenu d’une image.
Cette tâche est appelée "réponse à des questions à contenu visuel" (Visual Question Ans-
wering - VQA) [7]. Il existe plusieurs types de solutions dans la littérature pour ce pro-
blème. Perez et al. [76] (membres du consortium IGLU) ont utilisé des réseaux de neurones
convolutifs [58] et des réseaux de neurones récurrents [34] afin de proposer une solution à
la tâche de VQA. Ceux-ci ont développé un mécanisme permettant de moduler les cartes
d’activations d’un réseau convolutif en fonction d’une entrée textuelle (question).

Dans ce mémoire, nous proposons une nouvelle tâche comparable au VQA : réponse à
des questions à contenu auditif (Acoustic Question Answering-AQA). Dans cette tâche,
un agent intelligent doit répondre à une question sur le contenu d’une scène auditive.
Nous nous interrogeons sur la performance de techniques à base de réseau de neurones
initialement développées afin de s’attaquer à des tâches visuelles lorsqu’appliquées dans
un contexte acoustique. Plus précisément, nous nous intéressons à la performance de l’ar-
chitecture FiLM [76] sur la tâche d’Acoustic Question Answering.

Cette problématique peut être formulée sous la forme d’une question :

                                              1
2                                                       CHAPITRE 1. INTRODUCTION

Est-ce qu’une architecture à base de réseau de neurones développée dans le
but de répondre à des questions sur des scènes visuelles peut être utilisée pour
répondre à des questions sur des scènes auditives ?

Pour répondre à cette question, j’ai conçu une base de données pour la tâche d’AQA. Un
réseau de neurones de type FiLM a été par la suite entraîné sur cette base de données. Une
nouvelle architecture, adaptée au contexte auditif de la tâche a été élaborée et évaluée.

En résumé, voici les contributions scientifiques originales de ce travail de recherche :
    – Une base de données composée de 50 000 scènes acoustiques et de 4 paires de ques-
       tions et réponses par scène pour un total de 200 000 exemples.
    – Une analyse de la performance du système original FiLM sur la tâche d’Acoustic
       Question answering.
    – Une architecture à base de réseaux de neurones développée spécifiquement pour la
       tâche d’Acoustic Question answering.
    – Une analyse de la pertinence de l’utilisation de cartes de coordonnées dans un
       contexte acoustique.
Le présent document est structuré de la façon suivante : Le chapitre 2 fait une revue de la
littérature en lien avec les objectifs du projet. Le chapitre 3 définit une première version de
la base de données CLEAR accompagnée de résultats préliminaires avec le système FiLM.
Le contenu de ce chapitre a été publié à la conférence NeurIPS 2018 sous le nom CLEAR :
A Dataset for Compositional Language and Elementary Acoustic Reasoning. Finalement, le
chapitre 4 définit la version finale de la base de données CLEAR, une nouvelle architecture
à base de réseaux de neurones adaptée au contexte acoustique de la tâche d’AQA ainsi
qu’une analyse approfondie des résultats. Ce chapitre fait aussi l’analyse de l’utilisation
de cartes de coordonnées dans un contexte acoustique. Le contenu de ce chapitre a été
soumis à la revue IEEE Pattern Analysis and Machine Intelligence sous le nom NAAQA :
A Neural Architecture for Acoustic Question Answering.
CHAPITRE 2
REVUE DE LA LITTÉRATURE

Dans ce chapitre, nous introduisons les concepts élémentaires nécessaires à la compréhen-
sion des articles présentés aux chapitres 3 et 4 de ce mémoire. Une revue de la littérature
plus spécialisée est effectuée dans l’article de journal présenté au Chapitre 4.

2.1      Réseaux de neurones
2.1.1     Perceptron
                        w1
                   X1

                        w2
                   X2

                        w3                                Fonction
                   X3                                     activation

                        wn                 Biais
                   Xn

                                  Figure 2.1 Perceptron

Le perceptron [84] est l’unité de base des réseaux de neurones artificiels. Le perceptron
prend un certain nombre d’entré Xn et effectue une somme pondérée via une série de
poids wn . Une transformation non-linéaire, appelée fonction d’activation, est par la suite
appliquée au résultat afin de mieux séparer l’espace. L’équation suivante définie l’opération
effectuée par le perceptron :
                                           N
                                    z = f(     w n · xn )                             (2.1)
                                            n=1

Où z est la sortie du perceptron, xn représente une entrée, wn représente le poids associée
à cette entrée et f représente la fonction d’activation.

Lors de l’élaboration du perceptron, la fonction d’activation utilisée était la fonction hea-
viside. Cette fonction est discontinue et est définit par l’équation suivante :
                                           ⎧
                                           ⎨0 si x < 0
                                   f (x) =                                              (2.2)
                                           ⎩1 si x ≥ 1

                                              3
4                                       CHAPITRE 2. REVUE DE LA LITTÉRATURE

Il existe plusieurs autres types de fonction d’activation tel que la fonction Sigmoide [35],
la fonction tangente hyperbolique [50], la fonction ReLU [46], etc. La fonction d’activation
la plus communément utilisée de nos jours est la ReLU. Elle est définie par l’équation
suivante :
                                      f (x) = max(0, x)                                (2.3)

2.1.2     Perceptron multi-couches
               Couche                          Couches
               d'entrée                        Cachées

                 X1                                                 Couche de
                                                                      Sortie

                 X2

                 X3

                 XN

                           Figure 2.2 Perceptron multi couche

Un certain nombre de perceptrons peut être assemblé tel qu’illustré à la Figure 2.2 afin de
modéliser des expressions complexes. Ils sont organisés en couches : la couche d’entrée, les
couches cachées (en jaune) et la couche de sortie (en vert). Chaque neurone est connecté
à tous les neurones de la couche précédente. Chaque connexion est modulée par un poids
wij où i correspond à l’indice du neurone et j correspond à l’indice de la couche. Les biais
ainsi que les fonctions d’activations ne sont pas inclus à la Figure 2.2 afin de simplifier
l’illustration. Le nombre de couches cachées ainsi que le nombre de neurones par couche
sont des hyper-paramètres qui doivent être ajusté lors de l’élaboration du réseau. Le nombre
de neurones dans la couche de sortie dépend de la tâche pour laquelle est entraîné le
réseau. Le réseau illustré à la Figure 2.2 pourrait, par exemple, être utilisé pour une tâche
d’approximation ou une tâche de classification binaire puisqu’il ne contient qu’un seul
neurone de sortie. Pour une classification où il y a plus de 2 classes, le réseau pourrait
contenir C neurones de sortie où C est le nombre de classes.

2.1.3     Apprentissage
Un réseau de neurones peut être entraîné de façon supervisée ou non-supervisée. L’en-
traînement supervisé est la stratégie la plus répandue et celle qui sera utilisée dans ce
mémoire. Un jeu de données annoté est nécessaire pour ce type d’entraînement. Il s’agit
2.1. RÉSEAUX DE NEURONES                                                                      5

                             Convolution        Pooling        Convolution      Pooling

     Figure 2.3 Réseau convolutif. L’opération de pooling est définie dans la section
     2.1.5

d’un processus itératif où la sortie du réseau est comparée à la valeur attendue pour en
calculer la différence (erreur) et appliquer un correctif aux poids du réseau (W ) en fonc-
tion de cette erreur. Il existe plusieurs façons de calculer cette erreur. Par exemple il est
possible d’utiliser le critère de l’erreur moyenne carrée (MSE) ou encore le critère Cross-
Entropy. Les poids du réseau (W ) sont optimisé de façon itérative afin de minimiser le
critère d’erreur (L) choisi. L’algorithme utilisé est la descente de gradient [87] et est défini
de la façon suivante :                                       
                                   e+1      e      ∂L(X, W )
                                W      =W −μ                                               (2.4)
                                                       ∂W
Où e est le numéro de l’itération, X est la matrice d’entrée, W est la matrice de poids du
réseau, L est le critère d’erreur et μ est le taux d’apprentissage régissant la mise a jour
des poids. Sa valeur est définie lors de la phase d’apprentissage.

Le gradient est propagé à travers le réseau en partant de la sortie vers l’entrée. La dérivée
partielle est calculée en utilisant la règle de dérivation en chaine [82]. Les gradients locaux
pour chaque couches sont multipliés ensemble ce qui fait en sorte que plus le nombre de
couche est élevé, plus le gradient tend vers zéro. Un gradient qui tend vers zéro pour les
couches inférieures implique que les valeurs des poids ne changent presque pas lors de la
mise à jour itérative (Équation 2.4). L’apprentissage devient alors très lent voir impossible.
Ce problème est communément appelé disparition du gradient (vanishing gradient.)

2.1.4     Réseaux convolutifs
Les réseaux convolutifs dominent les applications en reconnaissance d’image depuis que le
réseau AlexNet [54] a remporté la compétition ImageNet Large Scale Visual Recognition
Challenge [47] en 2012. Ceux-ci ont néanmoins été introduits bien avant, en 1998, par Lecun
et al. [56]. Les réseaux convolutifs sont construits de façon hiérarchique [58] : les couches
inférieures capturent des composantes primitives et les couches supérieures combinent
les composantes de la couche précédente afin d’apprendre des concepts de plus en plus
complexes. Par exemple, pour un réseau faisant la reconnaissance de chaises, la première
couche pourrait capturer des lignes avec différentes orientations, puis la deuxième couche
6                                        CHAPITRE 2. REVUE DE LA LITTÉRATURE

           Figure 2.4 Champs récepteurs de filtres convolutif. Inspirée de [61].

assemble ces lignes afin de reconnaître les pattes, le siège et le dossier. Finalement, la couche
supérieure assemble les composantes des pattes, du siège et du dossier pour reconnaître
la chaise. La sortie d’une couche convolutive est appelée carte d’activation. Le nombre de
cartes d’activation dépend du nombre de filtres convolutifs dans une couche convolutive.
Les couches convolutives sont généralement entrelacées avec des couches de pooling afin de
réduire la taille des cartes d’activations (contribuant ainsi au processus de hiérarchisation).
La Figure 2.4 illustre le champs réceptif d’un neurone dans différentes couches. L’opération
de pooling est détaillée à la Section 2.1.5. La dernière couche d’un réseau convolutif est
plus souvent qu’autrement un perceptron multi-couche. Dans le cas d’un réseau faisant de
la classification, cette couche permet l’apprentissage des relations entre les composantes
complexes et les différentes classes à reconnaître.
2.1. RÉSEAUX DE NEURONES                                                                      7

2.1.5     Pooling
                                                                          58   24   45

                          12   38   8    6    33   5     Max-Pooling      92   67   91

                          58   2    24   11   9    45                     93   74   93

                          86   55   38   22   91   32

                          92   7    18   67   85   39

                          23   85   74   4    15   93                     27.5 12.3 23.0

                          17   93   49   62   46   34                     60.0 36.3 61.8
                                                        Average-Pooling
                                                                          54.5 47.3 47.0

                               Figure 2.5 Example de Pooling

L’opération de pooling est utilisée afin de sous-échantillonner une carte d’activation. Pour
ce faire, la carte d’activation est séparée en une série de rectangles de N ×M . Une seule va-
leur est retenue par rectangle ce qui a pour effet de réduire la taille de la carte d’activation.
Cette opération contribue à la propriété d’insensibilité spatiale des réseaux convolutifs.
Plus les cartes d’activations sont réduites, plus les activations représentent des concepts
abstraits et moins elles ont de lien avec la position sur l’image d’entrée tel qu’illustré à la
Figure 2.4. Il existe plusieurs stratégies de pooling. Une première stratégie est de faire la
moyenne des valeurs dans chaque rectangle. Une autre stratégie est de garder la valeur la
plus grande dans chaque rectangle. On garde ainsi la valeur la plus représentative de la
caractéristique extraite par le filte convolutif. La figure 2.5 montre un example pour les
deux types de Pooling avec un filtre de taille 2 × 2.
8                                            CHAPITRE 2. REVUE DE LA LITTÉRATURE

2.1.6     Resnets
                      Block 2                                 Resblock 2
                                                                               Entrée
                                                                           +
                            Convolution

                                                                   Convolution

                            Convolution
                                                                   Convolution

                      Block 1                                 Resblock 1
                                                                               Entrée
                                                                           +

                            Convolution
                                                                   Convolution

                            Convolution
                                                                   Convolution

                     (a) Bloc convolutif             (b) Bloc convolutif rédisuel
                     Figure 2.6 Comparaison entre blocs convolutifs

Les réseaux convolutifs de type VGG[91] souffrent du problème de disparition du gradient
décrit à la Section 2.1.3. Plus on ajoute de couches convolutives, plus le gradient diminue
et donc la capacité de convergence du réseau. He et al. [37] ont introduit le concept de
bloc résiduel avec le réseau ResNet afin de pallier à ce problème. Pour ce faire, la sortie du
bloc convolutif est additionnée avec l’entrée tel qu’illustré à la Figure 2.6b. Cette addition
est appelée Skip Connection. La sortie d’un bloc résiduel est définie par :

                                           H(x) = x + F (x)                              (2.5)

Où x est l’entrée et F (x) est une série d’opérations de convolution.

Le gradient de la fonction de coût (L) par rapport à l’entrée peut être écrit de la façon
suivante :

                                          ∂L   ∂L ∂H
                                             =
                                          ∂x   ∂H 
                                                  ∂x      
                                               ∂L      ∂F
                                             =      1+                                   (2.6)
                                               ∂H      ∂x
                                               ∂L    ∂L ∂F
                                             =    +
                                               ∂H ∂H ∂x
2.2. VISUAL QUESTION ANSWERING ET FEATURE-WISE LINEAR
MODULATION (FILM)                                                                          9

Le gradient de l’entrée par rapport à elle même est égale à 1. En additionnant l’entrée à la
sortie du bloc résiduel, le gradient peut se propager plus facilement limitant ainsi l’impact
du problème de disparition du gradient. En utilisant cette technique, il est possible de
développer des réseaux convolutifs beaucoup plus profonds.

2.2      Visual Question answering et Feature-wise Linear
         Modulation (FiLM)
Le VQA [7] est un type de problème pour lequel un agent intelligent doit répondre à des
questions liées au contenu d’une image qui a été choisie au préalable. Ces questions sont
habituellement formulées sous forme de mots. Chaque scène visuelle peut être composée
d’une seule ou plusieurs images (vidéo). Perez et al. [75, 76] ont proposé une approche à
base de réseaux de neurones afin de résoudre ce problème. La solution peut être séparée
en 2 modules principaux : un module qui analyse la question textuelle et un module qui
analyse l’image.

Le module question textuelle, désigné par les boites GRU sur la figure 2.7, prend en entrée
une séquence de mots (certaines questions font plus de 40 mots). Puisque l’ordre de la
séquence contient des informations importantes quant au sens de la question [34], le module
est composé d’un réseau de neurones récurrent. Il s’agit d’un réseau récurrent de type
GRU [23] formé de 4096 unités cachées. La dernière unité cachée produit un nombre N de
couples de 2 paramètres (γ,β) paramétrant les N couches FiLM utilisées dans le module
image. Ces paramètres permettent de “focaliser l’attention” du module d’analyse d’image
en modulant les cartes d’activations du réseau.

Le module image, désigné par les boites CNN et ResBlock sur la figure 2.7, est composé d’un
réseau convolutif qui analyse la scène visuelle. Plutôt que de faire l’apprentissage à partir
de valeurs de poids aléatoires, Perez et al. ont choisi d’utiliser les premières couches d’un
réseau classificateur ResNet-101 [37] pré-entraîné sur la base de données ImageNet [47].
Ceci permet d’accélérer grandement la vitesse de convergence de l’apprentissage du réseau
convolutif puisque les couches se chargeant de l’apprentissage des structures primaires [58]
(les premières couches du réseau) n’ont pas besoin d’être apprises. Cet apprentissage prend
un temps considérable car les variations appliquées aux poids des couches deviennent de
plus en plus petites plus on descend dans l’architecture du réseau (la sortie du réseau est
ici considérée comme étant la couche la plus haute alors que la première couche est la
couche la plus basse) à cause du problème de dégénérescence du gradient [11]. Perez et al.
ont utilisé la couche conv4_6 du réseau Resnet ainsi que les couches inférieures comme
première étape de traitement de l’image. La sortie de la couche conv4_6 passe ensuite
10                                      CHAPITRE 2. REVUE DE LA LITTÉRATURE

     Figure 2.7 Schéma du système VQA FiLM inspirée de [76]. À gauche, le module
     question composé d’un réseau récurrent de type GRU. Ce dernier prend en
     entrée une question sous forme d’une séquence de mots et calcule les valeurs
     β et γ qui seront utilisées par le module image présenté au centre du schéma.
     Celui-ci prend en entrée l’image représentant la scène d’intérêt. Cette image
     est traitée par un premier réseau convolutif pré entrainé (CNN) puis par une
     série de blocs résiduels. L’architecture d’un bloc résiduel est détaillée à droite
     du schéma. On y retrouve une série de couches convolutives (Conv ), une couche
     de normalisation par lot (batch normalisation-BN ) ainsi qu’une couche FiLM.
     Cette couche prend en paramètre β et γ calculés par le module question afin
     d’appliquer une transformation linéaire sur l’activation de la couche précédente.
     Cette transformation permet de focaliser l’attention du réseau convolutif sur
     différentes caractéristiques de l’image en fonction de la question posée. La couche
     FiLM est suivie par la fonction d’activation ReLU définie à la section 2.1.3. La
     sortie du dernier bloc résiduel est finalement envoyée dans un classificateur qui
     choisira la réponse la plus probable à la question en fonction de la liste de
     réponses possibles.
2.2. VISUAL QUESTION ANSWERING ET FEATURE-WISE LINEAR
MODULATION (FILM)                                                                           11

                       Couche                          Dimension
                       Image d’entrée                  3 x 224 x 224
                       ResNet-101 jusqu’à conv4_6 1024 x 14 x 14
                       Conv(3 x 3, 1024 → 128)         128 x 14 x 14
                       ReLU                            128 x 14 x 14
                       Conv(3 x 3, 128 → 128)          128 x 14 x 14
                       ReLU                            128 x 14 x 14
     Tableau 2.1 Architecture de la première étape de traitement du module image
     du système FiLM [49, 76]. La colonne dimension A x B x C exprime la dimension
     de la sortie de chaque couche. A est le nombre de cartes d’activation de dimension
     B par C. ResNet-101 fait référence au réseau ResNet [37] pré-entraîné sur la base
     de données ImageNet [47]. À la colonne Couche, Conv(E x F, G → H) représente
     une couche convolutive composée de H filtres de dimension E par F. La relation
     G → H montre le nombre de cartes de caractéristique en entrée G versus le
     nombre en sortie H. ReLU représente la fonction d’activation “Rectified Linear
     Unit” [108].

par 2 couches convolutives avec fonction d’activation ReLU [108]. Le tableau 2.1 donne
les détails de ces couches.

Un nombre N de blocs résiduels est placé après cette première étape de traitement. Le
nombre de blocs résiduel est un choix d’implémentation. Perez et al. ont choisi d’utiliser
un N de 4. Ce choix a été déterminé de façon empirique. Chaque bloc résiduel est défini
tel que présenté dans le tableau 2.2.

La principale contribution du travail de Perez et al. [76] se trouve au niveau de la couche
FiLM. Cette couche effectue une transformation linéaire de la sortie de la couche précédente
en fonction de 2 paramètres qui sont appris par le module question. L’équation 2.7 démontre
la transformation appliquée :

                           F iLM (Fj,c |γj,c , βj,c ) = γj,c Fj,c + βj,c                  (2.7)

Dans cette équation, F représente la carte d’activation (sortie) de la couche précédente.
Les index i et c correspondent respectivement à l’index de l’entrée et l’index de la carte
d’activation. Les paramètres γ et β sont appris lors de la phase d’entrainement du sys-
tème. Dépendamment de la valeur de ceux-ci, la carte d’activation F sera modulée d’une
façon différente. Par exemple, la modulation appliquée peut effectuer une négation, une
amplification ou encore le seuillage de certaines parties des cartes d’activation. Ces modu-
lations permettent de focaliser l’attention du réseau convolutif vers des parties spécifiques
de l’image en fonction de la question présentée en entrée. Les auteurs ont effectué une
12                                              CHAPITRE 2. REVUE DE LA LITTÉRATURE

                   Indice Couche                          Dimension
                   (1)       Sortie du module précédent 128 x 14 x 14
                   (2)       Conv(1 x 1, 128 → 128)       128 x 14 x 14
                   (3)       ReLU                         128 x 14 x 14
                   (4)       Conv(3 x 3, 128 → 128)       128 x 14 x 14
                   (5)       Batch Normalisation          128 x 14 x 14
                   (6)       Couche FiLM                  128 x 14 x 14
                   (7)       ReLU                         128 x 14 x 14
                   (8)       Ajout des résidus (3) et (7) 128 x 14 x 14
     Tableau 2.2 Architecture de chaque bloc résiduel [49, 76]. La colonne dimension
     A x B x C exprime la dimension de la sortie de chaque couche. A est le nombre
     de cartes d’activation de dimension B par C. La couche Batch Normalisation est
     détaillé dans [44]. La couche FiLM est définie par l’équation 3.1. Conv(E x F,
     G → H) représente une couche convolutive composée de H filtres de dimension
     E par F. La relation G → H montre le nombre de cartes de caractéristique en
     entrée G versus le nombre en sortie H. ReLU représente la fonction d’activation
     “Rectified Linear Unit” [108].

 Type de question                           Example de question
 Existe (Exist)                             Is there a white cube ?
 Moins de (Less than)                       Is there less red cylinder than big sphere ?
 Plus que (Greater than)                    Is there more sphere than cube ?
 Compte (Count)                             How many cubes are metallic ?
 Requête du matériel (Query material)       What is the material of the red cylinder in the right corner ?
 Requête de la taille (Query size)          What is the size of the yellow sphere ?
 Requête de la couleur (Query color)        What is the color of the brown thing that is left of the big sphere ?
 Requête de la forme (Query shape)          What is the shape of the green metallic thing ?
 Équivalence de couleur (Equal color)       Are the big cube and the small sphere of the same color ?
 Équivalence de forme (Equal shape)         Are the red metallic thing and the brown thing of the same shape ?
 Équivalence de taille (Equal size)         Are the brown cube and the yellow sphere of the same size ?
 Équivalence de matériel (Equal material)   Are the sphere and the red cube of the same material ?
 Équivalence de quantité (Equal integer)    Are there an equal number of large things and metal spheres ?
             Tableau 2.3 Type de questions dans base de donnée CLEVR [48]

analyse des paramètres γ et β après entraînement pour chaque bloc résiduel. Ceux-ci ont
observé des regroupements en lien avec les différents types de questions dans les blocs
résiduels de haut niveau via une projection t-SNE [76]. Les auteurs soutiennent que ces
regroupements témoignent d’un certain "raisonnement" basé sur les questions.

La sortie du dernier bloc résiduel passe ensuite à travers un classificateur qui permettra
d’attribuer une probabilité à chaque réponse possible. La réponse prédite correspond alors
à la “classe” ayant la plus grande probabilité. L’ensemble des réponses possibles est défini
par les exemples de réponse présentés lors de la phase d’entrainement. Le réseau ne sera
donc pas en mesure de produire des réponses qu’il n’a pas vues à l’apprentissage. Le
2.3. CARTES DE COORDONNÉES                                                                13

                        (x,y)       Conv

      Figure 2.8 Exemple de tâche de régression de coordonnée. Inspirée de [63].

classificateur est composé d’une couche convolutive 1 x 1 et de 2 couches perceptron (512
et 1024 neurones).

Afin de réaliser l’entrainement du système, les auteurs ont utilisé la base de données
CLEVR [49]. Celle-ci est composée de 70 000 images d’entrainement, 15 000 images de
validation et 15 000 images de test. Ces images sont des scènes contenant des formes
géométriques 3D de différentes couleurs, différentes tailles, placées à différents endroits
et avec différents paramètres d’occlusion. Chacune de ces scènes est générée de façon
artificielle. Pour chaque scène, une panoplie d’ensembles question-réponse est générée. On
en compte 699 989 pour l’entrainement, 149 991 pour la validation et 14 988 pour les tests.
Les différentes catégories de question sont celles présentées dans le Tableau 2.3. En plus du
triplet question-image-réponse, la base de données offre aussi une notion de contexte quant
au type de question. Cette information à priori n’est pas utilisée pour faire l’apprentissage
dans ce cas-ci. Ce système atteint une précision moyenne de 97.7% sur l’ensemble de test
de CLEVR en faisant ainsi la meilleure technique dans l’état de l’art pour cette base de
données à l’époque de la publication.

2.3      Cartes de coordonnées
Liu et al. [63] ont développé une tâche où un réseau de neurones doit déterminer la position
d’un carré blanc dans une image avec un fond noir à partir de ses coordonnées cartésiennes.
Un exemple est illustré à la Figure 2.8. L’opération inverse, c’est à dire déterminer les
coordonnées cartésiennes d’un carré à partir d’une image, est aussi exploré. Cette tâche
(et son opposée) semble très simple mais Liu et al. ont observé que les réseaux de neurones
convolutifs ont de la difficulté à effectuer cette transformation de l’espace cartésien vers
l’espace des pixels. Selon eux, cette difficulté s’explique par le fait que chaque filtre d’une
couche convolutive est déplacé sur l’image d’entrée. Ce déplacement permet au filtre de
s’activer lorsqu’il détecte un objet ou une caractéristique quelle que soit sa position dans
l’image (invariance spatiale). Il s’agit là d’une des forces des réseaux convolutifs, surtout
dans le cadre d’une tâche de classification d’image où l’objectif est d’identifier une image
à partir de ses composantes. Cette propriété est par contre problématique pour une tâche
14                                                              CHAPITRE 2. REVUE DE LA LITTÉRATURE

           Carte Coordonnées axe Y              Carte Coordonnées axe X       Cartes activations
      -1    -1   -1   -1   -1   -1   -1   -1   -1 -0.9 -0.8    0.8 0.9    1

     -0.9 -0.9 -0.9 -0.9 -0.9 -0.9 -0.9 -0.9   -1 -0.9 -0.8    0.8 0.9    1

     -0.8 -0.8 -0.8 -0.8 -0.8 -0.8 -0.8 -0.8   -1 -0.9 -0.8    0.8 0.9    1

                                               -1 -0.9 -0.8    0.8 0.9    1                        Convolution
                                               -1 -0.9 -0.8    0.8 0.9    1

     0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8           -1 -0.9 -0.8    0.8 0.9    1

     0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9           -1 -0.9 -0.8    0.8 0.9    1

      1     1    1    1    1    1    1    1    -1 -0.9 -0.8    0.8 0.9    1

                                                Figure 2.9 Cartes de coordonnées

où la position dans l’espace est importante tel que le traçage de cadre autour d’objets dans
une scène visuelle ou encore la régression de coordonnée cartésiennes.

Liu et al. [63] proposent le concept de carte de coordonnées afin de permettre a une couche
convolutive de conserver des informations sur la position d’un objet. L’objectif est d’offrir
une série de points de référence au réseau afin de faciliter son orientation spatiale. Pour ce
faire, 2 matrices composées de valeurs fixes sont concaténées avec les cartes d’activations à
l’entrée d’une couche convolutive tel qu’illustré à la Figure 2.9. Les dimensions des matrices
sont les mêmes que celles des cartes d’activations avec lesquelles elles sont concaténées.
La première matrice sert de référence pour l’axe des ordonnées (Y). Toutes les colonnes
de cette matrice sont identiques. La valeur à la première ligne est -1 et augmente de
façon linéaire jusqu’à la dernière ligne qui comporte la valeur 1. Ceci donne un point de
repère quant au début et à la fin de l’axe des ordonnées. Cette référence est constante
pour chaque couche convolutive quelle que soit la dimension des cartes d’activations. La
deuxième matrice sert de référence pour l’axe abscisse (X) et est similaire à la première.
Les axes sont inversés : les valeurs des colonnes varient linéairement de -1 à 1 et les lignes
sont identiques.

Un réseau convolutif faisant usage de cartes de coordonnées atteint une précision de 100%
sur la tâche illustrée à la Figure 2.8 alors que le meilleur réseau sans carte de coordon-
nées évalué dans [63] obtient 86%. Liu et al. ont aussi testé les cartes de coordonnées sur
des tâches plus complexes et ont observé une augmentation considérable de la précision
2.4. RÉSEAUX CONVOLUTIFS APPLIQUÉS À L’AUDIO                                                 15

lorsqu’utilisé dans le cadre d’une tâche de traçage de cadre autour d’objet visuel. La per-
formance reste sensiblement la même lorsqu’appliqué à la tâche de classification ImageNet
[47]. Ceci démontre qu’il est possible pour le réseau d’apprendre à ignorer les informations
de coordonnées et ainsi maintenir la propriété d’invariance spatiale des réseaux convolutifs
lorsque nécessaire.

2.4      Réseaux convolutifs appliqués à l’audio
2.4.1     Filtres convolutifs
Tel que mentionné à la section 2.1.4, les réseaux convolutifs sont réputés être capables
d’apprendre une certaine hiérarchie liée à l’organisation de la scène représentée dans une
image. Afin d’utiliser ce type de réseau avec des trames sonores, plusieurs travaux [21,
26, 72, 73, 79] utilisent des représentations temps-fréquence des dites trames. Ce type de
représentation organise les fréquences sur l’axe des ordonnées et le temps sur l’axe des
abscisses. Dans une image classique, les 2 axes représentent une position spatiale. Il s’agit
là d’une différence majeure qui a un grand impact sur la façon d’interpréter ces 2 types
d’images. Lorsqu’on effectue une opération de convolution sur une image classique, on
déplace habituellement un filtre selon les 2 axes de façon similaire. Ce déplacement n’a
pas la même signification dans le cas d’une représentation temps-fréquence que dans une
image classique. La plupart du temps, lorsqu’on travaille avec des images classiques, les
filtres sont de forme carrée. Pons et al. [78, 80] font l’analyse de différentes formes de filtres.
Ils expliquent qu’un filtre de forme m × 1 (Fig. 2.10a) est un filtre permettant de capturer
les caractéristiques fréquentielles du signal. Un filtre de forme 1 × n (Fig. 2.10b), quant
à lui, capture les caractéristiques temporelles du signal. Pons et al. [80] expérimentent
avec plusieurs longueurs de filtre temporel. Un filtre court (moins de 950 ms) permet de
modéliser les onsets alors qu’un filtre long (plus de 1500 ms) capture le rythme du signal.
Un filtre de forme carrée/rectangulaire m × n (Fig. 2.10c) permet donc de modéliser à
la fois des composantes fréquentielles et temporelles. Cette configuration est d’ailleurs la
plus utilisée dans la littérature.

2.4.2     Représentation spectro-temporelle
Il existe plusieurs types de représentation temps-fréquence. Une des plus populaires dans
la littérature est le spectrogramme [105] (Illustré dans la Figure 2.11). Celui-ci est obtenu
en faisant une transformée de Fourier à temps court (STFT) [27] du signal. Rui et al. [16]
proposent d’effectuer une décomposition en composantes principales (PCA [3]) sur un
spectrogramme. Il existe d’autres représentations temps-fréquence telles que le Constant-
Q Transform (CQT) [90], le Perceptual Linear Predictive (PLP) [39], le Mel frequency
16                                        CHAPITRE 2. REVUE DE LA LITTÉRATURE

            n=1

     M          m                  M                              M          n
                                               n
                                                                                     m
                                                       m=1

                    N                              N                             N

     (a) Filtre fréquenciel            (b) Filtre temporel      (c) Filtre fréquentiel et tem-
                                                                porel
          Figure 2.10 Différentes formes de filtres convolutifs. Inspirée de [78].

Cepstrum coefficients (MFCC) [64, 68] et le spikegramme [28]. Chaque représentation
permet de faire ressortir des caractéristiques du son différentes. Par exemple, la représen-
tation MFCC et la CQT utilisent une échelle fréquentielle non linéaire similaire à celle
de la perception humaine [64]. Cette échelle permet de mieux distinguer les composantes
vocales d’un signal et offre une meilleure résolution en basse fréquence que la STFT. Cela
permet d’identifier plus facilement la fréquence fondamentale. Ces représentations ont été
et sont encore beaucoup utilisées dans le domaine de la reconnaissance vocale. L’utilisation
d’une représentation plutôt qu’une autre dépend de la nature des sons avec lesquels on
travaille.

2.4.3     Réseaux audio
Les réseaux convolutifs ont été utilisés sur des signaux sonores en transformant d’abord
le signal en représentation temps-fréquence pour effectuer plusieurs types de tâches. Pour
n’en citer que quelques unes, ceux-ci ont été utilisés pour faire la classification de son [72,
78, 79, 93], la reconnaissance vocale [1, 26, 59], l’annotation de musique [21] et le dé-
bruitage [73]. Comme dans tout système à base de réseau de neurones, il n’existe pas de
configuration optimale pour tous les types de tâches. Pons et al. [79] proposent d’utiliser
une architecture peu profonde avec seulement une couche convolutive et une couche de
max-pooling [89] pour faire la modélisation de caractéristiques temporelles à court-terme
de signaux musicaux. Ils proposent aussi d’ajouter un réseau récurrent à la sortie du ré-
seau convolutif. Puisque le réseau convolutif modélise les caractéristiques à court-terme
des signaux, l’ajout d’un réseau récurrent pourrait permettre la modélisation de caracté-
ristiques plus long-terme. Cette piste de solution sera explorée dans un travail futur des
auteurs. Park et al. [73] proposent quant à eux d’utiliser 3 couches convolutives avec le
même nombre de couches max-pooling pour faire la classification de segments de bruit
dans un signal. Tel que mentionné précédemment, la forme du filtre ainsi que la direc-
tion de son mouvement permettent de capturer différents aspects du son. Choi et al. [21]
2.4. RÉSEAUX CONVOLUTIFS APPLIQUÉS À L’AUDIO                                               17

                      Fréquence

                                                 Temps
                                                                          .
                         Figure 2.11 Exemple de spectrogramme.

utilisent des filtres qui se déplacent selon l’axe X (temps) dans le but d’apprendre la dis-
tribution temporelle des différentes bandes de fréquences d’un signal musical pour en faire
l’annotation. Pons et al. [80] mentionnent que l’utilisation de différents filtres pour chaque
couche convolutive permet d’améliorer les performances du système. Le travail de Sprengel
et al. [93] quant à lui n’a réussi à obtenir des résultats qu’avec des filtres carrés. La forme
des filtres dépend, encore une fois, du type de signaux analysés.

Finalement, il existe d’autres approches permettant d’intégrer des représentations sonores
dans un réseau de neurones. Par exemple, la combinaison d’un réseau à réservoir avec une
représentation par cochléogramme pour faire la reconnaissance de séquences temporelles
acoustiques [9, 13] et l’utilisation d’une représentation évènementielle pour faire la détec-
tion et la localisation d’évènement acoustique [28]. Ces dernières approches ont l’avantage
de ne pas avoir besoin de travailler avec des trames fixes (contrairement aux approches
conventionnelles) placées sur le signal et sont développées au sein du groupe de recherche
NECOTIS[85].
18   CHAPITRE 2. REVUE DE LA LITTÉRATURE
CHAPITRE 3
BASE DE DONNÉES ET RÉSULTATS PRÉ-
LIMINAIRES

 Auteurs et affiliation :
  Jerome Abdelnour : étudiant à la maitrise, Université de Sherbrooke,
  Faculté de génie, Département de génie électrique et de génie informatique.
   Giampiero Salvi : professeur, Université Norvégienne de sciences et
   technologies (NTNU), Département de systèmes électroniques.
   Jean Rouat : professeur, Université de Sherbrooke, Faculté de génie,
   Département de génie électrique et de génie informatique.
 Date de l’acceptation : 10 novembre 2018
 État de l’acceptation : version finale publiée
 Revue : NeurIPS 2018 - Visually Grounded Interaction and Language workshop
 Référence : [J. Abdelnour, J. Rouat and G. Salvi, “CLEAR : A Dataset for Com-
  positional Language and Elementary Acoustic Reasoning,” in Workshop on Visually
  Grounded Interaction and Language in Advances in Neural Information Processing
  Systems 31, 2018, https ://arxiv.org/abs/1811.10561]
 Titre français : CLEAR : Une base de données pour raisonnement acoustique.
 Code : https://github.com/IGLU-CHISTERA/CLEAR-dataset-generation
 Contribution au document :
  Cet article contribue au présent mémoire en introduisant la tâche Acoustic Question
  Answering ainsi qu’une première version de la base de données CLEAR. La base
  de données est la première étape de ce travail puisque sans elle, aucun réseau de
  neurones ne peut être entraîné. L’article décrit les diverses caractéristiques de la
  base de données ainsi que les techniques utilisées pour la générer. L’article introduit
  aussi des résultats préliminaires avec le système FiLM.
 Résumé français :
  La tâche d’Acoustic Question Answering est introduite pour la première fois dans cet
  article afin de promouvoir la recherche en raisonnement acoustique. Dans cette tâche,
  un agent intelligent apprend à répondre à une question sur le contenu d’une scène

                                          19
20            CHAPITRE 3. BASE DE DONNÉES ET RÉSULTATS PRÉLIMINAIRES

       auditive. Nous proposons un paradigme de génération de données pour la tâche AQA
       inspiré par CLEVR [48]. Les scènes acoustiques sont de durée fixe et sont générées
       en assemblant 10 sons provenant d’une banque de son élémentaire. Les questions et
       réponses pour chaque scène acoustique sont générées via des programmes fonctionnels
       définis manuellement. Le code pour générer la base de données est rendu publique
       pour la communauté sur GitHub. Une analyse préliminaire de la performance du
       modèle FiLM, initialement développé pour la tâche VQA, est rapporté pour cette
       tâche acoustique.
     Modifications apportées à l’article :
      La mise en page a été ajusté afin d’uniformiser la mise en page de ce document. La
      bibliographie de l’article à été intégrée dans la bibliographie à la fin de ce mémoire.
3.1. CLEAR : A DATASET FOR COMPOSITIONAL LANGUAGE AND
ELEMENTARY ACOUSTIC REASONING                                                              21

3.1      CLEAR : A Dataset for Compositional Language
         and Elementary Acoustic Reasoning
3.1.1     Abstract
We introduce the task of acoustic question answering (AQA) in the area of acoustic rea-
soning. In this task an agent learns to answer questions on the basis of acoustic context.
In order to promote research in this area, we propose a data generation paradigm adapted
from CLEVR [48]. We generate acoustic scenes by leveraging a bank of elementary sounds.
We also provide a number of functional programs that can be used to compose questions
and answers that exploit the relationships between the attributes of the elementary sounds
in each scene. We provide AQA datasets of various sizes as well as the data generation
code. As a preliminary experiment to validate our data, we report the accuracy of current
state of the art visual question answering models when they are applied to the AQA task
without modifications. Although there is a plethora of question answering tasks based on
text, image or video data, to our knowledge, we are the first to propose answering ques-
tions directly on audio streams. We hope this contribution will facilitate the development
of research in the area.

3.2      Introduction and Related Work
Question answering (QA) problems have attracted increasing interest in the machine lear-
ning and artificial intelligence communities. These tasks usually involve interpreting and
answering text based questions in the view of some contextual information, often expressed
in a different modality. Text-based QA, use text corpora as context ([40, 45, 81, 92, 101,
102]) ; in visual question answering (VQA), instead, the questions are related to a scene
depicted in still images (e.g. [5, 7, 30, 31, 45, 48, 81, 111, 114]. Finally, video question
answering attempts to use both the visual and acoustic information in video material as
context (e.g. [17, 22, 51, 97, 104, 106]). In the last case, however, the acoustic information
is usually expressed in text form, either with manual transcriptions (e.g. subtitles) or by
automatic speech recognition, and is limited to linguistic information [112].

The task presented in this paper differs from the above by answering questions directly
on audio streams. We argue that the audio modality contains important information that
has not been exploited in the question answering domain. This information may allow QA
systems to answer relevant questions more accurately, or even to answer questions that
are not approachable from the visual domain alone. Examples of potential applications are
the detection of anomalies in machinery where the moving parts are hidden, the detection
of threatening or hazardous events, industrial and social robotics.
Vous pouvez aussi lire