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