réseaux de neurones artificiels - gdac · réseaux de neurones artificiels hiver 2017 –inf4230 -...

52
UQAM INF4230 1 Réseaux de neurones artificiels Hiver 2017 – INF4230 - UQAM

Upload: others

Post on 14-Aug-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 1

Réseaux de neurones artificiels

Hiver 2017 – INF4230 - UQAM

Page 2: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 2

Plan

• Introduction

• Architectures• Le perceptron

• Réseau de neurones multicouches

• Apprentissage • Apprentissage avec un perceptron

• Apprentissage avec un MLP: Rétro-propagation du gradient de l’erreur

• Introduction à l’apprentissage profond: Réseaux de neurones convolutifs

Page 3: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 3

Introduction

• Comment fait-on pour raisonner, parler, apprendre... ?

• Comment créer une intelligence artificielle ? • 2 approches priorisées…

• Approche cognitiviste vs Approche connexionniste.

• Cognitivisme: Analyse logique des tâches relevant de la cognition humaine. Reconstitutionpar programme. Approche privilégiée par l'Intelligence Artificielle symbolique.

• Connexionnisme: Étudier comment le cerveau humain fonctionne. C'est cette approche quia conduit à l'étude des réseaux de neurones formels. Démarche consistant à vouloir rendrecompte de la cognition humaine par des réseaux de neurones.

Page 4: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 4

Introduction• Réseau de neurones artificiel: unités de calcul élémentaires interconnectées.

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

• Analogie avec neurones naturels

• 10 milliards de neurones

• 60 milliards de connexions (synapses)

• Un synapse peut être inhibant ou excitant

• Un nombre fini d’unités de calcul é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 humain Réseau neurones artificiel (RNA)

Cerveau humain RNA

Cellule (soma) Neurone

Dendrites Entrée (input)

Synapses Poids (weight)

Axone Sortie (output)

Page 5: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 5

Le Perceptron

• Perceptron = réseau de neurones monocouche.

• Chaque entrée 𝑥𝑖 est plus ou moins valorisée vis à vis du neurone par le biais d'un poids 𝑤𝑖.

• La i-ème information qui parviendra au neurone sera donc en fait 𝑤𝑖 ∗ 𝑥𝑖.• Le neurone artificiel va effectuer une somme pondérée de ses entrées plutôt que de

considérer séparément chacune des informations.• La variable net, représente cette somme pondérée.

Page 6: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 6

Le Perceptron

• Les paramètres d’un neurone:

• Biais ou seuil : Entrée qui permet d’ajouter de la flexibilité au réseau en permettant devarier le seuil de déclenchement du neurone.

• Entrées : Directement les entrées du système où peuvent provenir d’autres neurones.

• Poids : Facteurs multiplicateurs qui affectent l’influence de chaque entrée sur la sortiedu neurone.

• Fonction d’activation : Intègre toutes les entrées et le biais et calcul la sortie duneurone.

• Sortie : Valeurs distribuées vers d’autres neurones ou valeurs de sortie du système.

Page 7: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 7

Le Perceptron

• La fonction d’activation f

• La fonction d'activation, ou fonction de transfert, est une fonction qui doitrenvoyer un réel proche de 1 quand les "bonnes" informations d'entrée sontdonnées et un réel proche de 0 quand elles sont "mauvaises".

)()(

sinon1

0 si1)(

1

1

n

i

ii

n

i

ii

xwsignnetf

netnetf

xwnet

Page 8: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 8

Le Perceptron

• Il y a bien sûr beaucoup de fonctions d'activations possibles. Toutefois dans la pratique il y en a principalement 2 qui sont utilisées :

• Les 2 fonctions de transfert les plus utilisées• La fonction de Heaviside: ∀𝑥 ∈ 𝑅, 𝑓 𝑥 = 1 𝑠𝑖 𝑥 ≥ 0, 0 𝑠𝑖𝑛𝑜𝑛

• La fonction sigmoïde: ∀𝑥 ∈ 𝑅, 𝑔 𝑥 =1

1+ 𝑒−𝑥

Page 9: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 9

Le Perceptron

• Exemple: Fonction signe[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

Page 10: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 10

Les réseaux multicouches

• Réseaux de neurones multicouches ou Multilayer Perceptron (MLP).

• Au moins 2 couches: Une couche cachée et une couche de sortie.

• Une couche = un groupe de neurones sans connexion les uns avec les autres

• 2 types de réseaux multicouches• Réseaux de neurones récurrents: avec cycle

• Réseaux de neurones à propagation en avant: sans cycle

Page 11: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 11

Apprentissage dans les réseaux de neurones

• 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 enaccord avec les sorties attendues (ou réelles).

Page 12: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 12

Apprentissage dans les réseaux de neurones

• Protocole d’apprentissage:

• Les données d’apprentissage sont présentées séquentiellement => l’apprentissage estdonc incrémental.

• Chaque étape emploie une donnée d’entrée pour modifier les poids de toutes lesconnexions.

• La suite des données utilisées peut être construite par un tirage aléatoire avec remisedans l’ensemble des exemples ou par plusieurs passages successifs de la totalité de cetensemble.

• Le nombre total de données utilisé pour l’apprentissage est en général bien supérieur aunombre d’exemples.

Page 13: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 13

Apprentissage dans les réseaux de neurones

• Apprentissage avec un perceptron:

)()(1

1

n

i

ii

n

i

ii

xwsignnetfy

xwnet

Paramètres

xi : entrée

wi : poids (nombre réel)

c : pas (ou taux) d’apprentissage : 0 ≤ c ≤1

d : sortie désirée

Algorithme d’apprentissage: Règle de

delta

Pour chaque donnée d’entraînement,

incrémenter le poids wi par :

wi = c(d-y)xi

Page 14: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 14

Apprentissage dans les réseaux de neurones

• Apprentissage avec un perceptron:

• La mise à jour des poids d’une itération à une autre ce fait comme suit:

𝑤𝑖𝑗+1

= 𝑤𝑖𝑗+ ∆𝑤𝑖

= 𝑤𝑖𝑗+ 𝑐(𝑑 − 𝑦)𝑥𝑖

• Une valeur de c proche de 0 implique une modification légère des poids.

• Une valeur de c proche de 1 implique une plus grande modification des poids.

• En pratique, on diminue graduellement la valeur au fur et à mesure desitérations.

• C’est un paramètre spécifié par l’utilisateur.

Page 15: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 15

Apprentissage dans les réseaux de neurones

• Algorithme d’apprentissage du perceptron:

• On note S la base d ’apprentissage.

• S est composée de couples (x, d) où : x est le vecteur associé à l ’entrée (x0, x1, ..., xn) et d la sortiecorrespondante souhaitée.

• On cherche à déterminer les coefficients (w0, w1, ..., wn).

• Initialiser aléatoirement les coefficients wi.• Répéter :

• Prendre un exemple (x, c) dans S• Calculer la sortie y du réseau pour l ’entrée x• Mettre à jour les poids :

• Pour i de 0 à n :• wi= wi+ c∗(d −y) ∗xi

• Fin Pour• Fin Répéter

Page 16: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 16

Apprentissage dans les réseaux de neurones

• Exemple: Modélisation d’une fonction booléenne avec un perceptron

• Comment a-t-on obtenu ce résultat ?

Page 17: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 17

Apprentissage dans les réseaux de neurones

• Exemples d’application

1

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.

Page 18: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 18

Apprentissage dans les réseaux de neurones

• Exemples d’application

1Après 10 itérations :

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

Page 19: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 19

Apprentissage dans les réseaux de neurones

• Exemples d’application (À vous de jouer)

Exercice 1:Soit la fonction logique suivante:•f(x1=0,x2=0) = 0•f(x1=1,x2=0) = 1•f(x1=0,x2=1) = 1•f(x1=1,x2=1) = 1

1) De quelle fonction s’agit-il ?2) À l’aide du réseau donné, trouver les poids w1 et w2. On prendra la fonction de

Heaviside définit ci-dessous comme fonction de transfert:f(x) = 1 si x > 0f(x) = 0 sinon

Page 20: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 20

Apprentissage dans les réseaux de neurones

• Exemples d’application (À vous de jouer)

Exercice 2:Soit la fonction logique suivante:

•f(x1=0,x2=0) = 0

•f(x1=1,x2=0) = 0

•f(x1=0,x2=1) = 0

•f(x1=1,x2=1) = 1

1) De quelle fonction s’agit-il ?

2) À l’aide du réseau donné, trouver les poids w1 et w2. On prendra la fonction deHeaviside définit ci-dessous comme fonction de transfert (seuil=0) :

3) Pourquoi ca ne marche pas ?

Page 21: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 21

Apprentissage dans les réseaux de neurones

• Exemples d’application (À vous de jouer)

Exercice 3:Soit la fonction logique suivante:

•f(x1=0,x2=0) = 0

•f(x1=1,x2=0) = 0

•f(x1=0,x2=1) = 0

•f(x1=1,x2=1) = 1

4) Essayez avec cette nouvelle architecture.

Page 22: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 22

Apprentissage dans les réseaux de neurones

• Exemples d’application (À vous de jouer)

Exercice 4: apprentissage de paritéConsidérons un afficheur numérique à sept segments et formons un perceptron donnantla parité du chiffre écrit, à savoir 0 s'il est pair et 1 sinon.

Page 23: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 23

Apprentissage dans les réseaux de neurones

• Exemples d’application (À vous de jouer)

Exercice 4: apprentissage de paritéOn commence par coder chaque chiffre en une liste de sept 0 ou 1 selon les segmentsallumés, liste qui constituera les neurones d'entrée du perceptron.

• On procède ensuite à l'apprentissage.

Page 24: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 24

Apprentissage dans les réseaux de neurones

• Exemples d’application (À vous de jouer)Exercice 4: apprentissage de parité

• Il est intéressant de remarquer qu'un poids synaptique négatif fort a été attribué au5ème segment.

• A posteriori, on peut constater que l'activation de ce segment influence fortement laparité du chiffre considéré : l'apprentissage a induit un début d'intelligence artificiel.

Page 25: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 25

Apprentissage dans les réseaux de neurones

• Si nous avions plusieurs classes ?

• La règle delta reste la même.

Page 26: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 26

Apprentissage dans les réseaux de neurones

Limites d’un perceptron

• Un perceptron peut-il apprendre les fonctions ET et OU?• Oui.

• Un perceptron peut-il apprendre la fonction XOR ?• Non.

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

• L ’algorithme peut converger vers plusieurs solutions (selon les valeurs initialesdes coefficients, la valeur de ε, l ’ordre de présentation des exemples).

• La solution n ’est pas robuste : un nouvel exemple peut remettre en cause leperceptron appris.

Page 27: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 27

Apprentissage dans les réseaux de neurones

(0,0)

(0,1) (1,1)

(1,0)x1

x2

ET OU XOR

x1

x2

x1

x2

Page 28: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 28

Apprentissage dans les réseaux de neurones

Réseau de neurones multicouches

Propagation des activations vers l’avant (Forward Activiation)

Propagation des erreurs vers l’arrière (Backward propagation)

)()(1

1

n

i

ii

n

i

ii

xwsignnetfy

xwnet

Page 29: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 29

Apprentissage dans les réseaux de neurones

Réseau de neurones multicouches: prise de décision

Chaque neurone du RNA a pour sortie :

𝑛𝑗 = 𝑔(

𝑖 ∈𝑒𝑛𝑡𝑟é𝑒𝑠 𝑗

𝑤𝑖,𝑗 ∗ 𝑛𝑖)

𝑛𝑗 = 𝑔(𝑖𝑛𝑗)

Avec g comme fonction d’activation.

Page 30: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 30

Apprentissage dans les réseaux de neurones

Réseau de neurones multicouches: prise de décision

Exemple: calcul de la sortie

Page 31: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 31

Apprentissage dans les réseaux de neurones

Réseau de neurones multicouches: prise de décision

Exemple: calcul de la sortie

Source: http://www2.ift.ulaval.ca/~lamontagne/ift17587/modules/module3/réseauxNeurones.pdf

Page 32: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 32

Apprentissage dans les réseaux de neurones

Réseau de neurones multicouches: Apprentissage

• La généralisation de la règle delta aux réseaux à couches cachées s’appellerétro-propagation du gradient de l’erreur.

• Elle consiste à propager l’erreur à travers le réseau dans le sens inverse de lapropagation des activations.

• Cette technique permet de calculer la modification des poids des connexionsentre les couches cachées.

• Elle tente de réduire la différence entre les sorties du réseau et les sortiesdésirées. Minimiser l’erreur du réseau.

Page 33: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 33

Apprentissage dans les réseaux de neurones

Réseau de neurones multicouches: Apprentissage

• Algorithme de rétro-propagation du gradient de l’erreur.

• Initialiser les poids à de petites valeurs aléatoires• Habituellement entre -0.05 et 0.05

• Tant que la condition d'arrêt n'est pas atteinte• Pour chaque exemple d’entrainement

Calculer les sorties du réseauPour toutes les unités de sortie i, calculer l’erreur:

• ∆𝑖= 𝑔′ 𝑖𝑛𝑖 ∗ 𝑑𝑖 − 𝑦𝑖Pour toutes les unités cachées j, calculer l’erreur:

• ∆𝑗= 𝑔′ 𝑖𝑛𝑗 ∗ σ𝑊𝑗,𝑖∆𝑖Mettre à jour tous les poids 𝑊𝑗,𝑖

• 𝑊𝑗,𝑖 = 𝑊𝑗,𝑖 + 𝑐 ∗ 𝑥𝑗 ∗ ∆𝑖

Page 34: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 34

Apprentissage dans les réseaux de neurones

Réseau de neurones multicouches: Apprentissage

• Neurones dans la couche de sortie :

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

• Neurones cachés :

wki = - cyi(1-yi)Σj(-deltaj×wij)xki

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

Voir, le manuel de référence (Stuart et Russel), pages 745-746.

Luger. Artificial Intelligence, 4th Ed., 2002

yi=g(neti) =1

1+e-λneti

n

j=1

neti = Σ wjixji

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

Page 35: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 35

Apprentissage dans les réseaux de neurones

Réseau de neurones multicouches: Exemple

Page 36: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 36

Apprentissage dans les réseaux de neurones

Réseau de neurones multicouches: Exemple

Page 37: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 37

Apprentissage dans les réseaux de neurones

Réseau de neurones multicouches: Exemple

Page 38: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 38

Apprentissage dans les réseaux de neurones

Réseau de neurones multicouches: Exemple

Page 39: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 39

Apprentissage dans les réseaux de neurones

Réseau de neurones multicouches: Condition d’arrêt

• Le nombre d’itérations est importants car:• Si trop faible, l’erreur n’est pas suffisamment réduite

• Si trop grand, surapprentissage!

• Il y a plusieurs conditions d’arrêt possibles• Après un certain nombre fixe d’itérations

• Lorsque les poids se stabilisent

• Lorsque l’erreur dans les sorties des exemples descend en dessous d’une certaine borne

Page 40: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 40

Apprentissage dans les réseaux de neurones

Réseau de neurones multicouches: Problème du XOR

Avec la fonction signe comme fonction d’activation.

Source : A. Cornuéjols, L. Miclet, Y. Kodratov. Apprentissage artificiel: Concepts et algorithmes, Eyrolles, 2002.

I1 I2 O

0 0 0

1 0 1

0 1 1

1 1 0

Page 41: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 41

Apprentissage dans les réseaux de neurones

Réseau de neurones multicouches: Problème du XOR

• Le neurone 3 réalise un OU logique

• Le neurone 4 réalise un ET logique

• Le neurone 5 réalise OU exclusif

Page 42: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 42

Apprentissage dans les réseaux de neurones

Réseau de neurones multicouches: Limitations

• Fonctionnement «inexpliqué» -> Boîte noire

• Une fois l’entraînement terminé, il est difficile de comprendre le réseau deneurones dans sa globalité. (Pourquoi les poids?)

• Possibilité de «sur-apprentissage».

• Absence de garanties

• Il n’est pas certain qu’une nouvelle donnée soit classée correctement.

• Gourmand en temps d’exécution.

Page 43: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 43

Apprentissage dans les réseaux de neurones

Outils

• Weka: http://www.cs.waikato.ac.nz/ml/weka/

• SPMF: http://www.philippe-fournier-viger.com/spmf/

• Etc.

Page 44: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 44

Apprentissage profond

Pourquoi l’apprentissage profond ?Les motivations principales pour étudier les algorithmes d’apprentissage pour desarchitectures profondes sont les suivantes :

• Le manque de profondeur peut être nuisible.• Le cerveau a une architecture profonde.• Les processus cognitifs semblent être profonds.

Une observation (comme une image) peut être représentée de différentes façons parun vecteur de données en fonction de :

• l’intensité des pixels dont elle est constituée ;• ses différentes arêtes ;• les différentes régions de forme particulière ;• etc.

Page 45: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 45

Apprentissage profond

Plusieurs architectures de réseaux de neurones profonds

• deep neural networks

• deep belief network

• Stacked Autoencoder Network

• convolutional deep neural networks

Page 46: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 46

Apprentissage profond

Architecture des convolutional deep neural networks

4 opérations de bases• Convolution

• Fonction d’activation: Non Linearity (ReLU)

• SubSampling ou MaxPooling

• Classification

Page 47: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 47

Apprentissage profond

Architecture des convolutional deep neural networks

Page 48: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 48

Apprentissage profond

Architecture des convolutional deep neural networks

- Les filtres

- Les features Map

Page 49: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 49

Apprentissage profond

Architecture des convolutional deep neural networks

Page 50: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 50

Apprentissage profond

Architecture des convolutional deep neural networks : Vue globale

Page 51: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 51

Apprentissage profond

Domaines d’application• Classification d’images• Reconnaissance des caractères.• Traitement du langage naturelle• Classification de texte.• Etc.

Voir d’autres application live: http://machinelearningmastery.com/inspirational-applications-deep-learning/

Page 52: Réseaux de neurones artificiels - GDAC · Réseaux de neurones artificiels Hiver 2017 –INF4230 - UQAM. UQAM INF4230 2 Plan •Introduction •Architectures •Le perceptron •Réseau

UQAM INF4230 52

Apprentissage profond

Outils:

• Deeplearning4j: https://deeplearning4j.org/

• Etc.

Sites intéressants pour débutants:

http://neuralnetworksanddeeplearning.com/chap6.html

https://ujjwalkarn.me/2016/08/11/intuitive-explanation-convnets/

https://smcgro.wordpress.com/2016/02/12/convolutional-neural-networks-from-scratch/