• Aucun résultat trouvé

Notation simplifiee

3.1.3 Réseaux récurrents

Wx Wy Wz WzT WxT WyT

x y

z

Wx Wy Wz

Notation

simplifiee

Figure 3.8 – Schéma de principe d’une couche “gated”. Le symbole ∗ désigne la multiplication

terme à terme entre deux couches de neurones (par exemple : fz= fx∗ fy). Les trois couches x,

y et z jouent un rôle parfaitement symétrique. À droite, nous donnons la notation simplifiée du

réseau que nous utilisons dans la suite de notre travail.

3.1.3 Réseaux récurrents

Nous avons décrit dans la partie précédente les familles les plus utilisées de réseaux feedforward, c’est-à-dire des réseaux dans lesquels l’information se propage de manière séquentielle entre les entrées et les sorties, sans bouclage au sein du réseau. Lorsqu’au contraire il est impossible d’ordonner les neurones selon des couches parcourues séquen-tiellement, on parle de réseaux récurrents. Là encore, différentes familles ont été proposées.

Réseaux de Elman et variantes

Une des familles les plus connues sont les réseaux de type Elman (Elman 1990). Ces réseaux ont une architecture proche des perceptrons multicouches, à ceci près qu’il contiennent des couches cachées dans lesquelles sont copiées les activités des neurones des couches intermédiaires à chaque pas de temps. Ces valeurs sont alors réinjectées dans le réseau au pas de temps suivant. Différents noms peuvent être attribués à ces réseaux selon les couches d’où proviennent les données copiées et dans lesquelles sont réinjectées ces valeurs (voir figure 3.9 pour deux exemples).

Réseaux de Hopfield et machines de Boltzmann

Les réseaux de Hopfield et les machines de Boltzmann sont une famille assez distincte des réseaux précédents. Ces réseaux s’appuient sur une approche énergétique, inspirée de la physique statistique, pour décrire l’évolution de l’activité des neurones.

Pour illustrer cette approche, considérons le cas d’un cristal de particules ferromagné-tiques dans lequel chaque particule peut prendre deux valeurs de moment magnétique σ

Entree Contexte Sortie Entree Sortie Contexte

Figure 3.9 – Exemples de réseaux récurrents populaires, le réseau de Elman (à gauche) et le

réseau de Jordan (à droite). À chaque pas de temps, les données de la couche intermédiaire ou de la couche de sortie sont copiées dans une couche de “contexte” qui est réinjectée en entrée au pas de temps suivant.

différentes, notées +M et -M. Chaque particule i interagit avec ses plus proches voisins j, avec une constante de couplage (appelée interaction d’échange) Wij. Ce couplage traduit le fait que l’orientation magnétique d’une particule a tendance à influer sur l’orientation magnétique de ses voisines. De même, la présence d’un champ magnétique b externe peut lui aussi influencer l’orientation des particules. En considérant l’ensemble des couplages, on peut alors définir une énergie du cristal comme

E =−

i,j

σiWijσj− b

i

σi. (3.26)

Ainsi, si la constante de couplage est positive, l’énergie sera minimale si toutes les parti-cules ont un moment magnétique orienté dans la même direction. Le retournement d’une particule (σi → σ

i) aura alors un effet énergétique de ∆σi(

jWijσj+b), où ∆σi =σ i−σi. La physique statistique nous dit alors que ce retournement a une probabilité

p(σi → σ

i) = 1

1 + exp(β(

jWij+b)∆σi) (3.27)

où β est proportionnel à l’inverse de la température du système (β = 1

kbT) : plus un retournement augmente l’énergie totale du système, moins celui-ci est probable. À une température donnée, il est donc possible de simuler l’évolution de l’état du cristal en choisissant aléatoirement une particule, en calculant sa probabilité de retournement, et en la retournant aléatoirement selon cette probabilité.

Les machines de Boltzmann suivent exactement ce principe : les particules sont rem-placées par des neurones qui prennent généralement les valeurs 0 et +1 et chaque neurone est couplé aux autres par ses connexions synaptiques Wij. À la différence d’un cristal où ce couplage dépend directement de relations de voisinage spatial en étant générale-ment invariant au sein du réseau (tous les atomes interagissent avec leurs voisins selon les mêmes lois physiques), les machines de Boltzmann n’ont pas cette contrainte et les

?

Figure 3.10 – Illustration du principe d’une machine de Boltzmann. On représente les poids

synaptique positifs par des traits pleins, dont l’épaisseur est proportionnelle à la valeur de la connexion. Les traits pointillés correspondent à des valeurs négatives. Les couleurs rouges et vertes correspondent aux deux valeurs possibles pour l’activité des neurones. On peut faire évoluer l’état du réseau en choisissant aléatoirement un neurone, et en tirant l’activité de ce neurone selon l’activité de ses voisins. Dans le cas du neurone “ ?”, il est lié fortement à deux neurones “verts”, et de manière négative à trois neurones “rouges”. La probabilité qu’il passe dans l’état “vert” est donc beaucoup plus importante que celle qu’il passe dans l’état “rouge”.

couplages sont totalement libres. De même, l’équivalent du champ magnétique externe n’est pas contraint à être le même pour l’ensemble du réseau, ce qui permet d’avoir un biais propre à chaque neurone.

Tout comme pour un cristal de particules ferromagnétiques, il est possible de faire évo-luer l’état d’un réseau de Boltzmann en tirant de manière séquentielle l’état de neurones choisis aléatoirement (figure 3.10). En répétant indéfiniment ce mécanisme, le réseau pro-duit différents états selon une distribution de probabilité, qui dépend des valeurs Wij et bi. D’après les lois de la physique statistique, un état s (représenté par un vecteur (s0,· · · , sn) des activités des n neurones du réseau) a une probabilité :

p(s) = 1 Z exp(β( i,j sisjWij + i bisi)) (3.28)

où Z est une constante de normalisation telle que la somme des probabilités de tous les états est égale à 1.

Les machines de Boltzmann peuvent alors être utilisées pour représenter une distribu-tion de probabilité donnée. Par exemple, en considérant une base de données a priori, il est possible d’identifier certains neurones de la machine de Boltzmann avec les valeurs des entrées de la base de données, puis apprendre à générer une activité de ces neurones qui reproduise la distribution de probabilité des entrées de la base de données. Les neurones identifiés avec les valeurs des entrées de la base sont appelés neurones visibles, les autres neurones étant des neurones cachés.

En notant pd la distribution définie par la base de données et pg la distribution générée par la machine de Boltzmann pour les neurones visibles, l’apprentissage consiste à mini-miser la divergence de Kullback-Leibler KL(pd, pg). Cette minimisation peut s’effectuer grâce à une règle d’apprentissage concise (Ackley et al. 1985) :

∂KL

∂Wij =−α(pd

ij − pg

ij) (3.29)

où pij = pi × pj est égale à la probabilité que les neurones i et j soient actifs en même temps, avec α le taux d’apprentissage. De la même manière

∂KL

∂bi =−α(pd

i − pg

i). (3.30)

La règle d’apprentissage est donc très simple, mais cependant coûteuse en temps de calcul, car elle nécessite d’estimer la distribution de probabilité générée par la machine de Boltzmann, ce qui implique d’échantillonner chaque neurone un très grand nombre de fois de manière à atteindre d’une part l’équilibre thermique, puis à échantillonner les valeurs un nombre suffisant de fois pour pouvoir approcher correctement la distribution de probabilité. En effet, la complexité exponentielle de la constante de normalisation Z (il faut sommer sur tous les états possibles) rend tout calcul analytique prohibitif. Une heuristique a depuis été proposée pour approcher cette règle d’apprentissage. Nous la détaillerons dans la section 3.2.4 dans le cas des machines de Boltzmann restreintes.

Les réseaux de Hopfield (Hopfield 1982) sont un cas particulier de machines de Boltz-mann, dont la tâche est de stocker n motifs d’activation distincts. Ces motifs correspondent donc à des minima locaux de l’énergie. Ces réseaux ont alors la propriété de débruiter des motifs ne correspondant pas à des motifs appris, en modifiant séquentiellement l’activation des neurones jusqu’à atteindre un minimum d’énergie.

Les réseaux “réservoir”

Les réseaux “echo-state” (Jaeger 2001) et “liquid state” (Maass et al. 2002) forment une troisième famille de réseaux récurrents, dont la principale caractéristique est que les valeurs des connexions récurrentes initialisées aléatoirement ne sont pas modifiées par apprentissage. Seules les connexions entre les neurones de ce “réservoir” récurrent et des neurones identifiés comme neurones de sortie sont apprises, à la manière d’un perceptron. Ce type de réseaux initialisés aléatoirement et avec un apprentissage limité à cer-tains poids seulement est précurseur d’un courant récent appelé Extreme learning

ma-chine (Huang et al. 2006) qui, contrairement à ce que son nom pourrait laisser croire,

choisit de minimiser l’étendue de l’apprentissage en le reléguant à la couche de sortie des réseaux de neurones. Pour un perceptron à une seule couche cachée, cette méthode consiste à doter la couche cachée d’un très grand nombre de neurones, qui sont reliés aux entrées par des poids tirés aléatoirement. Seuls les poids entre la couche cachée et la couche de sortie sont appris. La philosophie de cette approche consiste donc à proje-ter aléatoirement les données dans un espace de très grande dimension, en espérant que n’importe quel problème y devienne linéaire et puisse être par la suite appris par une seule couche de neurones.

4 0 3 0 2 0 1 0 0 1 0 2 0 3 0 4 0 1 .0 0 .5 0 .0 0 .5 1 .0

x

1

1 -1

1

y

b=7

b=-10

Figure 3.11 – Illustration du principe des perceptrons à une couche cachée comme

approxi-mateurs universels. En faisant la différence entre deux sigmoïdes qui ont des biais différents, il est possible d’obtenir l’approximation d’un créneau. En multipliant le nombre de créneaux (cha-cun nécessitant 2 neurones cachés), il est possible de construire une approximation par palier de quasiment n’importe quelle fonction. (Hornik et al. 1989) généralise ce résultat à d’autres fonctions d’activation. Cette figure illustre cependant le problème pratique soulevé par ce résultat théorique : s’il est possible d’approcher n’importe quelle fonction, le nombre de neurones cachés augmente exponentiellement avec la résolution choisie, sauf dans des cas très particuliers de couples fonction d’activation/fonction à approcher (par exemple si la fonction à approcher est elle-même une sigmoïde. . . ).