Réseaux de Neurones Formels Commande de processus

34
1 Centre de recherche LGI2P Réseaux de Neurones Formels Réseaux de Neurones Formels Commande de processus Commande de processus Groupe Heuristiques et Systèmes complexes

description

Réseaux de Neurones Formels Commande de processus. Groupe Heuristiques et Systèmes complexes. Plan. Introduction Axes de recherche sur les RNF au LGI2P Applications à la commande de processus Perspectives. Introduction. sorties. sortie. retards. entrées. entrées. - PowerPoint PPT Presentation

Transcript of Réseaux de Neurones Formels Commande de processus

Page 1: Réseaux de Neurones Formels Commande de processus

1Centre de recherche LGI2P

Réseaux de Neurones FormelsRéseaux de Neurones FormelsCommande de processusCommande de processus

Groupe Heuristiques et Systèmes complexes

Page 2: Réseaux de Neurones Formels Commande de processus

2Centre de recherche LGI2P

PlanPlan

Introduction Axes de recherche sur les RNF au LGI2P Applications à la commande de processus Perspectives

Page 3: Réseaux de Neurones Formels Commande de processus

3Centre de recherche LGI2P

IntroductionIntroduction

Page 4: Réseaux de Neurones Formels Commande de processus

4Centre de recherche LGI2P

Réseaux de neurones formelsRéseaux de neurones formels

Propriétés des réseaux de neurones formels :

– Approximation universelle

– Apprentissage

– Généralisation

e1

e2

en

fs

w1

w2

wn

° ° ° v=wi.ei

s=f(v)

v : potentiel neuronal

f : fonction dévaluation

Neurone formel

Réseau multicouche (statique)

entrées

sorties

...entrées

Cartes Auto-organisatrices

Kohonen

entrées

sortie

retards

Réseau bouclé

Page 5: Réseaux de Neurones Formels Commande de processus

5Centre de recherche LGI2P

ApproximationApproximation

Approximation universelle– Un réseau statique à une couche cachée à fonction d'évaluation sigmoïde peut

approcher toute fonction continue avec la précision désirée (Hornik[89],Cybenko[89]).

Mais :– Comment choisir les entrées ?

– Combien de neurones ?

– Comment calculer les coefficients synaptiques ?

Page 6: Réseaux de Neurones Formels Commande de processus

6Centre de recherche LGI2P

ApprentissageApprentissage

Apprentissage C'est la phase de calcul des poids synaptiques à partir de données afin que le réseau associe convenablement entrées et sorties du réseau.

Apprentissage supervisé : Le "professeur"connaît les sorties désirées et corrige le réseau en fonction des erreurs commises.

Apprentissage par renforcement : Le "professeur" ne connaît pas les sorties désirées mais est capable de guider l'ajustement des

poids par une forme de "critique".

Apprentissage non supervisé :

Pas de "professeur", le réseau s'auto-organise en fonction des données et d'une règle de modification des poids synaptiques.

Page 7: Réseaux de Neurones Formels Commande de processus

7Centre de recherche LGI2P

GénéralisationGénéralisation

Généralisation : C'est la capacité du réseau à interpoler, c'est à dire à traiter correctement des données "proches" de celle rencontrées pendant l'apprentissage.

Un réseau ne peut pas a priori extrapoler :Sa réponse à des entrées éloignées de celles présentées pendant l'apprentissage est a priori incorrecte.

Page 8: Réseaux de Neurones Formels Commande de processus

8Centre de recherche LGI2P

Applications des RNFApplications des RNF

Approximation de fonction, Classification, Traitement du signal, Modélisation et commande de processus non linéaires, Simulation et prédiction de phénomènes : physiques, économiques ...

Page 9: Réseaux de Neurones Formels Commande de processus

9Centre de recherche LGI2P

Axes de recherche sur les RNF Axes de recherche sur les RNF au LGI2Pau LGI2P

Page 10: Réseaux de Neurones Formels Commande de processus

10Centre de recherche LGI2P

Axes de rechercheAxes de recherche

RNF

Architectures

Apprentissage

Applications

Outils

- Choix d’un modèle neuronal

- Approches locales/globales

- Apprentissage supervisé (réseaux bouclés)

- Apprentissage par renforcement

- Apprentissage non supervisé (voisinage obs)

- Classification, prédiction, commande

- Systèmes des production, environnement, services, biotechnologies

- Test de cartes neuronales : ZISC

- Développement de logiciels

Page 11: Réseaux de Neurones Formels Commande de processus

11Centre de recherche LGI2P

Travaux menés en laboratoireTravaux menés en laboratoire

Thèses : 4 + 1 en cours– Séparation de source de signaux présentant des retards purs

– Contribution a l’étude et au développement de modèles connexionnistes à apprentissage par renforcement : application à l’acquisition de comportements adaptatifs

– Commande par Réseaux de Neurones : Application au Contrôle d’un Préhenseur Pneumatique

– Approximation de variétés par réseaux auto-organisés

– Apprentissage par renforcement et systèmes distribués

DEA : 5– Thèmes : Classification, Identification de processus dynamiques, Apprentissage par

renforcement

Travaux personnels d’étudiants (IR, stages…) : – Thèmes : Apprentissage par renforcement (Hexapode), apprentissage de réseaux bouclés

(modélisation de systèmes karstiques, méthodes des copies), reconnaissance de formes

Page 12: Réseaux de Neurones Formels Commande de processus

12Centre de recherche LGI2P

ProjetsProjets

Projets Européens (ESPRIT)– QUETA [Esprit, 1996-1999] : Quality Engineering Tools for Assembly and Small Batches

Manufacturing

Projets Nationaux– IMRA [|99-00] : Détection d’obstacles par radar ultrasonore.

– SABATE[99] : classification de bouchons

– QUALIFLOW [00] : Conception d’un contrôleur de débit massique.

Convention de collaboration– IBM (carte ZISC) [00-…]

Projets d ’étudiants en entreprise et encadrés par le LGI2P– CVI : Maintenance conditionnelle : Diagnostic de défaut sur machine tournante

– SNR : Analyse qualité sur des roulements à bille [00-02]

Page 13: Réseaux de Neurones Formels Commande de processus

13Centre de recherche LGI2P

Applications à la commande de processusApplications à la commande de processus

Page 14: Réseaux de Neurones Formels Commande de processus

14Centre de recherche LGI2P

Apprentissage supervisé de Apprentissage supervisé de Réseaux de neurones bouclésRéseaux de neurones bouclés

Application à la commande en position d’un actionneur pneumatique

Analyse et calcul de paramètres d’une chaîne logistique

Metal bellows

Page 15: Réseaux de Neurones Formels Commande de processus

15Centre de recherche LGI2P

Apprentissage supervisé Apprentissage supervisé de réseau bouclés : problème de réseau bouclés : problème

Problème : le gradient à l’itération k dépend de toutes les valeurs de gradient passées.

=> complexité de calcul croissante

d k

2kkk )sd(

2

1J

Fonction de coût :

+-

)sd(w

s.w

w

J.ww kk

k

kk

k

kk1k

Règle d’apprentissage (descente de gradient)

k

k

k

k

k

k

k

k

w

s

s

R

w

R

w

s

1

1

.avec

s k

s k-1

)Ws,e,e(Rs k'1k2k

1kkk

Fonction réalisée par le RNF :e1k

f

e2k

f f

1

Page 16: Réseaux de Neurones Formels Commande de processus

16Centre de recherche LGI2P

Méthode des ‘copies’ [ESPCI]Méthode des ‘copies’ [ESPCI]

1 : Représenter le réseau sous forme canonique (tous les retours sont externes au réseau et présentent un retard unitaire)

2 : Ouvrir les boucles et dupliquer le réseau dans le temps sur une fenêtre temporelle de longueur fixe.

3 : Ajuster les coefficients par rétropropagation sur le réseau déplié et considéré comme statique

Contribution du LGI2P : adaptation de la méthode au calcul de contrôleurs récursifs

en commande de processus

Page 17: Réseaux de Neurones Formels Commande de processus

17Centre de recherche LGI2P

Méthode des copiesMéthode des copies

e1k

e2k

e3k sk

f

11

f

f

Idsk-1

sk-2sk-1

1)Représentation canonique

2) Les boucles sont ouvertes et le réseau est dupliqué

3) Rétropropagation à travers la fenêtre temporelle

Nt copies du réseau dans la fenêtre de Nt périodes d’échantillonnage

sk

sk-1

f

e1k

e2k

e3k f

f

Id

sk-1

sk-2

Copy 1

f

f

e1k-Nt+1

e2k-Nt+1

e3k-Nt+1 f

Id

sk-Nt

sk-Nt-1

Copy Nt

f

f

e1k-1

e2k-1

e3k-1 f

Id

sk-2

sk-3.

.

.

.

Copy 2

Variantes

selon initialisation

Page 18: Réseaux de Neurones Formels Commande de processus

18Centre de recherche LGI2P

Commande en position d’un Commande en position d’un actionneur pneumatiqueactionneur pneumatique

Méthode :

1) Etude dynamique et choix des entrées/sorties.

2) Calcul d’un modèle neuronal de l’actionneur.

3) Choix d’une stratégie de commande et adaptation de la méthode des copies au calcul du contrôleur neuronal.

Système non linéaire car :

- l’air est compressible,

- phénomènes de turbulences dans la vanne ‘jet-pipe’.

Soufflets métalliques

air

300 mm

Page 19: Réseaux de Neurones Formels Commande de processus

19Centre de recherche LGI2P

Commande par RNFCommande par RNF

Représentation sous forme canonique du bloc de commande

Modèle neuronalde la pince

Id: fonctionidentité

uk-1 uk-2 yckyk yk-1 yk-2

yk+1

Id IdIdId 1 period delay

yk yk-1 uk-1uk

Contrôleur neuronal

+-

yd k+1

Schéma de commande

+Yp U

Yp

Pincecontrôleur neuronal

Y c U

UnModèle neuronal del’actionneur

Y -

Yd +

Page 20: Réseaux de Neurones Formels Commande de processus

20Centre de recherche LGI2P

RésultatsRésultats

uk: tension de vanne à l’instant k.

yk: sortie du modèle à k.

yck: position désirée

Test of the neural controller

-1

0

1

2

0 100 200 300 400 500

(V)

0.1 s

yd

y

ydk: trajectoire désirée

p

ypk: position réelle

Neural controller:ext. inputs: y k ,y k-1,yk-2, y

c k

state variables: u k-1 , u k-2

output: u k6 neurons in the hidden layersampling period : 0.1 s

uk-1

uk-2

yk

y k-1

y k-2

yck

Reference modeloutput is y d

2nd order systemz=0,7; w0=2rd/s

Learning algorithm applied to the global network

SD: Nc=5,Nt=5

uk

Page 21: Réseaux de Neurones Formels Commande de processus

21Centre de recherche LGI2P

Chaîne logistique : unité de productionChaîne logistique : unité de production

If (rth-stin) >0 app =Max[appmin, Min[appmax,(rth-stin)]] else app=0

Temps de réappro. : tapp

Seuil de réapprovisionnement : rth

Minimum d’appro : appmin

Maximum d’appro : appmax

Niveau de stock en entrée : stin

Seuil de mis en fabrication : pth

Nombre de composants pour fabriquer un produit final : numCapacité de production : cmax

Temps de fabrication : tfab

fab = Max[0, Min[cmax,(pth-stout)]]

Niveau de stock en sortie : stout

Paramètres: rth, pth

Processusd’assemblage

Unité de production

ORDRES

PRODUITS

Ordre de fabrication:

fab Stock de sortieStocks en entrés

ORDRES

PRODUITS

rthpth

Commanded’approvisionnement:

app

[P. Massotte]

Page 22: Réseaux de Neurones Formels Commande de processus

22Centre de recherche LGI2P

Modèle neuronal d’une unitéModèle neuronal d’une unité

If rthj-stinjk >0

appjk =Max[appminj, Min[appmaxj,(rthj-stinj

k)]] else appj

k =0

fabik = Max[0, Min[cmaxi,(pthi-stouti

k)]]

delay

appi k-1

fabi k

1

appj k-1

delay

stinj kstout i k

appj k-tapp

- numij

1

rthj

1

pthi

stin k-1

-1

stout k-1

fabi k-1fabi k-tfab

stouti k fab i k

-1

1 -1

stin k

11

1 1

one block per part j

app j k

Modèle neuronal

sous forme canonique

Page 23: Réseaux de Neurones Formels Commande de processus

23Centre de recherche LGI2P

Ajustement des paramètresAjustement des paramètres

0

5

10

15

time

quan

tity

order

stin

stout

fab

order 4 3 2 1 1 1 1 1 2 3 5 6 7 8 8 8 8 8 7 6

stin 4 4 11 9 7 7 6 4 4 4 4 4 4 4 4 4 4 4 4 4

stout 3 0 2 2 2 2 2 5 9 12 13 13 12 10 8 6 4 2 1 1

fab 4 1 1 1 1 4 6 6 6 6 6 6 6 6 6 6 6 6 6 6

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

One PU, one input stock, one output stock ValuesInitial quantity in input stock stin 0 = 14Inititial quantity in output stock stout 0 = 7Maximum production capacity cmax = 6Production cycle time tfab = 2Quantity of parts j in product i num =2Minimun of command appmin = 2Maximum of command appmax = 17Replenishment delay (number of time unit) tapp = 1

k stout k = 109 p.

Ajustement des paramètres pour minimiser le niveau de stock

avec stin>3 and stout>0

k stin k = 100 p.

Page 24: Réseaux de Neurones Formels Commande de processus

24Centre de recherche LGI2P

Apprentissage par renforcementApprentissage par renforcement

Le renforcement est déterminé par l’objectif à atteindre : définition ? Le but de l’acteur est de maximiser les récompenses à venir : estimation ?L’acteur apprend par processus essai/erreur : méthode ?Il doit résoudre un dilemme exploration/exploitation: compromis ?

Cas des systèmes distribués et des systèmes dynamiques : qui et quand récompenser ?

Renforcement

Acteur(s) ou Agent(s)

Environnement

a t s t r t+1

Action Situation

Schéma de principe

Page 25: Réseaux de Neurones Formels Commande de processus

Apprentissage de la marche d ’un robot hexapodeApprentissage de la marche d ’un robot hexapode

But de l’étude– Montrer que grâce aux propriétés d ’apprentissage, il n ’est pas nécessaire de construire un modèle

du robot. La coordination des mouvements est guidée par les informations renvoyées par

l’environnement.

R1R2

R3L1

L2

L3

Page 26: Réseaux de Neurones Formels Commande de processus

Architecture du réseauArchitecture du réseau

Les neurones calculent la probabilité d’effectuer une poussée L’action Si est binaire

– 1 : la patte exerce une poussée vers l ’arrière– 0 : la patte est ramenée en position avant

Les traitements sont distribués : un neurone par patte mais l’apprentissage est centralisé (même renforcement pour toutes les pattes).

Inputs : Position of the six legs

Output : Movement of the

leg i

E1

6E

Ci1

Ci6

Si

: synaptic weight which connects the input 6 to the neuron i.

Si : movements

Ej : positions

Learning (weight computing)

Robot and environment responses

NEURON MODEL NETWORK ARCHITECTURE

[A. Johannet ]

Page 27: Réseaux de Neurones Formels Commande de processus

Apprentissage centraliséApprentissage centralisé

A chaque itération et pour tout neurone, on calcule – <Si> = (+1).P(+1) + (-1).P(-1) ; <Si> qui représente la valeur de sortie

moyenne.

Selon un algorithme de pénalité/récompense :– Cij = µ

r (r.Si - <Si>).Ej

– si le dernier mouvement conduit à un succès (avance), le réseau est encouragé à le refaire (r = +1);

– si le dernier mouvement est un échec (chute, recul …), le réseau est encouragé à l’éviter (r = -1).

– Toutes les pattes reçoivent les mêmes pénalités/récompenses (apprentissage centralisé)

--R3R2R1L3L2L1proaction

Marche tripode des insectes

Résultat :

Page 28: Réseaux de Neurones Formels Commande de processus

Apprentissage de systèmes distribuésApprentissage de systèmes distribués

Chaque patte a sa propre fonction objectif, la marche devient un phénomène ‘ émergeant ’.

Algorithme de pénalité/récompense de type Q-learning– Chaque patte choisit depuis l’état s l’action a qui maximise le cumul des

récompenses futures Q(s,a)

– En appliquant l’action a chaque patte passe d’un état s à un état s’ et reçoit le renforcement r

=> Q(s,a) inconnue est estimée au cours du processus essais/erreurs :

A chaque nouvel essai d’une action a : Q(s,a) Q(s,a) + .(r+ maxbQ(s’,b) - Q(s,a))

R3R2R1L3L2L1

Résultats :

* diverses marches hexapodes sont obtenues comme cycles attracteurs du système non linéaire bouclé,* il est possible de passer d’une marche à une autre par choix de la vitesse de déplacement (durée du mouvement de rétraction),* l’apprentissage est plus rapide si certains renforcements sont envoyés à toutes les pattes.

Page 29: Réseaux de Neurones Formels Commande de processus

29Centre de recherche LGI2P

Approximation de variétésApproximation de variétéspar réseaux de neurones auto-organiséspar réseaux de neurones auto-organisés

Position des sommets (Représentants)

Topologie(TDI)

CHL [Martinetz94]

Interpolation

Modèle discret Modèle linéaire Modèle non linéaire

[Michael Aupetit 98-2001]

Page 30: Réseaux de Neurones Formels Commande de processus

30Centre de recherche LGI2P

Placement des représentantsPlacement des représentants

Principe : Quantification Vectorielle– sans voisinage– avec voisinage + convergence + distorsion gagnant

voisin 1

voisin 2

Compétition

donnée

Adaptation

apprentissage

Taille voisinagen

1

Résultat : respect densité

Quel voisinage utiliser => proposition voisinage Observable

Page 31: Réseaux de Neurones Formels Commande de processus

31Centre de recherche LGI2P

Noyaux de VoronoïNoyaux de Voronoï

Principe:

– But : approximer une fonction g par f– Fonctions noyaux dont l’étendue dépend de la position des voisins dans la triangulation– Les paramètres de Ai et bi sont calculés par une méthode supervisée (minimisation de l’écart quadratique entre f et

la fonction à approximer)

),x(

)x(f),x(

),x(f

x

x

Sii

iSi

i

iiii b)wx.(A),x(f

Représentant intervenant dans l’approximation (c.a.d appartenant à Sx)

xNoyaux

0 1

Page 32: Réseaux de Neurones Formels Commande de processus

32Centre de recherche LGI2P

Noyaux de Voronoï Induits Noyaux de Voronoï Induits en Approximation de Fonctionsen Approximation de Fonctions

Identification d’un préhenseur électropneumatique

Résultat : EQM app. : 0.02, EQM test : 0.08 comparable MLP bouclé [Couturier97] 54 paramètres au lieu de 37.

),,,( 2121 kkkkk uuyyfy

T = 0.1 s

1

0

-1

4

0

-4

uk yk

Ecart entre sortie observée et modèle

Volts

Volts Unité y : 3mm/VoltsSoufflets métalliques

air

300 mm

Page 33: Réseaux de Neurones Formels Commande de processus

33Centre de recherche LGI2P

PerspectivesPerspectives

Architectures– architectures modulaires

– approches locales

Règles d’apprentissage– application de la méthode des copies en apprentissage par renforcement

– travaux sur les règles d’apprentissage non supervisé (recrutement)

Applications– biotechnologie (tri de molécules)

– introduction de techniques d’apprentissage dans les approches heuristiques de résolution de problèmes d’optimisation combinatoire

– apprentissage par renforcement dans les systèmes multi-agents

Page 34: Réseaux de Neurones Formels Commande de processus

34Centre de recherche LGI2P

BiblographieBiblographie

JOHANNET A., SARDA I., Goal-directed behaviours by renforcement learning , Neuro-computing, Elsevier, pp 107-125, 1999

COUTURIER, P. , JOHANNET, A. and BÉTEMPS, M. Neural Controllers: Tracking and Regulation of a Nonlinear Pneumatic Plant, International Journal of Knowledge-Based Intelligent Engineering Systems, October 1998. Vol 2, N° 4, p233-246.

AUPETIT, M. , Lepetz, D. , Nemoz-Gaillard, M. , Couturier, P. , Massotte, P. , Réseaux de Neurones et Traitement de Données: la Notion de Voisinage -Observable, Valgo 2001 (ISSN 1625-9661), n. 1, March 2001

AUPETIT, M. , COUTURIER, P., MASSOTTE, P. , Induced Voronoï Kernels for Principal Manifolds Approximation , Workshop on Self-Organizing Maps (WSOM2001), Lincoln, England, June 13-15, 2001.

AUPETIT, M. , COUTURIER, P., MASSOTTE, P. , Vector Quantization with -Observable Neighbors , Workshop on Self-Organizing Maps (WSOM2001), Lincoln, England, June 13-15, 2001.

COUTURIER P.,  Modelling and control of mecatronics systems using recurrent neural networks, MECATRONICS'01, Actes électroniques, Besançon, France, pp 219-224, octobre 2001.