0% ont trouvé ce document utile (0 vote)
450 vues31 pages

Auto-encodeurs et Word2vec

Transféré par

Al Aloui
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)
450 vues31 pages

Auto-encodeurs et Word2vec

Transféré par

Al Aloui
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

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