Article original : Free Live Course: Deep Learning with PyTorch

Êtes-vous intéressé à apprendre le Deep Learning ? Nous organisons un cours en direct gratuit de 6 semaines sur notre chaîne YouTube, commençant le samedi 20 novembre à 9h30 PST.

Regarder passivement une vidéo n'est souvent pas suffisant pour apprendre un concept logiciel. Vous devez pouvoir poser des questions et construire des projets réels. C'est exactement ce que vous pourrez faire dans le cours « Deep Learning avec PyTorch : Zero to GANs ».

Il s'agit d'un cours en ligne destiné à fournir une introduction au deep learning axée sur la programmation, en utilisant le framework PyTorch. Le cours adopte une approche pratique et axée sur le codage, et sera enseigné à l'aide de notebooks Jupyter interactifs en direct, permettant aux étudiants de suivre et d'expérimenter.

Ce cours est enseigné par Aakash N S. Il est le cofondateur et PDG de Jovian.ml, une plateforme de gestion de projet et de collaboration pour le machine learning.

Les concepts théoriques seront expliqués en termes simples à l'aide de code. Les étudiants recevront des devoirs hebdomadaires, travailleront sur un projet avec des ensembles de données réels et participeront à une compétition privée de data science pour tester leurs compétences. À la fin réussie du cours, les étudiants recevront un certificat d'achèvement.

Il s'agit d'un cours adapté aux débutants, et aucune connaissance préalable en data science, en machine learning ou en deep learning n'est requise. Il est préférable d'avoir quelques notions dans les domaines suivants :

  • Connaissance de la programmation, de préférence en Python
  • Bases de l'algèbre linéaire (vecteurs, matrices, produits scalaires)
  • Bases du calcul (différentiation, interprétation géométrique de la dérivée)

Programme

Le cours est divisé en 6 modules et sera enseigné sur 6 semaines via des conférences vidéo et des notebooks Jupyter interactifs. Chaque conférence durera environ 2 heures.

Module 1 : Bases de PyTorch - Tenseurs et Gradients

  • Introduction aux notebooks Jupyter et à la Data Science en Python
  • Création de vecteurs, matrices et tenseurs dans PyTorch
  • Opérations sur les tenseurs et calculs de gradients
  • Interopérabilité de PyTorch avec Numpy

Module 2 : Régression linéaire et descente de gradient

  • Régression linéaire à partir de zéro en utilisant des opérations sur les tenseurs
  • Poids, biais et fonction de perte d'erreur quadratique moyenne
  • Descente de gradient et entraînement de modèle avec PyTorch Autograd
  • Régression linéaire en utilisant les fonctions intégrées de PyTorch (nn.Linear, nn.functional, etc.)

Module 3 : Régression logistique pour la classification d'images

  • Travail avec des images du jeu de données MNIST
  • Création de jeux de données d'entraînement et de validation
  • Fonction Softmax et perte d'entropie croisée catégorielle
  • Entraînement du modèle, évaluation et prédictions d'échantillons

Module 4 : Réseaux de neurones feedforward et GPUs

  • Travail avec des plateformes GPU cloud comme Kaggle et Colab
  • Création d'un réseau de neurones multicouche en utilisant nn.Module
  • Fonction d'activation, non-linéarité et théorème d'approximation universelle
  • Déplacement des jeux de données et des modèles vers le GPU pour un entraînement plus rapide

Module 5a : Classification d'images en utilisant les réseaux de neurones convolutifs

  • Travail avec les images RGB à 3 canaux du jeu de données CIFAR10
  • Introduction aux convolutions, noyaux et cartes de caractéristiques
  • Sous-ajustement, surajustement et techniques pour améliorer les performances du modèle

Module 5b : Augmentation des données, régularisation et réseaux résiduels

  • Amélioration du jeu de données en utilisant la normalisation des données et l'augmentation des données
  • Amélioration du modèle en utilisant des connexions résiduelles et la normalisation par lots
  • Amélioration de la boucle d'entraînement en utilisant le recuit du taux d'apprentissage, la décroissance des poids et le clippage du gradient
  • Entraînement d'un classificateur d'images à la pointe de la technologie à partir de zéro en 10 minutes

Module 6 : Génération d'images en utilisant les réseaux antagonistes génératifs (GANs)

  • Introduction à la modélisation générative et application des GANs
  • Création de réseaux de neurones générateurs et discriminateurs
  • Génération et évaluation de fausses images de chiffres manuscrits
  • Entraînement du générateur et du discriminateur en tandem et visualisation des résultats

Exercices et devoirs

Devoirs hebdomadaires

  • Semaine 1 : Régression linéaire
  • Semaine 2 : Classification d'images
  • Semaine 3 : Réseaux de neurones feedforward

Projet de cours

Pour le projet de cours, les étudiants créeront un modèle de classification d'images en utilisant des réseaux de neurones convolutifs, sur un jeu de données réel de leur choix. Le projet permettra aux étudiants d'expérimenter différents types de modèles et techniques de régularisation. Les étudiants présenteront également leur travail à la fin du cours et publieront un article de blog décrivant leur approche et leurs résultats.

Certificat d'achèvement

Les étudiants qui assistent à au moins 5 des 6 conférences vidéo et soumettent des devoirs valides pour toutes les missions seront éligibles pour recevoir un Certificat d'achèvement de Jovian.ml. Les projets sélectionnés recevront également un Prix du Meilleur Projet basé sur des critères d'évaluation déterminés par les instructeurs.

Inscription

Vous pouvez vous inscrire au cours ici : http://zerotogans.com/

Que vous vous inscriviez ou non, vous pouvez regarder le cours sur la chaîne YouTube de freeCodeCamp.org.