Machine learning and differentiable programming

9KUAHN40

ECTS2SEMESTRE9
CMTDTPEITravail personnel
21h0h0h0h50h
Langues d'enseignementFrançais


Responsable(s)

Christophe Cerisara, LORIA, CNRS 

Mots clefsDeep Learning
PrérequisEnglish, Algorithmic, Python
Objectif pédagogique

A l’issue du module, les étudiants auront acquis les concepts de l'apprentissage profond et seront en mesure de concevoir des solutions basées sur l'apprentissage profond pour résoudre des problèmes impliquant des données, annotées ou non.

Organisation et contenus
  • Machine learning introduction
    • Classification, regression, generation tasks
    • Training losses, generative vs. discriminative models
    • End-to-end training, cross-entropy, regularization, weights initialization
    • Deep learning toolkits: pytorch, tensorflow, ONNX
    • Computation graph, autograd, toolkits
    • Back-propagation, differentiability
    • Convolutional networks, Recurrent networks family
    • Model zoo in image processing and natural language processing
  • Overfitting et double descente
    • Bias-variance tradeoff
    • Under/over-fitting, régularisation
    • Analyse des courbes de loss sur train/dev
    • Tishby's information bottleneck
    • Double descente
    • Application: pytorch
  • Transformers, scaling laws
    • Modèles d'attention
    • Positional encodings
    • Transformers
    • Self-supervised training: GPT, BERT, ViT
    • Zero-shot/Few-shot/Frozen embeddings/Fine tuning
    • Prompt programming
    • Scaling laws, emergence of prompting abilities
  • Best practices
    • Model design, non-differentiability
    • hyper-parameter tuning, scaling laws
    • zero-shot, few-shot, transfer learning
    • Catastrophic forgetting
    • Contrastive learning, ranking losses, negative sampling
    • CLIP, diffusion models
    • Reducing costs: MoE, distillation, quantization...
    • Federated learning
    • Generating sequences, diffusion models
  • Uncertainty in deep learning
    • Bayesian inference
    • Uncertainty at the output of a DNN
    • Uncertainty in latent layers
    • Quelques notions sur les Bayesian Neural Networks
    • Practice: VAE

Compétences

Niveaux Description et verbes opérationnels
Connaître 

Quels sont les principes fondamentaux des approches d'apprentissage profond.

Comprendre Quels types d'approches d'apprentissage profond utiliser en fonction du problème.
Appliquer  Implémenter des méthodes d'apprentissage profond en python et pytorch.
Analyser 

Construire une architecture de réseau profond adaptée au problème et analyser ses performances expérimentales.

SynthétiserIdentifier et priorétiser les forces, faiblesses et améliorations prioritaires d'un modèle en fonction des expériences.
ÉvaluerEvaluer et analyser les performances du modèle sur des données.
Contributions aux Objectifs de Développement Durable des Nations Unies
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Modalités de contrôle des connaissances et compétences
Contrôle Continu
  •  
Examen écrit
  •  
Oral / Soutenance
  •  
Rapport / Projet
  •  
  • Aucune étiquette