IFT-7022
Traitement de la langue naturelle
Courte introduction aux
réseaux de neurones
Tiré de Jurafsky et Martin, 3e éd., Chapitre 7
Plan de la présentation
• 3 visions d’un réseau de neurones
• Réseaux Feedforward
• Apprentissage
• Utilisation NLP avec sac de mots
w Une avec une représentation traditionnelle
26 novembre 2019
Réseau de neurones – 3 visions
1. Une métaphore de la structure du
cerveau
Synapses
Dendrites
Axones
Nucleus
26 novembre 2019
Réseau de neurones – 3 visions
2. Une cascade de régressions logistiques
26 novembre 2019
Réseau de neurones – 3 visions
2. Une cascade de régressions logistiques
w Chaque unité est une régression logistique
Signal en sortie y
y
a Fonction d’activation σ = sigmoïde
σ
z
Σ
Signal z = Somme pondérée
w1 w2 w3 b des valeurs en entrées
= w1*x1 +w2*x2 +w3*x3 + b
x1 x2 x3 +1 =w.x+b
26 novembre 2019
Réseau de neurones – 3 visions
2. Une cascade de régressions logistiques
w Exemple de propagation
Sortie = Activation
y
a 0.70
σ Signal z = sommes pondérée
z z = .5*.2 + .6*.3 + .1*.9 + 1*.5
Σ = 0.87
w = [0.2, 0.3, 0.9]
b = 0.5 z=w.x+b
w1 w2 w3 b
= [0.2, 0.3, 0.9] 0.5 + 0.5
x1 x2 x3 +1 0.6
x = [0.5, 0.6, 0.1] 0.1
26 novembre 2019
Réseau de neurones – 3 visions
3. Un large réseau d’opérations simples
w Différentes fonctions d’activation
Fonction tanh Fonction RELU
y
a
σ
z
Σ (Rectified linear unit)
w1 w2 w3 b
x1 x2 x3 +1
26 novembre 2019
Réseau Feedforward
• Réseau multicouches
w Plusieurs unités connectées sans cycle
w Pas de retour en arrière
Couche de sortie (2)
Couche cachée (1)
Couche d’entrée (0)
26 novembre 2019
Réseau Feedforward
• Réseau multicouches
w Plusieurs neurones = Plus discriminant
w Plusieurs séparateurs
Couche de sortie
Représentation
intermédiaire Couche cachée
Couche d’entrée
Playground.tensorflow.org
26 novembre 2019
Réseau Feedforward
• Notation matricielle
ah1 ah2 … ahn1
W= w11 , w12 , w13 … w1 n0 b = [bh1 , bh2 … bhn1]
w21 , w22 , w23 … w2 n0
h = [ah1 , ah2 … ahn1]
…
26 novembre 2019
Réseau Feedforward
• Classification multiclasses (multinomiale)
26 novembre 2019
Réseau Feedforward
• Classification binaire
y y = σ(z)
U
26 novembre 2019
Réseau Feedforward
• Classification binaire
w Autre option
26 novembre 2019
Entraînement
• Rappel - Ajuster les poids du réseau
w Trouver les poids wi et les biais b qui minimise
une fonction de perte
Erreur à Perte L
y=1 ^y= 0.77
x
^
wij , bi ?
= 1.24
26 novembre 2019 14
Entraînement
• Ajustement des poids du réseau
w Rétro-propagation
w Descente de gradient (gradient descent)
w Plus complexe qu’une régression logistique
26 novembre 2019
NLP et réseaux de neurones
• Plusieurs tâches langagières ont des classificateurs
supervisés
w Segmentation en phrases
w Identification de la langue
w Analyse de sentiment
w Extraction de relations…
• Approches:
w Sélection manuelle/automatique des attributs
w Prétraitement des textes pour construire les attributs
§ Représentation de sac de mots (bag of words)
§ Autre attributs (# de mots négatifs, # entités nommées…)
w Application d’un classificateur supervisé sur ces
attributs
• Le classificateur peut être un réseau de neurones
26 novembre 2019
NLP et réseaux de neurones
• Analyse de sentiment
2 sorties :+ ou -
x = [3, 2, 1, 3, 0, 4.15 ]
26 novembre 2019
NLP et réseaux de neurones
• Les approches actuelles visent à ne pas faire
de prétraitement de textes
w On donne les textes buts aux réseaux
• On laisse le réseau découvrir les bons
attributs
w La bonne représentation des textes pour
accomplir une tâche
w Representation learning
• On doit cependant avoir une bonne
représentation des mots
• La suite…
w Plongement de mots (Word embeddings)
26 novembre 2019
Des questions ?
26 novembre 2019