IA - Plus qu'un 'simple' programme

Michael Notter, Christian Luebbe & Arnaud Miribel @ EPFL Extension School · 8 minutes

Quelle(s) différence(s) entre un algorithme classique et une IA ?

Maintenant que nous avons une meilleure compréhension de ce qu’est l’IA et de la façon dont l’intelligence artificielle diffère de l’intelligence naturelle des animaux et des humains, il est temps de se pencher sur le côté technologique.

Quelle est la différence entre la technologie d’IA et celle d’un programme informatique ou algorithme standard ? Toutes les deux ont besoin d’instructions (sous forme de code logiciel) pour fonctionner et sont exécutées sur des appareils électroniques. Cela laisse-t-il vraiment la place à une grande différence ? N’est-ce pas un être humain qui les programme de toute façon ? Oui et non !

Dans le cas d’un algorithme classique, les humains sélectionnent d’abord une stratégie pour résoudre une tâche donnée, puis la formalisent et la transforment en un ensemble d’instructions statiques (le code) ainsi compréhensible pour la machine. En revanche, un algorithme d’IA, bien qu’il soit également programmé par un humain, utilise des instructions plus agiles. Ces dernières permettent notamment à l’algorithme d’apprendre et de s’adapter en fonction des données à disposition, toujours dans l’objectif d’exécuter une tâche de la meilleure manière possible.


Pour mieux illustrer ce qui diffère entre un programme informatique et un système d’IA, penchons-nous sur la petite histoire suivante qui met en scène Maria (créatrice d’un programme informatique) et un système d’IA :

Maria, une jeune ingénieure italienne, a appris de sa grand-mère comment réaliser la pizza parfaite en utilisant une recette de famille légendaire. Le jour où son entreprise lui demande de créer et programmer une nouvelle machine à pizza pour une compétition, elle est parée et a toutes les connaissances nécessaires pour relever ce défi.

Elle encode la recette de famille dans un programme qui combine les bons ingrédients d’une façon précise et met la pizza dans un four correctement préchauffé pour la durée de cuisson exacte. Lors de la compétition, la pizza sort du four en étant très appétissante, son goût est délicieux, le jury est ravi.

En d’autres termes, un être humain (Maria) a écrit un programme (l’algorithme) qui prend des données (les ingrédients) et les combine avec des paramètres (la recette qui mentionne l’ordre, les quantités, la durée de cuisson) pour obtenir un résultat souhaité (une pizza digne d’un grand prix). Oui, il est nécessaire que la grand-mère de Maria ait préalablement établi la liste correcte des ingrédients et écrit la recette. Mais ensuite, c’est réglé comme du papier à musique. Le programme informatique suit les instructions à la lettre. N’importe qui peut répliquer le résultat si l’accès au programme lui est donné.

Mais comment un système d’IA résoudrait-il cette tâche ? En fait, de façon très similaire. Avant toute chose, donnons un nom à notre fabricant de pizza en IA. Appelons-le HestonIA. Etant donné qu’HestonIA n’a ni ancêtre ni expérience sur laquelle se baser, il a besoin d’apprendre en faisant - il doit s’entraîner. En d’autres termes, il lui faut établir la recette optimale et la combinaison exacte des ingrédients par lui-même, tout en cuisinant. Par chance, les juges du concours donnent à HestonIA 10’000 tentatives pour créer une pizza parfaite.

HestonIA se met donc au travail, prend quelques ingrédients au hasard, les combine de façon arbitraire et met la pizza au four à 500°C pendant deux heures. HestonIA est content - sa couleur préférée a toujours été le noir charbon1 - et pour finaliser sa pizza, il ajoute un peu de sauce tomate. Malheureusement, les juges sont très insatisfaits et donnent une mauvaise note à la pizza.

HestonIA recommence à cuisiner, avec les mêmes ingrédients. Mais cette fois, il ajoute la sauce tomate avant de passer la pizza au four, en réduisant le temps de cuisson à 20min et la température à 160°C. Les juges sont nettement plus satisfaits que précédemment, mais ce n’est pas encore l’euphorie. Gardant en tête ses précédentes expériences, HestonIA a maintenant appris ce qu’il fallait changer pour améliorer sa recette actuelle.

Il décide ensuite de modifier la liste des ingrédients pour voir si le résultat est encore meilleur. HestonIA essaie encore et encore, change ses réglages, et après de nombreux essais (et erreurs), l’IA produit une recette extraordinaire. Cette dernière combine habilement plusieurs ingrédients exotiques et réalise la pizza parfaite. Les juges n’en reviennent pas et sont aux anges !

HestonAI commence mal, mais en se fiant au retour du jury (positif ou négatif), il explore le champ des possibles, affine sa recette de pizza petit à petit et finit par conquir le jury !

En définitive, la machine de Maria et HestonIA ont produit le même genre de résultat - une pizza délicieuse. La différence réside dans le fait que HestonIA a créé la recette par lui-même et a appris quels ingrédients combiner. Parce que le système d’IA a été autorisé à tester différents scénarios, il a pu établir sa propre approche basée sur les ingrédients à disposition et les préférences gustatives du jury. En d’autres termes, l’IA a « appris à partir des données comment réaliser sa tâche de façon optimale ».

C’est cette étape supplémentaire qui différencie le système d’IA d’un programme informatique habituel - l’IA a la flexibilité nécessaire à l’adaptation de son comportement dans la réalisation d’une tâche. Une fois la tâche apprise, l’exécution des instructions est en revanche tout aussi statique que ne l’est celle des programmes conçus par l’être humain.

Maria et HestonIA produisent la même chose. Ils ont désormais un panel d’instructions à suivre pour la création de leur pizza. Toutefois, dans un cas (celui de Maria) les paramètres importants de la recette ont été établis par un être humain, et dans l’autre cas (celui d’HestonIA) ces paramètres ont été trouvés par une IA. Les avantages de l’IA sont la vitesse et la flexibilité.

Utiliser l’IA comme un programme informatique

La section précédente a détaillé la façon dont un système d’IA peut apprendre à réaliser une tâche spécifique de façon optimale (quels ingrédients combiner et quelle recette suivre) à partir des données fournies et d’un objectif : satisfaire les papilles des juges.

Le système d’IA n’a besoin d’aucun humain pour créer la meilleure recette; la machine apprend seule à réaliser la meilleure combinaison possible. Cela signifie que des siècles d’expérience humaine peuvent être remplacés par une IA. Mais une fois l’apprentissage terminé et la recette définie, la procédure redevient statique pour le système d’IA, comme l’est toujours celle du programme informatique.

Par analogie, quand un smartphone utilise sa caméra pour détecter un visage et se déverrouiller, il n’a pas besoin d’un système d’IA. Il doit juste exécuter un programme informatique ou une « application » qui a été affinée avec la technologie d’IA.

Avant de livrer le programme informatique, le système d’IA a appris à créer une « empreinte digitale » utilisable par n’importe quel visage à partir de millions de photos. Une fois l’apprentissage de la création d’empreinte digitale terminée, le programme n’a plus besoin de la technologie d’IA pour vous identifier. Il ne fait qu’extraire cette empreinte chez chaque personne qu’il voit et la comparer avec celle qu’il a de vous à l’achat de l’appareil.

Mais les choses sont rarement aussi simples. Le modèle de l’empreinte digitale sur votre appareil peut être mis à jour à chaque fois qu’il vous voit. Le modèle peut être constamment amélioré et l’appareil « apprend à mieux vous reconnaître ».

Les gens mentionnent aussi l’apprentissage par machine et l’apprentissage profond. Quelle est la différence ?

Une chose que nous ne pouvons pas assez répéter dans « That’s AI » est que l’IA apprend à partir des données. Vous avez peut-être déjà entendu parler de différents apprentissages - par exemple l’apprentissage par machine ou l’apprentissage profond. Mais quelles sont précisément les différences entre ces concepts ?

L’intelligence artificielle est un terme général qui décrit nos efforts pour créer des systèmes intelligents capables d’imiter l’intelligence et les comportements humains.

L’apprentissage machine est un sous-ensemble de l’IA qui utilise des méthodes statistiques pour permettre aux machines d’apprendre à partir des données. C’est ce qu’utilise HestonIA pour faire sa pizza et c’est ce que cela signifie lorsqu’on dit qu’une « machine a appris à effectuer une tâche à partir des données ».

L’apprentissage machine est typiquement ce à quoi on se réfère lorsqu’on parle d’IA. Vous avez déjà entendu parler des alternatives à l’apprentissage machine pour atteindre ce même but dans l’article précédent à propos de l’histoire de l’IA - nous avions notamment cité les systèmes experts ou la robotique.

Les systèmes experts utilisent des bases de connaissances et appliquent une approche basée davantage sur les règles pour trouver des informations, prendre des décisions et planifier. Le but de la robotique est de développer des appareils physiques qui peuvent interagir mécaniquement et manipuler leur environnement à l’aide notamment de capteurs, de vérins et de moteurs.

L’apprentissage profond appartient à une sous-famille de la méthode d’apprentissage par machine. Il est basé sur des réseaux de neurones artificiels, eux-mêmes inspirés par la façon dont notre cerveau utilise ses neurones pour traiter l’information et apprendre.

Ces réseaux de neurones artificiels sont appelés « profonds », parce qu’ils contiennent plusieurs « couches » de « neurones » interconnectés. Tout comme dans notre cerveau, cette structure hiérarchique complexe permet à un modèle d’apprentissage profond de traiter beaucoup d’informations simultanément. Couche par couche, les modèles d’apprentissage profond sont capables d’extraire de plus en plus d’informations complexes à partir des données.

Mais cette puissance a un prix - il leur faut énormément de données pour être suffisamment entraînés, puisqu’ils ont des millions voire des milliards de paramètres à régler. De plus, les modèles actuels d’apprentissage profond sont difficiles à interpréter, ce qui mène parfois à la notion commune de boîte noire.

Nous en apprendrons plus sur les réseaux de neurones artificiels et l’apprentissage profond dans un prochain article.

  1. Comme nous l’avons déjà expliqué dans l’article précédent, l’IA n’est pas un être vivant, et n’a donc pas réellement de conscience. Parler de sa “couleur préférée” ici est juste l’occasion de rendre cette histoire un peu plus drôle ! 

Prochain

Les éléments au cœur de l'IA