Outils pour utilisateurs

Outils du site


Panneau latéral



Contacts

Scolarité M1

Mickael Ferreira
bureau Sophie Germain - Bur. 3004
télephone 01 57 27 68 96
En télétravail les mardis et vendredis (permanences Zoom : 10h30 à 12h00 ; 14h00 à 15h30)

connexion à la permanence de Mickaël Ferreira (code: 141280)

Scolarité M2

Sylvia Crochet
télephone 01 57 27 68 98
bureau Sophie Germain - Bur. 3002
En télétravail les mardis et vendredis (permanences Zoom : 10h00 à 11h30 ; 14h30 à 16h00)

connexion à la permanence de Sylvia Crochet (code: 355710)

formations:masters:cours:m2:iap10

Introduction à l'Apprentissage Profond

Description

Ce cours introduit les principes de base de l'apprentissage profond en développant des réseaux de neurones en PyTorch. Le cours traitera les notions de base de l’apprentissage, principalement supervisé, comme la régression linéaire, logistique, les réseaux de neurones à propagation avant, les fonctions d’activation, les réseaux des neurones à convolution.

Le cours a un niveau introductif et il se propose de presenter les fonctionnalités de bases de PyTorch afin de permettre l'implémentation des réseaux de neurones et de les tester sur des jeux de données publiques.

Syllabus

Sujets centraux

  1. Rappel des principes de l'apprentissage automatique
    • différents problèmes d'apprentissage (classification, régression, clustering, reduction de dimension etc)
    • modèles prédictifs, fonctions de perte et d'exactitude
    • sous/sur-apprentissage, capacité d'un modèle
    • jeux de données: apprentissage/validation/test
  2. Les tenseurs et leur manipulation
    • dimension, axe, forme, tranche
    • API de PyTorch pour la manipulation des tenseurs, broadcasting
    • encodages de données en tenseurs (textes, images, séquences)
    • représentation des tenseurs en mémoire
  3. Réseaux de neurones à propagation avant
    • les neurones et les fonctions d'activation
    • les bénéfices des réseaux multicouches
    • les différentes fonctions de perte (MSELoss, CrossEntropyLoss)
    • étude de cas : classification non-linéaire
    • étude de cas : représentation distribuée de mots en anglais
  4. Le processus d'apprentissage
    • paramètres d'apprentissage et hyper-paramètres
    • la méthode de la descente du gradient et ses variantes (batch, stochastique, mini-batch)
    • suivi de l'apprentissage
    • algorithmes d'optimisation pour la descente du gradient (SGD avec momentum, adam, RMSprop)
  5. Les réseaux de convolution
    • couches de convolution
    • couches de regroupement (pooling)
    • étude de cas : la classification d'images
  6. Les techniques de regularisation
    • dropout
    • batch-normalisation
    • norm-penalty
    • early stopping

Sujets potentiellement traités

  • la différentiation automatique en PyTorch
  • autres architectures de réseaux de neurones (RNN, LSTM, GAN, …)
  • techniques d'augmentation de données

Pré-requis

Une maîtrise de la programmation en Python est nécessaire.

Des connaissances de base d'algèbre linéaire (vecteurs, matrices, produit matriciel), calcul différentiel (gradient, règle de la chaine), théorie de la probabilité (distribution discrète/continue, moments d'une distribution) et des techniques d'optimisation (minimisation, descente du gradient) sont bienvenues mais pas pré-requis pour le niveau introductif de ce cours. De même, avoir suivi le cours de Fouille de données et aide à la décision est un plus, mais un pré-requis.

formations/masters/cours/m2/iap10.txt · Dernière modification : 2022/12/02 12:36 de treinen