La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

IFT 616 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Réseaux de neurones artificiels

Présentations similaires


Présentation au sujet: "IFT 616 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Réseaux de neurones artificiels"— Transcription de la présentation:

1 IFT 616 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Réseaux de neurones artificiels

2 IFT6152 Sujets couverts Réseau de neurones artificiel Quelques architectures Quelques algorithmes dapprentissage Exemples dapplications

3 IFT6153 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 dun neurone vers dautres. –Plusieurs signaux dentrée par neurone –Un seul signal de sortie Cerveau RNA cellule (soma) neurone dendrites entrées synapses poids axon sortie

4 IFT6154 Comment un neurone calcule sa sortie ? net = Σ w i x i f(net)= +1 si net 0, -1 sinon. C.à-d. : f(net) = sign(net) [McCulloch-Pitts, 1943] i=1 n

5 IFT6155 Comment un neurone calcule sa sortie ? [McCulloch-Pitts, Exemples] x i w i xyx+y-2 x+y

6 IFT6156 Fonction dactivation sigmoïde f(x) = sign(x) i=1 n x= Σ w i x i f(x) = 1 1+e - λ x

7 IFT6157 Comment un RNA apprend ? Les liens entre les neurones ont des poids numériques. Un poids reflète la force, limportance, de lentré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.

8 IFT6158 Est-ce quun seul neurone peut apprendre ? Paramètres x i : entrée w i : poids (nombre réel) c : pas(step) dapprentissage:0 c 1 d : sortie désirée Oui. Perceptron [Rosenblatt, 1958] y=f(net)= sign(net) Algorithme dapprentissage Pour chaque donnée dentraînement, incrémenter le poids w i par : w i = c(d-y)x i i=1 n net = Σ w i x i

9 IFT6159 Exemple y=f(net)= sign(net) 1 i=1 n net = Σ w i x i c = 0.2 wi = c (d-y)x i x1x1 x2x2 d Initialisation : w = [w 1, w 2, w 3 ] = [.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.3x x = 0.

10 IFT61510 Exemple x1x1 x2x2 d Après dix itérations

11 IFT61511 Un perceptron peut-il apprendre le ET, OU, XOR ? Parce quun 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) x1x1 x2x2 ET OU XOR

12 IFT61512 Apprentissage dun perceptron avec une fonction dactivation sigmoïde o i : sortie du neurone i di : sortie désirée pour le neurone i c : pas dapprentissage : 0 c 1 w ji : ajustement du poids de lentrée j au neurone i. f (net i )= λ × f(net i ) × (1-f(net i )) Algorithme dapprentissage Pour chaque donnée dentraînement, incrémenter le poids w ji par : w ji = c(d i -o i )f (net i )x ji o i =f(net i ) = 1 1+e - λ neti n j=1 net i = Σ w j i x j i x 1i x ni f(net i )

13 IFT61513 RNA à plusieurs couches o i =f(net i ) = 1 1+e - λ neti n j=1 net i = Σ w j i x j i

14 IFT61514 Ajustement des poids, fonction signe. Neurones dans la couche de sortie : w ki = - c(d i -O i )×O i (1-O i )x k Neurones cachés : w ki = - cO i (1-O i )Σ j (-delta j ×w ji )x ki avec delta j = c(d i -O i )×O i (1-O i ) Luger. Artificial Intelligence, 4th Ed., 2002 o i =f(net i ) = 1 1+e - λ neti n j=1 net i = Σ w j i x j i f (net i )= λ × f(net i ) × (1-f(net i ))

15 IFT61515 Exemple 1 : RNA pour XOR 1 1 I1I1 I2I2 O Après 1400 itérations, on obtient le vecteur des poids sur la figure Fig Luger. Artificial Intelligence, 4th Ed., 2002

16 IFT61516 Ajustement des poids, fonction sigmoïde. Lalgorithme 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

17 IFT61517 Exemple 2 NET TALK : Reconnaissance vocale 26 lettres + espace + 2 caractères de ponctuation Fenêtre de 7 lettres pour tenir compte du contexte Fig Luger. Artificial Intelligence, 4th Ed., phonèmes + 5 accents

18 IFT61518 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). Lapprentissage est non supervisée.

19 IFT61519 Exemple 1 Nous avons déjà vu un perceptron capable de classifier ces données. Lapprentissage é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 dentraînement au départ, correspondant à chacune des classes -1 et +1. x1x1 x2x2 d Fig Luger. Artificial Intelligence, 4th Ed., 2002

20 IFT61520 Exemple 2 Winner-take-all, supervisé. On connecte la sortie du winner-take-all à une autre couche (la nouvelle sortie) quon va superviser par les entrées « Safe » et « Dangerous ». Ce type de réseau est appelé réseau contre-propagation (counterpropagation). x1x1 x2x2 d Fig Luger.

21 IFT61521 Exemple 2 NEAT Coevolution Robots

22 IFT61522 Apprentissage Hebbienne [Hebb, 1949] Étant donné X i = [x 1i,.., x ni ] et W i = [w 1i,.., w ni ] : W i = c*y i *X Conjoncture : Deux neurones directement connectés tel que lun active (inhibe) lautre fréquemment, finissent par avoir leur lien renforcée. Application à lapprentissage non supervisée x 1i x ni f(net i ) yiyi Luger. Artificial Intelligence, 4th Ed., 2002

23 IFT61523Exemple Simulation simplifiée de lexpérience de Pavlov 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.

24 IFT61524 Réseaux récurrents Les types de réseaux que nous avons jusquici sont dits non récurrents: pas de boucles. Les réseaux récurrents ont des boucles. Cela augmente les possibilités dapprentissage : par exemple, lassociation de différents concepts. Exemple : RNA de Hopfield –La sortie de chaque nœud est retro-propagée aux autres sauf lui-même.

25 IFT61525Applications Jeux vidéo: –Natural Motion Robot apprenant à marcher (Endorphin dans ses débuts) Robot apprenant à marcher Endorphin : Endorphin R N et algorithmes génétiques dans Endorphin : –http://www.mega-tex.nl/3dsoftware/endorphin2.0.phphttp://www.mega-tex.nl/3dsoftware/endorphin2.0.php

26 IFT61526Applications Problèmes de classification : –Reconnaissance de visages –Reconnaissance vocale –Reconnaissance de caractèrs Beaucoup dautres applications

27 IFT61527Ré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, 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.


Télécharger ppt "IFT 616 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Réseaux de neurones artificiels"

Présentations similaires


Annonces Google