Vous êtes sur la page 1sur 31

Auto-encodeurs et Word2vec

Philippe Giguère
Auto-encodeur
Problèmes des données étiquetées

• À date, toujours supervisé


• Nécessite beaucoup de données étiquetées
• Que faire si beaucoup de données, mais ne
sont pas étiquetées ?
• Apprentissage supervisé  non-supervisé
• Pas juste d’ordre pratique
– théorie de l’apprentissage en général

3
Pertes
• Supervisé : perte basée sur l’erreur entre
prédiction et vérité-terrain
(+régularisation)
• Non-supervisé : erreur basée sur la
reconstruction de l’entrée x
auto-encodeur

x f ( x ) h g ( h) x’ Pour éviter des


solutions
inintéressantes
Perte : L  g ( f ( x))  x + régularisation
2
4
Taxonomie
Undercomplete Overcomplete

x f ( x ) h g ( h) x’ x f ( x ) h g ( h) x’

taille x > taille h


• encodeur doit trouver une taille x < taille h
projection vers un espace • sera inutile sans
de plus petite dimension régularisation
• si f, g sont linéaire : proche • copie de x dans h
de PCA (exactement si • exemple : x bruité
f=UT, g = U, UTU=I)
• si f, g sont non-linéaires,
projections plus puissantes 6
Importance de la régularisation
• Sans régularisation, l’encodage pourrait
être inutile
– Perte de reconstruction n’influence pas
directement l’utilité de l’encodage h
– Cas pathologique théorique : encodeur-
décodeur très puissant, taille h = 1
(rappel : réseaux profonds
x  indice i  x peuvent apprendre par cœur
des jeux de données)
• Priorisation de certains aspects pertinents
de x sera souvent utile à d’autres tâches
• Régularisation explicite préférable à
diminuer la capacité des réseaux f, g 7
Variété (manifold)
• Principe d’apprentissage machine
• La plupart des données réelles vont résider dans
des sous-régions particulières de l’espace de x
pixels pigés au
hasard : uniforme
dans x
vs.

• Compression de x possible car réseau n’a pas à


gérer les cas en dehors du manifold 8
Régularisation vs. manifold
• Doit régulariser la perte de reconstruction pour
espérer apprendre ce manifold
• Idéalement, l’encodeur trouvera les variations
pertinentes dans ce manifold localement
Euclidien
– apprendre la « surface » du
manifold (tangente)
• Formuler l’entrainement ou
l’architecture pour
encourager un comportement particulier
(générer (VAE), débruiter, etc…)

9
Exemple de manifold

: plus proches voisins


10
t-SNE sur vecteur h taille 10
MNIST
6 2 4

0 9
8
7
3
1
5

L.J.P. van der Maaten and G.E. Hinton. Visualizing High-Dimensional Data Using
t-SNE. Journal of Machine Learning Research 9(Nov):2579-2605, 2008. 11
Familles auto-encodeurs (AE)
• Sparse
• Denoising
• Contractive
• Variational (VAE)

12
Auto-encodeur sparse
• Perte supplémentaire sur le code h :
J ( )  L  x, g ( f ( x))   (h)
• Exemple : perte L1
(h)    hi
i
• Cousin du sparse coding
• Constitue un prior sur les modèles de h
pour la génération des données x
• Semble aider pour des tâches connexes de
classification
13
AE denoising
• Ajoute du bruit aléatoire à l’entrée x
bruit
+
x + x f ( x ) h g ( h) perte

• Cherche quand même à reconstruire x


L  x, g ( f ( x)) 
• Fonctionne avec AE overcomplete/réseaux
très puissants
14
AE denoising
• Apprend à déplacer des entrées
corrompues x vers le manifold

Devient moins sensible aux


variations de x perpendiculaires
au manifold

Reste sensible aux déplacements


tangents au manifold
15
AE contractive
• Ajout d’une pénalité sur les gradients de
l’encodeur f
J ( )  L  x, g ( f ( x))      x hi
2

i
hi hi
vs.

x
forte pénalité faible pénalité x

• Désensibiliser l’encodeur à certaines


directions (perpendiculaires au manifold)
16
AE contractive
contraction
embedding embedding

embedding

• Pour très petits bruits, denoising AE et contractive


coïncident (pensez différentiation numérique vs analytique)
17
Variational AE (VAE)
• Processus stochastique

m
x f ( x) pige h g ( h) x’
S

Distribution normale
• Perte : Reconstruction + KL divergence (pour forcer la
distribution d’être proche d’une normale)
• L’encodeur en charge d’estimer les paramètres de
génération
• Entraînement plus complexe (reparameterization
trick) car gradient ne passe pas sampling 19
Autoencodeur : application
• Réduction de dimensionnalité pour
classification (généralisation)
• Permet de combiner non-supervisé avec
supervisé : semi-supervisé

20
Deep AE : entraînement par couche
• Si difficulté d’entraîner un AE profond,
possibilité d’y aller de manière vorace,
couche par couche

h
x f1 ( x)
1
g1 (h)

Perte
21
Deep AE : entraînement par couche
• Si difficulté d’entraîner un AE profond,
possibilité d’y aller de manière vorace,
couche par couche

h h
f 2 ( x) g 2 ( h)
1 2

Perte

22
Word2vec
Word2vec
• Encodage 1-hot n’est pas informatif
– distance entre deux mots quelconques est
TOUJOURS la même
• distance L² = 2
• distance cosine = 0
– d(poutine,arbre) = d(maison, habitation)
• Cherche représentation distribuée et continue
– 1-hot  vecteur (embedding, plongement)
– RNN fait un peu cela
• Architecture simple (pas deep), pour passage
à l’échelle
– Entraînement sur 1.6 milliards de mots, sur 125-
180 CPU en parallèle
25
Contexte du voisinage
• Vous obtenez beaucoup d’information sur
le sens d’un mot en regardant son
voisinage dans une phrase
« You shall know a word by the company it keeps »
-J.R. Firth, 1957

• Chercher un encodage (embedding) qui


permet de prédire un/des mots voisins
27
Entraînement par prédiction
• L’apprentissage des vecteurs se fera via
deux tâches
• Tâche 1 : prédire le mot au centre d’un
contexte de ±T
La nouvelle technologie blockchain
? permet les crypto-monnaies
T=3 T=3

• Tâche 2 : prédire les mots voisins d’un


mot central, pour un contexte de ±T
? ? ? blockchain ? ? ?

T=3 T=3
28
Paramètres entraînables
• Chaque mot aura deux vecteurs associés :
 va 
v 
 abaca  mapping 1-hot vers h (W)
 
  Ajuster représentation vectorielle
 vzygote 
  par descente du gradient pour
ua  optimiser les 2 tâches de
  prédiction précédentes
 uabaca  prédire mot dans voisinage (W’)
 
 
u zygote  29
Tâche 1 : prédiction d’un mot
CBOW (continuous bag-of-words)
(ne tient pas compte de l’ordre des mots) entrées 1-hot

prédire le mot
manquant
S 0
o 0
1
f
0
t .
m 0
a 0
x 0

vrais
mot au
centre

30
Réseau linéaire
Tâche 1 : prédiction d’un mot
CBOW (continuous bag-of-words)
(ne tient pas compte de l’ordre des mots) entrées 1-hot

prédire le mot perte


manquant
0

gradient
S
o 0
1
f
0
t .
m 0
a 0
x 0

vrais
mot au
centre

31
Réseau linéaire
Tâche 2 : prédire mots voisins
vrais
Architecture skip-gram mots

S 0
o 0
1
f
0
t .
m 0
prédire les mots a
x
0
0

avoisinants
S 0

gradient
o 0
0
f
0
t .
m 0
a 1
x 0

S 1
o 0
f 0
0
t
.
m
0
a 0
x 0

32
Arithmétique sur embeddings?
• Quelle est la réponse à cette énigme :

France – Paris + Italy = ?

Rome!

33
Algèbre sur ces vecteurs

France – Paris + Italy = Rome

34
Performance

35

Vous aimerez peut-être aussi