Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF...

38
Plan Les réseaux de neurones – Historique – Définitions Réseaux « usuels » Le réseau RBF – Introduction – Paramètres RBF et Mushroom – Paramètres – Algorithme – Résultats – Optimisations

Transcript of Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF...

Page 1: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Plan• Les réseaux de neurones

– Historique– Définitions– Réseaux « usuels »

• Le réseau RBF– Introduction– Paramètres

• RBF et Mushroom– Paramètres– Algorithme– Résultats– Optimisations

Page 2: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Les réseaux de neurones

Page 3: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Les réseaux de neurones

Historique (1)

3

• 1940 : Alan TURING : Machine de Turing

• 1943 : Warren McCULLOCH & Walter PITTS (neurobiologistes US) : Modèle de neurone.

• 1948 : von Neuman : Les réseaux d’automates

• 1949 : Donald HEBB : Hypothèse de l'efficacité synaptique, notion de mémoire associative, premières règles d'apprentissage.

• 1960 : Franck ROSENBLATT et Bernard WIDROW créent le Perceptron et Adaline.

3

Page 4: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Les réseaux de neurones

Historique (2)

• 1969 : Marvin MINSKY et Seymour PAPERT : Analyse théorique des capacités de calcul des réseaux à base de perceptrons. Mise en évidence de fortes limitations.

• Stagnation des recherches sur les réseaux neuromimétiques : Report des efforts sur l'Intelligence Artificielle.

• Années 1980 : Stephen GROSSBERG et Teuvo KOHONEN : Découvrent de nouvelles voies : auto-organisation des réseaux et processus d'adaptation. Renaissance du Connexionnisme.

4

Page 5: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Les réseaux de neurones

Historique (3)

• John HOPFIELD : Analogies avec la Mécanique Statistique. Comportement de systèmes constitués d'un grand nombre d'éléments simples interagissant fortement. Application des nombreux résultats de la physique théorique au connexionisme.

• Machine de BOLTZMANN et Perceptron Multi-Couches (PMC) : Mécanismes d'apprentissage performants.

• Evolution des ordinateurs : simulation de modèles complexes.

5

On est donc passé d’un point de vue biologique à un point de vue mathématique et informatique.

Page 6: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Les réseaux de neurones

Définitions (1)

66

Neurone :

Sorte d’automate qui se compose d’entrées, d’une sortie et d’une fonction des entrées vers la sortie.

Wn

f

x1

xn

W1

y=f(W1X1 + … + WnXn)

Fonction d’activation

Poids d’une connexion

Connexion

Page 7: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Les réseaux de neurones

Définitions (2)

Réseau de neurones : • Interconnexion d’éléments simples (neurones)• Graphe orienté (connexions)• Echange d’information via ces connexions• Calcul distribué et coopératif

……

7

ENTREE SORTIE

Page 8: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Les réseaux de neurones

Définitions (3)

8

Réseau de neurones (suite) :

C’est le renforcement ou l’affaiblissement de certaine connexion qui adapte la ‘ structure ’ du réseau pour donner des réponses différentes.

Chaque neurone est paramétrable et, afin d’obtenir un réseau intéressant, on modifie ces paramètres pour adapter les calculs qu’ils effectuent.

Tout ceci crée une caractéristique des réseau de neurone : l’apprentissage (et l’oubli).

Page 9: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Les réseaux de neurones

Définitions (4)

9

Apprentissage supervisé :

• Mode d'apprentissage le plus courant.

• Consiste à évaluer les poids synaptiques (poids des connexions) qui minimisent l’erreur globale sur une ‘ Base d’apprentissage ’.

• Cette ‘ Base d’apprentissage ’ est une série d’entrée au réseau desquelles on connaît les sorties associées.

• Exemples : Perceptron, Adaline

Page 10: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Les réseaux de neurones

Définitions (5)Apprentissage non-supervisé :

• Mode d’apprentissage moins intuitif.

• Correspond au cas où il n’est pas possible d’avoir une ‘ Base d’apprentissage ’.

• Dans ce cas, on présente les entrées au réseau et on le laisse évoluer librement jusqu’à ce qu’il se stabilise.

• Exemples : Cartes de Kohonen

10

Page 11: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Les réseaux de neurones

Les réseaux « usuels » (1)

1111

Les premiers modèles de neurones étaient caractérisés par une fonction d'activation à seuil simple (binaire : 0=inactif, 1=actif).

Le déclenchement de l'activité intervient si la somme des excitations dépasse un certain seuil propre au neurone.

Fonction seuil :

f(x) = 1, si x > SEUIL. f(x) = 0, sinon.

Page 12: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Les réseaux de neurones

Les réseaux « usuels » (2)

12

Le modèle binaire a été rapidement perfectionné, mais l'effet de seuil reste souvent recherché.

Un neurone est d'autant plus actif qu'il est excité (fonction monotone croissante) et un neurone ne peut être actif au-delà d'une certaine valeur (fonction bornée).

Fonction linéaire bornée : f(x) = -1 ou 1, au-delà des bornes.

f(x) = A*x, sinon.

Page 13: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Les réseaux de neurones

Les réseaux « usuels » (3)

13

Lorsque la fonction d'activation est dérivable, il est possible d'utiliser des algorithmes d'apprentissage performants, basés sur la recherche d'un minimum de la fonction d'erreur, notamment la "rétro-propagation du gradient" pour les PMC.

Une fonction est Sigmoïde lorsqu'elle est monotone croissante, dérivable et bornée. Ce type de fonction combine l'avantage de l'effet de seuil et de la dérivabilité. Les fonctions sigmoïdes sont donc très utilisées.

Page 14: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Les réseaux de neurones

Les réseaux « usuels » (4)

14

Fonction sigmoïde exponentielle : f(x) = 1 / (1+EXP(-x))

Dérivée :

f'(x) = f(x)*(1-f(x))

Fonction sigmoïde tangentielle :

f(x) = TANH(x)

Dérivée :

f'(x) = 1-F(x)²

Page 15: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Le réseau RBF

Page 16: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Le réseau RBF

Introduction (1)

1616

Modèle proposé par :

• Powell (1985)

• Broomhead et Lowe (1988)

• Moody et Darken (1989)

• Pooggio et Girosi (1990)

RBF ?

→ Radial Basis Function

Page 17: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Le réseau RBF

Introduction (2)

17

Le réseau RBF est un réseau de neurones supervisé. Il s’agit d’une ‘ spécialisation ’ d’un PMC.

Un RBF est constitué uniquement de 3 couches :

• La couche d’entrée : elle retransmet les inputs sans distorsion.

• La couche RBF : couche cachée qui contient les neurones RBF.

• La couche de sortie : simple couche qui contient une fonction linéaire.

Chaque couche est ‘ fully connected ’ à la suivante.

Page 18: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Le réseau RBF

Introduction (3)

…ENTREE SORTIE

n

N

18

Chaque neurone RBF contient une gaussienne qui est centrée sur un points de l’espace d’entrée.

Pour une entrée donnée, la sortie du neurone RBF est la hauteur de la gaussienne en ce point.

La fonction gaussienne permet aux neurones de ne répondre qu’à une petite région de l’espace d’entrée, région sur laquelle la gaussienne est centrée.

Page 19: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Le réseau RBF

Introduction (4)

Fonction gaussienne :

f(x) = EXP(x² / (2* Beta²))

19

Page 20: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Le réseau RBF

Introduction (5)

…ENTREE

SORTIE =

n

N

La sortie du réseau est simplement une combinaison linéaire des sorties des neurones RBF multipliés par le poids de leur connexion respective.

N

jjjsw

1

W1

W2

W3

WN

20

Page 21: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Le réseau RBF

Paramètres (1)

2121

Il y a 4 paramètres principaux à régler dans un réseau RBF :

• Le nombre de neurones RBF (nombre de neurones dans l’unique couche cachée).

• La position des centres des gaussiennes de chacun des neurones.

• La largeur de ces gaussiennes.

• Le poids des connexions entre les neurones RBF et le(s) neurone(s) de sortie.

Tout modification d’un de ces paramètres entraîne directement un changement du comportement du réseau.

Page 22: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Le réseau RBF

Paramètres (2)

22

Le nombre de neurones RBF (N) et la position des gaussiennes sont deux paramètres intimement liés.

Deux optiques s’offrent à nous :

• soit I n’est pas trop grand et alors N=I ;

• soit I est trop grand et on choisi N<<I (avec I, le nombre d’élément dans la base d’apprentissage).

Page 23: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Le réseau RBF

Paramètres (3)

Nombre et position avec N=I :

Dans ce cas-ci (le plus simple), le nombre de neurones RBF est égal au nombre d’exemples soumis au réseau.

Chacune des gaussiennes est alors centrée sur un des exemples.

23

Page 24: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Le réseau RBF

Paramètres (4)

24

Nombre et position avec N<<I :

Dans ce cas-ci, le nombre de neurones RBF devient un véritable paramètre. Il n’existe pas de méthode pour le déterminer. Il s’agit donc de trouver le nombre de ‘ centroïdes ’ adéquat lié au problème donné.

Un fois le nombre de centroïdes choisi, il faut déterminer leur position. Pour ce faire, il existe aussi plusieurs techniques ...

Page 25: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Le réseau RBF

Paramètres (5)

25

Choix de la position des centroïdes avec N<<I :

Une première méthode consiste à choisir aléatoirement les centroïdes parmi les exemples soumis au réseau.

Cette approche n’est pas mauvaise puisque, statistiquement, les centroïdes seront représentatifs de la distribution des exemples.

Mais cette technique n’est pas optimale non plus car il est possible de choisir des centroïdes très mal placés.

Page 26: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Le réseau RBF

Paramètres (6)

Choix de la position des centroïdes avec N<<I :

Une autre solution, permettant d’obtenir les meilleurs résultats, est de sélectionner les centroïdes via une quantification vectorielle (Learning Vector Quantization : LVQ). Cette solution permettra de d’obtenir la meilleure répartition des centroïdes possible.

Beaucoup proposent aussi d’appliquer une carte auto-organisatrice de Kohonen afin de choisir les centres.

26

Page 27: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Le réseau RBF

Paramètres (7)

27

Une fois tous les centres Cj choisis, il faut déterminer la largeur (ß) des gaussiennes. Une règle empirique consiste à prendre :

ß = avec M = nombre de centroïdes et

d = max ||ci - cj||, 1≤ i,j ≤ M

si on choisit un ß égal pour toutes les gaussiennes.

Mais rien n’impose de prendre la même valeur de ß pour chaque centroïde. Dans ce cas, un autre règle nous dit :

ßj = ||xi - cj||

M

d

N

iN 18

1

Page 28: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Le réseau RBF

Paramètres (8)

28

Une fois le nombre et la position des centroïdes et la largeur des gaussiennes fixés, les poids de chacune des connexions (RBF-output) peut être calculé par l’équation matricielle suivante :

NMMNN

M

M

y

y

y

w

w

w

cxfcxf

cxfcxf

cxfcxf

......

||)(|| ... ||)(||

... ... ...

||)(|| ... ||)(||

||)(|| ... ||)(||

2

1

2

1

1

212

111

avec f(x) = EXP(x² / (2* ß²)) , la gaussienne.

la matrice colonne Y, les output attendus

M, le nombre de centroïdes

N, le nombre d’exemples dans la base d’apprentissage

Page 29: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Le réseau RBF

Paramètres (9)

Enfin, un fois l’apprentissage effectué, la partie test peut commencer. Elle se résume aussi en une équation matricielle :

29

tOutput_tes ...||)(|| ... ||)(||1

1

M

Mii

w

w

ctfctf

avec f(x) = EXP(x² / (2* ß ²)) , la gaussienne.

la matrice colonne W, les poids des connexions (RBF-output)

M, le nombre de centroïdes

ti, le ième élément de la ‘ base de test ’

Page 30: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

RBF et Mushroom

Page 31: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

RBF et Mushroom

Paramètres (1)

31

Nombre et position des centroïdes :

Dans un premier temps → cas le plus simple : N = I

Mais double matrice[][] = new double[6500][6500]

… Java = <out of memory> !!!

Rappel : 8124 champignions, 80 % d’apprentissage (6500) et 20 % de test (1624).

Donc, mauvaise idée.

Page 32: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

RBF et Mushroom

Paramètres (2)

32

Nombre et position des centroïdes :

Deuxième approche → N<<I

Choix aléatoire dans la ‘ base d ’apprentissage ’ ou LVQ ?

Premièrement avec le choix aléatoire car plus facile à implémenter et temps de calcul plus rapide.

Grande boucle avec choix aléatoire des centroïdes (de 10 à 200).

Et double matrice[][] = new double[6500][200] … Java = OK ! (ouf)

Page 33: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

RBF et Mushroom

Paramètres (3)

33

Largeur des gaussiennes :

Dans un premier temps, tous les gaussiennes ont la même largeur, cas le plus simple.

ß = M

d

Les poids des connexions n’ont donc plus qu’à être calculés par l’équation matricielle vue avant.

Page 34: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

RBF et Mushroom

Algorithme (1) (Code en Annexe1)

34

1. Choix des centroïde• Reprendre les informations du fichier texte.• Déterminer les cordonnées des centroïdes (choix aléatoire (entre 10 et 200) dans

la ‘ base d’apprentissage ’).

2. Définir la largeur des gaussiennes• maximum des distances entre les centroïdes / racine carrée du nombre de

centroïdes.

3. Création de la matrice phy• Création de la matrice des distances (6500 * le nombre de centroïdes).• Appliquer la gaussienne à chaque éléments de cette matrice de distance.

Page 35: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

RBF et Mushroom

Algorithme (2)

35

4. Résolution de l'équation matricielle pour obtenir les poids• Résolution du système [Matrice_Phy][poids_inconnus]=[output_apprentissage]

(cf. JNL).• Récupérer la matrice des poids (nombre de centroïdes(de 10 à 200)*1).

5. Test• Pour chaque exemple de test :

– Calcul de la matrice des distances entre l’exemple et les centroïdes (1* le nombre de centroides).

– Appliquer la gaussienne à cette matrice. – Résolution du système [Matrice_Phy][poids_connus]=X (cf. JNL).– Appliquer une fonction qui détermine si l’output (X) est 1 ou 0.– Comparer cet output (X) avec l'output attendu

• Calculer le taux d'erreur globale.

Page 36: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

RBF et Mushroom

Résultats

36

L’algorithme est arrivé à un maximum de bonne classification de 94,5 % avec un nombre de centroïdes de 140.

Soit +/- 1/50 de la ‘ base d ’apprentissage ’.

Rem : essai avec plus de centroïdes (500) et différents ß, mais pas de meilleurs résultats … bien au contraire.

Page 37: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

RBF et Mushroom

Optimisations

37

Deux optimisations permettraient certainement d’obtenir encore de meilleurs résultats :

• Définir un ß différents pour chaque gaussienne. Celui-ci serait approprié à chacune d’entre elles.

• Ne plus choisir aléatoirement les centroïdes mais les fixés grâce à un LVQ (code en Annexe2).

Page 38: Plan Les réseaux de neurones –Historique –Définitions –Réseaux « usuels » Le réseau RBF –Introduction –Paramètres RBF et Mushroom –Paramètres –Algorithme.

Bibliographie

• http://www.web-datamining.net/publications/dossiers/neural/histor.asp

• http://eric.univ-lyon2.fr/~oteytaud/CONNEX/connex.html

• http://home.alex.tuxfamily.org/neuro/neurones.html

• http://www.scico.u-bordeaux2.fr/~corsini/Pedagogie/ANN/main/node9.html

• http://www.cogs.susx.ac.uk/users/jianfeng/RBF.ppt

• Cette présentation, mes codes et le package JNL sont disponibles sous forme électronique sur ma page Web : http://info.fundp.ac.be/~hvanpete

38