class: middle, center $$ \global\def\myx#1{{\color{green}\mathbf{x}\_{#1}}} $$ $$ \global\def\mys#1{{\color{green}\mathbf{s}\_{#1}}} $$ $$ \global\def\myz#1{{\color{brown}\mathbf{z}\_{#1}}} $$ $$ \global\def\myhnmf#1{{\color{brown}\mathbf{h}\_{#1}}} $$ $$ \global\def\myztilde#1{{\color{brown}\tilde{\mathbf{z}}\_{#1}}} $$ $$ \global\def\myu#1{\mathbf{u}\_{#1}} $$ $$ \global\def\mya#1{\mathbf{a}\_{#1}} $$ $$ \global\def\myv#1{\mathbf{v}\_{#1}} $$ $$ \global\def\mythetaz{\theta\_\myz{}} $$ $$ \global\def\mythetax{\theta\_\myx{}} $$ $$ \global\def\mythetas{\theta\_\mys{}} $$ $$ \global\def\mythetaa{\theta\_\mya{}} $$ $$ \global\def\bs#1{{\boldsymbol{#1}}} $$ $$ \global\def\diag{\text{diag}} $$ $$ \global\def\mbf{\mathbf} $$ $$ \global\def\myh#1{{\color{purple}\mbf{h}\_{#1}}} $$ $$ \global\def\myhfw#1{{\color{purple}\overrightarrow{\mbf{h}}\_{#1}}} $$ $$ \global\def\myhbw#1{{\color{purple}\overleftarrow{\mbf{h}}\_{#1}}} $$ $$ \global\def\myg#1{{\color{purple}\mbf{g}\_{#1}}} $$ $$ \global\def\mygfw#1{{\color{purple}\overrightarrow{\mbf{g}}\_{#1}}} $$ $$ \global\def\mygbw#1{{\color{purple}\overleftarrow{\mbf{g}}\_{#1}}} $$ $$ \global\def\neq{\mathrel{\char`≠}} $$ .small-nvspace[ ] .center.width-100[![](images/wooclap.png)] # Intelligence artificielle : comment les machines apprennent-elles ? .vspace[ ] .center.bold[Simon Leglaive] .small.center[CentraleSupélec, IETR (UMR CNRS 6164)] .big-vspace[ ] .grid[ .kol-1-5[.left.width-120[![](images/logo_CS.svg)]] .kol-3-5[.small.center[1er février 2024 - Carrefour Numérique Grégorien]] .kol-1-5[.right.width-50[![](images/logo_IETR.png)]] ] --- class: center, middle
--- class: middle .grid[ .kol-1-2[ .center[ « Avec l'intelligence artificielle, nous invoquons le **démon**. » .center.circle.width-40[![](images/Elon_Musk_Royal_Society.png)] .medium[Elon Musk]
.small[(Ex-)Directeur général de Tesla, SpaceX et Twitter,
co-fondateur d'OpenAI] ] ] .kol-1-2[ .center[ « Nous sommes plus proches d'une **machine à laver intelligente** que de Terminator. » .center.circle.width-40[![](images/fei-fei-li.jpg)] .medium[Fei-Fei Li]
.small[Professeure et co-directrice de laboratoires en IA à Stanford] ] ] ] .small-vspace[ ] .credit[Sources : https://www.washingtonpost.com/news/innovations/wp/2014/10/24/elon-musk-with-artificial-intelligence-we-are-summoning-the-demon/
https://www.nytimes.com/2016/03/07/us/smart-robots-make-strides-but-theres-no-need-to-flee-just-yet.html ] --- class: middle, center .grid[ .kol-1-5[ .center.width-100[![](images/terminator.png)] ] .kol-3-5[ .small-vspace[ ] 👈 L'IA suscite un **imaginaire** riche alimenté par la science-fiction, mais la **réalité** est pour le moment bien différente 👉 ] .kol-1-5[ .center.width-90[![](images/washing-machine.png)] ] ] .alert[ Les techniques actuelles en IA se concentrent principalement sur la faculté humaine qui consiste à apprendre de notre expérience du monde. On parle d'.bold[apprentissage machine] .small[(.italic[machine learning])]. Pourquoi, comment, pour quoi faire, et quelles limites ? ] .left.footnote[Le domaine de l'IA ne saurait se résumer à l'apprentissage machine, les approches symboliques ont également une place importante.] --- class: middle, center # Pourquoi ? ## Les limites des algorithmes « conçus manuellement » --- class: middle, black-slide .center.width-70[![](images/mushroom.jpg)] .center[Que voyez-vous ? Comment faites vous ?] .credit[Crédit image :
Wirestock - fr.freepik.com
] ??? C'est assez difficile d'exprimer comment on fait, tellement c'est naturel chez nous humains. C'est par conséquent difficile d'écrire un programme informatique qui reproduise une capacité que nous ne sommes pas en mesure d'expliciter. --- class: middle .grid[ .kol-1-2[ .center.width-90[![](images/dog1.jpg)] .center[Puli ou serpillère ?] ] .kol-1-2[ .center.width-85[![](images/dog2.jpg)] .center[Chihuahua ou muffin ?] ] ] .left.credit[Crédit images : [Karen Zack](https://twitter.com/teenybiscuit), 2016.] --- class: middle, center .alert[ Le cerveau est si doué pour interpréter sémantiquement des informations visuelles qu'il nous est parfois difficile de décrire les processus cognitifs mis en jeu. .bold[Comment faire alors pour écrire un programme informatique qui puisse voir ?] ] --- class: middle, center .grid[ .kol-1-2[ .center.width-100[![](images/eccv12.jpg)] ] .kol-1-2[ .center.width-100[![](images/ilsvrc.png)] ] ] .block-center-70[ .alert[ 1 million d'images à classifier suivant mille catégories. ] ] .center.width-40[![](images/features_vs_dnn.svg)] ??? Nous sommes en octobre 2012 à la conférence ECCV qui réunit les chercheur·euse·s spécialisé·e·s en vision par ordinateur. Un événement majeur va brusquement renverser le paradigme dominant : c'est la (re)-naissance des **réseaux de neurones profonds** ! --- class: middle ## Avant 2012 : Descripteurs et reconnaissance des formes .center.width-80[![](images/bonhomme_pre2012.svg)] --- class: middle, center .grid[ .kol-1-2[.center.width-70[![](images/cat1.png)]] .kol-1-2[ .middle[ Image d'entraînement ] ] ] .left.credit[Crédit image : Gilles Louppe, [INFO8010 - Deep Learning](https://github.com/glouppe/info8010-deep-learning), ULiège.] --- class: middle, center .grid[ .kol-1-2[.center.width-70[![](images/cat2.png)]] .kol-1-2[ .middle[ Identification des caractéristiques (descripteurs) et création d'un prototype ] ] ] .left.credit[Crédit image : Gilles Louppe, [INFO8010 - Deep Learning](https://github.com/glouppe/info8010-deep-learning), ULiège.] --- class: middle, center .grid[ .kol-1-2[.center.width-70[![](images/cat3.png)]] .kol-1-2[ .middle[ Image test ] ] ] --- class: middle, center .grid[ .kol-1-2[.center.width-70[![](images/cat4.png)]] .kol-1-2[ .middle[ Extraction des caractéristiques et comparaison avec le prototype (reconnaissance des formes) .large[👍] ] ] ] --- class: middle, center .grid[ .kol-1-2[ .vspace[ ] .width-100[![](images/cat5.png)]] .kol-1-2[ .middle[ Image test ] ] ] .left.credit[Crédit image : Gilles Louppe, [INFO8010 - Deep Learning](https://github.com/glouppe/info8010-deep-learning), ULiège.] --- class: middle, center .grid[ .kol-1-2[ .vspace[ ] .width-100[![](images/cat6.png)]] .kol-1-2[ .middle[ Extraction des caractéristiques et comparaison avec le prototype (reconnaissance des formes) .large[👎] ] ] ] .left.credit[Crédit image : Gilles Louppe, [INFO8010 - Deep Learning](https://github.com/glouppe/info8010-deep-learning), ULiège.] --- class: middle .center.width-100[![](images/bonhomme_26pourcent.svg)] --- class: middle ## 2012 : La .small[(re)]naissance des réseaux de neurones .vspace[ ] .center.width-100[![](images/bonhomme_dnncoming2.svg)] ??? .center[.big[«] Ce qui était conçu comme la partie humaine de la fabrication des calculateurs, le programme, les règles ou le modèle, n’est plus ce qui est introduit dans le système, mais ce qui en résulte. .big[»]
.small[(Cardon et al., 2018)]] .credit[D. Cardon et al., [La revanche des neurones](https://hal.archives-ouvertes.fr/hal-01925644/document), Réseaux, La Découverte, 2018. ] --- class: middle, center .center.width-100[![](images/bonhomme_16pourcent.svg)] --- class: center, middle .alert[ L'extraction d'information dans des données de natures variées requière des programmes d'une telle complexité qu'ils ne peuvent être conçus « à la main ». L'apprentissage machine, notamment avec des réseaux de neurones profonds, consiste à laisser la machine apprendre à résoudre la tâche à partir d'un grand nombre d'exemples, sans la programmer explicitement. ] --- class: middle ## Après 2012 : l'ère du « deep learning » .center.width-100[![](images/imagenet.svg)] --- class: middle, center # Comment ? ## Réseaux de neurones artificiels --- class: middle ## 1943 - Neurone formel Walter Pitts, logicien, et Warren McCulloch, neuroscientifique, proposent le premier modèle mathématique de neurone biologique. .kol-1-2[ .vspace[ ]
.caption.tiny[McCulloch (gauche) and Pitts (droite)] ] .kol-1-2[ .center.width-100[![](images/neurone_formel.svg)] .width-80.center[![](images/Neuron.png)] ] ??? Le neurone formel possède plusieurs entrées et une sortie qui correspondent respectivement aux dendrites et au point de départ de l'axone. Les poids synaptiques du neurone biologique sont représentés par des coefficients numériques associés aux entrées. Un neurone formel calcule la somme pondérée des entrées reçues, puis applique à cette valeur une fonction d'activation, généralement non linéaire. La valeur finale obtenue est la sortie du neurone. --- class: middle ## 1957 - Perceptron Frank Rosenblatt propose un algorithme permettant d'**apprendre automatiquement** les poids d'un neurone formel à partir d'une **base de données étiquetée**, pour un problème de classification binaire. .grid[ .kol-1-2[.center.width-60[![](images/perceptron2.jpg)]] .kol-1-2[
.center.width-80[![](images/perceptron3.jpg)]] ] .caption[Mark I Percetron (Frank Rosenblatt).] --- class: middle, center, black-slide
--- class: middle ## Réseau de neurones profond .small-vspace[ ] .center[Assemblage d'unités de calcul élémentaires semblables au neurone formel.] .vspace[ ] .center.width-80[![](images/reseau_neurones.svg)] .vspace[ ] .center[Un réseau de neurones profond définit une **fonction mathématique complexe** qui permet de calculer une **prédiction** à partir de **données d'entrée**.] --- class: middle ## Apprentissage supervisé .vspace[ ] ### 1. Collecte d'une base de données étiquetées .center.width-100[![](images/train1.svg)] --- class: middle ## Apprentissage supervisé .vspace[ ] ### 2. Définition d'une architecture de réseau de neurones .center.width-100[![](images/train2.svg)] --- class: middle ## Apprentissage supervisé .vspace[ ] ### 3. Prédiction pour un exemple de la base d'apprentissage .center.width-100[![](images/train3.svg)] --- class: middle ## Apprentissage supervisé .vspace[ ] ### 4. Calcul de l'erreur de prédiction .center.width-100[![](images/train4.svg)] --- class: middle ## Apprentissage supervisé .vspace[ ] ### 5. Mise à jour des poids pour minimiser l'erreur .center.width-100[![](images/train5.svg)] .right[poids $\leftarrow$ poids $-$ pas $\times$ gradient de l'erreur] --- class: middle ## Apprentissage supervisé .vspace[ ] ### 6. Répétition du processus avec un autre exemple de la base d'apprentissage .center.width-100[![](images/train6.svg)] --- class: middle, center .center.width-60[![](images/loss.svg)] .alert[Après de multiples passes (époques) sur la base d'entraînement, le .bold[réseau de neurones a appris à résoudre la tâche].] --- class: middle exclude: true ## Toujours plus de neurones .caption[Croissance du nombre de neurones dans les architectures de calcul mises en place de 1960 à 2015.] .center.width-100[![](images/croissance_neurones.png)] En 2020, OpenAI publie GPT-3, un modèle de langage neuronal avec 175 milliards de paramètres. .credit[Crédit image : D. Cardon et al., [La revanche des neurones](https://hal.archives-ouvertes.fr/hal-01925644/document), Réseaux, La Découverte, 2018. ] --- ## Pourquoi un tel succès seulement aujourd'hui ? .center.grid[ .kol-1-3[ Algorithmes (anciens et nouveaux)
.width-80[![](images/skip-connection.png)] ] .center.kol-1-3[ Données massives
.width-70[![](images/imagenet.jpeg)] ] .kol-1-3[ Puissance de calcul
.width-60[![](images/titan.jpg)] ] ] .center.grid[ .center.kol-1-3[ Géants du numérique
.width-90[![](images/GAFAM.png)] ] .kol-1-3[ Logiciels, science reproductible et collaborative
.width-90[![](images/software.png)] ] .kol-1-3[ 3 chercheurs .width-100[![](images/turing-price.jpg)] ] ] .left.credit[Crédit : Adapté de Gilles Louppe, [INFO8010 - Deep Learning](https://github.com/glouppe/info8010-deep-learning), ULiège.] --- class: middle, center # Pour quoi faire ? ## Tout ... ce que permettent les données d'entraînement ??? Tant que des données d'entraînement existent en quantité suffisante, le même type d'algorithme d'apprentissage peut être déployé pour résoudre une tâche quelconque. --- class: middle, center, black-slide .grid[ .kol-1-3[
.center.small[Détection d'objets, estimation de pose, segmentation] ] .kol-1-3[
.center.small[Reconnaissance et synthèse de la parole, questions-réponses] ] .kol-1-3[
.center.small[Détection de cancer de la peau] ] ] .grid[ .kol-1-3[
.center.small[Jeu de Go] ] .kol-1-3[
.center.small[Véhicule autonome] ] .kol-1-3[
.center.small[Génération d'images de visage] ] ] ??? Depuis 2010, domaine après domaine, les réseaux de neurones profonds ont bouleversé les communautés du traitement du signal, de la voix, de l’image et du texte. --- class: middle, center, black-slide .grid[ .kol-1-3[
.center.small[GPT-3 Chatbot] ] .kol-1-3[
.center.small[Apprentissage de la marche en environnement virtuel] ] .kol-1-3[
.center.small[Simulation physique] ] ] .grid[ .kol-1-3[
.center.small[Prédiction de la structure 3D de protéines à partir de leur séquence génétique] ] .kol-1-3[
.center.small[Composition musicale] ] .kol-1-3[
.center.small[Transfert de style artistique] ] ] --- class: middle, center # Quelles limites ? --- class: middle, center .alert[ .bold[L'intelligence des machines est aujourd'hui très étroite.] Les algorithmes sont entraînés pour une tâche bien particulière, pour laquelle ils peuvent avoir des performances surhumaines car ils sont capables de détecter et d'exploiter des régularités dans des volumes de données gigantesques. .bold[L'intelligence ne se limite pas à la reconnaissance des formes.] ] .grid[ .kol-1-2[ .small-vspace[ ] .right.width-80[![](images/meme_ML_AI.png)]] .kol-1-2[.left.width-80[![](images/meme_ML_AI2.png)]] ] .left.credit[Crédit image : https://www.smbc-comics.com/comic/ai-9] --- class: middle ## Que manque-t-il ? .grid[ .kol-1-2[ .center.width-100[![](images/explainability.png)] ] .kol-1-2[ .center.width-100[![](images/adversarial_stop.png)] ] ] .alert[Comprendre ce qui est perçu et expliquer ce qui est prédit.] .credit[Crédit image : (gauche) Cloudera Fast Forward, [Causality for Machine Learning](https://ff13.fastforwardlabs.com/) ; (droite) Chen et al., ShapeShifter: Robust Physical Adversarial Attack on Faster R-CNN Object Detector, ECML-PKDD 2018.] ??? Il est possible d'entraîner un système à reconnaître un cancer dans des images médicales avec une grande précision, à condition qu'on lui fournisse beaucoup d'images et de puissance de calcul.. Mais contrairement à un médecin, il ne peut pas expliquer pourquoi ou comment une image particulière suggère une maladie, et il ne peut pas évaluer l'incertitude de sa prédiction. --- class: middle ## Que manque-t-il ? .grid[ .kol-1-2[ .center.width-100[![](images/generalizibility.png)] ] .kol-1-2[ .center.width-100[![](images/terra-incognita.png)] ] ] .alert[Imaginer ce qui pourrait être perçu mais qui ne l'a pas encore été.] .credit[Crédit images : (gauche) Cloudera Fast Forward, [Causality for Machine Learning](https://ff13.fastforwardlabs.com/) ; (droite) S. Beery et al., Recognition in Terra Incognita, ECCV, 2018.] --- class: middle ## Que manque-t-il ? .center.width-50[![](images/3d-render-robot-livres.jpg)] .alert[Plannifier des actions d'amélioration et apprendre en continu.] .credit[Crédit photo :
Image de kjpargeter
sur Freepik] --- class: middle ## Que manque-t-il ? .grid[ .kol-1-2[ .center.width-80[![](images/MechanicalTurk.jpg)] .caption[Le Turc mécanique, gravure de Karl Gottlieb von Windisch dans le livre de 1783, Raison inanimée.] ] .kol-1-2[ .small-vspace[ ]
.caption[300 jours d'annotation des données d'entraînement
(1h30 x 5k images)] ] ] .alert[Apprendre de façon faiblement supervisée.] --- class: middle ## Que manque-t-il ? .center.width-60[![](images/CO2.png)] .center[L'entraînement d'un seul modèle peut émettre autant de carbone que cinq voitures au cours de leur vie.] .small-vspace[ ] .alert[Réduire l'empreinte carbone.] .credit[Crédit image : MIT Technology Review
Source: E. Strubell et al., Energy and Policy Considerations for Deep Learning in NLP, ACL, 2019.] --- class: middle exclude: true ## Que manque-t-il ? L'intelligence ne se limite pas à la **reconnaissance des formes**. Il s'agit de **modéliser le monde** : - expliquer et comprendre ce que nous voyons ; - imaginer des choses que nous pourrions voir mais que nous n'avons pas encore vues ; - résoudre des problèmes et planifier des actions pour rendre ces choses réelles ; - construire de nouveaux modèles à mesure que nous en apprenons davantage sur le monde. .credit[Crédit : Joshua Tenenbaum, Professor of Cognitive Science and Computation at MIT, [Talk at ICML 2018](https://youtu.be/RB78vRUO6X8)] --- class: middle, center # Conclusion --- class: middle ## Une définition de l'IA .vspace[ ] .alert[ Ensemble des théories et techniques ayant pour objectif de permettre à une machine d'.bold[interpréter sémantiquement] des .bold[informations perçues] depuis son .bold[environnement] dans le but d'effectuer des .bold[actions]. ] .left.footnote[Inspiré de la définition de l'IA de Peter Norvig et Stuart J. Russell dans ["Artificial Intelligence: A Modern Approach"](http://aima.cs.berkeley.edu/), 1995] ??? Autrement dit, reproduire ce qu'en tant qu'humain nous faisons quotidiennement, pour des tâches qui peuvent être très complexes et avec une excellente capacité d'adaptation à des situations nouvelles. L'objectif peut être de remplacer l'humain quand la tâche est pénible (e.g. robot, voiture autonome), d'assister l'humain dans sa prise de décision (e.g. système de recommendation de film, diagnostic médical), ou simplement de faire de l'argent (publicité ciblée). Cette définition est bien plus ambitieuse que ce que les techniques actuelles permettre de faire. --- class: middle .center.circle.width-30[![](images/bishop.jpg)] .center[« Durant les quarante dernières années nous avons programmé les ordinateurs ; durant les quarante prochaines nous les entraînerons. »] .pull-right[Chris Bishop, [The Real AI Revolution](https://nips.cc/virtual/2020/public/invited_16165.html), NeurIPS 2020.] .footnote[.italic[For the last forty years we have programmed computers, for the next forty years we will train them.]] --- class: middle ## Pour aller plus loin - [Elements of AI](https://www.elementsofai.fr/)
.small[Cours en ligne à destination du grand public.] - D. Cardon, J.-P. Cointet, A. Mazieres, [La revanche des neurones](https://hal.archives-ouvertes.fr/hal-01925644/document). Réseaux, La Découverte, 2018.
.small[Article retraçant l'histoire de l'IA au travers de la tension entre approches symbolique et connexionniste.] - [La méthode scientifique](https://www.franceculture.fr/emissions/la-methode-scientifique), France Culture.
.small[Plusieurs podcasts disponibles sur l'IA.] - Le Petit Illustré [« Intelligence artificielle »](https://www.occitanie-ouest.cnrs.fr/fr/cnrsinfo/le-petit-illustre-intelligence-artificielle-vient-de-paraitre). La Dépêche, CNRS, 2020.
.small[Regards croisés de chercheur·euse·s d’ANITI (Artificial and Natural Intelligence Toulouse Institute).] .alert[ Merci pour votre attention 👀 ! ] .center.small[Présentation disponible ici : https://sleglaive.github.io/talks.html] --- count: false --- count: false ## Le test de Turing Un ordinateur passe le **test de Turing** si un opérateur humain, après avoir posé des questions écrites, ne peut pas dire si les réponses proviennent d'une personne ou d'un ordinateur. .grid[ .kol-2-3[ .width-70.center[
![The Turing test](images/turing-test.jpg)] ] .kol-1-3.center[ .width-80.circle[![Alan Turing](images/alan-turing.jpg)] .caption[Can machines think?
(Alan Turing, 1950)] ] ] Le test de Turing est une définition **opérationnelle** de l'intelligence. .credit[Credit : [INFO8006 - Introduction to AI](https://github.com/glouppe/info8006-introduction-to-ai), Gilles Louppe, ULiège.] ??? --- count: false class: middle Un agent ne passerait pas le test de Turing sans les prérequis suivants : - .bold[traitement du langage naturel] pour communiquer ; - .bold[représentation des connaissances] pour stocker ce qu'il sait ; - .bold[raisonnement automatisé] pour utiliser les informations stockées afin de répondre aux questions ; - .bold[apprentissage automatique] pour s'adapter à de nouvelles circonstances et pour détecter et extrapoler des patterns ; - .bold[vision par ordinateur] (test de Turing total) pour percevoir les objets ; - .bold[robotique] (test de Turing total) pour manipuler des objets. .credit[Peter Norvig and Stuart J. Russell, ["Artificial Intelligence: A Modern Approach"](http://aima.cs.berkeley.edu/), 1995] --- count: false ## Limitations du test de Turing .right-column.right[ .width-90.center[
![ELIZA](images/ELIZA_conversation.jpg)] ] .left-column.left[ En 1966, Joseph Weizenbaum a créé ELIZA, un programme reproduisant le comportement d'un psychothérapeute et qui semblait passer le test de Turing. ELIZA recherchait simplement des mots-clés, puis posait des questions appropriées à partir d'une vaste base de données. Il trompait l'opérateur humain en adoptant des **astuces linguistiques** simples (par exemple, par la répétition des questions) qui donnaient un semblant de conscience de soi et d'interaction par mimétisme. ] .reset-column[ ] --- count: false class: middle, center, black-slide
--- class: middle, center, black-slide
Une astuce similaire semble avoir été utilisé par Google dans sa démo du Google Assitant en 2018, les résultats restent néanmoins très impressionnants. --- count: false class: middle, black-slide .center.width-80[![](images/cargo-plane.jpg)] .center[L'aéronautique n'est pas définie comme l'ingénierie des « machines qui volent de façon si semblable aux pigeons qu'elles peuvent duper les autres pigeons ».] .credit[Traduction d'une citation de Peter Norvig et Stuart J. Russell, ["Artificial Intelligence: A Modern Approach"](http://aima.cs.berkeley.edu/), 1995]