23
Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI (D.E.A IIL) Stage de recherche 2003 Équipe synthèse d’images (UT1-IRIT)

Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

  • Upload
    hamien

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

Module comportemental

Apprentissage d’un réseau de neurones par algorithme génétique

David PANZOLI

(D.E.A IIL)

Stage de recherche 2003

Équipe synthèse d’images(UT1-IRIT)

Page 2: Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

Objectifs• Modéliser des acteurs autonomes en réalité virtuelle

• Plusieurs méthodes de description du comportement

§ Scripts

§Moteurs d’inférence

§ Systèmes dynamiques d’apprentissage

Page 3: Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

Contexte

§ Créatures de Karl Sims(SIGGRAPH ‘94)

§ Poursuites de Cliff & Miller(SAB96)

§ Framsticks de Komosinski(Kybernetes: The International Journal of Systems & Cybernetics, 2003)

• Comportements modélisés par réseaux de neurones.

Page 4: Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

Réseaux de neurones

S ƒ

wi

wj

wk

Page 5: Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

Algorithmes Génétiques• Fait évoluer génétiquement une population de solutions à un

problème.

• Opérateurs génétiques :

Croisement multipoint

Mutation monopoint

§ Sélection

§ Recombinaison

§ Mutation

?

Page 6: Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

ANN et AG• Utilisation concurrente

• Optimisation des paramètres : – taille, topologie, caractéristiques, etc.

• Affinage des poids : – alternative à la rétropropagation

• Génération de topologies : – « Adaptation in Neural and Artificial Systems » (Holland 75)

• Sélection d’un jeu de données d’apprentissage

Page 7: Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

Évolution de réseaux de neurones

Morphogenèse

génotype

phénotype

Evaluation

feedback de l’évaluation

Evolution Genetique

Représentation chromosomique d’un réseau de neurones ?

Évaluation d’un réseau de neurones ?

Page 8: Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

Représentation chromosomique

• Encodage direct– Matrice de poids pour un réseau complet et fixé– Encodage des liens [Luga]

• Encodage indirect– Codages grammaticaux : cellulaire [Gruau], géométrique, biologique

(~ L-systems), etc.– Autres : programmation génétique, programmes LISP, etc.

?

Page 9: Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

Représentation des liens entre neurones

5

8 -2.63

5 8 -2.63 7 2 0.14 3 5.31 0

Morphogenèse

gène complexe

lien neuronal

Morphogenèse

Réseau de neurones

chromosome

Morphogenèse d’un lien neuronal

Morphogenèse d’un réseau de neurones

Page 10: Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

Module comportemental

0 1

8 9

4

7

2

• Gère le comportement de l’acteur en liant perception et action

• Intégration du réseau de neurones entre capteurs et effecteurs

Page 11: Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

Contrôle d’une entité virtuelle :modèles simples

Modèle 2D :

• 2 capteurs

• 2 effecteurs

Modèle 3D simple :

• 3 capteurs

• 3 effecteurs

Apprentissage du réseau de neurones ?

Page 12: Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

Évaluation et sélection

Plusieurs techniques :

• Calcul de la distance du robot à la lumière en fin de trajet.

• Intégration de la luminance reçue par les capteurs sur un trajet d’une durée fixée. (Gestion éventuelle de l’énergie)

L’évaluation du réseau de neurones s’effectue intégré dans une entité et en simulation

Phase critique de l’apprentissage !!!

Page 13: Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

Croisement de réseaux de neurones (1/4)

• Problème des permutations ou ‘‘conventions concurrentes’’ [Hancock 92] gène le processus de convergence

0

1

7

5

28

wk + wo

wl

wm

wn

wp

0

1

2

58

wi

wj

wk

wl

wm

0

1

7

5

8

wn

wo

wp

wq

wr

ws

0

1

2 7

58wj wq

wr

ws

wi

Recombinaison

point de croisement

point de croisement

réseau invalide ! 2

représentation phénotypique

représentation génotypique

réseau infirme !

Nécessité de trouver une méthode plus adaptée

wi20 wj21 wk51 wl82wm85

wn70 wo51 wp71 wq75wr85 ws87

wi20 wj21 wq75 wr85ws87

wn70 wo51 wp71 wk51wl82 wm85

Page 14: Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

Croisement de réseaux de neurones (2/4)

Chaque sortie : • dépend en principe de toutes les entrées

• est indépendante des autres

0 1

8

7

2

0 1

9

4

0 1

8 9

4

7

2

Page 15: Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

0

1

2

3

4 5

6

5

3 4

2 0 1 0

0

6

2

0

3

1 0

4

0 2

0

Extraction des arbres de sortie

Croisement de réseaux de neurones (3/4)

Pour chaque sortie, construction de l’arbre du parcours inverse de l’influx nerveux des entrées vers elle.

Page 16: Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

0

1

2

3

4 5

5

3 4

2 0 1 0

0

6

3

1

4

0 3

1

1

0

1 3

4

6

0

1

2

3

4 5

6

arbre de la sortie gauche du parent A

arbre de la sortie droite du parent B

réseau de neurones associé

réseau de neurones associé

réseau de neurones issu de la recombinaison des deux

arbres de sortie

Obtention d’un réseau fils

Croisement de réseaux de neurones (4/4)

Génération de réseaux valides !

Page 17: Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

Mutation de réseaux de neurones

• Basé sur l’observation des faiblesses de certains réseaux

0 3

1 4

2 5

6

0

1

2

3

4 5

0 3

1 4

2

6

0

1

2

3

4 5

6

comportement inadapté !

bon comportement

bon comportement

bon comportement

inversion 3

extraction

1

duplication

2

combinaison 4

Peut corriger certains handicaps !

Page 18: Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

Résultats• Marche bien avec le modèle cité ci-avant

• Marche encore avec le modèle 3D

0

500

1000

0 10 20 30 40 50

génération

fitn

ess

mo

yen

basique blend des poids arbres de sorties

Page 19: Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

Discussion

• Bonne technique car adaptée aux modèles sur lesquels elle porte

0

1

5

6

2

3

4

poids > 0.75

poids > 0.5

poids > 0.25

poids > 0

Page 20: Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

Modèle plus complexe (1/2)

3 capteurs

3 effecteurs

• Modèle 3D complexe n’est plus une simple extension du modèle 2D.

• Sorties ne sont plus indépendantes(un mouvement basique requiert la combinaison de plusieurs sorties)

Croisement toujours efficace ?

Page 21: Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

Modèle plus complexe (2/2)

• Perte de l’optimisation de l’apprentissage

Possibilité de produire un bon individu

0

50

100

0 20 40 60 80 100

Générations

fitn

ess

mo

yen

basique blend des poids arbres de sortie

Page 22: Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

Conclusion

Difficulté de conception d’opérateurs génétiques efficaces.

De part leur principe de fonctionnement, les réseaux de neurones constituent une très bonne approche à la modélisation comportementale.

La souplesse des algorithmes génétiques permettent un fin contrôle de l’apprentissage.

Optimisations très dépendantes de la structure du problème

Page 23: Apprentissage d’un réseau de neurones par …David.Panzoli/DEA/PANZOLI_DEA...Module comportemental Apprentissage d’un réseau de neurones par algorithme génétique David PANZOLI

Perspectives

• Identification du rôle des neurones au sein du réseau. Isolation de neurones clés

• Génération de comportements complexes par encapsulation.

• Étude des propriétés d’un réseau par comparaison avec un classifieur.

0

1

3

24 5

6

7