Présentation de Salma Jamoussi

publicité
PLAN
²PPlan
1 Introduction
2 Apprentissage automatique
3 Réseaux de neurones artificiels
4 Apprentissage profond
5 Applications en TALN
Introduction
 Le traitement automatique du langage naturel couvre un
éventail très large d’applications possibles :
 Analyse morpho-syntaxique du texte
 Compréhension du langage naturel
 Dialogue homme-machine
 Etc.
 La plupart de ces tâches nécessitent une étape
d’apprentissage pour maximiser la performance et gagner
en simplicité et flexibilité du modèle de décision réalisé
 Parfois passer par les techniques d’apprentissage reste la
seule alternative possible :
 Reconnaissance de la parole
 La traduction automatique
 Etc.
3
Introduction
• Paramétrisation
acousticophonétique et
prosodique
• Modèle de décision
Détection de la
langue parlée
4
Reconnaissance
de la parole
• Modélisation
phonétique
• Modélisation du
langage
• Modèles de langue et
de traduction
• Analyse morphosyntaxique et
sémantique
Traduction
automatique
Speech to speech translation
Synthèse de la
parole
• Informations
linguistiques et
acoustiques
• Modèle de synthèse
Introduction
Toutes ces activités sont d’habitude réalisées
par l’homme
Nécessitent de l’intelligence
Quelle est la relation entre intelligence et
apprentissage ?
Chez l’homme
Chez la machine
5
PLAN
²PPlan
1 Introduction
2 Apprentissage automatique
3 Réseaux de neurones artificiels
4 Apprentissage profond
5 Applications en TALN
Apprentissage automatique
 L’apprentissage automatique (machine learning) fait référence
au développement et à l’implémentation de méthodes qui
permettent à une machine d’évoluer grâce à un processus
d’apprentissage et ainsi de remplir des tâches qu’il est difficile
ou impossible de remplir par des moyens algorithmiques plus
classiques.
 Exemples :




7
Qui est l’auteur de ce texte (HTML, Livre, article, etc.) ?
Est-ce que ce commentaire exprime un sentiment positif ou négatif ?
Est-ce que ce terme désigne une entité nommée ?
Quel est le sujet de ce texte ?
Apprentissage automatique
Définitions
Selon Arthur Samuel, 1959 : c’est donner la capacité
aux machines d’apprendre sans les programmer
explicitement
Selon Tom Mitchell, 1997 : Un programme qui
apprend est un programme qui tire profit d’une
expérience E, par rapport à une famille de tâches T,
pour une mesure d’efficacité P si son efficacité
(mesurée par P) dans l’accomplissement des tâches de
T, augmente après l’expérience E.
8
Apprentissage automatique
Algorithme
d’apprentissage
Quelle fonction choisir ?
Connaissances
Le cas de a priori
Quelles sont les caractéristiques à garder ?
la classification
Données
Comment représenter le texte ?
9
Représentation du texte
Algorithme
d’apprentissage
 Sac de mots
1
3
0
1
1
2
 TF-IDF
0
0
0
0
….
Connaissances
 TF: Fréquence du terme dans le document
a priorile terme ti :
 IDF: Inverse du nombre de documents contenant
 Vecteurs de similarités
Données
 Information mutuelle, divergence de Kullback, etc.
10
0
Sélection de caractéristiques
Algorithme
Par expertise : ingénierie des
attributs
d’apprentissage
 Création
 Sélection
 Nécessite beaucoup de Connaissances
connaissances sur le domaine
 Difficile de sélectionner les attributs
a priori les plus pertinents
 Niveau d’abstraction très bas
Automatiquement
 Méthodes de sélection d’attributs
Données
 Méthodes de transformation d’attributs
11
Sélection d’attributs
Approche filtre
Tous les
attributs
Approche enveloppante
Tous les
attributs
Approche intégrée
Tous les
attributs
Evaluation individuelle
Sélection d’un sousensemble d’attributs
Sous-ensemble
d’attributs optimal
Algorithme
d’apprentissage
Génération d’un
sous-ensemble
d’attributs
Sélection d’un sousensemble d’attributs
Evaluation
Algorithme
d’apprentissage
Sous-ensemble
d’attributs optimal
Performance
12
Performance
Algorithme
d’apprentissage
Sélection d’un
sous-ensemble
d’attributs
Sous-ensemble
d’attributs optimal
Performance
Réduction de dimension
 Analyse Sémantique Latente
 Analyse en Composantes Principales
13
Sélection de modèle
Très simple
Algorithme
Sur-apprentissage
d’apprentissage
Optimal
Connaissances
a priori
Le sur-apprentissage est un problème rencontré
lorsque l’hypothèse apprise s’ajuste exactement
aux données d’apprentissage.
On parle aussi du
Données
problème d’apprentissage par cœur.
14
Le rasoir d’Occam
Pour éviter un apprentissage par cœur, on doit
préférer les solutions les plus générales même si
elles risquent de se tromper sur quelques
exemples
Règle générale
15
Règle spécifique
PLAN
²PPlan
1 Introduction
2 Apprentissage automatique
3 Réseaux de neurones artificiels
4 Apprentissage profond
5 Applications en TALN
Le cerveau humain
Le neurone biologique
Le neurone biologique
Nombre de neurones dans le cerveau: ~ 1011
Nombre de connexions par neurone: ~ 104 - 105
19
Synapse
Le neurone formel
axone
20
Le neurone formel
x1
xj
xn
21
w1
y
wj
wn
Réseaux de neurones artificiels
22
Réseaux de neurones artificiels
 L ’apprentissage dans les réseaux de neurones
artificiels est une phase du développement d’un réseau
durant laquelle son comportement est modifié jusqu’à
l’obtention du comportement désiré.
 L’apprentissage consiste à modifier les poids des
connexions entre les neurones
 On distingue deux grandes classes d’algorithmes
d’apprentissage :
 L’apprentissage supervisé
 L’apprentissage non supervisé
23
Réseaux de neurones artificiels
Apprentissage
supervisé
superviseur
sortie désirée
erreur
réseau
sortie obtenue
Apprentissage
non supervisé
réseau
24
sortie obtenue
Réseaux de neurones artificiels
• Postulat physiologique :
“quand un axone de la cellule A est assez proche pour exciter
une cellule B et quand, de façon repétée et persistante, il
participe à son activation, un certain processus de croissance ou
un changement métabolique s’installe, dans une cellule ou dans
les deux, tel que l’efficacité de A, en sa qualité de cellule qui
active B, est augmentée”.
En résumé : si deux neurones sont souvent excités
simultanément, alors ils augmentent la force (le
poids) de leur interconnexion .
25
La règle de Hebb
Connexion
renforcée
Connexions
non modifiées
 Deux choses qui viennent
toujours ensemble en
même temps méritent
d'être mémorisées
 Formalisation
mathématique
– Wij : Poids de la connexion
entre les neurones I et J.
– Ai et Aj : Activations des
neurones I et J. (0 ou 1)
Règle de Hebb : Wij(t+1)=Wij(t)+K.Ai.Aj
26
Le Perceptron
x1
y1
x2
.
.
.
y2
.
.
ym
xn
xi
27
I
Wij
J
yj
(dj)
Apprentissage supervisé
par correction d’erreur
Si la solution existe la règle
converge
La règle de Widrow-Hoff:
Wij(t+1)=Wij (t)+ k.(dj-yj).xi
Algorithme d’apprentissage du Perceptron
1- Initialisation des poids et du seuil  à des valeurs (petites)
choisies au hasard.
2- Présentation d'une entrée X = (x1, …, xn) de la base d'apprentissage.
3- Calcul de la sortie obtenue Y=(y1, …, ym) pour cette entrée :
Pour chaque yj Faire
aj = i(wij . xij) - 
yj = signe (aj) (ici f est la fonction signe)
Fin Pour
4- Si la sortie Y du Perceptron est différente de la sortie désirée D pour
cet exemple d'entrée X alors modification des poids :
wij=wij + k.(dj-yj).xi
5- Tant que tous les exemples de la base d'apprentissage ne sont pas
traités correctement (i.e. modification des poids), retour à l’étape 2.
28
Le Perceptron
 On peut construire des Perceptrons capables de
réaliser les fonctions logiques : ET / OU
 Mais le Perceptron est incapable de distinguer les
patrons non séparables linéairement.
OU Exclusif (XOR)
Données non linéairement séparables !
29
Le Perceptron
e1 w1
e2
e2
E-Seuil=0
S’=1
E’-Seuil=0
S’=0
C
w2
E=e1. w1+ e2.w2
e1 w’1
S=1
e2
S=0
e1
30
E
S
E’
S’
w’2
E’=e1. w’1+ e2.w’2
Le Perceptron
XOR(a,b)=(a ET Non(b)) OU (Non(a) ET b)
x1
w1
+1
+1
x2
x1
31

w2
w1
+1
et
+1
ou
-1
x2

- 0.5
w2
+1
x1
-1
+1.5
+1
x2
y =x1 ET x2
y =x1 OU x2
+1
+1
et
y =x1 XOR x2
Le Perceptron Multi-Couches
Couche
cachée
x1
y1
x2
.
.
.
y2
.
.
ym
xn
Couche
d’entrée
32
Couche
de sortie
 La règle d’apprentissage
d’un Perceptron est :
Wij=Wij + k.(dj-yj).xi
 Non applicable sur
unPMC
 Problème : Quelles sont
les sorties désirées de la
couche cachée ?
Le Perceptron Multi-Couches
Solution : rétro-propagation de l’erreur
 D’une façon distribuée
 Pondérée par les poids initiaux
 E est l’erreur commise par le réseau elle représente la
différence (D-Y)
Minimisation de l’erreur quadratique donnée par :
E
 Descente du gradient
1
2
 (d i  yi )
2 i
wij wij(t 1)wij(t) E
wij
33
Le Perceptron Multi-Couches
 Algorithme d’apprentissage
 Propagation en avant (Forward)


1
yi F(ai) F  wij x j  avec F(x)
1

exp(
x)
 j

 Rétro-propagation (Backword)
wij(t1)wij(t)i ai avec iE
wij
ai
wi1
wij
win
• Pour les poids entre la couche de sortie et celle qui la
précède
iF '(ai).(yidi)
• Pour les connexions entre les autres couches
34
 jF '(a j).i.wij
i
yi
Le Perceptron Multi-Couches
1. On place une donnée d’entrée
x1
2. On calcule la sortie des
neurones de la couche cachée
x2
.
.
.
3. On calcule la sortie du réseau
.
.
.
.
5. On ajuste les poids entre la
Couche de sortie et celle cachée
xn
35
4. On calcule l’erreur
E
6. On calcule  i au niveau des
neurones de la couche cachée
7. On ajuste les poids entre la
couche cachée et celle d’entrée
Le Perceptron Multi-Couches
Presenter
Finalement
Poids initiaux
un….
exemple d’apprentissage / ajuster les poids
36
Le Perceptron Multi-Couches
 Mise en œuvre
 Nombre de neurones dans la couche d’entrée correspond à la
dimension de l’espace d’entrée
 Nombre de neurones dans la couche de sortie correspond aux
nombre de classes des données à classer
 Nombre de neurones dans la couche cachée est déterminé
d’une manière empirique : on choisit le nombre qui donne les
meilleurs résultats
 Nombre de couches cachées est déterminé empiriquement
aussi…
37
PLAN
²PPlan
1 Introduction
2 Apprentissage automatique
3 Réseaux de neurones artificiels
4 Apprentissage profond
5 Applications en TALN
L’apprentissage profond
39
L’apprentissage profond
Définition : L’apprentissage profond est un ensemble de
méthodes d'apprentissage automatique tentant de
modéliser avec un haut niveau d’abstraction des données
grâce à des architectures articulées autour de différentes
transformations non linéaires.
 Elles fonctionnent avec un apprentissage à plusieurs
niveaux de détails ou de représentations des données.
A travers les différentes couches on passe de
paramètres de bas niveau à des paramètres de plus
haut niveau.
 Ces différents niveaux correspondent à différents
niveaux d’abstraction des données
40
L’apprentissage profond

Table: TIMIT Phone recognition (3 hours of training)
•


41
Features
Setup
Error Rates
GMM
Incl. Trajectory Model
24.8%
DNN
5 couches
23.0%
Table: Voice Search SER (24-48 hours of training)
Features
Setup
Error Rates
GMM
MPE (760 24-mix)
36.2%
DNN
5 couches
30.1%
Table: Switch Board WER (309 hours training)
Features
Setup
GMM
BMMI (9K 40-mix)
Error Rates
23.6%
DNN
7 couches
15.8%
Table: Switch Board WER (2000 hours training)
Features
Setup
GMM
BMMI (18K 72-mix)
Error Rates
21.7%
DNN
7 couches
14.6%
L’apprentissage profond
42
L’apprentissage profond
43
L’apprentissage profond
Les réseaux de croyance profonds : Deep Belief Network (DBN)
[Hinton, 2000]
h3
RBM
h2
RBM
h1
h1
h1
RBM
x
44
h2
x
x
L’apprentissage profond
Les Machines Restreintes de Boltzmann (RBM)
h
W
Composer de deux couches
Un graphe bipartite, non orienté et pondéré avec des
connexions symétriques entre ces deux couches
La minimisation de la fonction d’énergie
E (v,h)= - b v - c h - h W v
Calculer les mises à jour des poids
45
v
h
W
v
1. Initialiser la matrice de poids W au hazard
2. Introduire un vecteur en entrée (couche visible V)
3. Mettre à jour la couche cachée (H) étant donnée la
couche V, en utilisant :
4. Reconstruire la couche visible V en considérant la
nouvelle H, en utilisant :
5. Reconstruire aussi H en utilisant la première équation
6. Mettre à jour les poids W en utilisant :
46
L’apprentissage profond
Apprentissage
d’une hiérarchie
de
caractéristiques
de plus en plus
complexes et
complètes.
47
L’apprentissage profond
 A: Representation 2-D de la base MNIST (hand-written) en utilisant l’ACP
 B: Representation 2-D de la même base en utilisant les DBNs.
48
L’apprentissage profond
 A: Representation 2-D d’une base de documents en utilisant LSA
 B: Representation 2-D de la même base en utilisant les DBNs.
A
49
B
Les auto-encodeurs
[Bengio, 2006]
x
w12
w13
w14
W1
w11
W2
W’2
Activation
 n

hw,b ( x)  f  Wi xi  b 
 i 1

W’1
x
L’algorithme de rétro-propagation de l’erreur pour l’apprentissage
50
Les auto-encodeurs
...
...
…
….
….
….
…....
…....
….
unités
d’entrée
Couche L2
+1
+1
+1
+1
Couche L2
Couche L1
+1
Couche L1
51
Couche L1
Couche L2
Couche L3
Couche L3
Couche L3
Les auto-encodeurs
La représentation
de la couche L2
x1
x2
1 0 0 … 1 1 1
0 0 0 … 1 1 0
Les mots du
vocabulaire
h w,b(x)
SVM
+1
Couche L2
x 1873
+1
Couche L1
52
…....
… … … … … … …
…....
1 1 1 … 0 1 1
…....
0 1 0 … 0 0 1
x3
.............
m: les phrases du corpus
M (m*d)
Couche L3
Classe
Les auto-encodeurs
 Les représentations vectorielles : sac de mots, TF.IDF, etc
Les représentations éparses
Les dimensions sont élevées
Non prise en compte de la sémantique
 Les représentations obtenues avec deep learning
Des représentations intermédiaires abstraites
Réduction de la dimensionnalité
Prise en compte de la sémantique
53
PLAN
²PPlan
1 Introduction
2 Apprentissage automatique
3 Réseaux de neurones artificiels
4 Apprentissage profond
5 Applications en TALN
Applications en TALN
55
Modèle de langue
On veut prédire la probabilité
d’apparition d’un mot wt
sachant son historique :
P(wt|wt-1, wt-2,…w1)
56
Représentation de mots
 Avec la représentation binaire :
 On cherche donc une représentation plus sémantique des
mots.
 On sait qu’un mot est caractérisé par son contexte
 L’idée est de créer un vecteur représentatif du mot « banking » en
utilisant ses différents contextes
57
Représentation de mots
1. Pour chaque mot à modéliser on considère plusieurs occurrences
dans des contextes différents.
2. Construire des exemples négatifs en remplaçant ce mot, par un
autre mot choisi au hazard.
3. Pour chaque mot on initialise aléatoirement un vecteur de 50
cat
éléments. Les vecteurs des n-grams
sont donc de n*50 éléments.
car
4. Ces n-grams sont donnés en entrée
d’un réseau profond qui
apprend à maximizer les probabilités des phrases valides et
minimiser les probabilités des exemples négatifs
5. Rétro-propagation de l’erreur jusqu’à convergence et extraction
des représentations distribuées obtenues des mots.
58
Représentation de mots
Banking =
59
Représentation de mots
Tokyo − Japan + France = Paris
best − good + strong = strongest
king − man + woman = queen
60
𝒒𝒖𝒆𝒆𝒏 ∩ 𝒌𝒊𝒏𝒈
uncrowned
majesty
second
…
𝒒𝒖𝒆𝒆𝒏 ∩ 𝒘𝒐𝒎𝒂𝒏
Elizabeth
Katherine
impregnate
…
Tâches du TALN
Representation du document
Representation de la connaissance
Representation de la phrase
Representation du sens
Representation des mots
Unstructured Text
Représentation de phrases
Chaque phrase est réduite à un vecteur de 50
éléments comme suit :
Chaque mot est introduit comme un vecteur de
représentation (50 éléménts)
Pour chaque bi-gram (2 mots) de la phrase, on
construit un auto-encodeur de 100 entrées et 50
sorties.
Prendre le bi-gram qui a l’erreur de reconstruction
minimale et le remplacer par la sortie de l’autoencodeur
Repéter jusqu’à obtenir un seul vecteur de 50
éléments.
62
Représentation de phrases
63
Représentation de phrases
 Comme pour la phrase, nous pouvons construire des
représentations compactes de documents.
 Ce type de représentations a été utilisé avec succès
dans plusieurs applications en TALN :
 Traduction automatique
 Analyse de sentiments
 Catégorisation de textes
 Tagging (POS, NER, etc.)
 Désambiguïsation sémantique
 Question-réponse
 Recherche d’information
 Etc.
64
Conclusions
Domaine récent et très actif avec une évolution
super rapide
Plusieurs architectures et modèles déjà proposés
Des résultats qui ne font que surprendre les
chercheurs en apprentissage automatique
Les représentations sémantiques obtenues sont
très pertinentes
Plus de besoin de confectionner vos attributs, les
réseaux de neurones le feront mieux
En attendant « Google Brain » ….
65
66
Téléchargement