Bonjour, je m'appelle Karan, un lycéen basé à Singapour. Ayant passé l'année dernière à explorer le domaine de l'intelligence artificielle (IA) et de l'apprentissage automatique (ML), je pense qu'il n'existe pas de parcours d'apprentissage dans ce domaine spécialement conçu pour les étudiants du secondaire . C'est ma tentative d'en créer un.
Depuis que j'ai commencé mon parcours dans ce domaine, j'ai essayé de passer quelques heures chaque jour à comprendre autant que possible, qu'il s'agisse de regarder des vidéos YouTube, d'entreprendre des projets personnels ou simplement de lire des livres. J'ai été guidé par des pairs plus âgés qui ont beaucoup plus d'expérience que moi, mais sachez que de tels conseils ne sont pas accessibles à tout le monde. C'est donc ma tentative de relayer tous les apprentissages dans un document concret.
Toutes les informations que j'ai compilées dans ce guide sont destinées aux lycéens souhaitant exceller dans ce domaine en plein essor. Il est destiné à être suivi chronologiquement et, contrairement à la plupart des guides/parcours d'apprentissage que j'ai rencontrés, ne nécessite pas une compréhension de l'algèbre linéaire, des dérivées partielles et d'autres concepts mathématiques complexes que l'on ne trouve pas dans leurs programmes de lycée. Cependant, il comprend un cours qui couvre les principes fondamentaux des mathématiques essentielles à l'apprentissage automatique - dont je considérerais le niveau comme comparable à celui des mathématiques du secondaire. Si vous suivez ce chemin régulièrement, je pense que vous pourriez atteindre un niveau raisonnablement compétent en trois mois environ. Cependant, ce parcours d'apprentissage fournit un contenu qui peut vous permettre d'apprendre pendant le reste de vos études secondaires.
Alors, allons-y.
Je suggère fortement Python comme point de départ, car c'est un langage qui coche la plupart des cases lorsqu'il s'agit d'être utilisé dans le domaine de l'IA/ML - non seulement il est extrêmement facile à apprendre, mais il fournit des bibliothèques et des frameworks pour presque tous les algorithmes de base. connu dans le domaine. Bien que R soit utile, je trouve que Python est bien plus adapté aux lycéens en raison de sa lisibilité et de sa facilité d’apprentissage. Outre la programmation de base, pour le Machine Learning en particulier, les bibliothèques les plus utiles sont Numpy, Pandas et Matplotlib.
Pour ceux d'entre vous qui n'ont jamais codé auparavant, je suggère de suivre un cours proposé par l'Université de Toronto (l'une des meilleures universités pour l'IA/ML à l'heure actuelle). Cela vous prendra quelques semaines, mais cela en vaut la peine : la plupart des connaissances acquises grâce à ce cours peuvent être appliquées à n'importe quel autre langage de programmation, la seule différence étant la syntaxe. Le cours est gratuit et peut être trouvé ici.
Pour ceux d'entre vous qui ont une expérience de codage dans un langage autre que Python, parcourez simplement ce didacticiel pour une compréhension de base de la syntaxe Python - cela ne devrait pas vous prendre plus d'une journée.
Le ML et l'IA reposent sur des principes mathématiques tels que le calcul, l'algèbre linéaire, les probabilités, les statistiques et l'optimisation - de nombreux praticiens de l'IA pleins d'espoir (comme moi) trouvent cela intimidant. Ce cours sur edX Essential Math for Machine Learning : Python Edition par Microsoft n'est pas conçu pour faire de vous un mathématicien. Il vise plutôt à vous aider à apprendre certains concepts fondamentaux essentiels et la notation utilisée pour les exprimer. Le cours propose une approche pratique pour travailler avec des données et appliquer les techniques que vous avez apprises à des problèmes réels. Une aide financière est disponible pour ceux qui en ont besoin.
Maintenant, après avoir appris les bases de Python, vous devez comprendre les deux bibliothèques fondamentales utilisées dans le domaine : Numpy et Pandas, qui sont principalement utilisées pour la manipulation, la représentation et le stockage des données. Matplotlib, la troisième bibliothèque « principale » du domaine, est utilisée pour visualiser ces données à travers des graphiques et des diagrammes – mais nous y reviendrons plus tard. Ces deux cours réunis ne devraient pas prendre plus de quelques jours : Numpy et Pandas.
Avec cela dans votre poche arrière, vous devriez maintenant être configuré dans la programmation de base nécessaire pour apprendre l'apprentissage automatique et l'intelligence artificielle.
S'il existe un cours universel sur l'apprentissage automatique, ce doit être celui d'Andrew Ng. Cela peut sembler un peu difficile pour les élèves du secondaire, car cela fait référence à des concepts tels que les dérivées partielles.
mais je crois fermement que les comprendre n'est pas nécessaire pour acquérir des connaissances tangibles grâce au cours. J'ai trouvé particulièrement bénéfique de revoir certaines conférences au cours des semaines 3 à 5 - ces sujets sont avancés, donc cela peut sembler un peu rapide la première fois que vous les regardez. Ne vous inquiétez pas trop si vous ne parvenez pas à suivre pleinement les mathématiques de base, en particulier en ce qui concerne le calcul - certaines d'entre elles nécessitent certainement des connaissances en mathématiques de niveau universitaire. Il est plus important que vous puissiez suivre le processus de réflexion utilisé par le professeur Ng pour transmettre ses connaissances, car cela vous permet de comprendre ce qui se passe sous le capot des processus d'apprentissage automatique.
Je vous encourage à prendre des notes pendant le cours, car écrire ce que vous apprenez permet de garantir que vous comprenez vraiment les informations transmises. Suivre les tutoriels et exercices de programmation n'est pas essentiel, car ceux-ci sont réalisés dans Matlab - ce qui (d'après mon expérience) peut être difficile à comprendre, car il s'agit d'un langage matriciel. Mais ne vous inquiétez pas, nous allons utiliser les mêmes algorithmes (et bien plus avancés) en Python dans un court laps de temps.
Ce cours gratuit peut être trouvé ici.
Implémenter des algorithmes de ML sans les connaissances mathématiques de niveau universitaire qui alimentent les rouages de ces algorithmes semble être une tâche paradoxale. Cependant, c'est exactement ce qu'une équipe australienne a décidé de faire.
Kirill Eremenko et Hadelin de Ponteves, deux chercheurs faisant partie de l'équipe « SuperDataScience », sont absolument fantastiques pour trouver des moyens pertinents d'appliquer des algorithmes simples dans la vie réelle. De plus, ils approfondissent suffisamment pour comprendre la fonctionnalité de l’algorithme, mais sans les mathématiques complexes qu’un lycéen ne serait pas capable de comprendre. Leur cours couvre à la fois Python et R, même si je ne m'inquiéterais pas de R à ce stade - parcourez simplement les didacticiels Python. De plus, si vous trouvez qu'ils vont un peu trop lentement, jouez ce cours à une vitesse de 1,25x (je l'ai fait et je l'ai trouvé beaucoup plus adapté à mon apprentissage).
Leur cours est sur Udemy et n'est proposé qu'en version payante, bien qu'Udemy propose régulièrement des réductions de 90 % ou plus sur ses cours. Il peut être trouvé ici et coûte généralement environ 10 $. Il couvre tout, des algorithmes de régression de base aux réseaux de neurones profonds, ces derniers constituant l'architecture de base utilisée dans de nombreuses applications modernes telles que ChatGPT et AlphaFold. Si vous souhaitez explorer des domaines encore plus avancés, leur cours Deep Learning est proposé à la fin du Machine Learning avec une réduction de 90%.
Si vous ne souhaitez pas payer pour ce cours, vous pouvez consulter le cours gratuit de Deep Learning de Google ici ou le cours gratuit de l'Université du Michigan ici. À mon avis cependant, ceux-ci sont loin d'être aussi complets que les cours de l'équipe SuperDataScience.
Pour ces cours, prendre des notes n'est pas une nécessité - il existe des tonnes de « feuilles de triche d'algorithmes » en ligne, qui offrent une idée rapide de leur fonctionnement. Ce site Web en répertorie quelques-uns.
Maintenant que vous avez abordé un large éventail de concepts d’apprentissage automatique, il est temps pour vous d’utiliser ces connaissances de manière indépendante pour mener à bien certains projets. Je suggère d'explorer Kaggle et le référentiel UCI Machine Learning - trouvez un ensemble de données qui vous intéresse et modélisez quelques solutions aux problèmes auxquels ils se rapportent. Jouez avec différents algorithmes et travaillez à optimiser les performances.
Assurez-vous que les ensembles de données que vous utilisez sont simples et propres par nature, c'est-à-dire qu'ils ne devraient pas nécessiter trop de prétraitement ou de connaissances spécifiques à un domaine pour fonctionner. Certains ensembles de données simples qui me viennent à l'esprit sont ceux de l'iris, du vin, du cancer du sein du Wisconsin, du dépistage de l'autisme, du vote au Congrès, des chiffres manuscrits MNIST et de la mode MNIST.
Si jamais vous rencontrez un obstacle, Stack Overflow est votre meilleur ami : il a une réponse à presque toutes vos questions. Si ce n’est pas le cas, postez-en une – vous devriez recevoir des réponses dans quelques heures ! Il n'y a rien de plus à faire dans cette étape : lorsque vous constatez que vous êtes à l'aise avec l'ensemble du processus de modélisation, de l'arrière vers l'avant, n'hésitez pas à passer à autre chose !
Désormais, vous devriez non seulement avoir une compréhension approfondie et large de toutes les bases, mais également être capable de les appliquer à certains problèmes de données du monde réel. Cependant, il est important de comprendre que ces principes de base ne couvrent pas l'ensemble du monde du ML/IA. Au contraire, bon nombre d'entre eux sont des moyens connus pour résoudre de tels problèmes de données depuis des années, mais malheureusement, ce n'est que plus récemment que les ordinateurs sont suffisamment puissants pour véritablement exploiter. dans un délai d'exécution raisonnable. La plupart des travaux modernes dans ce domaine se concentrent sur leur amélioration de diverses manières nouvelles et sur la construction de systèmes tangentiels à ceux-ci qui exploitent les algorithmes sous-jacents mais les améliorent, les étendent et les améliorent de diverses manières. Ainsi, je vous suggère de trouver un domaine d'intérêt dans le domaine plus large de l'apprentissage automatique et de l'approfondir afin de mieux connaître l'état de l'art de ce domaine tel qu'il est aujourd'hui. Vous n’aurez probablement pas le temps de devenir des experts dans tous les domaines que j’ai décrits au cours de vos études secondaires, mais essayez d’en conquérir un ou deux.
Avant d'entrer dans ces domaines, je vous recommande de vraiment comprendre à quoi cela correspond - une simple recherche sur Youtube pour une explication de haut niveau vous donnera tout ce dont vous avez besoin. Alors allons-y.
Vision par ordinateur : ce domaine consiste à permettre aux ordinateurs de voir et de comprendre des choses à l'aide d'un type spécial de réseau neuronal. Stanford publie son cours sur ce sujet en ligne ici, avec des conférences, des notes de cours et des devoirs disponibles en ligne. Parcourez ceci, mais ne vous inquiétez pas si les mathématiques sont parfois trop compliquées - le cours est principalement destiné à approfondir vos connaissances, ce qu'il fera inévitablement. Vous pouvez également consulter OpenCV, une bibliothèque de vision par ordinateur qui effectue de nombreuses tâches complexes pour vous. Un excellent tutoriel peut être trouvé ici. Une fois que vous avez terminé, examinez des ensembles de données d'images plus avancés sur Kaggle et UCI, ou même participez à certaines compétitions Kaggle.
Traitement du langage naturel : comprendre comment les ordinateurs apprennent à parler est également un sujet important aujourd'hui. Encore une fois, Stanford propose un excellent cours en ligne et peut être trouvé ici. Si vous ne comprenez pas certains concepts mathématiques, ne vous inquiétez pas, comprenez simplement le fonctionnement de ce domaine. Pour les implémentations, vous pouvez suivre ce cours Udemy. Cependant, vous pouvez également consulter certaines des vidéos bien connues du Machine Learner Siraj Raval. Une fois que vous avez fait cela, essayez d'entreprendre des projets simples et bien connus comme la création d'un chatbot, l'analyse des sentiments ou la création des paroles d'une chanson - de simples recherches sur Youtube devraient vous aider. Des applications plus modernes comme ChatGPT et Claude sont construites sur un système basé sur un réseau neuronal appelé Large Language Models, qui est principalement basé sur l'architecture Transformer - ce cours d'Andrew Ng est un bon point de départ.
Apprentissage par renforcement : ce domaine se concentre sur la façon dont les machines apprennent à agir dans un contexte particulier, et son application la plus populaire se situe dans le domaine des jeux vidéo. Siraj Raval a une très bonne playlist à ce sujet, qui peut être trouvée ici. Si vous recherchez des didacticiels basés sur l'implémentation utilisant spécifiquement un package de haut niveau tel que Tensorflow, Denny Britz propose un ensemble solide de didacticiels qui peuvent être trouvés ici. Le cours UCL de David Silver est également excellent, même si les débutants peuvent le trouver un peu délicat – il peut être trouvé ici. Une fois que vous avez terminé, il est assez logique de commencer à télécharger des projets ou des jeux de base en ligne et d'ajouter un élément d'IA pour régir la manière dont les agents agissent. Des procédures pas à pas simples peuvent à nouveau être trouvées via une simple recherche sur Youtube.
Science des données et analyse : ce domaine est un domaine naissant avec des tonnes d'opportunités d'emploi passionnantes et est largement utilisé dans la plupart des entreprises modernes pour tirer des informations des hordes de données collectées afin d'éclairer les décisions commerciales. Je suggère de suivre soit le cours payant de SuperDataScience, soit le cours gratuit basé sur Python de l'UC San Diego, bien que vous puissiez trouver des parcours d'apprentissage spécifiques pour la science des données avec une simple recherche sur Google. Vous pouvez également utiliser les liens suivants pour apprendre SQL et Matplotlib, qui sont des langages tangentiels utilisés pour de nombreuses analyses de données modernes. L'avantage d'apprendre cela au niveau étudiant est l'employabilité. J'ai de nombreux amis au lycée à qui on a proposé des stages en science des données, car les connaissances acquises dans cette discipline peuvent être instantanément monétisées par les entreprises. La prise de décision basée sur les données est réellement la seule forme de prise de décision dans le monde de l'entreprise d'aujourd'hui.
Il existe également des domaines comme les machines Boltzmann (utilisées pour les systèmes de recommandation), les réseaux adverses (l'IA améliorant l'IA) et les algorithmes génétiques (améliorant une solution à un problème d'une manière similaire à l'évolution naturelle), mais à mon avis, la combinaison de leur niche leur applicabilité et l’exigence de niveaux de mathématiques plus avancés les rendent moins souhaitables comme point de départ. N'hésitez pas à les explorer si vous avez une passion particulière pour l'un d'entre eux, même s'ils ne sont pas aussi bien documentés que les autres domaines, ce qui peut rendre leur maîtrise un peu plus délicate.
Si vous souhaitez travailler dans ce domaine à long terme, il est essentiel de comprendre dans une perspective plus holistique - j'entends par là l'apprentissage des découvertes révolutionnaires, le discours sur la manière dont elles devraient être appliquées et leurs implications générales sur la société. Vous devriez commencer à faire les choses énumérées dans cette section dès que vous avez la compréhension nécessaire du fonctionnement de la technologie. Je pense qu'un bon point de départ est de commencer la section 4 de ce parcours d'apprentissage. Ce type d'informations n'est peut-être pas spécifiquement utile à la mise en œuvre d'algorithmes pour résoudre les problèmes de données, mais pour une technologie qui fait tellement partie intégrante du monde d'aujourd'hui, elle aide réellement à façonner une compréhension plus solide de son rôle, de son véritable potentiel et de ses limites.
Il y a quelques choses qu'un lycéen peut faire pour approfondir sa compréhension générale du domaine et le rendre plus compétent :
Commencez à lire les articles de recherche : je voudrais souligner qu’ils ne sont pas vraiment aussi difficiles qu’ils le paraissent. Même si les mathématiques qui régissent les techniques modernes sont très avancées, le simple fait d'être exposé à ce qui se passe en première ligne de l'industrie n'est jamais une mauvaise chose. Si jamais vous en rencontrez un que vous ne comprenez pas, déposez-le simplement : il existe suffisamment d'alternatives pour vous occuper. Ce site Web propose une multitude d'excellents articles pour commencer, mais une fois que vous les avez terminés, il propose une liste plus longue - lisez simplement ceux qui vous intéressent ou liés à votre domaine « d'expertise » dans la section 5. Il est utile de garder un petit journal des apprentissages de chaque article. Si vous ne parvenez pas à vraiment comprendre bon nombre de ces documents de recherche, essayez de parcourir ce guide que j'ai écrit et qui fournit des informations plus compréhensibles sur certaines innovations récentes. Cette chaîne Youtube propose également une multitude d'explications plus introductives sur les articles, chacune couverte en seulement deux minutes.
Suivez les pionniers : des personnes comme Andrew Ng, Ian Goodfellow et Yann LeCunn sont régulièrement interviewées, offrant le point de vue des « fondateurs » de ce que nous appelons aujourd'hui l'IA et le ML. Cette chaîne Youtube rassemble le meilleur de ces conférences et les compile dans une ressource centrale : regardez-en une par soir et je vous garantis que vous vous sentirez comme un expert en quelques semaines.
Restez à jour sur le terrain : Wired est l’une des meilleures plateformes pour toute personne intéressée par la technologie. Il publie chaque jour plusieurs articles liés à l'IA (mais ce n'est pas le cas de tout le monde ces jours-ci ?), qui peuvent être trouvés ici. C'est un moyen rapide et engageant de comprendre les tendances du moment. Vous pouvez également vous abonner au robot Facebook Messenger de TechCrunch - il contient souvent des articles intéressants sur l'IA et vous propose des informations chaque jour.
Comprenez les implications : il n'y a pas de meilleur moyen de le faire que d'écouter les conférences TED. Leurs intervenants sont extrêmement compétents dans le domaine et l’accent est de plus en plus mis sur l’IA dans leurs discours. Une collection de vidéos peut être trouvée ici.
La philosophie : L'IA a ses partisans et ses opposants. La philosophie qui la sous-tend est cependant intrigante. Mes livres préférés qui explorent ce domaine et qui conviennent aux élèves du secondaire incluent « Comment créer un esprit » de Ray Kurzweil et « Life 3.0 » de Max Tegmark – essayez-les. Ils examinent la trajectoire à plus long terme de l’IA, qui peut ne pas sembler aussi pertinente au quotidien, mais qui aide à comprendre le contexte plus large de la technologie dans son ensemble.
Contribuer : Si vous êtes le genre de personne qui aime apprendre de l'expérience des autres, consultez les voies de discussion telles que ce groupe Facebook, où les gens publient régulièrement des articles et des documents perspicaces sur les avancées dans le domaine. Alternativement, pour des conversations plus informelles, consultez les subreddits sur l'IA comme celui-ci.
Plongez dans les mathématiques : oui, vous avez besoin de bases mathématiques de niveau universitaire pour cela, mais si vous êtes un bon étudiant en mathématiques, rien ne vous empêche de suivre des cours en ligne. Microsoft propose un cours gratuit dont j'ai entendu de bonnes choses et qui ne nécessite que des mathématiques de niveau secondaire. Ce fil de discussion Quora propose également d'excellentes ressources que vous devriez consulter. 3Blue1Brown est également un nom célèbre dans la communauté, car ses vidéos Youtube sont fantastiques pour apprendre les mathématiques (principalement l'algèbre linéaire et le calcul) derrière certains des concepts les plus compliqués.
J'ai entendu beaucoup trop de gens me dire que l'apprentissage de l'apprentissage automatique et de l'intelligence artificielle est trop difficile pour un lycéen de ne pas écrire ceci - avec un parcours d'apprentissage bien pavé, tout le monde peut l'étudier. Et sur ce, je souhaite à tous bonne chance pour entreprendre ce parcours d’apprentissage.
Si vous avez des ajouts ou des améliorations possibles à ce guide, n'hésitez pas à faire un PR sur ce référentiel. Et pour des retours, des collaborations ou simplement des questions générales, n'hésitez pas à m'écrire @ [email protected].