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(t1)wij(t)i ai avec iE wij ai wi1 wij win • Pour les poids entre la couche de sortie et celle qui la précède iF '(ai).(yidi) • Pour les connexions entre les autres couches 34 jF '(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