Programme de cours

2024/2025 ES aux Mines

Introduction (séance n°1 du mardi 10/12/2024, cours)

  • Salle L108-b

  • 1h30 (15h30-17h)

  • Quelques transparents

  • Quelques slides du cours NLP 2024 du MVA présentés (9 à 26)

  • Cours principalement fait au tableau

Caractères, alphabets (séance n°2 du vendredi 13/12/2024, cours et TP)

Expressions régulières, grammaires (séance n°3 du lundi 16/12/2024)

Micrograd (séance n°4 du mardi 17/12/2024)

Makemore: bigrams (séance n°5 du vendredi 20/12/2024)

Makemore: MLP (séance n°6 du lundi 6/1/2025)

  • 3h (13h45-17h)

  • A Neural Probabilistic Language Model, Bengio et al., 2003

  • Makemore MLP

  • Corpus de travail:

  • Travaux pratiques: l’objectif général va être d’améliorer le loss en jouant sur les paramètres et hyper-paramètres du réseau

    1. Jouer avec le paramètre lr (learning rate) lors de l’apprentissage et déterminer (expérimentalement) si les valeurs utilisées sont satisfaisantes

    2. Répondre à l’exercice 02 d’Andrej Karpathy: « I was not careful with the intialization of the network in this video. (1) What is the loss you’d get if the predicted probabilities at initialization were perfectly uniform? What loss do we achieve? »

    3. Identifier les « hyper paramètres » de ce réseau et explorer des modifications permettant d’améliorer (ou pas) le loss. Quelles sont selon vous les limites de ce type de réseau?

    4. Le papier de Yoshua Bengio mentionne un certain nombre d’idées d’amélioration, et notamment l’utilisation d’une « mixture of models » avec des bigrams (cf TP précédent). Proposer une ou des améliorations de votre réseau avec les idées proposées

Makemore: initialisations, activations et BatchNorm (séance n°7 du mardi 7/1/2025)

  • 1h30 (15h30-17h)

  • Makemore Activations

  • Travaux pratiques

    1. Essayez de positionner initialement tous les biais et poids du réseau à 0 et entraînez-le. Est-ce que: 1) l’entraînement se passe très bien ou 2) le réseau n’apprend pas, ou 3) le réseau apprend partiellement. Inspectez les gradients et activations pour comprendre ce qui se passe.

Makemore: wavenet (séance n°8 du vendredi 10/1/2025)

GPT from scratch (séance n°9 du lundi 13/1/2025)

Liste des projets

Les projets 1 à 5 sont des projets techniques proposés en collaboration avec le data studio de la direction de la prévention des risques du Ministère de la transition écologique, de la biodiversité, de la forêt, de la mer et de la pêche. Pour la réalisation de ces projets, vous avez le choix des techniques employées pour proposer une ou des solutions (règles, réseau spécifique, modèle de langue générique et alignement, …). Le rendu de ces projets sera sous la forme de code et/ou de notebooks (archive zip/tgz ou dépôt Github/Gitlab) et d’une note explicative de la démarche (en format libre).

  1. Détection de tableaux (doc, data)

  2. Détection de segments modificateurs (doc, data)

  3. Classification de segments modificateurs (doc, data)

  4. Reconnaissance de références juridiques (doc, data)

  5. Construction d’une typologie des modifications (doc, data)

Deux autres projets proposés ne sont pas techniques et consistent en la rédaction d’un article critique de type vulgarisation scientifique, du type de ceux que l’on peut trouver dans Sciences et Avenir - La Recherche ou Pour la science. L’article devra être rédigé en LaTeX et comportera une bibliographie, ainsi que des liens cliquables vers les ressources citées. Le livrable du projet sera soit un lien vers un projet sur Overleaf, soit un fichier zip ou tar.gz contenant le source et les figures de l’article. L’article devra comporter au minimum 2000 mots, hors bibliographie et figures. Vous pouvez vous aider d’outils de type ChatGPT, à condition d’accompagner votre article d’un document annexe (non compté dans le nombre de mots) listant tous les « prompts » et les résultats que vous avez obtenus.

  1. Rédaction d’un article critique sur la position de Matt Welsh The End of Programming (youtube)

  2. Deux approches de l’IA irréconciliables? Illustration par les positions de Yann LeCun et de Gary Marcus

Finalement, projet 8 consiste à proposer votre propre projet, proposition à faire valider par votre encadrant.

Projet à rendre avant le 31 janvier 2025 à 12h AoE. Les projets sont individuels, mais pour les projets 1 à 5, vous pouvez collaborer afin de créer une chaîne de traitement complète, voire pour mettre en commun certaines parties: par exemple, vous pourriez décider de créer un modèle de langue, voire de sélectionner un modèle de langue existant, afin de le spécialiser pour votre tâche spécifique. Rendez explicite cette collaboration dans le rendu de votre projet.

Travail encadré sur le projet (séance n°10 du mardi 14/1/2025)

Évaluations

  • TP notés (1 « joker »: TP non rendu ou plus mauvaise évaluation non prise en compte)

  • Projet final (choix d’un sujet parmi 8).