0% ont trouvé ce document utile (0 vote)
44 vues48 pages

Historique de l'apprentissage profond

Transféré par

Mohamed Ayed
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
44 vues48 pages

Historique de l'apprentissage profond

Transféré par

Mohamed Ayed
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Apprentissage profond

Apprentissage et reconnaissance – GIF-4101 / GIF-7005


Professeur : Christian Gagné

Semaine 13 : 30 novembre 2016

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 1 / 48


Historique des réseaux de neurones

1957 : proposition du perceptron par Frank Rosenblatt


1967 : démonstration par Marvin Minsky que le perceptron est
incapable de traiter des données non linéairement séparables,
désintérêt pour les approches neuronales
1986 : Rumelhart, Hinton et Williams démontrent l’utilisation de la
rétropropagation des gradients pour l’entraı̂nement du perceptron
multicouche
1995-2005 : développement des SVM, perte d’intérêt pour les réseaux
de neurones
2006 : premières architectures profondes de réseaux de neurones
2012 : résultats en reconnaissance d’objets (Toronto, ImageNet) et de
la parole (Microsoft) démontre le potentiel de technologie disruptive
de l’apprentissage profond
2014 : explosion d’investissements privés en apprentissage
automatique, en particulier en apprentissage profond
GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 2 / 48
Émergence des réseaux profonds

Conditions ayant permis l’émergence des réseaux profonds :


1 Disponibilités de très grands jeux de données (big data)
2 Disponibilité d’une capacité de calcul faramineuse (GPU)
3 Nouveaux modèles d’apprentissage très flexibles, avec des a priori
permettant de bien gérer la malédiction de la dimensionnalité

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 3 / 48


Composition de modèles

« Compositionnalité » de modèle est nécessaire en apprentissage


automatique
I Comme le langage, il faut composer des éléments pour définir un
langage donnant un sens à des notions complexes
Exploiter la compositionnalité permet un gain exponentiel en
puissance de représentation
I Représentations distribuées, apprentissage de caractéristiques
I Architectures profondes : plusieurs niveaux d’apprentissage de
représentations
Composition de modèles est utile pour décrire notre monde
efficacement

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 4 / 48


Représentation locale vs distribuée

Ensemble de discriminants distribués (non mutuellement exclusifs) est


Exponential advantage
exponentiellement plus ofstatistique
efficace sur le plan distributed
que des
representations
représentations locales (k-plus proches voisins, clustering)

Learning a set of parametric features that are not


Tiré de G. Hinton, Y. Bengio et Y. LeCun, Deep Learning NIPS’15 Tutorial, 2015.

mutually exclusive can be exponen4ally more sta4s4cally


GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 5 / 48
Problème de la dilution du gradient
L’entraı̂nement de perceptron multicouche de plus de deux couches
cachées avec rétropropagation ne fonctionne pas bien
I Neurones saturés, avec gradient est très faible
I Dilution du gradient (vanishing gradient) de couche en couche
t
t
1 1 = et1 y1t (1 y1t )

X y1t
X
f ··· f
wj,1
t
j
w1,j
1
X atj yjt 1
f

...
...

t wj,0 wK,j t
K = etK yK
t
(1 t
yK )
R

X t
wj,R 1
X
yR
f f
···
1 1

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 6 / 48


Fonctions de transfert
Fonction sigmoı̈de 1.0
Sigmoide
I Interprétation probabiliste 0.8

I Approximation d’une fonction step (binaire) 0.6

f(a)
I Problème de saturation sur le gradient 0.4

0.2
Fonctions de transfert doivent inclure des
0.0
4 3 2 1 0 1 2 3 4
non-linéarités a

Fonction ReLU (Rectified Linear Unit),


fReLU (a) = max(0,a)
I Modèle simple de fonction de transfert avec 4
ReLU

non-linéarité 3
I Composition de ReLU permet de

f(a)
2

l’approximation linéaire par morceaux


1
I Motivation biologique de réseaux profonds
0
avec ReLU (leaky integrate-and-fire model) 4 3 2 1 0
a
1 2 3 4

I Apprentissage de réseaux profonds avec ReLU


possible sans pré-entraı̂nement non supervisé

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 7 / 48


CHAPTER 6. DEEP FEEDFORWARD NETWORKS
Profondeur des réseaux
Les réseaux profonds, lorsque bien entraı̂nés, apprennent mieux que
les réseaux obèses (fat networks)
I Capacité des réseaux croı̂t linéairement selon la largeur d’une couche,
exponentiellement selon la profondeur du réseau
97
3, convolutional
Test accuracy (percent)

96
3, fully connected
95 11, convolutional
94

93

92

91
0.0 0.2 0.4 0.6 0.8 1.0
Number of parameters ×10 8

Tiré de I. Goodfellow, Y. Bengio et A. Courville, Deep Learning, MIT Press, 2016.


Figure 6.7: Deeper models tend to perform better. This is not merely because the model is
larger. This experiment from Goodfellow et al. (2014d) shows that increasing the number
I Réseau obèse fait du surapprentissage à 20M de poids, réseau profond
of parameters in layers of convolutional networks without increasing their depth is not
fonctionne bienatavec
nearly as effective 60Mtestdesetpoids
increasing performance. The legend indicates the depth of
network used to make each curve and whether the curve represents variation in the size of
the convolutional
GIF-4101 / GIF-7005 (U. Laval) or the fully Apprentissage
connected layers. We observe that shallow [Link]́
profond this 8 / 48
Pré-entraı̂nement non supervisé
CHAPTER 15. REPRESENTATION LEARNING

Réseaux profonds avant 2011 : pré-entraı̂nement non supervisé


nécessaire
I Initialisation aléatoire de réseaux profonds génère une grande variété de
solutions sous-optimales (minima locaux)
I Pré-entraı̂nement non supervisé permet de démarrer la rétropropagation
dans une « bonne configuration » (bassin d’attraction)

Tiré de I. Goodfellow, Y. Bengio et A. Courville, Deep Learning, MIT Press, 2016.


Figure 15.1: Visualization via nonlinear projection of the learning trajectories of different
neural networks in function space (not parameter space, to avoid the issue of many-to-one
mappings
GIF-4101 / GIF-7005 from parameter Apprentissage
(U. Laval) vectors to functions),
profond with different [Link]
Gagné 9 / 48
Machine de Boltzmann restreinte
stricted Boltzmann Machine
BM) Machine de Boltzmann restreinte (RBM) : modèle génératif de réseau
(Smolensky 1986, Hinton et al 2006)
de neurones
I Peut apprendre des distributions sur les données d’entrées
I Couche de neurones visibles (v) et de neurones cachées (h)
building block hidden
ingle-layer) for
eep architectures

iparHte undirected
observed
raphical model
h ~ P(h|x) h ~ P(h|x
Tiré de G. Hinton, )
Y. Bengio et Y. LeCun, Deep Learning NIPS’15 Tutorial, 2015.

h et v sont binaires, modèle permet de calculer Block


P(v,h), P(v), P(v|h),
P(h|v) Gibbs
sampling
x Utilisé pourx ~apprendre
P(x | h) deep belief network, avec apprentissage non
supervisé par couche de RBM, suivi d’un raffinement par
rétropropagation des erreurs (supervisé)
GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 10 / 48
Machine de Boltzmann restreinte

Fonction d’énergie des RBM


Restricted Boltzmann Machine
(RBM) E (v,h)
(Smolensky 1986, Hinton et al 2006)
= −aT v − bT h − vT Wh
1
P(v,h) = exp[−E (v,h)]
Z
•  A building block hidden
Z est une(single-layer) for
fonction de partition, permet de normaliser les valeurs pour
deep architectures
que les probabilités somment à 1
P
I Calcul de Z , et donc P(v,h), est intractable (Z = ∀v,h exp[−E (v,h)])
•  BiparHte undirected
observed
I graphical model
Solution : échantillonnage de Gibbs (Monte Carlo)
h ~ P(h|x) h ~ P(h|x )

Block
Gibbs
sampling
x x ~ P(x | h)

Tiré de G. Hinton, Y. Bengio et Y. LeCun, Deep Learning NIPS’15 Tutorial, 2015.

Computationnellement très lourd


I RBM très peu utilisé de nos jours pour réseaux profonds
GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 11 / 48
Autoencoders Autoencoders
Abstract
Autoencodeurs
Math for my slides “Autoencoders”.
Hugo Larochelle Hugo Larochelle
• Département
Autoencodeur
Université
l’entrée
d’informatique
de Sherbrooke
(encodeur)
AUTOENCODER
: modèle permettant de faire une compression de
et une Département
décompression d’informatique
de celle-ci (décodeur)
I Objectif : compresser toutUniversité
[Link]@[Link] de Sherbrooke
kx − x̂k2 faible
Topics: autoencoder, encoder, en gardant
h(x)l’erreur
decoder, tied=weights
g(a(x))
[Link]@[Link]
I Poids du décodeur liés aux poids de l’encodeur (habituellement,
= sigm(b
•October 17, 2012
Feed-forward
transposé) neural network trained to reproduce its + Wx)
input at
the output layer October 16, 2012
• Decoder
Abstract
c
x k
ders”. b = o(b
x a(x))
Abstract
W =W = sigm(c + W⇤ h(x))
Math for my slides “Autoencoders”.
(tied weights)
for binary inputs
h(x) j P
= bg(a(x)) 2
P
b l(f (x)) =
• f (x) ⌘ x (b
xk xk ) l(f (x)) = (xk log(b
xk ) + (1 xk ) log(
= sigm(bk + Wx) Encoder
k
W
h(x) = g(a(x))
x = sigm(b + Wx)
b
x = o(b
a(x))
= sigm(c + W⇤ h(x))
Tiré du cours IFT-725, Réseaux neuronaux, Hugo Larochelle (Université de Sherbrooke), présentation 6.3, automne 2014.
P
bk
x xk )2 l(f (x)) = k (xk log(b
xk ) + (1 xk ) log(1 x bk ))
GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 12 / 48
Entraı̂nement d’autoencodeurs

Autoencodeur entraı̂né de façon non supervisée, pour apprendre


représentation
I Encodeur utilisé pour extraire une représentation compacte
Entraı̂nement vorace, une couche à la fois
I Entraı̂nement de la couche la plus externe
I Ajout d’une nouvelle couche, qui est entraı̂née individuellement, couche
externe étant fixée, et ainsi de suite
Fonction de transfert non linéaire entre les couches
I Nécessaire, sinon plusieurs couches non linéaires pourraient se simplifier
en une seule couche
I Apprentissage des poids par descente du gradient (mais utilisation
d’une ACP serait possible)
Couche de sortie ajoutée à l’encodeur, avec entraı̂nement supervisé
I Entraı̂nement complet de la couche de sortie par rétropropagation
I Ajustement des poids de l’encodeur par rétropropagation (fine-tuning)

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 13 / 48


Exemple d’entraı̂nement d’un autoencodeur

W1T
Entraı̂nement non supervisé du
poids W1 , poids W1T lié
Minimize erreur kx − x̂k2
Représentation intermédiaire
dans valeurs centrales
W1

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 14 / 48


Exemple d’entraı̂nement d’un autoencodeur


Ajout de deux nouvelles
W1T couches (une dans encodeur et
une dans décodeur)
Entraı̂nement non supervisé du
W2T poids W2 , poids W1 fixés
Minimize toujours erreur
kx − x̂k2
W2 Nouvelle représentation
intermédiaire
Peut être répété ainsi sur
W1 plusieurs couches
x

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 15 / 48


Exemple d’entraı̂nement d’un autoencodeur

Retrait de la partie décodeur du


h(x) réseau
W3 Ajout d’une couche de sortie,
avec autant de sorties que de
classe
W2 Entraı̂nement supervisé de W3
par rétropropagation
Poids W1 et W2 souvent
W1 également ajustés finement par
x rétropropagation (fine-tuning)

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 16 / 48


Dropout
Dropout : méthode d’entraı̂nement par désactivation aléatoire des
neurones
I Typiquement, moitié des neurones des couches cachées (80 % des
entrées) sont activés à la présentation de chaque donnée durant
l’entraı̂nement
I Masques aléatoires pour sélectionner neurones actifs, un différent à
chaque présentation
Effectue une régularisation du réseau
I Force l’apprentissage d’une représentation distribuée dans l’ensemble
du réseau
I Rend difficile l’émergence de « neurones grand-mère »
I S’est avéré très efficace pour améliorer les performances des réseaux
profonds
Évaluation de nouvelles données en test par moyennage sur plusieurs
masques de sélection
I Analogie avec méthodes par ensemble (vu la semaine prochaine), en
particulier bagging
GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 17 / 48
Dropout

y y y y

h1 h2 h1 h2 h1 h2 h2

x1 x2 x2 x1 x1 x2

y
y y y y

h1 h1 h2 h2
h1 h2
x1 x2 x1 x2 x2

y y y y
x1 x2

h1 h1 h2
Base network
x1 x2 x1 x1

y y y y

h2 h1

x2

Ensemble of subnetworks

Figure 7.6:
Tiré de I. Dropout trains an ensemble consisting
Goodfellow, Y. Bengio of all
et A. Courville, Deep sub-networks that can
Learning, MIT Press, 2016. be
constructed by removing non-output units from an underlying base network. Here, we
begin with a base network with two
GIF-4101 / GIF-7005 (U. Laval)
visible units and two hidden units. There are sixteen
Apprentissage profond C. Gagné 18 / 48
Batch normalization

Modification d’un poids par rétropropagation basé sur gradient local


I Poids des couches précédentes et suivantes eux aussi modifiés !
Batch normalization : normaliser activation des neurones entre toutes
les données d’un mini-lot (mini-batch)
I Mini-lot : petit sous-ensemble d’instances de données de l’ensemble
d’entraı̂nement (typiquement quelques centaines)
Activation des neurones H normalisées selon
s
0H−µ 1 X X
H = , µ= Hi,: , σ = + (H − µ)2i
σ m
i i

I H : activation des neurones (ligne) d’une couche pour les données du


minilot (colonne)
I  : petite valeur (typiquement 10−8 ) pour éviter division par zéro
lorsque variance nulle

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 19 / 48


Traitement de texte

Comment donner des documents (séquence de chaı̂nes de caractères)


à un réseau de neurones (vecteur de réels de taille fixe) ?
Modèle Bag-of-Words (BoW)
I Identifier dictionnaire de mots les plus fréquents / intéressants
I Calculer la fréquence de chaque mot dans le document (vecteur
d’entiers de taille fixe)
Ne tient pas compte de l’ordre
I Modèles avec N-gram mesure fréquence de groupes de mots adjacents
I Skip-gram : mots connexes peuvent ne pas être adjacents
Tenir compte de la séquence pour encoder le texte
I Continuous BoW : prédire le mot selon les mots qui précèdent et
suivent
I Continuous skip-gram : prédire les mots qui précèdent et suivent selon
le mot d’intérêt

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 20 / 48


Continuous BoW

Input layer Hidden layer Output layer


x1 y1
x2 y2
x3 y3
h1
h2
xk hi yj
WV×N={wki} W'N×V={w'ij}
hN

xV yV

Tiré de X. Rong, word2vec Parameter Learning Explained, arXiv:1411.2738v4, 2016.


gure 1: A simple CBOW model with only one word in the conte
GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 21 / 48
0 T T
= vw · h + log wj exp(v0 · h) (21)
O
The skip-gram
j 0 =1
model is introduced in Mikolov et al. (2013a,b). Figure 3 s
Représentation neuronale de mots
gram model. It is the opposite of the CBOW model. The target word is no
me as (7), the objective of the one-word-context model, except that h is
layer, and the context words are on the output layer.
ned in (18) instead of (1).

Output layer
Input layer

y1,j!
x1k
WV×N
W'N×V!
Input layer
Output layer Hidden layer
Hidden layer

xk! WV×N! hi! W'N×V! y2,j!


x2k WV×N hi W'N×V yj

N-dim!
N-dim
V-dim V-dim!
W'N×V!
WV×N
yC,j!
xCk

C×V-dim
C×V-dim!
Figure 2: Continuous
Continuous bag-of-word
BoW model
FigureContinuous skip-gram
3: The skip-gram model.
equation for the hidden!output weights stay the same as that for the
Tiré de X. Rong,We
word2vec
still Parameter
use vwI Learning Explained,
to denote arXiv:1411.2738v4,
the input vector of 2016.
the only word on the in
xt model (11). We copy it here:
(new) (old)
thus we have the same definition of the hidden-layer outputs h as in (1), wh
v0 GIF-4101
= v/0 GIF-7005⌘ ·(U.
ej Laval)
·h for j = 1, 2,Apprentissage
· · · , V. profond (22) C. Gagné 22 / 48
Réseau à convolution

Réseau à convolution : traiter des signaux temporels ou spatiaux


I Signal temporel : son et parole
I Signal spatial : image
Couche de convolution : filtres convolués sur données
temporelles/spatiales
I Données peuvent être valeurs d’entrée du réseau ou sorties de couches
précédentes
I Convolution sur chaque canal (plusieurs canaux possibles)
I Apprentissage des filtres par rétropropagation
Couche de pooling : sélection de valeurs (maximum d’une fenêtre)
I Permet de réduire taille des valeurs, sinon explosion de la taille du
modèle en vue !
Neurones pleinement connectés en sortie pour prise de décision

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 23 / 48


" [LeCun 1998]
Réseau à convolution

Layer 3 Layer 5
Layer 1 Layer 2 Layer 4
input 12@10x10 100@1x1
6@28x28 6@14x14 12@5x5
1@32x32
Layer 6: 10
10

5x5
2x2 5x5 2x2 convolution
5x5
pooling/ convolution pooling/
convolution
subsampling subsampling

Tiré de G. Hinton, Y. Bengio et Y. LeCun, Deep Learning NIPS’15 Tutorial, 2015.

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 24 / 48


Réseau à convolution
INSIGHT REVIEW

Samoyed (16); Papillon (5.7); Pomeranian (2.7); Arctic fox (1.0); Eskimo dog (0.6); white wolf (0.4); Siberian husky (0.4)

Convolutions and ReLU

Max pooling

Convolutions and ReLU

Max pooling

Convolutions and ReLU

Red Green Blue

Figure 2 | Inside a convolutional network. The outputs (not the filters) corresponding to the output for one of the learned features, detected at each
of each layer (horizontally)
Tiréof de
a typical convolutional
Y. LeCun, networketarchitecture
Y. Bengio of the
G. Hinton, Deep image positions.
Learning, Nature,Information
vol. 521,flows
28 bottom up, with lower-level features
mai 2015.
applied to the image of a Samoyed dog (bottom left; and RGB (red, green, acting as oriented edge detectors, and a score is computed for each image class
blue) inputs, bottom right). Each rectangular image is a feature map in output. ReLU, rectified linear unit.

raw pixels could not possibly distinguish the latter two, while putting rule for derivatives. The key insight is that the derivative (or gradi-
the former two in the same category. This is why shallow classifiers ent) of the objective with respect to the input of a module can be
require a good feature extractor that solves the selectivity–invariance computed by working backwards from the gradient with respect to
dilemma
GIF-4101 — /one that produces
GIF-7005 representations that are selective
(U. Laval) to theprofond
Apprentissage output of that module (or the input of [Link]
Gagné module)25 / 48
Image recognition:
Composition dePixel → edge → texton → motif → part → object
filtres
Text: Character → word → word group → clause → sentence → story
Speech: Sample → spectral band → sound → … → phone → phoneme → wo

Low-Level Mid-Level High-Level Trainable


Feature Feature Feature Classifier

Tiré de G. Hinton, Y. Bengio et Y. LeCun, Deep Learning NIPS’15 Tutorial, 2015.

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 26 / 48


ImageNet: Classification
Reconnaissance d’objets Y LeCun

Give the name of the dominant object in the image


Compétition
Top-5 error rates:ImageNet : reconnaı̂tre
if correct class les5,objets
is not in top d’images
count as error (1000
classes), en donnant
Red:ConvNet, blue: nolaConvNet
bonne classe dans un top 5

2012 Teams %error 2013 Teams %error 2014 Teams %error

Supervision (Toronto) 15.3 Clarifai (NYU spinoff) 11.7 GoogLeNet 6.6

ISI (Tokyo) 26.1 NUS (singapore) 12.9 VGG (Oxford) 7.3


VGG (Oxford) 26.9 Zeiler-Fergus (NYU) 13.5 MSRA 8.0
XRCE/INRIA 27.0 A. Howard 13.5 A. Howard 8.1
UvA (Amsterdam) 29.6 OverFeat (NYU) 14.1 DeeperVision 9.5
INRIA/LEAR 33.4 UvA (Amsterdam) 14.2 NUS-BST 9.7

Adobe 15.2 TTIC-ECP 10.2

VGG (Oxford) 15.2 XYZ 11.2

VGG (Oxford) 23.0 UvA 12.1

Tiré de G. Hinton, Y. Bengio et Y. LeCun, Deep Learning NIPS’15 Tutorial, 2015.

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 27 / 48


Apprentissage de représentations

Pipeline classique de la reconnaissance des formes

Feature Classification / Decision /


Segmentation
extraction regression combining

Dans le passé, chaque module conçu indépendamment


Apprentissage profond permet l’apprentissage de représentations
I Apprentissage de tous les modules simultanément
I Possibilité de récupérer les représentations (segmentation, extraction de
caractéristiques) et les utiliser avec d’autres modules de classement et
de prise de décision

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 28 / 48


Transfert de représentations

Apprentissage d’un réseau profond sur tâche A


Nouvelle tâche B, basée sur données similaires à tâche A
I Récupérer représentation de tâche A
I Entraı̂ner nouveau classifieur pour tâche B

Classifieur tâche A Classifieur tâche B

Représentation Représentation

I Permet un transfert de représentation (transfer learning)

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 29 / 48


Apprentissage multitâche
Apprentissage multitâche : apprendre simultanément une
représentation pour des opérations distinctes
I Réseau à deux têtes, une pour chaque tâche

Classifieur tâche A Classifieur tâche B

Représentation

I Rétropropagation provient d’une tête à la fois


I Mélange des données et des tâches durant l’apprentissage
I Performe bien à produire des représentations capturant des concepts
généraux
GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 30 / 48
Génération d’exemples

Idée : générer des données d’entrées à partir d’une sortie désirée


I Générer donc un modèle de la donnée pouvant produire la sortie selon
le réseau de neurones
Approche : descendre le gradient sur la donnée d’entrée

∂E (x|θ)
∆x = −η
∂x

I On va donc générer une nouvelle donnée à partir de la valeur initiale de


x et la sortie désirée r
I Poids du réseau ne changent pas
Utilisé dans diverses circonstances
I Générateur d’images Deep Dream de Google

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 31 / 48


Deep dream

Tiré de [Link]
Licensed by Google Inc. under a Creative Commons Attribution 4.0 International License.

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 32 / 48


Données adversariales

Utiliser génération
CHAPTER de données
7. REGULARIZATION pourLEARNING
FOR DEEP déterminer plus petite variation
permettant de faire une erreur de classement

+ .007 × =

x+
x sign(∇ xJ (θ, x, y))
sign(∇xJ (θ, x, y))
y =“panda” “nematode” “gibbon”
w/ 57.7% w/ 8.2% w/ 99.3 %
confidence confidence confidence

Figure 7.8: A demonstration of Y.


Tiré de I. Goodfellow, adversarial
Bengio et A. example generation
Courville, Deep applied
Learning, MIT Press,to GoogLeNet
2016.
(Szegedy et al., 2014a) on ImageNet. By adding an imperceptibly small vector whose
Causé par
elements l’utilisation
are equal to the signde représentation
of the distribuée
elements of the gradient dans
of the un espace
cost function with à
respect to the input,
très haute we can change GoogLeNet’s classification of the image. Reproduced
dimensionnalité
with permission from Goodfellow et al. (2014b).
Illustre une difficultée actuelle avec réseaux profonds, robustesse aux
données
to [Link]
Unfortunately,doit être ofaméliorée
the value a linear function can change very rapidly
if it/ GIF-7005
GIF-4101 has numerous
(U. Laval)inputs. If weApprentissage
change each input by , then a linearC. function
profond Gagné 33 / 48
Réseau récurrent

Réseaux usuels (feedforward) : données propagées dans le réseau,


indépendant des données suivantes / précédentes
I
REVIEW
INSIGHTTraitement de donnés séquentielles important dans nombreux contextes
Réseaux récurrents : connexions avec valeurs précédentes
I Traitement avec algorithmes habituels en déroulant le réseau
o
ot−1 ot ot+1

V V V V
W st−1 st st+1
s W
W W W
Unfold
U U U U
x xt−1 xt xt+1

Figure 5 | A recurrent neural


Tiré de Y. LeCun, Y. Bengionetwork and
et G. Hinton, Deep the Nature,
Learning, unfolding
vol. 521, 28in
maitime
2015. of the

computation involved in its forward computation. The artificial neurons


GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 34 / 48
Long Short-Term Memory (LSTM)
ent Units & LSTM
output

self-loop
Modèle LSTM : ajouter de
+ × la mémoire au réseau
state
Cellule de mémoire (état),
avec quatre neurones
ber × I Entrée
I Activation de l’entrée
n input input gate forget gate output gate
I Activation de l’oublis
I Activation de la sortie

Tiré de G. Hinton, Y. Bengio et Y. LeCun,


Deep Learning NIPS’15 Tutorial, 2015.

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 35 / 48


Génération de légendes
INSIGHT REVIEW

Vision Language
Deep CNN Generating RNN

A group of people
shopping at an outdoor
market.

There are many


vegetables at the
fruit stand.

A woman is throwing a frisbee in a park. A dog is standing on a hardwood floor. A stop sign is on a road with a
mountain in the background

A little girl sitting on a bed with a teddy bear. A group of people sitting on a boat in the water. A giraffe standing in a forest with
trees in the background.

Figure 3 | From image to text. Captions generated by a recurrent neural with permission from ref. 102. When the RNN is given the ability to focus its
network (RNN) taking,
Tiré deas Y.
extraLeCun,
input, the representation
Y. Bengioextracted
et [Link],
a deep attention
Deep on a different
Learning, location invol.
Nature, the input
521,image
28(middle
mai and bottom; the
2015.
convolution neural network (CNN) from a test image, with the RNN trained to lighter patches were given more attention) as it generates each word (bold), we
‘translate’ high-level representations of images into captions (top). Reproduced found86 that it exploits this to achieve better ‘translation’ of images into captions.
GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 36 / 48
Apprentissage par renforcement profond
Apprentissage par renforcement : déterminer les bonnes actions à
effectuer selon les conditions actuelles
I Guidé par récompense ponctuelle, sans indication précise sur actions
décisives
I Forme plus élaborée (et plus complexe) d’intelligence que tâches de
classement et régression
Réseaux profonds s’avèrent très prometeurs pour l’apprentissage par
renforcement
I Simulations massives permettent d’apprendre à effectuer certaines
actions précises
Jeux vidéos (Atari 2600) : Deep Q-learning Network (Deepmind)
I Entrée est la capture de l’écran, récompense est le pointage obtenu
I 49 jeux différents, performances « surhumaines »
Jeu de Go : AlphaGo (encore Google Deepmind)
I Go : jeu traditionnel asiatique, plus complexe que les échecs
I [Link]
google-deepmind-alphago-go-artificial-intelligence-impact
GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 37 / 48
Conduite automatisée
Véhicules autonomes : chamboulement prochain dans la façon de se
déplacer
I Premiers essais avec capteurs très coûteux (ex. LIDAR longue portée)
I Développement avec technologies plus abordables (caméra vidéo,
RADAR, Sonar)
Grand potentiel de l’apprentissage profond pour conduite autonome
I Détection d’objets et de piéton
I Lecture de la signalisation (panneaux et lumières)
I Interprétation de la conduite d’autres véhicules
I Contrôle de la conduite
Prédictabilité de l’apprentissage automatique, en particulier
apprentissage profond, reste un problème
Approche de Tesla pour la conduite autonome
I Équiper tous les véhicules fabriqués de capteurs sophistiqués et d’un
lien réseau
I Collecter information sur la conduite par tous ces véhicules
I Automatiser graduellement la conduite par un apprentissage sur ces
données à mesure que la qualité des modèles appris augmente
GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 38 / 48
Traduction automatisée
Google’s Neural Machine Translation System : nouvelle mouture de
Google Translate basée sur des réseaux profonds
I Amélioration de 60 % des performances relativement à la version
précédente
I En cours de déploiement sur les systèmes de Google

Figure
Tiré de Wu et al., 1: The
Google’s model Machine
Neural architecture of GNMT,System
Translation Google’s: Bridging
Neural Machine Translation
the Gap between system.
Human Onandthe left
Machine Translation,
is the encoder network, on the right isarXiv:1609.08144v1,
the decoder network, 2016.
in the middle is the attention module. The
bottom encoder layer is bi-directional: the pink nodes gather information from left to right while the green
nodes gather information from right to left. The other layers of the encoder are uni-directional. Residual
connections
GIF-4101 / GIF-7005 ([Link] from the layer third from
Laval) the bottom in the
Apprentissage encoder and decoder. The model is partitioned
profond C. Gagné 39 / 48
Exemples de traduction avec GNMT (1/3)

Table 11: Some example translations from PBMT [15], our GNMT system (the "NMT before RL", Table 9),
and Human. Source and target sentences (human translations) are from the public benchmark WMT EnæFr
(newstest2014) data set. The right-hand column shows the human ratings on a scale of 0 (complete nonsense)
to 6 (perfect translation). We disagree with some of the human ratings, e.g., the translation “Elle a été
repéré trois jours plus tard par un promeneur de chien piégé dans la carrière” contains grammatical mistakes
and changes semantics, and is still scored 6. We present it to illustrate the potential problems of the scoring
process.
"The reason Boeing are doing this is to cram more seats in to make their plane more
Source competitive with our products," said Kevin Keniston, head of passenger comfort at
Europe’s Airbus.
"La raison pour laquelle Boeing sont en train de faire, c’est de concentrer davantage de
PBMT sièges pour prendre leur avion plus compétitive avec nos produits", a déclaré Kevin M. 3.0
Keniston, chef du confort des passagers de l’Airbus de l’Europe.
"La raison pour laquelle Boeing fait cela est de créer plus de sièges pour rendre son
GNMT avion plus compétitif avec nos produits", a déclaré Kevin Keniston, chef du confort des 6.0
passagers chez Airbus.
"Boeing fait ça pour pouvoir caser plus de sièges et rendre ses avions plus compétitifs
Human par rapports à nos produits", a déclaré Kevin Keniston, directeur de Confort Passager 6.0
chez l’avionneur européen Airbus.
When
Tiré de Wu et al., askedNeural
Google’s about this, an
Machine official ofSystem
Translation the American
: Bridging administration
the Gap between replied:
Human and"The United
Machine Translation,
Source States is not conducting electronic surveillance aimed
arXiv:1609.08144v1, 2016. at offices of the World Bank and
IMF in Washington."
Interrogé à ce sujet, un responsable de l’administration américaine a répondu : "Les
PBMT Etats-Unis n’est pas effectuer une surveillance électronique destiné aux bureaux de la 3.0
GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 40 / 48
"La raison pour laquelle Boeing fait cela est de créer plus de sièges pour rendre son
GNMT avion plus compétitif avec nos produits", a déclaré Kevin Keniston, chef du confort des 6.0
Exemples de traduction avec GNMT (2/3)
passagers chez Airbus.
"Boeing fait ça pour pouvoir caser plus de sièges et rendre ses avions plus compétitifs
Human par rapports à nos produits", a déclaré Kevin Keniston, directeur de Confort Passager 6.0
chez l’avionneur européen Airbus.
When asked about this, an official of the American administration replied: "The United
Source States is not conducting electronic surveillance aimed at offices of the World Bank and
IMF in Washington."
Interrogé à ce sujet, un responsable de l’administration américaine a répondu : "Les
PBMT Etats-Unis n’est pas effectuer une surveillance électronique destiné aux bureaux de la 3.0
Banque mondiale et du FMI à Washington".
Interrogé à ce sujet, un fonctionnaire de l’administration américaine a répondu: "Les
GNMT États-Unis n’effectuent pas de surveillance électronique à l’intention des bureaux de la 6.0
Banque mondiale et du FMI à Washington".
Interrogé sur le sujet, un responsable de l’administration américaine a répondu: "les
Human Etats-Unis ne mènent pas de surveillance électronique visant les sièges de la Banque 6.0
mondiale et du FMI à Washington".
Martin told CNN that he asked Daley whether his then-boss knew about the potential
Source
shuffle.
Martin a déclaré à CNN qu’il a demandé Daley si son patron de l’époque connaissaient
PBMT 2.0
le potentiel remaniement ministériel.
Martin a dit à CNN qu’il avait demandé à Daley si son patron d’alors était au courant
GNMT 6.0
du remaniement potentiel.
Martin a dit sur CNN qu’il avait demandé à Daley si son patron d’alors était au
Human 5.0
courant du remaniement éventuel.
TiréSource SheGoogle’s
de Wu et al., was spotted
Neural three days
Machine later bySystem
Translation a dog: walker
Bridgingtrapped in the quarry
the Gap between Human and Machine Translation,
PBMT Elle a été repéré trois jours plus tard par un promeneur
arXiv:1609.08144v1, 2016. de chien piégé dans la carrière 6.0
GNMT Elle a été repérée trois jours plus tard par un traîneau à chiens piégé dans la carrière. 2.0
Elle a été repérée trois jours plus tard par une personne qui promenait son chien
Human 5.0
coincée (U.
GIF-4101 / GIF-7005 dans la carrière
Laval) Apprentissage profond C. Gagné 41 / 48
Martin told CNN that he asked Daley whether his then-boss knew about the potential
Source
shuffle.
Exemples de traduction avec GNMT (3/3)
PBMT
Martin a déclaré à CNN qu’il a demandé Daley si son patron de l’époque connaissaient
2.0
le potentiel remaniement ministériel.
Martin a dit à CNN qu’il avait demandé à Daley si son patron d’alors était au courant
GNMT 6.0
du remaniement potentiel.
Martin a dit sur CNN qu’il avait demandé à Daley si son patron d’alors était au
Human 5.0
courant du remaniement éventuel.
Source She was spotted three days later by a dog walker trapped in the quarry
PBMT Elle a été repéré trois jours plus tard par un promeneur de chien piégé dans la carrière 6.0
GNMT Elle a été repérée trois jours plus tard par un traîneau à chiens piégé dans la carrière. 2.0
Elle a été repérée trois jours plus tard par une personne qui promenait son chien
Human 5.0
coincée dans la carrière
Analysts believe the country is unlikely to slide back into full-blown conflict, but recent
Source
events have unnerved foreign investors and locals.
Les analystes estiment que le pays a peu de chances de retomber dans un conflit total,
PBMT 5.0
mais les événements récents ont inquiété les investisseurs étrangers et locaux.
Selon les analystes, il est peu probable que le pays retombe dans un conflit généralisé,
GNMT mais les événements récents ont attiré des investisseurs étrangers et des habitants 2.0
locaux.
Les analystes pensent que le pays ne devrait pas retomber dans un conflit ouvert, mais
Human 5.0
les récents évènements ont ébranlé les investisseurs étrangers et la population locale.
23 : Bridging the Gap between Human and Machine Translation,
Tiré de Wu et al., Google’s Neural Machine Translation System
arXiv:1609.08144v1, 2016.

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 42 / 48


Graphes computationnels


σ

z u(1) u(2)
+
dot
×

x y x w b
Graphe computationnel :
représenter les opérations
(a) (b)
mathématiques d’un réseau
H u(2) u(3) dans graphe
relu ×
sum Capture l’ordre et la nature
U (1)

+
U (2) ŷ u(1) des opérations
sqr
dot
matmul

X W b x w λ

(c) (d)

Tiré de I. Goodfellow, Y. Bengio et A. Courville, Deep Learning,


ure 6.8: Examples of computationalMIT graphs. (a)The graph using the × operation to
Press, 2016.
pute z = xy. (b)The graph for the logistic regression prediction ŷ = σ x w + b .
me of the intermediate expressions do not have names in the algebraic expression
need GIF-4101
names in the graph. We
/ GIF-7005 ([Link]
Laval) name the i-th such variable u(profond
Apprentissage i)
. (c)The C. Gagné 43 / 48
Gradient automatique

6. DEEP FEEDFORWARD NETWORKS


Gradient automatique : calculer
les gradients analytiques sur
z z
l’ensemble du réseau
f f automatiquement, via les
y y
f dz graphes computationnels
dy

f f Permet de définir des


f
dy × dz
topologies complexes et
x x
dx dx hétérogènes de réseau sans
f f
×
devoir faire les dérivées
f
dx dz
w w
dw dw
analytiques manuellement !
Permet également d’optimiser
AnTiré de I. Goodfellow,
example Y. Bengio et A. Courville,
of the symbol-to-symbol approachDeep Learning, derivatives. In
to computing
ch, the back-propagationMIT Press, 2016.
algorithm does not need to ever access any lesactual
traitements sur
meric values. Instead, it adds nodes to a computational graph describing how
these derivatives. A generic graph evaluation engine can later compute the
l’architecture visée (ex. GPU)
for any specific numeric values. (Left)In this example, we begin with a graph
g z = f (f(f (w))). (Right)We run the back-propagation algorithm, instructing
dz
uct the graph for the expression corresponding to dw . In this example, we do
how the back-propagation algorithm works. The purpose is only to illustrate
GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 44 / 48
Outils pour l’apprentissage profond
Theano (Université de Montréal) :
[Link]
I Librairie Python pour calcul matriciel efficace, incluant gradient
automatique de graphes computationnel
I Optimise traitement par compilation dynamique de code C et
exploitation de GPU
I Performant mais assez bas niveau, librairies disponibles offrant
abstractions de plus haut niveau pour faire de l’apprentissage profond
(Lasagne, Keras)
TensorFlow (Google) : [Link]
I Lancé en novembre 2015, adoption massive par la communauté
I Code en C++, avec interface d’utilisation en Python
I Entièrement organisé autour de graphes computationnels
Torch (Collobert et collaborateurs) : [Link]
I Programmé en C++, interface en Lua
I Plus ancien que Theano et TensorFlow, ajout récent de gradient
automatique
I Grande versatilité, mais appréciation variable du Lua
GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 45 / 48
tions and guiding decisions. On the con- photograph of a naked girl, Kim Phúc, flee-
trary, engineers are optimistic that AI can ing a napalm attack in Vietnam. And just
Investissement dans
help to detect and reduce human l’intelligence
bias and lastartificielle
month, several leading AI companies,
prejudice. But studies indicate that in some including Microsoft, Amazon and IBM,

ON THE RISE
Investment in technologies that use artificial intelligence has climbed in recent years.

1,000
Disclosed investment (US$, millions)

900
800
700
600
500
400
300
200
100
0
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1

2011 2012 2013 2014 2015 2016

3 1 2 | NTiré
AT U deRK.E Crawford
| V O L et5 R.
3 8Calo,
| 2 There
0 O Cis Ta Oblind
B E spot
R 2 in
0 1AI6 research, Nature, vol. 538, 20 octobre 2016.
ǟ ƐƎƏƖ !,(++- 4 +(2'#12 (,(3#"Ʀ /13 .$ /1(-%#1 341#ƥ ++ 1(%'32 1
ɥ ɥ ɥ ɥ ɥ ɥ ɥ ɥ ɥ ɥ ɥ

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 46 / 48


Montréal et le Québec : nouvelle Silicon Valley de l’IA ?

L’apprentissage profond a été développé en bonne partie au Canada


(Hinton à Toronto, Bengio à Montréal)
I Plusieurs des grands joueurs sont maintenant avec les Google,
Facebook et cie
I Plus grands groupes de recherche en apprentissage profond à Montréal
Contrecarrer l’exode des cerveaux
I Subvention Apogée à Campus Montréal : 98 M$ sur 7 ans sur l’IA
I Incubation d’entreprises dans le domaine (Element AI)
I Bureau satellite de Google Brain s’implante à Montréal dans les
prochains mois
Début d’une nouvelle révolution industrielle, par l’automatisation des
tâches cognitives ?

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 47 / 48


Références

Yann LeCun, Yoshua Bengio et Geoffrey Hinton. Deep learning.


Nature, vol. 521, pages 436–444, 2015.
[Link]
Ian Goodfellow, Yoshua Bengio et Aaron Courville. “Deep Learning”,
MIT Press, 2016. [Link]
Yoshua Bengio. Learning deep architectures for AI. Foundations and
trends in Machine Learning, 2, no. 1, pages 1–127, 2009. http:
//[Link]/~bengioy/papers/ftml_book.pdf
Geoffrey Hinton, Yoshua Bengio et Yann LeCun, Deep Learning
NIPS’15 Tutorial, 2015. [Link]
~bengioy/talks/[Link]

GIF-4101 / GIF-7005 (U. Laval) Apprentissage profond C. Gagné 48 / 48

Vous aimerez peut-être aussi