• Aucun résultat trouvé

Apprentissage de R´ eseaux de Neurones Artificiels

7.7 Applications

7.7.4 Apprentissage de R´ eseaux de Neurones Artificiels

Nous abordons ici le probl`eme de l’approximation de fonctions : ´etant donn´e une fonction F dont les valeurs ne sont connues qu’en un nombre fini de k points{p1,· · · , pk},

on veut construire un mod`ele qui approximera F en tout point. Les R´eseaux de Neu-rones Artificiels (RNA) sont des mod`eles possibles pour l’approximation de fonctions (voir (Widrow, 1990) pour un expos´e synth´etique des RNA). Nous nous proposons de r´esoudre le probl`eme de l’apprentissage des poids d’un r´eseau par l’algorithme API.

L’approximation de fonctions par RNA a ´et´e coupl´ee au calcul ´evolutionnaire `a la fois pour apprendre les poids du r´eseau (Yao, 1993) mais aussi sa topologie (Angeline et al., 1993; Mandischer, 1995). Ce type de probl`eme a ´et´e abord´e par exemple avec une strat´egie d’´evolution (SE) et en programmation g´en´etique (PG)(Sebag et al., 1997). La SE a ´et´e utilis´ee pour l’approximation param´etrique (recherche des poids) et la PG pour l’approximation non param´etrique (recherche des poids et de la topologie). Si le mod`ele est bien choisi, la SE donne des r´esultats plus pr´ecis et plus rapidement que la PG qui a tendance `a se perdre dans l’espace de recherche qui est beaucoup plus grand. Il ressort de cet article que dans les deux cas (SE et PG), les donn´ees exp´erimentales sont cruciales.

Le mod`ele que nous utilisons ici est le Perceptron Multi-Couches (Multi Layer

Perceptron : MLP) (Rumelhart et al., 1986). La figure 7.20 pr´esente un MLP `a quatre entr´ees, une couche cach´ee et deux sorties.

E 1 E2 E3 4 E S1 S2 Couche d'entrée Couche cachée Couche de sortie

Fig. 7.20 – Perceptron multi-couche (MLP) `a quatre entr´ees (E1, . . . , E4), une couche cach´ee et deux sorties (S1, S2).

La sortie de chaque cellule est calcul´ee en fonction de ses entr´ees. Chaque arc poss`ede un poids wij. La sortie d’une cellule est donn´ee par sa fonction de transfert. Nous avons utilis´e la fonction sigmo¨ıde :

sgm(x) = 1− e−2x

1 + e−2x (7.20)

la valeur de x est donn´ee par les entr´ees de la cellule j :

x =

i∈E

wijyi (7.21)

o`u E est l’ensemble des cellules de la couches inf´erieure et yi leur sortie.

Nous ne consid´erons pas le probl`eme de la d´etermination de la topologie du r´eseau, les solutions seraient de toutes les fa¸cons assez proches de celles utilis´ees pour les chaˆınes de Markov cach´ees (cf 7.7.3).

API pour l’apprentissage du MLP

L’objectif est de d´ecouvrir les valeurs wij des poids du MLP afin de minimiser l’erreur quadratique Eq calcul´ee sur l’ensemble de la base d’apprentissage :

Eq = k  i=1 |F (pi)− ˆF (pi)| (7.22) o`u ˆF correspond `a l’approximation du MLP.

Du point de vue de API, la position s d’une fourmi correspond `a un vecteur deRW o`u W est le nombre d’arc du MLP. L’´evaluation de cette position correspond `a l’erreur quadratique obtenue par un MLP ayant comme poids les valeurs de s.

168 7.7 Applications E1 E2 XOR(E1,E2) [−1, 0[ [−1, 0[ [−1, 0[ [−1, 0[ [0, 1] [0, 1] [0, 1] [−1, 0[ [0, 1] [0, 1] [0, 1] [−1, 0]

Tab.7.20 – Sorties de la fonction XOR.

k Nc RPG RPG RPG API APIh δ = 0.005 δ = 0.05 δ = 0.5 10 3 15.99 16.05 25.08 16.60  15.79 10 5 17.01 17.95 27.84 15.41  14.55 10 7 20.79 19.90 37.73 17.45  15.80 50 3 9.94 12.48 41.99 11.73  9.18 50 5 7.14  6.65 48.87 11.13 6.81 50 7  6.62 8.63 49.60 8.05 6.79 100 3  7.38 8.07 37.7 10.04 7.50 100 5  4.16 6.09 49.65 7.29 5.26 100 7  3.58 4.60 62.75 6.30 4.61

Tab. 7.21 – Comparaison de API et de la RPG pour l’apprentissage de la fonction XOR. Les valeurs indiqu´ees correspondent `a la moyenne des pourcentages d’erreur quadratique. Le symbole  signale les meilleurs r´esultats obtenus pour chaque couple (k, Nc).

Exp´erimentations

Nous avons consid´er´e un probl`eme classique dans le domaine de l’approximation de fonctions : la fonction XOR. L’apprentissage de la fonction XOR (ou exclusif) consiste `

a d´ecouvrir les poids d’un MLP prenant en entr´ee deux valeurs r´eelles E1 et E2 toutes deux comprises dans [−1, 1]. La sortie est d´etermin´ee par le tableau 7.20. L’algorithme

API a ´et´e dans un premier temps compar´e `a l’algorithme de R´etro-Propagation de Gradient (RPG) (Rumelhart et al., 1986). Cet algorithme n´ecessite de d´efinir un pa-ram`etre de pas (δ), trois valeurs sont test´ees : 0.005, 0.05 et 0.5. Nous avons utilis´e trois tailles (k) pour la base d’apprentissage : 10, 50 et 100. Nous avons aussi fait va-rier la structure du MLP : 3, 5 et 7 neurones ont ´et´e utilis´es pour une couche cach´ee unique (Nc). Les r´esultats obtenus correspondent `a l’erreur quadratique moyenne ob-tenue pour dix essais et sur une base de test de 100 valeurs. Pour chaque essai, API dispose de 10 000 ´evaluations de l’erreur quadratique. Les r´esultats sont pr´esent´es dans le tableau 7.21. Les param`etres de API sont les suivants : n = 18, Alocale = 0.01,

Asite = 0.1, Plocale = 10, p = 2 et PN = 20. Les poids du r´eseau sont dans l’intervalle [−2, 2].

Les r´esultats obtenus semblent indiquer que APIh est plus performant que la RPG pour des tailles d’apprentissage r´eduites. Cela laisse pr´esager que API est int´eressant

k Nc API∪RPG APIh∪RPG δ = 0.005 δ = 0.05 δ = 0.5 δ = 0.005 δ = 0.05 δ = 0.5 10 3 14.89 16.79  13.07 15.55 14.37 13.09 10 5 15.15 16.28 11.40 15.02 17.49  9.80 10 7 14.59 17.86  10.40 16.48 18.00 13.12 50 3 8.11  6.68 12.19 8.14 6.81 11.85 50 5 6.68  6.57 9.24 6.60 6.85 10.65 50 7  6.16 6.98 9.24 6.83 7.32 8.77 100 3 7.50 7.67 13.17  7.37 7.76 12.36 100 5 4.48 4.62 13.72  4.29 4.59 12.02 100 7  3.64 4.43 11.83 4.15 4.33 13.82

Tab. 7.22 – R´esultats obtenus par l’hybridation de API et de la RPG pour l’ap-prentissage de la fonction XOR. Les valeurs indiqu´ees correspondent `a la moyenne des pourcentages d’erreur quadratique. Le symbole signale les meilleurs r´esultats obtenus pour chaque couple (k, Nc).

quand il est difficile d’obtenir des donn´ees exp´erimentales. De plus, plus le nombre de neurones cach´es est important, plus les r´esultats de la RPG se d´egradent alors que le ph´enom`ene est moins marqu´e pour API. Enfin, le pas δ de 0.005 pour la RPG est le plus performant.

Tout comme cela a ´et´e fait pour les chaˆınes de Markov cach´ees avec l’algorithme Baum-Welch, nous proposons d’hybrider API avec la RPG : API∪RPG. Le tableau 7.22

donne les r´esultats obtenus en suivant le mˆeme protocole de tests que pr´ec´edemment. L’hybridation donne des r´esultats qui s’opposent sur deux points aux constatations que nous avions formul´ees pour les r´esultats des m´ethodes s´epar´ees :

– la version h´et´erog`ene de API s’est montr´ee dans tous les cas plus performante que la version homog`ene (tableau 7.21). Quand on hybride API et la RPG cette tendance est invers´ee : API∪RPG donne plus souvent de meilleurs r´esultats que

APIh∪RPG ;

– le pas de 0.005 est le plus int´eressant quand la RPG op`ere seule. Quand API est utilis´e pour initialiser la RPG cette conclusion n’est plus valable puisque les trois valeurs de pas test´ees ont toutes r´eussi `a ˆetre performantes pour un couple de param`etres (k, Nc).

Les r´esultats obtenus sur l’apprentissage de r´eseaux de neurones nous ont montr´e que le succ`es de l’hybridation de API avec une heuristique issue du domaine n’est pas toujours ´evident, mˆeme dans le cas d’un probl`eme simple. Les r´esultats pr´esent´es dans les tableaux 7.21 et 7.22 montrent que globalement les r´esultats sont meilleurs quand on hybride les m´ethodes. Le principal inconv´enient est que l’on ne peut d´egager de conclusion nette sur le param`etrage de l’hybridation (pas de la RPG et population homog`ene/h´et´erog`ene de API).

170 7.8 Discussion

7.8 Discussion