ift 616 intelligence artificielle jean-françois landry département dinformatique université de...

Post on 04-Apr-2015

112 Views

Category:

Documents

9 Downloads

Preview:

Click to see full reader

TRANSCRIPT

IFT 616IFT 616Intelligence ArtificielleIntelligence Artificielle

Jean-François Landry

Département d’informatiqueUniversité de Sherbrooke

Réseaux de neurones artificiels

http://planiart.usherbrooke.ca/~eric/ift615

IFT615 2

Sujets couvertsSujets couverts

• Réseau de neurones artificiel

• Quelques architectures

• Quelques algorithmes d’apprentissage

• Exemples d’applications

IFT615 3

Réseau de neurones artificiel (RNA)Réseau de neurones artificiel (RNA)

• Un modèle de calcul inspiré du cerveau humain.

• Cerveau humain :

– 10 milliards de neurones

– 60 milliards de connexions (synapses)

– Un synapse peut être inhibant ou excitant.

• RNA :– Un nombre fini de processeurs

élémentaires (neurones).– Liens pondérés passant un signal d’un

neurone vers d’autres.– Plusieurs signaux d’entrée par neurone– Un seul signal de sortie

Cerveau RNA cellule (soma) neurone dendrites entrées synapses poids axon sortie

IFT615 4

Comment un neurone calcule sa sortie ?Comment un neurone calcule sa sortie ?

• net = Σ wixi

• f(net)= +1 si net ≥ 0, -1 sinon.

• C.à-d. : f(net) = sign(net)

[McCulloch-Pitts, 1943]

i=1

n

IFT615 5

Comment un neurone calcule sa sortie ?Comment un neurone calcule sa sortie ?[McCulloch-Pitts, Exemples]

xi wi xi wi

x y x+y-2 x+y-1

1 1 0 1 1 1

1 0 -1 -1 0 1

0 1 1 -1 0 1

0 0 -2 -1 -1 -1

IFT615 6

Fonction d’activation sigmoïdeFonction d’activation sigmoïde

f(x) = sign(x)

i=1

n

x= Σ wixi f(x) = 11+e-λx

IFT615 7

Comment un RNA apprend ?Comment un RNA apprend ?

• Les liens entre les neurones ont des poids numériques.

• Un poids reflète la force, l’importance, de l’entrée correspondante.

• La sortie de chaque neurone est fonction de la somme pondérée de ses

entrées.

• Un RNA apprend en ajustant ses poids itérativement jusqu’à ce que les

sorties soient en accord avec les entrées.

IFT615 8

Est-ce qu’un seul neurone peut apprendre ?Est-ce qu’un seul neurone peut apprendre ?

Paramètres

xi : entrée

wi : poids (nombre réel)

c : pas(step) d’apprentissage:0 ≤ c ≤1

d : sortie désirée

• Oui.

Perceptron [Rosenblatt, 1958]

y=f(net)= sign(net)

Algorithme d’apprentissage

Pour chaque donnée d’entraînement,

incrémenter le poids wi par :

wi = c(d-y)xi

i=1

nnet = Σ wixi

IFT615 9

ExempleExemple

y=f(net)= sign(net)

1

i=1

nnet = Σ wixi

c = 0.2

wi = c (d-y)xi

x1 x2 d

1.0 1.0 1

9.4 6.4 -1

2.5 2.1 1

8.0 7.7 -1

0.5 2.2 1

7.9 8.4 -1

7.0 7.0 -1

2.8 0.8 1

1.2 3.0 1

7.8 6.1 -1

1. Initialisation : w = [w1, w2, w3] = [.75, .5, -.6]

2. f(net) = sign(.75×1+.5×1-.6×1)=sign(.65)=1;

w = 0.2(1-1)X= 0; donc w est inchangé.

3. f(net) = sign(.75×9.4+.5×6.4-.6×1)=sign(9.65)=1;

w = -.4X; donc w = w -.4 [9.4, 6.4, 1] = [-3.01, -2.06, -1]

500. w = [-1.3, -1.1, +10.9].

Équation de la ligne séparant les données : -1.3x1 + -1.1x2+10.9 = 0.

IFT615 10

ExempleExemple

x1 x2 d

1.0 1.0 1

9.4 6.4 -1

2.5 2.1 1

8.0 7.7 -1

0.5 2.2 1

7.9 8.4 -1

7.0 7.0 -1

2.8 0.8 1

1.2 3.0 1

7.8 6.1 -1

Après dix itérations

IFT615 11

Un perceptron peut-il apprendre le ET, OU, XOR ?Un perceptron peut-il apprendre le ET, OU, XOR ?

• Parce qu’un perceptron peut apprendre seulement des données linéairement séparables.

• Oui pour le ET et le OU.

• Non pour le Ou-Exclusif (XOR)

(0,0)

(0,1) (1,1)

(1,0)x1

x2

ET OU XOR

IFT615 12

Apprentissage d’un perceptron avec une Apprentissage d’un perceptron avec une fonction d’activation sigmoïdefonction d’activation sigmoïde

oi : sortie du neurone i

di : sortie désirée pour le neurone i

c : pas d’apprentissage : 0 ≤ c ≤1

wji : ajustement du poids de

l’entrée j au neurone i.

f ’(neti)= λ× f(neti) × (1-f(neti))

Algorithme d’apprentissage

Pour chaque donnée d’entraînement, incrémenter le poids wji par :

wji = c(di-oi)f ’(neti)xji

oi=f(neti) =1

1+e-λneti

n

j=1neti = Σ wjixji

x1i

xni

f(neti)

IFT615 13

RNA à plusieurs couchesRNA à plusieurs couches

oi=f(neti) =1

1+e-λneti

n

j=1neti = Σ wjixji

IFT615 14

Ajustement des poids, fonction signe.Ajustement des poids, fonction signe.

• Neurones dans la couche de sortie :

wki = - c(di-Oi)×Oi(1-Oi)xk

• Neurones cachés :

wki = - cOi(1-Oi)Σj(-deltaj×wji)xki

avec deltaj= c(di-Oi)×Oi(1-Oi)

Luger. Artificial Intelligence, 4th Ed., 2002

oi=f(neti) =1

1+e-λneti

n

j=1neti = Σ wjixji

f ’(neti)= λ× f(neti) × (1-f(neti))

IFT615 15

Exemple 1 : RNA pour XORExemple 1 : RNA pour XOR

1 1

I1 I2 O

0 0 0

1 0 1

0 1 1

1 1 0

Après 1400 itérations, on obtient le vecteur des poids sur la

figure.

2.6

-7

-7

7-5

-11

-4

Fig. 10.12 Luger. Artificial Intelligence, 4th Ed., 2002

IFT615 16

Ajustement des poids, fonction Ajustement des poids, fonction sigmoïde.sigmoïde.

• L’algorithme est une généralisation de celui du perceptron pour la fonction sigmoïde, en suivant le même principe que pour le cas de la fonction signe.

• Voir, le manuel de référence (Stuart et Russel), page 745-747.

IFT615 17

Exemple 2Exemple 2

• NET TALK : Reconnaissance vocale

26 lettres + espace + 2 caractères de ponctuationFenêtre de 7 lettres pour tenir compte du contexte

Fig. 10.12 Luger. Artificial Intelligence, 4th Ed., 2002

21 phonèmes + 5 accents

IFT615 18

Apprentissage compétitif (winner-take-all)Apprentissage compétitif (winner-take-all)[Kohonen, 1984]

• Dans une couche, il y a un seul nœud activé : le noeud gagnant.

• Le nœud gagnant est celui avec la plus petite distance Euclidienne ||X-W||.

• Les vecteur des poids W du nœud gagnant sont mis à jour comme suit :

W = c(X-W).

• L’apprentissage est non supervisée.

IFT615 19

Exemple 1Exemple 1

• Nous avons déjà vu un perceptron capable de classifier ces données.

• L’apprentissage était supervisée: colonne d.

• L’ architecture compétitive (winner-take-all) ci-haut fait la même chose.

• Par contre on choisit deux prototypes d’entraînement au départ, correspondant à chacune des classes -1 et +1.

x1 x2 d

1.0 1.0 1

9.4 6.4 -1

2.5 2.1 1

8.0 7.7 -1

0.5 2.2 1

7.9 8.4 -1

7.0 7.0 -1

2.8 0.8 1

1.2 3.0 1

7.8 6.1 -1

Fig. 10.15 Luger. Artificial Intelligence, 4th Ed., 2002

IFT615 20

Exemple 2Exemple 2

• Winner-take-all, supervisé.

• On connecte la sortie du winner-take-all à une autre couche (la nouvelle sortie) qu’on va superviser par les entrées « Safe » et « Dangerous ».

• Ce type de réseau est appelé réseau contre-propagation (counterpropagation).

x1 x2 d

1.0 1.0 1

9.4 6.4 -1

2.5 2.1 1

8.0 7.7 -1

0.5 2.2 1

7.9 8.4 -1

7.0 7.0 -1

2.8 0.8 1

1.2 3.0 1

7.8 6.1 -1

Fig. 10.17Luger.

IFT615 21

Exemple 2Exemple 2

NEAT Coevolution Robots

IFT615 22

Apprentissage HebbienneApprentissage Hebbienne

[Hebb, 1949]

• Étant donné Xi = [x1i, .., xni] et Wi = [w1i, .., wni] :

Wi = c*yi*X

Conjoncture : Deux neurones directement connectés tel que l’un active

(inhibe) l’autre fréquemment, finissent par avoir leur lien renforcée.

Application à l’apprentissage non superviséex1i

xni

f(neti)yi

Luger. Artificial Intelligence, 4th Ed., 2002

IFT615 23

ExempleExemple

Simulation simplifiée de l’expérience de Pavlov

1

-1 1 0

0 0

1

-1 1 -1

1 -1

• c = 0.2

• Donc W= 0.2 f(x)*X

• Après 13 itérations, on a W=[3.4, -3.4, 3.4, -2.4, 2.4, -2.4]

• A cet étape, le réseau répond positivement (+1) au stimulus de conditionnement.

IFT615 24

Réseaux récurrentsRéseaux récurrents

• Les types de réseaux que nous avons jusqu’ici sont dits non récurrents:

pas de boucles.

• Les réseaux récurrents ont des boucles.

• Cela augmente les possibilités d’apprentissage : par exemple,

l’association de différents concepts.

• Exemple : RNA de Hopfield

– La sortie de chaque nœud est retro-propagée aux autres sauf lui-même.

IFT615 25

ApplicationsApplications

• Jeux vidéo:

– Natural Motion

• Robot apprenant à marcher (Endorphin dans ses débuts)

• Endorphin : http://www.naturalmotion.com/

• R N et algorithmes génétiques dans Endorphin :

– http://www.mega-tex.nl/3dsoftware/endorphin2.0.php

IFT615 26

ApplicationsApplications

• Problèmes de classification :

– Reconnaissance de visages

– Reconnaissance vocale

– Reconnaissance de caractèrs

• Beaucoup d’autres applications

IFT615 27

RéférencesRéférences

• Le contenu de cette leçon est tiré en grande partie du Chapitre 10 du

livre:

– G. F. Lugel Artificial Intelligence : Structures and Strategies for

Complex Problem Solving. Fourth Edition. Addison-Wesley,

2002.

• Le manuel de référence du cours se limite aux structures de réseaux

« feed-forward » (non récurrents).:

– Stuart Russel & Peter Norvig. Artificial Intelligence: A

Modern Approach. Second Edition. Prentice Hall, 2002.

top related