L'Intelligence Artificielle au service des entreprises

Un peu plus d'un an après le rapport de Cédric Villani sur l'IA, cet événeme...
Lire la suite...

I Am Mother

Les films sur l'IA font généralement bien réfléchir, même encore longtemps ...
Lire la suite...

MuseNet, l'IA qui compose du Mendelssohn

Après l'IA qui écrit comme un érudit, OpenAI nous a concocté l'IA qui compos...
Lire la suite...

Le Basilic de Roko

Connaissez-vous la théorie du Basilic de Roko, une IA suffisamment évoluée ...
Lire la suite...

Algorithmes et Intelligence Artificielle

2019-05-12 Algorithmes

En Intelligence Artificielle, si les algorithmes permettent de résoudre des problèmes, ils en posent aussi. Alors que le monde scientifique, avec les algorithmes classiques, était habitué à reproduire des résultats théoriquement compréhensibles et interprétables, les algorithmes en intelligence Artificielle font tout l'inverse. Avec les réseaux de neurones, personne, y compris leurs propres créateurs, n'est capable d'expliquer le cheminement par lequel la machine parvient à une solution. On en arrive même à constater le paradoxe suivant, selon lequel moins l'algorithme est explicable, meilleur sera le résultat, alors qu'à l'inverse, plus l'algorithme est explicable, moins son résultat sera bon.

Précision et explicabilité des algorithmes en Intelligence Artificielle

Précision et explicabilité des algorithmes en Intelligence Artificielle

Car contrairement aux algorithmes classiques, pour lesquels on aura su démontrer que la méthode mènera à chaque fois au résultat correct, là, il n'y a pas de démonstration, mais juste le constat que le résultat est bon, même très bon, et surtout meilleur que toute autre méthode existante. Bien que très surprenant, ce phénomène pourrait s'expliquer par la puissance des machines, capable de traiter un très grand nombre de données. Or, les algorithmes d'Intelligence Artificielle reposent sur des règles élémentaires, souvent mathématiques, qui vont savoir transformer ces données un grand nombre de fois, et générer jusqu'à plusieurs millions de combinaisons différentes. A la fin du calcul, le résultat sera l'une de ces combinaisons, et il n'est pas humainement possible d'analyser tous les critères qui auront permis à la machine de choisir cette combinaison plutôt qu'une autre. Convenons-en, bien que reposant sur des algorithmes créés par l'homme, l'Intelligence Artificielle lui cache encore un grand nombre de mystères.

Mais avant tout un algorithme, qu'est-ce que c'est ?

Les Sépas 18 les algorithmes

LET'S ALGO 1 - C'est quoi un algorithme ?

A0 - Qu'est ce qu'un algorithme

Algorithmique - Partie 1

Algorithmes : définition et exemple

Expliquer ce qu'est un algorithme pourrait sembler relativement simple si l'on en croit les différentes définitions qui en sont données ici et là et dont voici quelques échantillons :

  • serge.mehl.free.fr : Ensemble des règles et d'instructions à suivre, effectivement exécutables, permettant d'obtenir un résultat clairement défini en un nombre fini d'étapes.
  • Wikipedia : Un algorithme est une suite finie et non ambiguë d’opérations ou d'instructions permettant de résoudre un problème ou d'obtenir un résultat.
  • InfoWebMaster : Un algorithme est un processus à effectuer pour répondre à un problème.
  • LeMagIt.fr : Un algorithme est une procédure ou une formule qui permet de résoudre un problème.
  • villemin.gerard.free.fr : Un algorithme est une succession d’instructions à enchaîner dans un ordre bien précis, permettant de résoudre un problème de façon systématique. Il est écrit dans un langage compréhensible par tous.
  • CNIL (Les enjeux éthiques des algorithmes et de l'Intelligence Artificielle – rapport décembre 2017) : Description d’une suite finie et non ambigüe d’étapes ou d’instructions permettant d’obtenir un résultat à partir d’éléments fournis en entrée.

Si vous-mêmes savez déjà ce qu'est un algorithme, il sera assez intéressant de voir tout l'effort pédagogique à mettre en oeuvre pour expliquer cette notion à d'autres personnes, en témoignent quelques vidéos ci-contre piochées au hasard sur Youtube.

Si par contre, vous êtes confronté pour la première fois à cette définition, retenez que l'algorithme est une méthode de décomposition de la résolution d'un problème en problèmes plus simples, où chacun de ces problèmes plus simples est réalisable par la personne, ou la machine, à laquelle l'algorithme s'adresse.

Par exemple, si quelqu'un vous demande son chemin pour aller à la gare la plus proche, vous allez probablement lui indiquer des directions : « allez tout droit, puis prenez la première rue à gauche, … ». Ces indications forment un bon algorithme car elles seront facilement réalisables. Vous pourriez aussi lui dire : « Allez à l'arrêt de bus, il y a un plan qui vous indiquera où la gare se trouve ».

Pour manipuler les algorithmes, l'une des meilleures approches reste sans doute la pratique d'un langage informatique. Programmer est en effet un exercice qui demande à la fois de connaître les différentes instructions qu'un ordinateur est capable d'exécuter, et de savoir les organiser pour obtenir le résultat que vous cherchez.

Un algorithme ? Pour quoi faire ?

En IA, il faut reproduire les effets de l'intelligence. Pour ne pas rentrer dans le débat de ce qu'est l'intelligence, disons simplement qu'il s'agira de déterminer une solution face à un problème, et de préférence la bonne solution, ou en tout cas, la meilleure possible. Pour atteindre cet objectif à l'aide d'un algorithme, nous pourrions distinguer deux approches différentes.

La première consiste à entrer les données du problème, puis à demander à l'ordinateur de transformer ces données en résultat à l'aide d'une fonction de transformation. Comme on ne sait pas écrire une telle fonction, on utilisera un système d'apprentissage, ou apprentissage machine (machine learning en anglais), qui va réaliser une fonction capable d'évoluer (d'apprendre), petit à petit, à partir de cas déjà résolus. Les réseaux de neurones en couche avec apprentissage profond (deep learning) sont actuellement les meilleurs systèmes d'apprentissage.

La deuxième méthode consistera à générer un grand nombre de solutions possibles, puis à choisir parmi elles laquelle est la meilleure. Les solutions pourront être générées aléatoirement ou selon des règles prédéfinies, et leur évaluation pourra se faire de nombreuses façons, que ce soit à l'aide de simulations, de critères prédéfinis, ou même pourquoi pas en utilisant les principes d'apprentissage automatique décrits précédemment.

Dans les deux cas, de nombreux algorithmes seront nécessaires, et à vrai dire, il n'existe pas encore de recette toute faite pour obtenir à coup sûr le meilleur résultat, puisque justement, il est encore assez fréquent qu'une nouvelle recette puisse tout à fait supplanter la précédente, sans que l'on comprenne vraiment pourquoi. On peut même combiner les recettes entre elles, chacune pouvant compléter ou améliorer l'autre...

L'Intelligence Artificielle, à l'heure actuelle, ressemble donc plus à une boîte à outils, contenant tout un panel de techniques et de méthodes algorithmiques, qui ont certes déjà fait les preuves de leur performance face à différents problèmes, mais qu'il s'agira encore de composer et recomposer, et pourquoi pas en découvrir de nouvelles, avant d'atteindre une IA généralisée, pour peu que cela soit possible.

© 2019 cMonIA