Séminaire IXXI
Représentations Continues et Accès à l'Information
Benjamin Piwowarski
Vendredi 11 juin
$\newcommand{\argmin}{\mathop{\textrm{argmin}}} \newcommand{\argmax}{\mathop{\textrm{argmax}}} \newcommand{\v}[2]{{#1}_{\mathrm{#2}}} \newcommand{\Exp}{\mathbb{E}} \newcommand{\Var}{V} \newcommand{qpr}{q} \newcommand{\Obs}{\mathcal{O}} \newcommand{\RR}{\mathbb{R}} \newcommand{\Data}{\mathbb{\mathcal{D}}} \newcommand{\matA}{\mathbf{A}} \newcommand{\matB}{\mathbf{B}} \newcommand{\matW}{\mathbf{W}} \newcommand{\matX}{\mathbf{X}} \newcommand{\matY}{\mathbf{Y}} \newcommand{\vx}{\mathbf{x}} \newcommand{\vy}{\mathbf{y}} \newcommand{\tr}{\mathop{\mathrm{tr}}} \newcommand{\crep}[3][]{\underline{#2}_{#3}^{#1}} \newcommand{\mat}[1]{\mathbf{#1}} \newcommand{\RV}{\mathbf{#1}} \newcommand{\RVX}{\mathbf{X}} \newcommand{\RVY}{\mathbf{X}} \newcommand{\RVY}{\mathbf{X}} \newcommand{\dpartial}[2]{\frac{\partial #1}{\partial #2}} \newcommand{\C}{\mathbb{C}} \def\rep#1{\underline{#1}} \def\entity{e}% \def\entities{\mathcal{E}}%$

Équipe MLIA (LIP6 - Sorbonne Université)

div MLIA : Machine Learning and Information Access

10 permanents

Thématiques

  1. Apprentissage de représentation et "deep learning"
  2. Données structurées
  3. Apprentissage par renforcement

Accès à l'information ?

Ensemble des technologies qui permettent d'accéder plus facilement à l'information digitale
  • Recherche Documentaire
  • Question-Réponse
  • Extraction d'Information
  • Résumé
  • Traduction
  • ...

Contexte : Apprentissage Automatique (Machine Learning)

Deux grandes familles :
  1. Les approches logiques
    Le chat est sur le toit
    est-sur(le chat, le toit)
    Interprétation et inférence
    (trop) Sensible au bruit
    Modélisation fine
  2. Les approches basées sur l'apprentissage statistique
    Le chat est sur le toit
    (1.2 3.1 -1.2 .... 5.3) $\in \RR^n$
    Peu sensible au bruit
    Modèles génériques et multimodaux
    Interprétation et inférence
Dans cet exposé, on se place dans le cadre de l'apprentissage statistique

Contexte : Réseaux de neurones

Plus précisément, on se place dans le cadre des réseaux de neurones

Un "neurone artificiel"
C'est un hyperplan séparateur dans $\mathbb \RR^n$ défini par $x\in \RR^n$ et $b\in\RR$
Pour un exemple $y$, le neurone est actif positivement si $x \cdot y + b > 0$ et négativement si $x \cdot y + b < 0$.

Plan de l'exposé

  1. Évolution de la représentation : vers des représentations continues
  2. Représentation continue des mots
  3. Réseaux de neurones et language
  4. Mémoire et Transformers

Vers des représentations continues en accès à l'information

Modèles (1960-2000)

  • Modélisation mathématiques (heuristiques ou probabilistes)
  • Représentations faites à la main (explicites ou implicites)
Recherche d'Information
Estimation de la pertinence d'un document $d$ pour une question $q$
Modèle Vectoriel
$$\textrm{pertinence}_{VSM}(\mbox{question } q, \mbox{document } d ) = \cos\left( \rep{q}, \rep{d} \right) $$
Avec $\rep q$ et $\rep d$ des vecteurs dans $\RR^V$ où $q_i>0$ ($d_i>0$) si le mot $i$ appartient à la question (document)
Modèle Probabiliste
$$ \begin{eqnarray} \textrm{pertinence}_{BM25} & = & \log p(\mbox{pertinent }R | \mbox{question } q, \mbox{document } d)\\ & \stackrel{rang}= & \sum_{t\in q} \log \frac{p(t|R,d)}{p(t|\neg R,d)} \end{eqnarray} $$
avec $p(t|R,d)$ = probabilité que le terme $t$ apparaisse dans une question pour lequel le document $d$ est pertinent
Formalisation
Modélisation partielle du phénomène observé

Apprentissage Statistique (1990-2010)

  • Représentation = combinaison de modèles
  • Apprentissage Automatique (Machine learning)
Recherche d'Information
Fuhr, N. and Buckley, C.
1991. A Probabilistic Learning Approach for Document Indexing.
$$\log p(\mbox{pertinent} | \mbox{document}, \mbox{question}; \theta) = \sum_{i=1}^N {\color{blue}\theta_i} {\color{green}\Phi_i(q,d)} $$
Exemples de $\Phi_i(d,q)$:
  • $\textrm{pertinence}_{BM25} (q,d)$
  • Pagerank (importance dans le graphe) de $d$
  • Longueur du document $d$
  • ...
Le but est d'apprendre automatiquement ${\color{blue}\theta_i}$
Cela a donné lieu à beaucoup de travaux de recherche en apprentissage d'ordonnancements
Liu, T.-Y.
2011. Learning to Rank for Information Retrieval.
Amélioration des performances...
... toujours limitée par la représentation inadéquate

Apprentissage de représentations (2010-...)

  • Représentation apprise : tout object peut être représenté dans un espace continu $\RR^n$
  • On utilise toujours des algorithmes d'apprentissage statistique
Recherche d'Information
$$p(\mbox{pertinent }R | \mbox{question } q, \mbox{document } d) = rsv_\theta \left( \rep{q}, \rep{d} \right) $$
où $$\rep q = f_\theta(q) \mbox{ et } \rep d = g_\theta(d)$$ sont des représentations apprises de la question et du document
Changement du problème de recherche
Comment apprendre de bonnes représentations textuelles ? Comment les utiliser ?

Représentations continues de mots

Limite du sac de mots

Similarité des phrases
$\langle$ "le véhicule bleu", "le camion bleu" $\rangle = 2$
$\langle$ "le véhicule bleu", "le bâtiment bleu" $\rangle = 2$
Le problème = pas de sémantique...

Construire des espaces sémantiques abstraits

Une solution
  1. Exploiter les régularités
  2. Représentation dans un espace vectoriel $\mathbb{R}^n$
Importance du contexte
Le garçon est allé...
  • chez le dentiste
  • à l'école
  • sur la lune
  • ...

Solution : Graphe des co-occurrences

Dans la pratique, plus simple = co-occurrences de mots

Apprendre des représentations de mots : Word2Vec

Objectif: maximiser la probabilité que $\color{blue} e$ apparaisse dans le contexte $\color{green} c$ (ou non pour $\color{red} n$), avec $\sigma(x)=(1+\exp(-x))^{-1}$

Apprentissage des mots

$$ \mathcal L = - \log(\underbrace{\sigma(x_{t} \cdot y_{c})}_{P(t \mathrm{\ dans\ le\ contexte\ } c)}) - \sum_{k=1}^N \log(\underbrace{\sigma(- x_{t} \cdot y_{n_k})}_{P(t \mathrm{\ pas\ dans\ le\ contexte\ } n_k)})$$

Solution : espaces vectoriels

Représentation
$$\mathrm{chat} = (\underbrace{-0.15, -0.02, -0.23, -0.23, -0.18, \ldots}_{n\ \mathrm{nombres\ r\acute{e}els}})$$
$$\mathrm{chien} = (\underbrace{-0.40, 0.37, 0.02, -0.34, 0.05, \ldots }_{n\ \mathrm{nombres\ r\acute{e}els}})$$
$$\mathrm{ordinateur} = (\underbrace{-0.27, -0.14, 0.23, -0.26, 0.09, \ldots}_{n\ \mathrm{nombres\ r\acute{e}els}})$$
Similarité
$$s(\mathrm{chat},\mathrm{chien}) = (-0.15\times -0.40) + (-0.02\times 0.37) + (-0.23\times -0.02) + \cdots = 0.8$$
$$s(\mathrm{chat},\mathrm{ordinateur}) = (-0.15\times -0.27) + (-0.02\times -0.14) + (-0.23\times 0.23) + \cdots = 0.25$$

Espaces de représentation: similarités

Espaces de représentation: relations

Transformation = Relation
Une transformation géométrique correspond à une relation sémantique
Exemple
$$\v{x}{man} = \v{x}{woman} + \v{t}{womanhood}$$
$$\v{x}{uncle} = \v{x}{aunt} + \v{t}{womanhood}$$
$$\ldots$$

Word Grounding: Exploiting Context

Zablocki, É. et al.
2018. Learning Multi-Modal Word Representation Grounded in Visual Context. Proceedings of the Association for the Advancement of Artificial Intelligence.
image/svg+xml

Conclusion

On a un espace sémantique de représentation des mots
Comment exploiter cela pour traiter automatiquement l'information (textuelle) ?

Réseaux de neurones et Language

Connexion avec les réseaux de neurones

Géométrie
  • Les mots sont liés dans l'espace : produit scalaire fort = proximité sémantique
  • Les réseaux neurones permettent de détecter des motifs

Détection de motifs

Produit scalaire de phrases
Obtenu en concaténant les vecteurs, e.g.
$$x_1 \propto x_\mathrm{the} \oplus x_\mathrm{big} \oplus x_\mathrm{cat}$$
à partir de représentations apprises (Word2Vec)
On peut donc détecter des manifestations linguistiques avec un neurone

Principe des modèles récurrents

Principe
À chaque temps $t$ est associé
  • Une entrée $x_t \in \RR^p$
    une représentation de mot
  • Un état $h_t \in \RR^n$
État initial $h_0$
L'état suivant est calculé à partir de l'entrée $x_t$ et de l'état précédent $h_{t-1}$ :
$$h_t = f_\theta(h_{t-1}, x_t)$$
Pour une séquence $x_1, \ldots, x_T$, on obtient $h_1, \ldots, h_T$

Application : détection de sentiments

On utilise le dernier état comme représentation de la phrase
Classification binaire

Application : détection de sentiments (2)

Le but est d'arriver du bon côté de l'hyperplan
Avec un RNN simple, $$ \mat{\tilde h}_{t+1} = \mat{A} \mat{h}_t + \mat{B} \mat{x}_t + \mat{c} $$ $$ \mat h_{t+1,i} = \tanh(\mat h_{t,i}) $$
Vue (simplifiée) du processus de décision $s_t \in \RR^2$

Application : Génération

La génération = classification et mise à jour
  1. À partir d'un état $h_t$, on peut définir une distribution de probabilité sur l'ensemble du vocabulaire $$\text{Prob. du mot }w \propto \exp( \rep{w} \cdot h_t )$$
    Classification dans $V$ classes ($V$ = nombre de mots)
  2. On choisit un mot $y_t$ ($\argmax$ ou autre méthode) et $$ \mat h_{t+1} = f_\theta(\mat h_t, \mathrm{embedding}(y_t))$$

Application : Génération (2)

Application : Génération multimodale

On peut aussi franchir la barrière des modalités !
Modèle utilisé dans "Show and Tell"
Vinyals, O. et al.
2014. Show and Tell: A Neural Image Caption Generator.

Application : Génération multimodale (2)

Détails du modèles de Vynials et al. 2014

Application : Génération multimodale (3)

Résultats qualitatifs
Vinyals, O. et al.
2014. Show and Tell: A Neural Image Caption Generator.

Conclusion

Premiers modèles neuronaux...

Réseaux de neurones récurrents
  1. Déplacement dans un espace d'états
  2. Utilisation en classification (ex. sentiment) ou génération (ex. résumé automatique)
Réseaux de convolution (non vus)
  1. Vient du traitement de l'image
  2. Très utilisé en classification
Difficile de prendre en compte des dépendances lointaines

Mémoires et Transformers

Introduction

Dépendences longues
Les réseaux récurrents / convolutionnels ont du mal à traiter les dépendences entre mots lointains
Je trouve, depuis que je suis tout petit, que ...
Utilisation de mémoires
On découple
  1. la mémoire du contenu sémantique
  2. l'état du processus
State-of-the-art
Ces modèles ont permis d'améliorer substantiellement les performances de modèles sur des tâches complexes comme la traduction automatique

Mémoire et lecture

Soit une "mémoire" composée de $n$ éléments, $M=\{\mat{m}_1, \ldots, \mat m_n\}$.
À chaque élément de la mémoire sont associé :
Une clef
une clef $k(\mat{m}_i) \in \RR^{n_k}$ qui permet de rechercher un élément de mémoire
Une valeur
une valeur $v(\mat{m}_i) \in \RR^{n_v}$ qui contient la valeur associée à cet élément
Graves, A. et al.
2014. Neural Turing Machines.
Weston, J. et al.
2014. Memory Networks.

Mémoire et lecture (2)

Exemple de lecture d'une mémoire composée de 5 unités

Exemple: Attention sur une mémoire

Utilisation d'une base de connaissances
Mémoire
Base de connaissance
Question
Représentation de la question de l'utilisateur

Exemple: Le texte comme mémoire

Le texte lui même peut servir de mémoire
Traduction
image/svg+xml M. Smith Smith mange Mr v v v q k k k 0.01 0.98 0.01
Modèles de "pointage"
Vinyals, O. et al.
2017. Pointer Networks.

Transformers

Transformers : modèle d'attention propre (self-attention)

Grandes idées
  1. Contextualisation du texte (mémoire, sans récurrence)
  2. Vocabulaire limité
  3. Modèle pré-entraîné (de manière non supervisée) sur de grandes quantités de texte
  4. Entraînement multi-tâche

Complexité des Transformers

Nombre de paramètres des différents modèles (source)

Contextualisation

On utilise des mécanisme d'attention propre (mémoire = texte) qui permettent de contextualiser chaque token d'entrée
Vaswani, A. et al.
2017. Attention Is All You Need.
Pierre mange un . radis Il
On obtient des représentations contextualisées $x_1, \ldots, x_6$

Autres idées

Vocabulaire limité

Quelle unité de langue ?
Caractère
petit vocabulaire
aucune sémantique
Mot
sémantique
grand vocabulaire
mots inconnus
Utilisation de "sous-mots" (subwords)
Sennrich, R. et al.
2016. Neural Machine Translation of Rare Words with Subword Units.
les chats sont des félidés
est transformé en
[CLS] ▁les ▁chats ▁sont ▁des ▁f éli dés [SEP]

Autres idées (2)

Pré-entrainement du modèle

On cherche à pré-entraîner le modèle
Devlin, J. et al.
2018. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding.

Modèle de Langue "Masqué"

On chercher à prédire un ou plusieur mots manquants
Le docteur sorti du bloc [MASK] et...
But = prédire [MASK]
Démonstration

Autres idées (3)

Suite de phrases

On chercher à savoir si une phrase en suit une autre
Input = [CLS] the man went to [MASK] store [SEP] he bought a gallon [MASK] milk [SEP]
Label = IsNext
Input = [CLS] the man [MASK] to the store [SEP] penguin [MASK] are flight ##less birds [SEP]
Label = NotNext

Applications

Source :
Devlin, J. et al.
2018. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding.

Application : recherche d'information

Expansion du vocabulaire
Pour chaque sous-mot $i$ de l'entrée, on calcule l'importance de chaque mot du vocabulaire $w_{ij}$
Puis on aggrège pour avoir une importance $w_{\star j}$ par terme $j$
On utilise le produit scalaire pour calculer le produit scalaire d'un terme $$rsv(q,d) = w_q \cdot w_d$$
Formal, T. et al.
2021. SPLADE: Sparse Lexical and Expansion Model for First Stage Ranking. SIGIR’21.

Application : Génération

On utilise le masque [MASK]
  1. J'ai faim [SEP] [MASK]
    prédiction : I
  2. J'ai faim [SEP] I [MASK]
    prédiction : am
  3. J'ai faim [SEP] I am [MASK]
    prédiction : hungry
  4. J'ai faim [SEP] I am hungry [MASK]
    prédiction : [EOS]

Application : Génération (2)

Grand espace de sortie
Il y a plein de façons de générer un texte (résumé)
... mais peu d'exemples disponibles
Solution potentielle = utilisation de classifieurs "adverses"
Scialom, T. et al.
2020. ColdGANs: Taming Language GANs with Cautious Sampling Strategies.

Conclusion

En résumé

Grand progrès dans de nombreuses applications d'accès à l'information / traitement automatique deu language naturel

Évolution : vers une prise en compte des dépendances lointaines

  1. Modèles probabilistes
  2. Représentation continue des mots et RNNs/CNNs
  3. Représentations contextuelles (Transformers)

Problématiques actuelles

  1. Documents longs
  2. Transfert et généralisation
  3. Multimodalité
  4. Génération
  5. Inférence (raisonnement)