• Aucun résultat trouvé

Notation simplifiee

3.2 Apprentissage profond

3.2.2 Difficulté de l’apprentissage dans les réseaux profonds

Les problèmes posés par les réseaux profonds sont multiples. Premièrement, la ré-tropropagation du gradient a tendance à dégénérer lorsque le nombre de couches aug-mente (Bengio et al. 1994 ; Glorot et Bengio 2010). En effet, l’équation (3.13) permet de distinguer deux cas :

– lorsque σ0(gj+1)Wj,j+1 > 1, l’erreur propagée croît de manière exponentielle, ce qui

induit des modifications de poids elles aussi exponentielles. Ceci crée une instabilité de l’apprentissage. Cette situation peut notamment arriver si la matrice Wi,j vient à

4. La notation f (n) = O(n) signifiant ∃c, ∃N, ∀n > N, f(n) ≤ cn et f(n) = Ω(n) signifiant ∃c, ∃N, ∀n > N, f(n) ≥ cn.

Figure 3.12 – Représentations hiérarchiques apprises par un réseau profond entraîné sur des

images de différentes catégories. La première couche apprend des caractéristiques très génériques ressemblant à des filtres de Gabor (en haut), qui sont combinées au niveau de la deuxième puis de la troisième couche en caractéristiques de plus en plus haut niveau. (Images tirées de (Lee et al. 2009))

prendre des valeurs trop élevées en valeur absolue. On parle de gradient “explosif”. – lorsque σ0(gj+1)Wj,j+1 < 1, l’erreur propagée décroît de manière exponentielle vers

0, ce qui ralentit très fortement l’apprentissage. Cette situation, plus courante que la précédente, arrive notamment avec l’utilisation de fonctions sigmoïdes lorsque ces fonctions sont utilisées en zone de saturation, pour lesquelles la dérivée est presque nulle. On parle de gradient “évanescent”.

L’apprentissage modifiant à la fois la valeur des poids synaptiques et l’activité reçue par chaque neurone, il est difficile d’assurer un bon conditionnement du gradient au cours de l’apprentissage.

Un deuxième problème est posé par le nombre de paramètres appris. Il est en effet courant d’utiliser des réseaux contenant plusieurs milliers de connexions synaptiques : le réseau utilisé par (Le et al. 2012) possède par exemple 1 milliard de connexions. Dans le cas d’un perceptron à une seule couche, le problème d’optimisation est linéaire, et garantit donc de trouver une solution optimale si elle existe. Ce n’est plus le cas pour les réseaux multi-couches. Pendant longtemps, les piètres performances des réseaux profonds étaient justifiées par un argument avançant l’existence de très nombreux minima locaux bloquant l’apprentissage (voir par exemple (Erhan et al. 2010)). En effet, le nombre de paramètres optimisés étant très important, il est très probable, pensait-on, de tomber rapidement dans un minimum local qui bloque l’apprentissage. Cependant, il a récemment été montré qu’il était possible d’utiliser une simple rétropropagation du gradient dans un réseau profond pour obtenir des résultats de l’état de l’art (Ciresan et al. 2010). Cette réalisation a été rendue possible d’une part par un soin particulier porté à l’initialisation du réseau afin de conditionner au mieux le gradient, mais également par l’explosion récente des moyens de calculs qui permettent de compenser l’évanescence du gradient par un nombre d’itérations très élevé. Elle porte néanmoins une attaque directe contre l’argument des minima locaux, qui auraient dû empêcher d’atteindre ces performances.

Récemment, s’appuyant sur des résultats de physique statistique, il a été postulé que le problème principal n’était pas l’existence de minima locaux mais plutôt l’existence de plateaux où le gradient d’apprentissage est intrinsèquement faible (sans influence du problème de l’évanescence du gradient). En effet, les minima locaux sont en réalité très peu nombreux dans les grands espaces (Dauphin et al. 2014).

Nous ne donnerons ici qu’une intuition de ce résultat et renvoyons le lecteur vers l’article correspondant pour la démonstration mathématique (Dauphin et al. 2014). L’argument intuitif repose sur une observation assez simple : pour qu’il y ait existence d’un mini-mum local, il faut, condition nécessaire mais non suffisante, un point de l’espace où toutes les dérivées partielles premières s’annulent et où la matrice hessienne est positive. Plus la dimensionalité de l’espace augmente, plus le nombre de dérivées premières à considé-rer augmente lui aussi et plus la probabilité qu’un tel point existe est faible. De plus, lorsqu’un tel point existe tout de même, la probabilité que la matrice hessienne soit po-sitive (c’est-à-dire que toutes ses valeurs propres soient popo-sitives) décroît elle aussi. En particulier, il suffit qu’il existe au moins une valeur propre strictement négative et une autre strictement positive pour que le point considéré soit un point-col (ou point-selle). De manière intuitive, si l’on considère une fonction quelconque, cela revient à considérer

d valeurs propres aléatoires pour la hessienne en un point. La probabilité d’en avoir au

moins une de chaque signe est exponentiellement plus importante lorsque d augmente que la probabilité qu’elles soient toutes positives. De ce fait, dans des espaces de grande dimensionalité, il y a exponentiellement plus de points-selles (i.e. de plateaux de gradient) que de minima locaux.

Il est à noter que, même si la densité de ces points-selles décroît avec la dimensiona-lité (il est toujours nécessaire que toutes les dérivées premières s’annulent), ils aimantent l’apprentissage et doivent donc réellement être pris en compte. En effet, lors d’un appren-tissage par descente de gradient simple, les poids sont modifiés proportionnellement à ce gradient. Ainsi, lorsque l’un des paramètres atteint une valeur pour laquelle le gradient selon ce paramètre est presque nul, il ne sera quasiment pas modifié par les itérations suivantes. Au contraire, les autres paramètres (pour lesquels le gradient est non nul) se-ront plus fortement modifiés, augmentant la probabilité de tomber sur une zone dans laquelle le gradient sera faible pour eux également. Ainsi, les points-selles ont tendance à attirer les paramètres de manière séquentielle, ce qui transforme en première approxima-tion un problème de complexité exponentielle (tomber dessus en échantillonnant l’espace aléatoirement) en un problème de complexité linéaire (trouver séquentiellement une va-leur de chaque paramètre pour laquelle le gradient correspondant est nul). C’est pour-quoi les méthodes récentes d’apprentissage dans les réseaux profonds s’appuyant sur une descente de gradient globale dans l’ensemble du réseau s’appuient généralement sur des méthodes inspirées de la méthode de Newton, c’est-à-dire prenant en compte la matrice Hessienne (Martens 2010 ; Dauphin et al. 2014), tout en utilisant des astuces pour éviter son calcul exact trop coûteux. Nous ne nous attarderons cependant pas sur ces mé-thodes que nous n’utiliserons pas par la suite, et revenons au développement historique de l’apprentissage profond.