Skip to the content.

Introduction

(niveau de base)

Préambule sur le fonctionnement de ce cours

Depuis le début de la crise du COVID-19, il m’a fallu mettre en place des cours à distance. Si je disposais déja de supports plus ou moins bien fait pour accompagner mes cours en présentiel, ces supports se sont révélés immédiatement inadaptés à de l’enseignement à distance.

J’ai donc revu totalement l’organisation de ce cours et voila ce qui va se passer (oui, comme dans le visiteur du futur…) :

Ce support de cours sera, à terme, organisé comme suit :

De cette façon, je vous laisse libre de plonger autant que possible dans le domaine. Si cela vous intéresse modérément, ce n’est pas problématique pour moi, ni pour ceux qui auraient envie d’en savoir plus (ce que je ne peux pas faire en présentiel, ou j’essaye de m’assurer que tout le monde a compris ce que je raconte)

L’instant Philo : Hal 9000, Skynet, Red Queen, Jarvis et leurs amis.

Un cours d’IA sans son questionnement sur le futur des IA, et la possible disparition de l’humanité à cause de ces programmes ne serait pas un vrai cours d’IA !

J’ai donc essayé, au début du cours en présentiel, de faire la part des choses entre le fantasme et la réalité des techniques actuelles. C’est assez long à rédiger, je le ferais sans doute plus tard…

Chaque cours présentiel commencera systématiquement sur quelques points culturels sur l’état des lieux en IA réelle.

En gros :

  1. les IA sont efficaces :
    • quand le problème reste dans un cadre bien défini
    • quand on dispose de très nombreux exemples

On peut ainsi créer des IA pour reconnaître des visages (les exemples abondent car les réseaux sociaux sont remplis d’exemples de photos de vous, annotées comme vous représentant). On peut aussi créer une IA qui jouera aux échecs (maintenant, le modèle standard est que l’IA joue contre elle même pour créer des exemples à partir desquels apprendre). On pourrait, sur le même principe, faire une IA qui batte tout le monde à FIFA.

Il est un peu plus difficile de faire une IA qui conduise une voiture, car on peut difficilement gérer les erreurs que l’IA va commettre au cours de son apprentissage.

Il est également plus difficile de créer une IA qui s’occupe d’un enfant en bas age parce cela nécessite d’effectuer en parallèle de nombreuses tâches relativement complexes mais surtout interconnectées :

  1. Quels métiers peuvent être menacés ? Tous les métiers ou la connaissance ne vient que d’exemples et ou les résultats peuvent être rapidement évalués.
    • courtier en bourse
    • médecin généraliste (ca se discute mais si l’on défini un taux d’echec accepté, oui…)
    • pilote d’engin dans des situations relativement simples (trains, tramway, …)

Inversement, les métiers ou les situations sont les plus différentes d’un cas à l’autre ET qui nécessitent une certaine dextérité de manipulation sont sont relativement protégés. Par exemple, à ce jour, il est inconcevable d’avoir un robot plombier, car aucune installation de plomberie n’est la même et qu’on peut difficilement imaginer un robot capable de passer sous toutes les toilettes du monde pour y changer un joint. Il est ainsi plus difficile d’avoir un robot plombier qu’un robot chirurgien (la salle est fixe dans le cas du chirurgien).

Une nouveauté depuis 2014 (les GAN) a même permis aux IA d’atteindre des capacités de création (en musique, arts plastiques, design, mode …). Ces IA sont capables de générer des choses nouvelles, ressemblant aux exemples qui lui sont fournis pour un résultat très bluffant.

L’IA non fantasmée

Dans ce cours, il s’agit de commencer d’aborder les techniques dites d’Intelligence Artificielle. Ce domaine est très vaste (une partie est déja abordée en Graphes, Flots et Applications). Ici, nous nous cantonnerons au domaine de l’Apprentissage Automatique ou Machine Learning en anglais.

Commençons par voir quels problèmes les plus fréquents nous voulons résoudre en apprentissage automatique. Il s’agira pour nous de faire des programmes capables de :

Evidemment, à ce stade, il est délicat pour vous de comprendre ce dont je parle. Prenons donc un exemple : Imaginons que notre programme travaille sur des personnes. Pour chaque personne, nous disposons d’informations :

Exemples de problèmes associés à ces données :

Normalement, en lisant ces lignes, vous avez commencé à réfléchir pour concevoir vous même un programme qui puisse, par exemple, reconnaitre si une personne est un homme ou une femme (les autres problèmes sont plus complexes). Peut être quelque chose comme :

  if taille > 1.73 :
    return "homme"
  else :
    return "femme"

Si vous faites cela, l’intelligence de votre programme vient directement de vous. Vous implémentez dans votre programme votre propre logique. L’Apprentissage Automatique ne fonctionne pas du tout comme cela. En apprentissage automatique, on dispose d’exemples, à partir desquels notre programme va apprendre, parfois longuement, comment prendre sa décision.

Ce cours est donc une façon totalement nouvelle pour vous de concevoir des programmes.

Globalement, ce cours s’appuie sur quelques notions mathématiques, au départ assez peu complexes. Il vous faudra savoir ce qu’est :


Vous pouvez passer au Cours 1 ou repartir vers le Sommaire ___