Un sujet brûlant en science des données est de savoir comment l’enseigner. Par conséquent, si vous cherchez des moyens de démêler ce vaste sujet en champs clairs, cet article vous convient car il présente mon expérience dans l’organisation d’un cours de 20 heures sur le Deep Learning à Image du premier jour de cours. Image de l’auteur.
La récence et l’évolution des sujets font de la Data Science, en particulier de l’Intelligence Artificielle, un domaine complexe à enseigner, à formuler des programmes et à réfléchir à des approches pédagogiques.
L’objectif du cours était de fournir une introduction au Deep Learning, explorant les sujets les plus importants et pertinents dans le domaine, ainsi qu’une introduction à PyTorch, qui est le principal framework de Deep Learning dans le monde universitaire. Le cours s’adressait à des personnes ayant déjà des connaissances préalables en programmation en langage Python, principalement en manipulant des tableaux Numpy. De plus, des connaissances de base en algèbre linéaire et en probabilités seront essentielles.
Le cours couvrait les sujets suivants :
Nous allons parler davantage de la façon dont j’ai sélectionné les sujets ci-dessus. Chaque journée de cours comptait 4 heures. On commence donc respectivement par un cours théorique/conceptuel (1h45), une pause café (30 min) et une séance pratique (1h45).
J’ai créé quelques étapes auxquelles réfléchir lorsque j’ai créé le cours. Il n’y a pas de hiérarchie ; l’idée est de suivre ces étapes temporairement, même si chaque élément n’est pas indépendant des autres. Je présente les étapes, puis je vais décrire chacune d’elles plus en détail.
Je suis vraiment inspiré par l’éducation et le transfert de connaissances. Il n’y a rien de mieux que que les étudiants soient enthousiasmés parce qu’ils comprennent un concept. C’est important car les autres étapes suivent votre motivation. Par exemple, si l’idée est d’enseigner le Deep Learning à une équipe Data Science d’une entreprise, je changerais la structure du cours.
Lors de la conception du cours, nous devons très bien comprendre qui sont les étudiants. Cela définira le programme, la profondeur du sujet, les techniques de communication et le contexte des exemples. Puisque le cours a été développé pour les étudiants universitaires, les étudiants des cycles supérieurs et du premier cycle étaient intéressés. Par conséquent, cela représente des personnes intéressées à appliquer les concepts dans leurs recherches et également à créer une boîte à outils pour le marché de la science des données et de l’IA.
Ces résultats indiquent que les étudiants ont des concepts mathématiques adéquats d’algèbre linéaire et de probabilités, mais avec des modèles d’apprentissage automatique insuffisants. Il s’agit d’un indice sur les sujets que chaque instructeur devrait explorer et se concentrer davantage en classe. Par exemple, il n’est pas nécessaire de décrire les opérations Numpy et la multiplication matricielle, cependant, nous devrions nous concentrer sur les métriques d’évaluation.
Une fois que nous connaissons déjà notre motivation et le profil de l’étudiant, nous devons décider de l’éventail des sujets qui seront abordés, y compris les sujets pertinents et essentiels pour introduire le deep learning et les principaux domaines.
Il existe un macro-scope, qui comprend des macro-sujets tels que la descente de gradient dans les principes fondamentaux, et un micro-scope, qui comprend les sujets à l’intérieur des macro-sujets. Par exemple, la descente de gradient fait partie du macro-portée, mais pas les mathématiques complexes de l’élan. Nous souhaitons également enseigner PyTorch, il est donc important de définir une portée pour le framework.
Cela étant dit, voici les sous-thèmes que j’ai pensé pour chacun des macro-domaines couverts :
Bases du Machine Learning, principes du Perceptron Multi-Layer, Règle d’Apprentissage, Descente de Gradient, Hyper-paramètres, Apprentissage des Représentations.
Pratique : Classement MLP.
Données structurées par image, tâches de vision par ordinateur, opération convolutive, filtres, auto-encodeur, espace latent, réglage fin.
Pratique : Implémentation d’un auto-encodeur.
Bases du graphique, algorithme de transmission de messages, couche convolutive de graphique, auto-attention, classification des nœuds et des graphiques.
Pratique : Classement des documents.
Arrière-plan, jetons, TF-IDF, intégrations, Word2Vec, CBOW, Skip Gram, BERT.
Pratique : Analyse des sentiments.
Jetons, Embeddings, La malédiction de la dimensionnalité, Similitude cosinus, RNN et LSTM, Auto-attention, Auto-encodeur, Transformateurs de phrases, Architecture LLM, formation LLM.
Pratique : Bases de données vectorielles.
Les sujets du Deep Learning se parlent fréquemment. Il est très courant de voir tout le temps des intersections entre les sujets. L’exploration de cette interaction est donc très importante d’un point de vue didactique, où une idée revient de manière répétée au fil des cours. Mais il est également important de montrer la méthodologie dans une vue macro plutôt que dans une vue micro du sujet. Les bonnes idées viennent généralement de l’importation de concepts de différents domaines dans votre problème. Un grand Data Scientist doit savoir faire abstraction d’une méthodologie de ses applications évidentes. Par exemple, l’architecture Transformers est généralement attribuée uniquement au NLP, car il s’agit de la contribution la plus notable. Cependant, les transformateurs sont très utiles pour la vision par ordinateur et le mappage probabiliste des fonctionnalités des auto-encodeurs. Un autre bon exemple est la récurrence, généralement utilisée dans le contexte de la prévision de séries chronologiques, mais utile pour presque tous les sujets de Deep Learning.
Une fois les sujets et les intersections entre eux établis, nous pouvons commencer à sélectionner la bonne personne pour chaque sujet. Le choix trivial serait celui de personnes possédant un large portefeuille ou une expérience post-universitaire dans le domaine. C’est extrêmement important, une fois que l’expérience crée une compréhension approfondie du sujet qui conduit au type de résultats que je recherche dans un cours.
Pour ce cours spécifique :
Une autre étape importante consiste à équilibrer la théorie pour introduire les concepts et l’expérience pratique. Les concepts théoriques sont essentiels pour comprendre et utiliser les modèles d’apprentissage profond ; Cependant, comme nous l’avons déjà évoqué, l’expérience apporte une nouvelle profondeur de compréhension des concepts théoriques. Ceci est également essentiel pour solidifier le transfert de connaissances pendant le cours. Notre cerveau bénéficie d’expériences pratiques (par exemple, des exercices ou des projets) pour créer des connexions neuronales importantes et réellement apprendre des concepts difficiles. L’idée du cours est de réaliser une application pour chaque sujet en utilisant un jeu de données open source. La tâche sera illustrative et explorée au cours des sections théoriques. Ceci est très inspiré du défi Kaggle et des exemples pratiques tirés de la documentation du framework.
C’est la partie la plus compliquée jusqu’à présent. J’ai beaucoup parlé de combinaisons pratiques et théoriques. À ce stade, il n’existe qu’une théorie sur les étapes et la manière de les accomplir. Cependant, la pratique sera toujours différente de la théorie. Nous devons donc être prêts à ajuster les différences au cours du cours. Par exemple, le concept d’auto-encodeurs et d’espace latent a été exploré dans le cours de vision par ordinateur. Mais ces concepts sont vraiment difficiles à digérer et les élèves étaient assez confus à la fin du cours. De cette façon, j’avais besoin de changer le macro-sujet du cours de Deep Learning géométrique afin de couvrir les encodeurs automatiques et les espaces latents, une fois que ces concepts sont clés.
Une fois le cours terminé, j’étais très satisfait des résultats et très motivé par les étudiants. Je pense que les instructeurs apprennent bien plus avec les étudiants qu’en étudiant pour préparer le cours. La grande variété d’horizons était éclairante, le Deep Learning est un sujet qui traverse actuellement presque tous les domaines de la connaissance. Les interactions entre étudiants ont donc été très enrichissantes et précieuses par l’aspect multidisciplinaire et la diversité des façons d’appréhender les mêmes concepts. De plus, les étudiants étaient pro-activés et intéressés par les cours, et ils ont également discuté et connecté les uns avec les autres.
Au final, certains étudiants m’ont fait part de leurs commentaires : Ce cours d’une semaine a comblé le vide que la plupart des cours DL ne parviennent pas à combler : bonne profondeur mathématique, équilibre entre théorie et pratique, intersection entre les matières, possibilité de se connecter avec d’autres étudiants et, mon personnel préféré, instructeurs qui partagent de vraies expériences.
L’organisation d’un cours universitaire d’une semaine sur le Deep Learning à l’USP met en évidence le véritable défi qui réside dans la dynamique de la pédagogie, notamment en Deep Learning, compte tenu de la variété des parcours étudiants et de la récence et de l’évolution des sujets en Deep Learning. . Cela nécessite de l’adaptabilité et de la réactivité pour répondre aux besoins et aux niveaux de compréhension des élèves. Cet article témoigne de la résolution de difficultés telles que la motivation des cours, la connaissance des antécédents des étudiants, la définition d’un champ d’application, la sélection des sujets, les intersections des sujets et l’équilibre entre la théorie et la pratique dans le domaine de l’enseignement de la science des données et de l’intelligence artificielle.