Approche pédagogique du cours #
« Le vrai problème de l’humanité est le suivant : nous avons des émotions paléolithiques, des institutions médiévales, et une technologie digne des dieux. »
E.O. Wilson
L’apprentissage automatique (AA) est un sujet complexe et fortement dynamique, au confluent de plusieurs disciplines : mathématiques, informatique, sciences cognitives. Les fondements de la discipline sont résolument mathématiques, principalement avec l’algèbre linéaire et les probabilités (qui entretiennent elles-mêmes des liens très étroits).
La plupart des cours d’apprentissage automatique de format classique sont avant tout très mathématiques, avec beaucoup d’équations et de théorèmes, parfois des preuves. Un cours d’AA entièrement composé d’équations (et rien d’autre) est en général perçu comme étant très difficile. Il serait aussi très difficile de ne pas parler de mathématique du tout dans un cours d’initiation à l’apprentissage automatique, mais nous allons tout de même tenter d’offrir plusieurs angles sur le sujet. Étant donné les fondations en algèbre linéaire, les problèmes traités par l’AA ont souvent la possibilité d’être compris de manière très visuelle et intuitive. Nous allons tenter d’exploiter cela, en mettant le plus possible l’emphase sur la visualisation et les explications claires en mots, plutôt que les équations (bien que ces dernières seront présentes mais optionnelles, car elles constituent tout de même les fondations théoriques, qui permettent de réduire l’ambiguité conceptuelle au minimum, et souvent de faire des liens profonds et subtils entre des idées mathématiques qui ne semblent pas à priori si proches).
Étant donné que l’apprentissage automatique est algorithmique et dynamique (il s’agit de techniques avec lesquelles on fait des choses, en général), les visualisations interactives constituent également un excellent support pour approfondir sa compréhension. Dans ce cours, nous avons tenté de développer nos propres petites applications interactives pour aider à la compréhension de certains concepts, et les vidéos que nous proposons du créateur en ligne 3Blue1Brown constituent également un fabuleux complément, dont il ne faudrait pas se passer.
L’apprentissage automatique est aussi profondément computationnel, et évidemment la programmation y joue un grand rôle. Le substrat de l’intelligence articielle est l’ordinateur, et celui-ci n’a jamais cessé, depuis sa création, d’être basé sur l’architecture de Von Neumann, ce qui implique que son fonctionnement requiert nécessairement de la programmation au sens traditionnel (l’AA n’y échappe pas). Il serait probablement possible d’enseigner les fondements de l’AA entièrement de cette perspective, étant donné qu’il est possible d’exprimer toutes les idées mathématiques à l’aide de programmes. Nous allons toutefois nous contenter de faire cela seulement à quelques endroits, qui resteront optionnels. Il est à noter que deux des travaux notés utilisent Google Sheets, la version en ligne de Excel, qui est un environnement de calcul qui se rapproche beaucoup de la programmation, de par sa nature même. Nous pensons que ceci fera en sorte d’offrir au moins une idée approximative du développement en AA, même pour les gens qui ne maîtrisent pas la programmation.
Finalement, il est impossible d’ignorer le fait que l’apprentissage automatique, tout comme certaines autres innovations technologiques récentes (comme les médias sociaux) a fini par avoir des effets importants sur la société. Nous croyons donc qu’il est important qu’un cours d’initiation traite de certains sujets plus larges, et place l’AA dans une perspective historique et philosophique.