• Aucun résultat trouvé

De part la faible quantité de données habituellement disponibles dans les corpus au- diovisuels, nous avons minimiser le nombre de paramètres de nos réseaux de neurones, afin d’assurer un apprentissage efficace. De ce fait, nous avons privilégié l’utilisation de l’archi- tecture GRU. Notre réseau est principalement composé de plusieurs couches consécutives de RNNs bidirectionnel, usuellement deux dans nos expérimentations, puis d’un réseau de neurones feed-forward permettant de projeter l’état interne de la dernière couche bi- directionnelle dans notre espace de sortie. Le passage de cet état interne à la position des articulateurs considérés peut s’effectuer directement, grâce à une unique couche linéaire, ou par le biais d’un espace latent pré-calculé, comme nous l’expliciterons à la section 2.3.

2.2.1

Représentation des données

Notre réseaux de neurones a pour objectif de prédire une séquence de positions spa- tiales A = (a0, . . . , aT), depuis une séquence de phonèmes Φ = (φ0, . . . , φT).

at représente ici un vecteur appartenant à <n composé des coordonées spatiales de

tous les articulateurs considérés à l’instant t, ces derniers peuvent librement être choi-

sis en fonction de la coarticulation que nous souhaitons modéliser. Dans cette étude, at

est de nature variée en fonction des bases d’apprentissages utilisées. En particulier, nous pourrons retrouver dans cette étude l’utilisation d’un nuage de point 3D représentant le visage, acquéris avec un système de motion capture, d’un nuage de points 3D représentant la langue, acquéris avec un articulographe électro-magnétique, ou encore d’un nuage de points 2D représentant la langue dans l’axe médio-sagittal, acquéris aussi avec un arti-

culographe électro-magnétique. n sera donc égale à 3ncapteurs ou 2ncapteurs, avec ncapteurs

2.2. Présentation de notre modèle 45

distinction entre A, la séquence cible issue du corpus de données, et ˆA, la séquence telle

que prédite par nos modèles.

φt quand à lui est un vecteur one-hot représentant le phonème articulé à l’instant t.

Sa dimension est nphonemes, le nombre de phonème du langage étudié. Cette encodage a

l’avantage de préserver la durée de chaque phonème sans avoir à fournir explicitement cette information aux réseaux, et peut être considéré comme un signal binaire multidi- mensionnel synchronisé avec A. Nous pouvons noter que de part la faible dimension des vecteurs de la séquence d’entrée Φ, nous n’avons pas utilisé de couche d’embedding à l’en- trée du réseaux afin de transformer ces vecteurs one-hot en vecteurs réels de plus faible dimension, comme il est courant lors de l’utilisation des réseaux de neurones pour le trai- tement de texte. Nous pouvons également assumer qu’un embedding implicite sera tout de même appris par le réseaux afin de transformer cette représentation, que nous pouvons presque qualifier de discrète, en une représentation continue, par exemple au niveau de

Wi dans l’équation 2.3.

2.2.2

Procédure d’apprentissage

Tout réseau de neurones a besoin de trois éléments principaux pour son entraînement : — Un corpus, contenant les données que nous voulons modéliser.

— Une fonction de coût, permettant de mesurer l’erreur entre une prédiction du ré- seaux et la valeur cible contenu dans le corpus.

— Un algorithme d’apprentissage, capable de modifier les paramètres du réseaux afin de minimiser l’erreur renvoyée par la fonction de coût.

Traditionnellement, la base de données est séparée en trois ensembles. L’ensemble principal, contenant généralement 80% des données, est nommé corpus d’apprentissage et est utilisé pour modifier les paramètres du réseau. Le reste des données est séparé entre le corpus de validation (ou de développement) et le corpus de test. Le corpus de validation est utilisé à plusieurs fin, comme le monitoring de l’entraînement afin d’éviter l’overfitting par des techniques dites d’early stopping, ou encore la sélection des hyper-paramètres. Le corpus de test, comme son nom l’indique, permet de mesurer les performances finales du modèle sur un ensemble inconnu, afin d’éviter la présence d’un biais maximisant les performances sur cet ensemble malgré une faible généralisation.

Parmis les différents usages possibles d’un RNN. Nous avons choisi l’approche many-to- many synchrone (à la toute droite de la figure 2.3), parfaitement adaptée à nos données. En effet, notre réseau va apprendre une fonction de transfert permettant de convertir un signal binaire multidimensionnel, notre séquence de données, en un signal continue

46 Chapitre 2. Modéliser la coarticulation par les réseaux de neurones

Figure 2.3 – Illustration des différentes utilisation d’un RNN. (crédit : Andrej Karpathy) multidimensionnel, la trajectoire spatiale des articulateurs. Il s’agit donc d’une régression, pour laquelle la fonction de coût usuel est l’erreur quadratique moyenne. Nous avons défini

comme erreur la distance euclidienne entre les vecteurs de coordonées at et ˆat.

Formellement, nous obtenons donc notre fonction de coût L via cette équation :

L(A, ˆA) = 1 N X i X j (aij − ˆaij)2 (2.6)

où N est la taille de la séquence A, et aij la dimension j de ai, le vecteur des coordonées

spatiales à l’instant i.

La méthode d’optimisation utilisée pour l’apprentissage du réseau est Adam Kingma and Ba (2015), une extension de la descente stochastique du gradient utilisant un pas d’ap- prentissage adaptif. Devenu un des standards de la communauté Deep Learning, Adam semble combiner les avantages de deux autres algorithmes d’apprentissage réputés, RM- Sprop Tieleman and Hinton (2012) et AdaGrad Duchi et al. (2011) : il est approprié pour des objectifs non-stationaire et des gradients sparse, la mise à jour des paramètres est invariante à l’échelle du gradient, et ses hyper-paramètres sont intuitifs.

mt = β1.mt−1+ (1 − β1).gt ˆ mt = mt/(1 − β1t) vt = β2.vt−1+ (1 − β2).gt2 ˆ vt = vt/(1 − β2t) θt = θt−1− λ. ˆmt/( p ˆ vt+ ) (2.7)

où λ est le pas d’apprentissage, gt le gradient de l’ensemble de paramètres θt à l’instant

t, et  est un très petit nombre nécessaire à la stabilité numérique. m, l’estimation de la dérivée de g, et v, l’estimation de sa dérivée seconde, sont calculés en utilisant deux

moyennes mobiles exponentielles de paramètres respectifs β1 et β2. Une correction du

biais est appliquée à ces moyennes mobiles afin de réduire l’importance des premiers

2.3. Stratégie d’injection de connaissances 47