SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
0.1 Plongement de mots :Modèle basé sur les réseaux de neu-
rones (architecture générale)
Figure 1 – Architectures de CBOW et Skip-gram
Efficient Estimation of Word Representations in Vector Space, Tomas Mikolov et al. [1]
Une architecture de réseaux de neurones permettant d’apprendre la représentation des mots, en tenant
compte du contexte ou du voisinage dans le quel le mot se trouve est celle développée par Mikolov et al.
et présentée dans leur article Efficient estimation of word representations in vector space [1].
Elle fonctionne comme suit :
1. Architeture
Figure 2 – Architecture simplifiée d’un modèle neuronal (CBOW)
1
L’entrée de ce réseau est la représentation one hot encoding d’un mot du vocabulaire pris dans sa
position dans le corpus.
Soit w1, w2, ..., wT les mots d’entraînement.
soit V un vocabulaire de taille |V |, wi ∈ V :
Si 





















0
.
.
.
0
1
0
.
.
.
0






















est la représentation one-hot-encoding du mot wk c’estàdire que nous avons un 1 à la k-ième po-
sition et 0 partout ailleurs et de dimension (V, 1).
N le notre de neurones de la couche cachée
Le poids entre la couche d’entrée et la couche cachée peut être représenter par un matrice W de
(V, N)
W =












| | . . . |
| | . . . |
| | . . . |
w1 w2 . . . wN
| | . . . |
| | . . . |
| | . . . |












Chaque colonne de W est de dimension V et représente un vecteur d’un mot wi de la séquence.
Le vecteur h de la couche cachée est :
h = W T
wk = W T
(k,.) = vT
W I cette opération revient en la copie de la k-ieme colonne de W dans
la couche h et vW I est le vecteur représentant.
vw est la représentation du mot w pris parmi les lignes de la matrice de poids input-hidden W ,
qui est la matrice entre la couche d’entrée et la couche cachée.
2
Figure 3 – SKIP-GRAM Input-Hidden
De la couche cachée à la couche de sortie, il y’a une autre matrice de poids
W
de dimension (N, V ). En utilisant cette matrice, nous pouvons calculer le score uj pour chaque
mot du vocabulaire.
uj = v T
wj ∗ h
W =










− − − w1 − − −
− − − w2 − − −
. . . . . . .
. . . . . . .
. . . . . . .
− − − wN − − −










W’ = {wij}
vwj =










w1j
w2j
.
.
.
wNj










uj = v T
wjh : est la j-ième colonne de W correspondant au mot wj.
vwj est de dimension (N,1) et v T
wj est de dimension (1,N).
vwj est le vecteur de sorti de wj.
vw est la représentation du mot w pris parmi les colonnes de la matrice de poids hidden-output
W
2. Mise à jour des poids de la matrice hidden-output W
L’objectif étant de maximiser la probabilité d’un mot connaissant le mot passé en entrée du réseau,
on a :
3
p(wj|wI) = yj =
exp(uj )
V
j =1
exp(uj )
p(wj|wI) = yj =
exp(v T
wj h)
V
j =1
exp(v T
wj
h)
p(wj|wI) = yj =
exp(v T
wj vW I )
V
j =1
exp(v T
wj
vW I )
c’est-à-dire
maxp(wO|wI) = maxyj∗
E = - maxp(wO|wI) = - uj∗ + log
V
j =1 exp(uj )
Effectuons la dérivée de cette fonction de coût :
∂E
∂uj
= −tj + 1
V
j =1
exp(uj)
∂E
∂uj
= −tj +
exp(uj )
V
j =1
∂E
∂uj
= −tj + yj
avec tj = 1 si c’est le j-ième mot et 0 partout ailleurs.
Pour effectuer les mises à jours des poids de la matrice entre la couché cachée et la couche de
sortie (hidden-output W’), nous allons continuer avec la dérivée de E en fonction des poids de
cette matrice :
∂E
∂wij
= ∂E
∂uj
.
∂uj
∂wij
∂uj
∂wij
= hi si i = j et 0 sinon.
−→ w
(new)
ij = w
(old)
ij - ηejhi
ou
−→ v
(new)
wj = v
(old)
ij - ηejh, j = 1, 2, ..., V
η > 0 est le pas d’apprentissage,
ej = yj − tj et hi est la i-ème entrée de la couche cachée.
−→ v
(new)
wj = v
(old)
ij - η(yj − tj)h, j = 1, 2, ..., V avec h = vT
W I
−→ v
(new)
wj = v
(old)
ij - η(yj − tj)vT
W I, j = 1, 2, ..., V
Notons que cette mise à jour implique que l’on a fait le tour de tous les mots du vocabulaire,
comparer la probabilité yj et la valeur de sortie tj (soit 0, soit 1).
— si yj > tj −→ réduction de vwj j = 1, 2, ..., V
— si yj < tj −→ augmentation de vwj, j = 1, 2, ..., V
— si yj ≈ tj −→ légère modification de vwj, j = 1, 2, ..., V
3. Mise à jour des poids de la matrice input-hidden W Ayant obtenu l’équation de la mise à jour
de W , nous pouvons passer à celui de W .
∂E
∂hi
=
V
j=1
∂E
∂uj
.
∂uj
∂hi
; ∂E
∂uj
= ej ; uj = vwjh
uj =
N
i=1 .hi −→
∂uj
∂hi
= wij
∂E
∂hi
=
V
j=1 ej.wij :=E.Hi
hi : est le du i-ième indice du neurone de la couche cachée h.
ej = yj - tj : est l’erreur prédite du j-ième mot de la couche de sortie.
EH est un vecteur de dimension N et est la somme du vecteur de sortie de tous les mots du
vocabulaire, multipliés par leur erreurs de prédiction.
∂E
∂wki
= ∂E
∂hi
.∂hi
wki
sachant que hi =
V
k=1 xk.wki
∂E
∂wki
= EHi.xk
∂E
∂wki
= EHi.xk : ceci est équivalent au produit(tenseur) x et EH
∂E
∂W = x ⊕ EH = xEHT
qui retourne une matrice de taille (V, N). comme x à une seule valeur non nulle alors seule un line
de ∂E
∂W est non nulle et sa valeur est EHT
, une vecteur de dimension N. On obtient la mise à jour
de W par :
v
(new
W I = v
(old)
W I − ηEHT
4
Avec vW I une ligne de W le seul vecteur d’entrée du contexte de dérivée non nul.
Modèle Skim-gram
C’est l’une des architectures de la catégories Word2Vec, qui crée un modèle de langage d’espace
vectoriel en apprenant la représentation vectoriel du contexte d’un mot, étant donné ce mot. Cette
architecture est contraire à celle du CBOW qui elle, apprend la représentation vectorielle des mots ç
partir de leurs contextes.
Le vecteur d’entrée est similaire au modèle précèdent, vW I représente un mot du vocabulaire. Ainsi la
définition de la couche cachée ne change pas :
h = WT
wk = WT
(k,.) = vT
W I
Comme l’architecture précèdente, W est la matrice de poids entre la couche d’entrée et la couche cachée.
Ce qui signifie que h copie une ligne de la matrice W encore appelée matrice input-hidden, associée
au mot d’entrée wI.
Figure 4 – SKIP-GRAM : word2vec Parameter Learning Explained Xin Rong [2]
A la couche de sortie, au lieu de retourner une seule distribution multinomiale, comme nous avons vus
dans l’architecture précèdente, le réseau retourne C distributions multinomiales, chacune calculée avec
la même matrice hidden-output W .
Cette matrice de sortie est W = wi,j
Si nous écrivons W en terme de vecteurs ligne :
W =










− − − vw1 − − −
− − − vw2 − − −
. . . . . . .
. . . . . . .
. . . . . . .
− − − vwN − − −










5
Sachant que :
vwj =










w1j
w2j
.
.
.
wNj










et
h =










h1
h2
.
.
.
hN










Les différentes unités de la couche de sortie seront :
u1 =
N
i=1 wi1.hi
u2 =
N
i=1 wi2.hi
...
uV =
N
i=1 wiV .hi
En générale, on peut écrire :
uj = vwj.h
Étant donné que nous avons C contextes et que les contextes utilisent la même matrice de poids, on a :
uc,j = uj = vwj.h, c = 1, 2, ..., C
uc,j est la j-ième entrée du c-ième contexte de la couche de sorte.
vwj est le vecteur de la j-ième colonne de la matrice W , c’est-à-dire que vwj est pris des colonnes de la
matrice de poids hidden-output W
p(wc,j = wO,c|wI) = yc,j =
exp(uc,j )
V
j =1
expt(uj )
, c = 1, 2, ..., C
wc,j est le j-ième mot, du c-ième contexte de la couche de sortie ; wO,c est le mot réel au quel wc,j fait
allusion dans c-ième contexte. wI est le mot d’entrée (un seul mot) ; yc,j est la sortie de la j-ième unité
du c-ième contexte de la couche de sortie.
Pour la mise à jour des paramètre, nous allons procéder de façon similaire au modèle vu plus haut.
E = −logp(wO,1, wO,2, ..., wO,C|wI)
E = −log
C
c=1
exp(uc,j∗c )
V
j =1
exp(uj )
E = −
C
c=1 uc,j∗c
+
C
c=1 log
V
j =1 exp(uuj )
E = −
C
c=1 uc,j∗c + C.log
V
j =1 exp(uuj )
j∗c est l’indice du mot courant du vocabulaire dans le contexte à la sortie.
Effectuons la dérivée de E pour chaque entrée uc,j de chaque contexte, on obtient :
∂E
∂uc,j
= yc,j − tc,j := ec,j
qui est l’erreur prédite de cette unité.
Pour un chaque entrée d’un contexte, on a :
∂E
∂u1,1
, ∂E
∂u1,2
, ..., ∂E
∂u1,V
∂E
∂u2,1
, ∂E
∂u2,2
, ..., ∂E
∂u2,V
...
∂E
∂uC,1
, ∂E
∂uC,2
, ..., ∂E
∂uC,V
En lisant colonne par colonne, on peut écrire pour chaque j colonne :
{ ∂E
∂uc,j
}C
c=1,avec j = 1, 2, ..., V
alors appelons EIj =
C
c=1
∂E
∂uc,j
=
C
c=1 ec,j
6
Maintenant nous effectuons la dérivée de E en fonction de la matrice hidden-output W
∂E
∂wij
=
C
c=1
∂E
∂uc,j
.
∂uc,j
∂wij
∂E
∂wij
= ∂E
∂u1,j
.hj+ ∂E
∂u2,j
.hj+...+ ∂E
∂uC,j
.hj
∂E
∂wij
=
C
c=1
∂E
∂uc,j
.hj
∂E
∂wij
=EIj.hi
De la, nous avons la mise à jour des poids de la matrice hidden-output W
w
(new)
i,j = w
(old)
i,j - η.EHj.hj
ou v
(new)
wj = v
(old)
wj - η.EHj.hj, pour j = 1, 2, ..., V
Cette équation de mise à jour est appliquée à tous les éléments de la matrice hidden-output W , pour
instance d’apprentissage.
Bien que, les techniques de plongement basées sur les réseaux de neurones ont un défaut computationnel,
l’architecture du Skip-gram a l’avantage d’être plus rapide, car l’entraînement du modèle ne fait pas
usage de la multiplication des matrices denses. Cette atout permet d’entraîner une modèle de plus 100
milliard de mots sur une simple machine en un jour.
7
BIBLIOGRAPHIE
[1] Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient estimation of word representa-
tions in vector space. arXiv preprint arXiv :1301.3781, 2013.
[2] Xin Rong. word2vec parameter learning explained. arXiv preprint arXiv :1411.2738, 2014.
8

Contenu connexe

Tendances

Algebre1 s1 par www.etudecours.com
Algebre1 s1 par www.etudecours.comAlgebre1 s1 par www.etudecours.com
Algebre1 s1 par www.etudecours.cometude cours
 
Convex Multi-Task Feature Learning
Convex Multi-Task Feature LearningConvex Multi-Task Feature Learning
Convex Multi-Task Feature LearningSakher BELOUADAH
 
202010514 es-maths-cned-sequence-02-derivation
202010514 es-maths-cned-sequence-02-derivation202010514 es-maths-cned-sequence-02-derivation
202010514 es-maths-cned-sequence-02-derivationEttaoufik Elayedi
 
202017370 es-maths-cned-sequence-03-limites-et-asymptotes
202017370 es-maths-cned-sequence-03-limites-et-asymptotes202017370 es-maths-cned-sequence-03-limites-et-asymptotes
202017370 es-maths-cned-sequence-03-limites-et-asymptotesEttaoufik Elayedi
 
Lignes Et Cables Electriques
Lignes Et Cables ElectriquesLignes Et Cables Electriques
Lignes Et Cables ElectriquesSais Abdelkrim
 
Chapitre vi np complétude
Chapitre vi np complétudeChapitre vi np complétude
Chapitre vi np complétudeSana Aroussi
 
Fórmulas elementales de derivación
Fórmulas elementales de derivaciónFórmulas elementales de derivación
Fórmulas elementales de derivaciónLuis Castañeda
 
Suite exercice
Suite exerciceSuite exercice
Suite exercicehassan1488
 
Rappel mathématique pour étudiant d'économie gestion
Rappel mathématique pour étudiant d'économie gestionRappel mathématique pour étudiant d'économie gestion
Rappel mathématique pour étudiant d'économie gestionAli Hachimi Kamali
 
Mathématiques - Fonction génératrice
Mathématiques - Fonction génératriceMathématiques - Fonction génératrice
Mathématiques - Fonction génératriceLoïc Dilly
 
Exercices corrigés applications linéaires-djeddi kamel
Exercices corrigés applications linéaires-djeddi kamelExercices corrigés applications linéaires-djeddi kamel
Exercices corrigés applications linéaires-djeddi kamelKamel Djeddi
 
219146492 algebre-lineaire
219146492 algebre-lineaire219146492 algebre-lineaire
219146492 algebre-lineairemohamedchaouche
 
Chapitre i introduction et motivations
Chapitre i introduction et motivationsChapitre i introduction et motivations
Chapitre i introduction et motivationsSana Aroussi
 
Chapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsChapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsSana Aroussi
 
Hasard09 artificiel
Hasard09 artificielHasard09 artificiel
Hasard09 artificielnahdiste
 

Tendances (18)

Algebre1 s1 par www.etudecours.com
Algebre1 s1 par www.etudecours.comAlgebre1 s1 par www.etudecours.com
Algebre1 s1 par www.etudecours.com
 
Convex Multi-Task Feature Learning
Convex Multi-Task Feature LearningConvex Multi-Task Feature Learning
Convex Multi-Task Feature Learning
 
202010514 es-maths-cned-sequence-02-derivation
202010514 es-maths-cned-sequence-02-derivation202010514 es-maths-cned-sequence-02-derivation
202010514 es-maths-cned-sequence-02-derivation
 
202017370 es-maths-cned-sequence-03-limites-et-asymptotes
202017370 es-maths-cned-sequence-03-limites-et-asymptotes202017370 es-maths-cned-sequence-03-limites-et-asymptotes
202017370 es-maths-cned-sequence-03-limites-et-asymptotes
 
Lignes Et Cables Electriques
Lignes Et Cables ElectriquesLignes Et Cables Electriques
Lignes Et Cables Electriques
 
Am4 series
Am4 seriesAm4 series
Am4 series
 
Chapitre vi np complétude
Chapitre vi np complétudeChapitre vi np complétude
Chapitre vi np complétude
 
Fórmulas elementales de derivación
Fórmulas elementales de derivaciónFórmulas elementales de derivación
Fórmulas elementales de derivación
 
Suite exercice
Suite exerciceSuite exercice
Suite exercice
 
Qc mcorrige
Qc mcorrigeQc mcorrige
Qc mcorrige
 
Rappel mathématique pour étudiant d'économie gestion
Rappel mathématique pour étudiant d'économie gestionRappel mathématique pour étudiant d'économie gestion
Rappel mathématique pour étudiant d'économie gestion
 
Mathématiques - Fonction génératrice
Mathématiques - Fonction génératriceMathématiques - Fonction génératrice
Mathématiques - Fonction génératrice
 
Slides cirm-copulasv3
Slides cirm-copulasv3Slides cirm-copulasv3
Slides cirm-copulasv3
 
Exercices corrigés applications linéaires-djeddi kamel
Exercices corrigés applications linéaires-djeddi kamelExercices corrigés applications linéaires-djeddi kamel
Exercices corrigés applications linéaires-djeddi kamel
 
219146492 algebre-lineaire
219146492 algebre-lineaire219146492 algebre-lineaire
219146492 algebre-lineaire
 
Chapitre i introduction et motivations
Chapitre i introduction et motivationsChapitre i introduction et motivations
Chapitre i introduction et motivations
 
Chapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsChapitre v algorithmes gloutons
Chapitre v algorithmes gloutons
 
Hasard09 artificiel
Hasard09 artificielHasard09 artificiel
Hasard09 artificiel
 

Similaire à Plongement de mots :Modèle basé sur les réseaux de neurones

ChapitreAA_RN_5.pptx, Reseaux Neurones AI
ChapitreAA_RN_5.pptx, Reseaux Neurones AIChapitreAA_RN_5.pptx, Reseaux Neurones AI
ChapitreAA_RN_5.pptx, Reseaux Neurones AIMeryemKachani1
 
Cours Math Algèbre SMsssssss1 21-2222fsm.pdf
Cours Math Algèbre SMsssssss1 21-2222fsm.pdfCours Math Algèbre SMsssssss1 21-2222fsm.pdf
Cours Math Algèbre SMsssssss1 21-2222fsm.pdfachrafelbouzidi2
 
espaces vectoriels et applications linéaires
espaces vectoriels et applications linéairesespaces vectoriels et applications linéaires
espaces vectoriels et applications linéairesAhmedELYAHYAOUI
 
Hitting time for bessel processes and WOMS algorithm
Hitting time for bessel processes and WOMS algorithmHitting time for bessel processes and WOMS algorithm
Hitting time for bessel processes and WOMS algorithmVictor Bontemps
 
intégrale triple
intégrale tripleintégrale triple
intégrale tripleKum Visal
 
Electrostatique et Electrocinetique. Rappel de cours et exercices corriges de...
Electrostatique et Electrocinetique. Rappel de cours et exercices corriges de...Electrostatique et Electrocinetique. Rappel de cours et exercices corriges de...
Electrostatique et Electrocinetique. Rappel de cours et exercices corriges de...ssuserf33fd0
 
espace etudiant.licence 1er/2 anneé
espace etudiant.licence 1er/2 anneé espace etudiant.licence 1er/2 anneé
espace etudiant.licence 1er/2 anneé saoula khereddine
 
01_LES_TENSEURS.pdf
01_LES_TENSEURS.pdf01_LES_TENSEURS.pdf
01_LES_TENSEURS.pdfNSANGOU1
 
Mettre obligatoirement le titre de la leçon ici
Mettre obligatoirement le titre de la leçon iciMettre obligatoirement le titre de la leçon ici
Mettre obligatoirement le titre de la leçon iciwospro-academy
 
BoiteOutilsMathematiques a l'usage des techniciens20181126.pdf
BoiteOutilsMathematiques a l'usage des techniciens20181126.pdfBoiteOutilsMathematiques a l'usage des techniciens20181126.pdf
BoiteOutilsMathematiques a l'usage des techniciens20181126.pdfsedmorabet
 
Formalisation de la théorie des ensembles
Formalisation de la théorie des ensemblesFormalisation de la théorie des ensembles
Formalisation de la théorie des ensemblesIsomorphisme
 
Nbr complexes
Nbr complexesNbr complexes
Nbr complexesbades12
 
Cours rep etat
Cours rep etatCours rep etat
Cours rep etatLin Pepin
 
les processus VAR et SVAR
les processus VAR et SVAR  les processus VAR et SVAR
les processus VAR et SVAR Anissa ATMANI
 
COUR DE S2 algèbre
COUR DE S2  algèbre COUR DE S2  algèbre
COUR DE S2 algèbre Jamal Yasser
 
GEII - Ma3 - Représentations de Fourier et convolution
GEII - Ma3 - Représentations de Fourier et convolutionGEII - Ma3 - Représentations de Fourier et convolution
GEII - Ma3 - Représentations de Fourier et convolutionFrédéric Morain-Nicolier
 

Similaire à Plongement de mots :Modèle basé sur les réseaux de neurones (20)

ChapitreAA_RN_5.pptx, Reseaux Neurones AI
ChapitreAA_RN_5.pptx, Reseaux Neurones AIChapitreAA_RN_5.pptx, Reseaux Neurones AI
ChapitreAA_RN_5.pptx, Reseaux Neurones AI
 
Cours Math Algèbre SMsssssss1 21-2222fsm.pdf
Cours Math Algèbre SMsssssss1 21-2222fsm.pdfCours Math Algèbre SMsssssss1 21-2222fsm.pdf
Cours Math Algèbre SMsssssss1 21-2222fsm.pdf
 
espaces vectoriels et applications linéaires
espaces vectoriels et applications linéairesespaces vectoriels et applications linéaires
espaces vectoriels et applications linéaires
 
Hitting time for bessel processes and WOMS algorithm
Hitting time for bessel processes and WOMS algorithmHitting time for bessel processes and WOMS algorithm
Hitting time for bessel processes and WOMS algorithm
 
Video
VideoVideo
Video
 
intégrale triple
intégrale tripleintégrale triple
intégrale triple
 
Electrostatique et Electrocinetique. Rappel de cours et exercices corriges de...
Electrostatique et Electrocinetique. Rappel de cours et exercices corriges de...Electrostatique et Electrocinetique. Rappel de cours et exercices corriges de...
Electrostatique et Electrocinetique. Rappel de cours et exercices corriges de...
 
espace etudiant.licence 1er/2 anneé
espace etudiant.licence 1er/2 anneé espace etudiant.licence 1er/2 anneé
espace etudiant.licence 1er/2 anneé
 
01_LES_TENSEURS.pdf
01_LES_TENSEURS.pdf01_LES_TENSEURS.pdf
01_LES_TENSEURS.pdf
 
246242769 sequence-1-pdf
246242769 sequence-1-pdf246242769 sequence-1-pdf
246242769 sequence-1-pdf
 
Mettre obligatoirement le titre de la leçon ici
Mettre obligatoirement le titre de la leçon iciMettre obligatoirement le titre de la leçon ici
Mettre obligatoirement le titre de la leçon ici
 
Espaces vecs
Espaces vecs Espaces vecs
Espaces vecs
 
BoiteOutilsMathematiques a l'usage des techniciens20181126.pdf
BoiteOutilsMathematiques a l'usage des techniciens20181126.pdfBoiteOutilsMathematiques a l'usage des techniciens20181126.pdf
BoiteOutilsMathematiques a l'usage des techniciens20181126.pdf
 
Formalisation de la théorie des ensembles
Formalisation de la théorie des ensemblesFormalisation de la théorie des ensembles
Formalisation de la théorie des ensembles
 
Nbr complexes
Nbr complexesNbr complexes
Nbr complexes
 
Cours rep etat
Cours rep etatCours rep etat
Cours rep etat
 
les processus VAR et SVAR
les processus VAR et SVAR  les processus VAR et SVAR
les processus VAR et SVAR
 
COUR DE S2 algèbre
COUR DE S2  algèbre COUR DE S2  algèbre
COUR DE S2 algèbre
 
Espacesvec
EspacesvecEspacesvec
Espacesvec
 
GEII - Ma3 - Représentations de Fourier et convolution
GEII - Ma3 - Représentations de Fourier et convolutionGEII - Ma3 - Représentations de Fourier et convolution
GEII - Ma3 - Représentations de Fourier et convolution
 

Plus de serge sonfack

Presentation Interaction Homme Machine
Presentation Interaction Homme MachinePresentation Interaction Homme Machine
Presentation Interaction Homme Machineserge sonfack
 
Semantic annotation
Semantic annotation Semantic annotation
Semantic annotation serge sonfack
 
Suivi de l’avancement d’un projet Agile/Scrum
Suivi de l’avancement d’un projet Agile/ScrumSuivi de l’avancement d’un projet Agile/Scrum
Suivi de l’avancement d’un projet Agile/Scrumserge sonfack
 
Rapport genie logiciel
Rapport genie logicielRapport genie logiciel
Rapport genie logicielserge sonfack
 
Réalité virtuelle
Réalité virtuelle Réalité virtuelle
Réalité virtuelle serge sonfack
 
Diplomarbeit ens renewed
Diplomarbeit ens renewedDiplomarbeit ens renewed
Diplomarbeit ens renewedserge sonfack
 
Presentation du Laboratoire Open Source
Presentation du Laboratoire Open SourcePresentation du Laboratoire Open Source
Presentation du Laboratoire Open Sourceserge sonfack
 
IMPROVING GUINEA PIGS QUALITY AND QUANTITY IN CAMEROON
IMPROVING GUINEA PIGS QUALITY AND QUANTITY  IN CAMEROONIMPROVING GUINEA PIGS QUALITY AND QUANTITY  IN CAMEROON
IMPROVING GUINEA PIGS QUALITY AND QUANTITY IN CAMEROONserge sonfack
 
Migration vers les Solutions Libres/Open Sources
Migration vers les Solutions Libres/Open SourcesMigration vers les Solutions Libres/Open Sources
Migration vers les Solutions Libres/Open Sourcesserge sonfack
 
Develop your first app on Firefox OS
Develop your first app on Firefox OSDevelop your first app on Firefox OS
Develop your first app on Firefox OSserge sonfack
 

Plus de serge sonfack (19)

Presentation Interaction Homme Machine
Presentation Interaction Homme MachinePresentation Interaction Homme Machine
Presentation Interaction Homme Machine
 
Semantic annotation
Semantic annotation Semantic annotation
Semantic annotation
 
Suivi de l’avancement d’un projet Agile/Scrum
Suivi de l’avancement d’un projet Agile/ScrumSuivi de l’avancement d’un projet Agile/Scrum
Suivi de l’avancement d’un projet Agile/Scrum
 
Traitement d'image
Traitement d'image Traitement d'image
Traitement d'image
 
Expose : Fashion
Expose : FashionExpose : Fashion
Expose : Fashion
 
Rapport genie logiciel
Rapport genie logicielRapport genie logiciel
Rapport genie logiciel
 
Réalité virtuelle
Réalité virtuelle Réalité virtuelle
Réalité virtuelle
 
Fouille logiciel
Fouille logicielFouille logiciel
Fouille logiciel
 
Coder
CoderCoder
Coder
 
Ckomsa
Ckomsa Ckomsa
Ckomsa
 
Diplomarbeit ens renewed
Diplomarbeit ens renewedDiplomarbeit ens renewed
Diplomarbeit ens renewed
 
Presentation du Laboratoire Open Source
Presentation du Laboratoire Open SourcePresentation du Laboratoire Open Source
Presentation du Laboratoire Open Source
 
IMPROVING GUINEA PIGS QUALITY AND QUANTITY IN CAMEROON
IMPROVING GUINEA PIGS QUALITY AND QUANTITY  IN CAMEROONIMPROVING GUINEA PIGS QUALITY AND QUANTITY  IN CAMEROON
IMPROVING GUINEA PIGS QUALITY AND QUANTITY IN CAMEROON
 
Migration vers les Solutions Libres/Open Sources
Migration vers les Solutions Libres/Open SourcesMigration vers les Solutions Libres/Open Sources
Migration vers les Solutions Libres/Open Sources
 
Develop your first app on Firefox OS
Develop your first app on Firefox OSDevelop your first app on Firefox OS
Develop your first app on Firefox OS
 
Firefox os
Firefox os Firefox os
Firefox os
 
Opensource
Opensource Opensource
Opensource
 
Emmabuntus
EmmabuntusEmmabuntus
Emmabuntus
 
Jerry SFD Cameroon
Jerry SFD CameroonJerry SFD Cameroon
Jerry SFD Cameroon
 

Plongement de mots :Modèle basé sur les réseaux de neurones

  • 1. 0.1 Plongement de mots :Modèle basé sur les réseaux de neu- rones (architecture générale) Figure 1 – Architectures de CBOW et Skip-gram Efficient Estimation of Word Representations in Vector Space, Tomas Mikolov et al. [1] Une architecture de réseaux de neurones permettant d’apprendre la représentation des mots, en tenant compte du contexte ou du voisinage dans le quel le mot se trouve est celle développée par Mikolov et al. et présentée dans leur article Efficient estimation of word representations in vector space [1]. Elle fonctionne comme suit : 1. Architeture Figure 2 – Architecture simplifiée d’un modèle neuronal (CBOW) 1
  • 2. L’entrée de ce réseau est la représentation one hot encoding d’un mot du vocabulaire pris dans sa position dans le corpus. Soit w1, w2, ..., wT les mots d’entraînement. soit V un vocabulaire de taille |V |, wi ∈ V : Si                       0 . . . 0 1 0 . . . 0                       est la représentation one-hot-encoding du mot wk c’estàdire que nous avons un 1 à la k-ième po- sition et 0 partout ailleurs et de dimension (V, 1). N le notre de neurones de la couche cachée Le poids entre la couche d’entrée et la couche cachée peut être représenter par un matrice W de (V, N) W =             | | . . . | | | . . . | | | . . . | w1 w2 . . . wN | | . . . | | | . . . | | | . . . |             Chaque colonne de W est de dimension V et représente un vecteur d’un mot wi de la séquence. Le vecteur h de la couche cachée est : h = W T wk = W T (k,.) = vT W I cette opération revient en la copie de la k-ieme colonne de W dans la couche h et vW I est le vecteur représentant. vw est la représentation du mot w pris parmi les lignes de la matrice de poids input-hidden W , qui est la matrice entre la couche d’entrée et la couche cachée. 2
  • 3. Figure 3 – SKIP-GRAM Input-Hidden De la couche cachée à la couche de sortie, il y’a une autre matrice de poids W de dimension (N, V ). En utilisant cette matrice, nous pouvons calculer le score uj pour chaque mot du vocabulaire. uj = v T wj ∗ h W =           − − − w1 − − − − − − w2 − − − . . . . . . . . . . . . . . . . . . . . . − − − wN − − −           W’ = {wij} vwj =           w1j w2j . . . wNj           uj = v T wjh : est la j-ième colonne de W correspondant au mot wj. vwj est de dimension (N,1) et v T wj est de dimension (1,N). vwj est le vecteur de sorti de wj. vw est la représentation du mot w pris parmi les colonnes de la matrice de poids hidden-output W 2. Mise à jour des poids de la matrice hidden-output W L’objectif étant de maximiser la probabilité d’un mot connaissant le mot passé en entrée du réseau, on a : 3
  • 4. p(wj|wI) = yj = exp(uj ) V j =1 exp(uj ) p(wj|wI) = yj = exp(v T wj h) V j =1 exp(v T wj h) p(wj|wI) = yj = exp(v T wj vW I ) V j =1 exp(v T wj vW I ) c’est-à-dire maxp(wO|wI) = maxyj∗ E = - maxp(wO|wI) = - uj∗ + log V j =1 exp(uj ) Effectuons la dérivée de cette fonction de coût : ∂E ∂uj = −tj + 1 V j =1 exp(uj) ∂E ∂uj = −tj + exp(uj ) V j =1 ∂E ∂uj = −tj + yj avec tj = 1 si c’est le j-ième mot et 0 partout ailleurs. Pour effectuer les mises à jours des poids de la matrice entre la couché cachée et la couche de sortie (hidden-output W’), nous allons continuer avec la dérivée de E en fonction des poids de cette matrice : ∂E ∂wij = ∂E ∂uj . ∂uj ∂wij ∂uj ∂wij = hi si i = j et 0 sinon. −→ w (new) ij = w (old) ij - ηejhi ou −→ v (new) wj = v (old) ij - ηejh, j = 1, 2, ..., V η > 0 est le pas d’apprentissage, ej = yj − tj et hi est la i-ème entrée de la couche cachée. −→ v (new) wj = v (old) ij - η(yj − tj)h, j = 1, 2, ..., V avec h = vT W I −→ v (new) wj = v (old) ij - η(yj − tj)vT W I, j = 1, 2, ..., V Notons que cette mise à jour implique que l’on a fait le tour de tous les mots du vocabulaire, comparer la probabilité yj et la valeur de sortie tj (soit 0, soit 1). — si yj > tj −→ réduction de vwj j = 1, 2, ..., V — si yj < tj −→ augmentation de vwj, j = 1, 2, ..., V — si yj ≈ tj −→ légère modification de vwj, j = 1, 2, ..., V 3. Mise à jour des poids de la matrice input-hidden W Ayant obtenu l’équation de la mise à jour de W , nous pouvons passer à celui de W . ∂E ∂hi = V j=1 ∂E ∂uj . ∂uj ∂hi ; ∂E ∂uj = ej ; uj = vwjh uj = N i=1 .hi −→ ∂uj ∂hi = wij ∂E ∂hi = V j=1 ej.wij :=E.Hi hi : est le du i-ième indice du neurone de la couche cachée h. ej = yj - tj : est l’erreur prédite du j-ième mot de la couche de sortie. EH est un vecteur de dimension N et est la somme du vecteur de sortie de tous les mots du vocabulaire, multipliés par leur erreurs de prédiction. ∂E ∂wki = ∂E ∂hi .∂hi wki sachant que hi = V k=1 xk.wki ∂E ∂wki = EHi.xk ∂E ∂wki = EHi.xk : ceci est équivalent au produit(tenseur) x et EH ∂E ∂W = x ⊕ EH = xEHT qui retourne une matrice de taille (V, N). comme x à une seule valeur non nulle alors seule un line de ∂E ∂W est non nulle et sa valeur est EHT , une vecteur de dimension N. On obtient la mise à jour de W par : v (new W I = v (old) W I − ηEHT 4
  • 5. Avec vW I une ligne de W le seul vecteur d’entrée du contexte de dérivée non nul. Modèle Skim-gram C’est l’une des architectures de la catégories Word2Vec, qui crée un modèle de langage d’espace vectoriel en apprenant la représentation vectoriel du contexte d’un mot, étant donné ce mot. Cette architecture est contraire à celle du CBOW qui elle, apprend la représentation vectorielle des mots ç partir de leurs contextes. Le vecteur d’entrée est similaire au modèle précèdent, vW I représente un mot du vocabulaire. Ainsi la définition de la couche cachée ne change pas : h = WT wk = WT (k,.) = vT W I Comme l’architecture précèdente, W est la matrice de poids entre la couche d’entrée et la couche cachée. Ce qui signifie que h copie une ligne de la matrice W encore appelée matrice input-hidden, associée au mot d’entrée wI. Figure 4 – SKIP-GRAM : word2vec Parameter Learning Explained Xin Rong [2] A la couche de sortie, au lieu de retourner une seule distribution multinomiale, comme nous avons vus dans l’architecture précèdente, le réseau retourne C distributions multinomiales, chacune calculée avec la même matrice hidden-output W . Cette matrice de sortie est W = wi,j Si nous écrivons W en terme de vecteurs ligne : W =           − − − vw1 − − − − − − vw2 − − − . . . . . . . . . . . . . . . . . . . . . − − − vwN − − −           5
  • 6. Sachant que : vwj =           w1j w2j . . . wNj           et h =           h1 h2 . . . hN           Les différentes unités de la couche de sortie seront : u1 = N i=1 wi1.hi u2 = N i=1 wi2.hi ... uV = N i=1 wiV .hi En générale, on peut écrire : uj = vwj.h Étant donné que nous avons C contextes et que les contextes utilisent la même matrice de poids, on a : uc,j = uj = vwj.h, c = 1, 2, ..., C uc,j est la j-ième entrée du c-ième contexte de la couche de sorte. vwj est le vecteur de la j-ième colonne de la matrice W , c’est-à-dire que vwj est pris des colonnes de la matrice de poids hidden-output W p(wc,j = wO,c|wI) = yc,j = exp(uc,j ) V j =1 expt(uj ) , c = 1, 2, ..., C wc,j est le j-ième mot, du c-ième contexte de la couche de sortie ; wO,c est le mot réel au quel wc,j fait allusion dans c-ième contexte. wI est le mot d’entrée (un seul mot) ; yc,j est la sortie de la j-ième unité du c-ième contexte de la couche de sortie. Pour la mise à jour des paramètre, nous allons procéder de façon similaire au modèle vu plus haut. E = −logp(wO,1, wO,2, ..., wO,C|wI) E = −log C c=1 exp(uc,j∗c ) V j =1 exp(uj ) E = − C c=1 uc,j∗c + C c=1 log V j =1 exp(uuj ) E = − C c=1 uc,j∗c + C.log V j =1 exp(uuj ) j∗c est l’indice du mot courant du vocabulaire dans le contexte à la sortie. Effectuons la dérivée de E pour chaque entrée uc,j de chaque contexte, on obtient : ∂E ∂uc,j = yc,j − tc,j := ec,j qui est l’erreur prédite de cette unité. Pour un chaque entrée d’un contexte, on a : ∂E ∂u1,1 , ∂E ∂u1,2 , ..., ∂E ∂u1,V ∂E ∂u2,1 , ∂E ∂u2,2 , ..., ∂E ∂u2,V ... ∂E ∂uC,1 , ∂E ∂uC,2 , ..., ∂E ∂uC,V En lisant colonne par colonne, on peut écrire pour chaque j colonne : { ∂E ∂uc,j }C c=1,avec j = 1, 2, ..., V alors appelons EIj = C c=1 ∂E ∂uc,j = C c=1 ec,j 6
  • 7. Maintenant nous effectuons la dérivée de E en fonction de la matrice hidden-output W ∂E ∂wij = C c=1 ∂E ∂uc,j . ∂uc,j ∂wij ∂E ∂wij = ∂E ∂u1,j .hj+ ∂E ∂u2,j .hj+...+ ∂E ∂uC,j .hj ∂E ∂wij = C c=1 ∂E ∂uc,j .hj ∂E ∂wij =EIj.hi De la, nous avons la mise à jour des poids de la matrice hidden-output W w (new) i,j = w (old) i,j - η.EHj.hj ou v (new) wj = v (old) wj - η.EHj.hj, pour j = 1, 2, ..., V Cette équation de mise à jour est appliquée à tous les éléments de la matrice hidden-output W , pour instance d’apprentissage. Bien que, les techniques de plongement basées sur les réseaux de neurones ont un défaut computationnel, l’architecture du Skip-gram a l’avantage d’être plus rapide, car l’entraînement du modèle ne fait pas usage de la multiplication des matrices denses. Cette atout permet d’entraîner une modèle de plus 100 milliard de mots sur une simple machine en un jour. 7
  • 8. BIBLIOGRAPHIE [1] Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient estimation of word representa- tions in vector space. arXiv preprint arXiv :1301.3781, 2013. [2] Xin Rong. word2vec parameter learning explained. arXiv preprint arXiv :1411.2738, 2014. 8