Chapitre 2
Matériel théorique
Pour commencer, nous allons expliquer comment la mRF dans
notre modèle sera formalisée en un réseau de neurones.
Puis, comme nous la ferons évoluer par algorithmes
évolutionnistes, nous allons présenter le fonctionnement de ces
derniers et voir ce qu'ils peuvent nous apporter. Les aspects techniques de
l'implémentation de ces outils théoriques seront
évoqués dans l'annexe A.
2.1 Les réseaux de neurones
Un r'eseau de neurones est compos'e d'un ensemble de neurones
et d'un ensemble de connexions orient'ees liant certains neurones d'entre eux.
Formellement, nous pouvons le consid'erer comme 'etant un graphe orient'e et
pond'er'e, chaque noeud correspondant a` un neurone.
Il existe diff'erents types de neurones : dans notre
modèle, nous utiliserons une variante des neurones a` taux de d'echarge
de type int'egrateurs a` fuite, appel'es lPDS (locally Projected Dynamical
Systems) car ils permettent de mod'eliser une population de neurones. Nous
avons choisi les lPDS en raison de leur propri'et'e de stabilit'e
int'eressante, puisqu'il a 'et'e montr'e, par exemple, que la stabilit'e (au
sens de la contraction) d'un système non lin'eaire compos'e de lPDS
d'ecoule directement de la stabilit'e du même système sans lPDS,
ce qui n'a pas 'et'e montr'e pour les int'egrateurs a` fuite standard [Girard
et al., 2008]. Comme nous cherchons ici a` construire un système
permettant la s'election de l'action, la stabilit'e est pr'ef'erable a`
l'instabilit'e.
Un neurone lPDS est caract'eris'e par 2 paramètres : -
ô, correspondant a` la constante de temps;
- threshold, correspondant au seuil d'activation.
Par simplicite, afin de ne pas multiplier les param`etres
libres, nous avons fixeô a` 5ms et mis le threshold a` 0. Nous avons
egalement fixele pas d'iteration dt, qui doit etre par construction toujours
inferieur a` ô, a` 1ms.
La premi`ere operation realisee par le neurone consiste en une
somme des grandeurs recues en entrees, ponderees par les
coefficients synaptiques, c'est-`a-dire la somme
w1x1 + .. . + wmxm =
|
Xm j=1
|
wjxj, o`u les xi etant les entrees et wi les coefficients
|
synaptiques.
(m
threshold +
Nous devons ajouter le seuil threshold a` cette formule :
Ewjxj
j=1
Nous utiliserons l'integration des lPDS par la methode
approchee d'Euler. La fonction d'activation sera donc la suivante,
an etant la valeur interne actuelle du neurone, an+1 sa
future valeur interne, egale a` la valeur de sortie :
an+1(x) = #177;max (1,min (0, (an + (x - an) * dt)))
ô
Comme x correspond a` la somme ponder'ee des grandeurs
recues en entrees, cela nous donne au final :
? an+1 = #177;max 1, min (0, an + (threshold + Ewjxj -
an) X dtô
j=1
Le #177; present dans la formule traduit le fait qu'un neurone
lPDS peut etre soit excitateur, soit inhibiteur.
La figure 2.1 montre un exemple de neurone, et le graphe B.1
represente un reseau de neurones issu de notre mod`ele correspondant a` une mRF
avec 4 clusters.
FIGURE 2.1: Exemple d'un neurone avec 2 entrées et une
fonction d'activation a` seuil.
FIGURE 2.2: Exemple d'une mRF a` 4 clusters. Les neurones
oranges sont excitateurs, les neurones bleus foncésont inhibiteurs. Un
cluster correspond a` un rectangle bleu. Les neurones situés en dehors
des rectangles bleus représentent les entrées que
recoit la mRF ainsi que les neurones vers lesquels elle projette.
Cette figure se trouve également dans l'annexe B en version agrandie.
FIGURE 2.3: Exemple d'un cluster de la mRF. Les neurones
oranges sont excitateurs, les neurones bleus foncésont inhibiteurs.
Chaque connexion synaptique a` un poids entre 0 et 1. Les 3 neurones en bleu
clair sont les entrées (neurones d'entrée), les 3 neurones en
rouge sont les sorties de la mRF (neurones de sortie). Cette figure se trouve
également dans l'annexe C en version agrandie.
De même, chaque cluster de la mRF a le même nombre
de sorties. Au niveau global de la mRF, les valeurs de sorties correspondent a`
la moyenne des valeurs des sorties de chaque cluster. La figure C.1 montre un
cluster. Un cluster a un nombre de neurones et de connexions variables.
Ces réseaux comportant une quantitéimportante de
neurones, de connexions et de paramètres, il serait fastidieux de les
optimiser a` la main pour étudier en quelle mesure leur structure permet
la sélection de l'action. Par conséquent, nous avons choisi
d'utiliser les algorithmes évolutionnistes pour trouver des solutions
par cette méthode d'optimisation qui a des propriétés
particulièrement intéressantes pour notre problème comme
nous allons le voir dans la section suivante.
2.2 Les algorithmes 'evolutionnistes
2.2.1 D'efinitions
Les algorithmes 'evolutionnistes, 'egalement appel'es
algorithmes 'evolutionnaires, sont une famille d'algorithmes d'optimisation
s'inspirant du principe de s'election naturelle de la th'eorie
darwinienne. Dans le cadre de la s'election naturelle, un environnement donn'e
contient une population d'individus qui sont en concurrence pour la survie et
la reproduction. L'aptitude de chaque individu a` r'ealiser ces deux objectifs
d'etermine leur chance d'avoir des enfants, autrement dit de transmettre leurs
gènes a` des individus de la g'en'eration suivante, lesquels auront pour
des raisons g'en'etiques une chance accrue de bien r'eussir a` leur tour, voire
mieux, ces deux objectifs.
Ce principe d'am'elioration constante au cours des
g'en'erations est repris par les algorithmes 'evolutionnistes pour optimiser
des solutions a` un problème. A` la g'en'eration
initiale, une population compos'ee
d'individus diff'erents est g'en'er'ee, al'eatoirement ou bien
selon d'autres m'ethodes. Un individu correspond a` une solution au
problème, plus ou moins bonne : la qualit'e de l'individu par rapport au
problème est appel'ee fitness, le terme anglais
traduisant le degr'e d'ad'equation de la solution par rapport au
problème a` r'esoudre. Plus la fitness d'un individu est 'elev'ee, plus
ce dernier a des chances de transmettre une partie ou la totalit'e de son
g'enotype dans des individus de la g'en'eration suivante.
Un individu est cod'e sous la forme d'un
g'enotype, qui peut avoir n'importe quelle forme, telle une
chaàýne de caractères (algorithmes g'en'etique) ou bien un
vecteur de r'eels (strat'egies d''evolution). Chaque g'enotype est transform'e
en un ph'enotype au moment de l''evaluation de l'individu,
autrement dit lorsque que sa fitness est calcul'ee. Dans certains cas, le
ph'enotype est identique au g'enotype : on parle alors de codage
direct. Sinon, le codage est dit indirect. Par exemple, imaginons que
l'on souhaite optimiser la taille d'un parall'el'epipède rectangle
d'efini par sa longueur, sa hauteur et sa largeur. Pour simplifier l'exemple,
supposons que ces trois quantit'es soient des nombres entiers compris entre 0
et 15. On peut alors d'ecrire chacune d'elles en utilisant un nombre binaire de
4 bits. Un exemple de solution potentielle peut avoir pour g'enotype 0001 0111
01010. Le ph'enotype correspondant serait un parall'el'epipède de 1 de
long, 7 de haut et 10 de large.
Dernière d'efinition avant d'appliquer ces th'eories a`
notre modèle de la mRF, au moment du passage de l'ancienne a` la
nouvelle g'en'eration, sont appliqu'ees des op'erateurs de variation
dont le but est de manipuler les individus. Il existe deux types
d'op'erateurs de variation distincts :
- les op'erateurs de mutation, qui servent a`
introduire des variations au sein d'un même individu, a` l'instar des
mutations g'en'etiques;
- les opérateurs de croisement, qui
servent a` se faire croiser au moins deux génotypes différents,
a` l'instar des croisements génétiques issus de la
reproduction.
Population initiale La fitness du
phénotype est calculée
Les individus sont classés en fonction de leur fitness
Les descendants sont ajoutés à la population
Les individus avec les meilleurs fitness sont croisés
entre eux ; des mutations aléatoires sont ajoutées
Les individus avec les plus mauvaises fitness sont enlevés
de la population
FIGURE 2.4: Fonctionnement d'un algorithme
évolutionniste : a` partir d'une population initiale de solutions, ces
dernières sont classées selon leur fitness, les moins bonnes sont
éliminées et les meilleurs sont utilisées pour produire de
nouvelles solutions. Source : [Doncieux et al., 2004]
Nous avons choisi les algorithmes évolutionnistes car
ils ont fait leurs preuves dans des domaines divers tels la recherche
opérationnelle, la robotique, la biologie, la finance ou encore la
cryptographie. De plus, ils permettent d'optimiser plusieurs objectifs en
parallèle et nous pouvons les utiliser comme des boàýtes
noires car ils ne présupposent aucune
propriétémathématique sur le modèle a` optimiser,
permettant ainsi dans notre cas d'optimiser un système dynamique et non
linéaire tel un modèle neuronal. Leur seule réelle limite
est la complexitécomputationnelle, d'o`u la décision de coder
notre programme dans un langage rapide (C++), multi-threadé, et de
l'exécuter sur une grappe de serveurs. L'annexe A expose en
détail les aspects techniques de l'implémentation.
2.2.2 Application
Dans notre modèle, la mRF est modélisée
sous forme d'un réseau de neurones. Le génotype choisi lors de
l'implémentation est un ensemble de réseaux de neurones
correspondant chacun a` un cluster de la mRF ainsi qu'un vecteur contenant
l'ensemble des connexions entre les clusters, que nous appellerons
interconnexions. Le phénotype est obtenu a` partir du
génotype en copiant chacun de ces réseaux dont un grand
réseau, la mRF, sans oublier d'y rajouter les interconnexions.
Nos opérateurs de mutation sont :
- Ajout/suppression d'un neurone;
- Ajout/suppression/modification d'une connexion
(intra-réseau) ou d'une interconnexion (inter-réseau).
Nous aurions pu au cours des mutations modifier d'autres
paramètres, par exemple certaines propriétés des neurones
(e.g. inhibiteur/excitateur), néanmoins nous avons
préférélimiter le degréde libertéde
l'évolution. 'Egalement, nous n'avons pas choisi d'opérateurs de
croisement : bien qu'intuitivement nous pourrions penser qu'il serait
intéressant de croiser des mRF en leur permettant de mélanger
leurs clusters, une telle opération est d'une part très
délicate a` implémenter car les interconnexions sont propres a`
chaque cluster et chaque mRF, et d'autre part de tels croisements ne seraient
pas vraiment interprétables au niveau de l'évolution étant
donnéque le ràole de chacun des clusters n'est pas défini
a priori.
Une partie très délicate fut
l'implémentation des contraintes anatomiques de la mRF afin que
l'évolution produise des réseaux de neurones cohérents
avec les connaissances anatomiques. Nous l'avons implémentéa`
deux niveaux complémentaires :
- en amont, au niveau des opérateurs de mutation : a`
chaque mutation, nous veillons
a` rester aux alentours des données anatomiques;
- en aval, au niveau du calcul de la fitness : nous avons
utiliséun algorithme évolutionniste multi-objectif, ce qui nous
permet de définir un objectif de plausibilitéanatomique, poussant
ainsi les réseaux a` respecter les contraintes anatomiques.
La définition des objectifs impacte
considérablement les résultats. Nous avons mis en place un
objectif de plausibilitéanatomique, en plus des objectifs propres
tàaches de sélection de l'action que nous détaillerons
dans la section suivante.
Enfin, nous avons choisi d'utiliser l'algorithme
NSGA-II [Deb, 2001, Deb et al., 2002], qui est a` ce jour un
des plus performants algorithmes évolutionnistes multi-objectifs et de
loin le plus utilisé. Contrairement a` un algorithme mono-objectif o`u
il n'y a qu'un seul meilleur individu (avec possiblement des individus ex
æquo), les meilleurs individus issus d'une évolution
multi-objectif formeront un front appeléfront de Pa-
reto, d'une dimension égale au nombre d'objectifs
fixés. La figure 2.5 montre un front de Pareto de dimension 2 et la
figure 2.6 compare l'ensemble de résultats obtenus par un algorithme
mono-objectif par rapport a` l'ensemble de résultats obtenus par un
algorithme mono-objectif.
FIGURE 2.5: Exemple de front de Pareto de dimension 2 : sauf
mention contraire, les algorithmes évolutionnistes maximisent les
objectifs contrairement a` la majoritédes algorithmes d'optimisation
dont le but est de les minimiser.
FIGURE 2.6: Mono vs multi-objectif. Un algorithme
mono-objectif donnera 1 résultat, tandis qu'un algorithme multi-objectif
donne un ensemble de résutat. Sur la figure de gauche, 11 et 12
correspondent respectivement aux scores obtenus pour l'objectif 1 et 2. w1 et
w2 sont des poids affectés aux deux scores, la combinaison
linéaire correspondant a` un objectif unique afin de pouvoir utiliser un
algorithme mono-objectif. Source: Stéphane Doncieux et Jean-Baptiste
Mouret.
A` présent que nous avons présentéd'une
part la mRF et d'autre part les outils théoriques que nous avons
utilisés pour le projet, tout en expliquant leur ràole dans la
modélisation de la mRF, nous allons dans le chapitre suivant
détailler les expériences de sélection de l'action
réalisées et analyser les résultats obtenus.
|