Vous en savez plus sur l’intelligence artificielle que vous ne le pensez. Elle s’est progressivement immiscée dans notre quotidien et nous l’utilisons tous sans nous en rendre compte. Vous avez sûrement déjà entendu parler d’algorithmes , de machine learning ou encore de deep learning , mais ces mots restent abstraits pour vous. On fait un point vocabulaire pour vous aider à y voir plus clair.Qu’est ce que l’intelligence artificielle (IA)?
C'est la science et l'ingénierie qui créent des machines capables d’imiter l’intelligence humaine. Ce processus repose sur la création et l’exécution d'algorithmes dans des environnements informatiques dynamiques, avec pour objectif de permettre aux machines de penser et d’agir comme des humains. Pour concevoir une intelligence artificielle, les chercheurs entremêlent trois grandes disciplines : les mathématique, l'informatique et les sciences cognitives.
Tout se résume à un jeu d'imitation : créer des machines capables de simuler l'intelligence humaine . Vous le verrez d'ailleurs dans les prochains concepts présentés : la plupart s'inspirent du mode de fonctionnement de l'intelligence humaine (réseau de neurones, apprentissage…).
On distingue aujourd’hui deux principaux champs de recherche sur l'intelligence artificielle :
La compréhension du langage pour construire des machines capables de soutenir une conversation avec un humain
La compréhension des images avec pour but ultime la vision artificielle
10 termes pour tout comprendre sur l’intelligence artificielle - Algorithme
Mot fourre-tout par excellence, il n'est pas forcément aisé d'en donner une définition. Celle du Larousse est intéressante :
"Ensemble de règles opératoires dont l'application permet de résoudre un problème énoncé au moyen d'un nombre fini d'opérations. Un algorithme peut être traduit, grâce à un langage de programmation, en un programme exécutable par un ordinateur." Autrement dit ce n'est rien d'autre qu'une recette de cuisine ! Les cuisiniers sont des pros de l'algorithmie.
Résultat de sortie de l'algorithme du carpaccio de saint-jaques
- Machine Learning Le machine learning, ou apprentissage automatique en français, est une branche de l'IA qui étudie les algorithmes. Il permet aux algorithmes de découvrir des schémas récurrents dans des ensembles de données et de permettre aux programmes de s'améliorer progressivement grâce à l'expérience engrangée. Deux grandes familles se distinguent :
L'apprentissage supervisé
L'apprentissage non supervisé
Selon l’application recherchée, le machine learning peut se faire à travers une multitude d'algorithmes (réseau de neurones, decision trees, random forest…) et s’appliquer à tout type de données qu’elles soient des textuelles , numériques, statistiques, visuelles etc.
- Jeu de données Les jeux de données sont fréquemment utilisés en machine learning . Ils peuvent être définis comme étant un ensemble cohérent de données où chaque valeur est associée à une variable et à une observation.
Les données peuvent se présenter sous plusieurs formats textes, chiffres, images, vidéos etc.
Les jeux de données peuvent également être représentés sous différents types: tableaux, graphes, arbres etc. On travaille souvent avec des structures de tableaux dans les algorithmes de machine Learning
- Apprentissage supervisé Vous connaissez le jeu pour les petits enfants avec les cubes de couleurs :
Vous lui montrez un cube de couleur en lui posant la question : c'est de quelle couleur ?
Bleu
Non c'est rouge
Et celui-là ?
Bleu
Non c'est jaune
Et celui-là ?
Bleu !
Non c'est vert…
Bon, notre bébé n'est peut-être pas très doué, mais in fine, il va apprendre à force d'essai-erreur.
Il est mignon mais un petit peu... C'est exactement la même chose avec les algorithmes supervisés . Prenons l'exemple d'un algorithme qui doit repérer des cobayes sur une image :
Phase d'apprentissage : on lui montre des photos avec une étiquette (pour faire simple : cobaye, pas cobaye). L'algorithme apprend alors de chaque exemple en ajustant ses paramètres de façon à diminuer l’écart entre résultats obtenus et résultats attendus
Phase de généralisation : on lui montre des photos non étiquetées. Il est capable d'identifier les images avec un cobaye. Plus son score est élevé, plus sa capacité de généralisation est importante
Base d'images labelisées Apprentissage non supervisé
On passe maintenant en grande section ! C'est la même chose que précédemment mais on ne donne pas les règles à l'algorithme : il doit se débrouiller comme un grand.
On utilise ces types d'algorithmes essentiellement pour de la clusterisation / regroupement de données. Reprenons notre jeu de photos de cobayes mais sans les étiquettes
On montre à la machine ces données brutes
La machine crée des catégories par elle-même (les cobayes noirs, les cobayes gros, les cobayes à une jambe…)
Ensuite, on lui montre un nouveau cobaye : il sait analyser les caractéristiques de l'image et ranger cette dernière dans la catégorie la plus pertinente.
Les groupes de cobayes détectés par l'intelligence
- Apprentissage par renforcement Allez un dernier pour la route. Wikipédia dit sur l'apprentissage par renforcement :
"L'apprentissage par renforcement consiste, pour un agent autonome (robot, etc.), à apprendre les actions à prendre, à partir d'expériences, de façon à optimiser une récompense quantitative au cours du temps"
Pour mieux comprendre, continuons avec nos petits cobayes (on vous promet, on ne fait pas une fixation !). Disons que nous avons un faible pour les cobayes péruviens.
Pour s'assurer que notre algorithme nous sélectionne seulement les cobayes péruviens, on va lui donner un bonus (un chocolat) s'il a sélectionné un péruvien et un malus (des choux de Bruxelles) sinon. Son intérêt étant de manger le maximum de chocolat, il apprendra à ne faire collecter que les péruviens. Simple !
- Transfer learning Cela devait arriver, vous êtes lassés des cobayes… Mais vous adorez les mangoustes (pourquoi pas !) et vous voudriez donc catégoriser des mangoustes plutôt que des cobayes.
Puisqu'on est un peu fainéant, on ne veut pas repartir de zéro. On réutilise donc notre modèle de reconnaissance de cobayes pour construire notre second modèle. Ce dernier sera alors capable d’appliquer cette connaissance et de catégoriser plus rapidement les mangoustes en reconnaissant des pâtes, des yeux...
Du cobaye à la mangouste
- Deep Learning Nous n'allons pas trop nous étendre sur ce concept qui fera, en lui-même, l'objet d'un article complet !
Ce que vous devez retenir, c’est que la pierre angulaire du Deep Learning , ou apprentissage profond en français, est le fameux réseau de neurones .
Un réseau de neurone c’est un type d’algorithme qui tente de reproduire le fonctionnement de notre cerveau (en très sommaire !). Comme tout algorithme, on l’alimente avec une donnée d’entrée, le réseau de neurone réfléchit puis donne une réponse.
Du simple réseau de neurones au deep learning Les réseaux de neurones sont particulièrement efficaces dans le traitement de données assimilables à des signaux : son, image, langage, vidéos car ils sont capables d’en capturer les structures complexes sur les plans spatial et temporel.
Comment on construit ce super cerveau ?
Vous allez surement être déçu, mais vous ne serez pas en mesure de comprendre ici comment ces réseaux fonctionnent ! Et pourquoi ça ? Et bien demandez donc aux experts de s’accorder sur les questions suivantes:
Combien de neurones faut-il pour que ça marche ?
Quelle architecture de neurones mettre en place ?
Quel type de neurone choisir ?
Les as du deep learning, à force d’expérimenter et d’essuyer des échecs, ont toutefois développé une intuition qui leur permettent de construire des réseaux de neurones efficaces ? Il n’existe cependant pas de règles universelles. En somme, le deep learning c’est surtout l’art de combiner des neurones en se faisant des nœuds au cerveau.
Bon, on a quand même découvert quelques fondamentaux avec les réseaux de neurones :
Il n’y a pas une seule architecture possible
Il faut beaucoup de données pour l’entrainer
Attendez, mais toutes les notions d'apprentissage précédentes s'appliquent pour des réseaux de neurones ? Et bien oui, le réseau n'est qu'un type d'algorithme parmi d'autres ! Les concepts d'apprentissage s'appliquent donc : supervisés ou non supervisés, avec du transfer learning ou du reinforcement learning.
Fonctionnement simplifié d'un réseau de neurones Enfin deux types de modèles à connaitre
Les réseaux de neurones convolutionnels (standard dans le domaine de l’image)
Les réseaux de neurones récurrents (plutôt utilisés dans la reconnaissance vocale et la compréhension du langage)
NLP ou Traitement naturel du langage
Intéressons-nous enfin à un dernier champ de l'intelligence artificielle : le traitement naturel du langage, aussi appelé Natural Language Processing (NLP) en anglais.
Une définition
L'objectif du NLP c'est de développer une technologie d'intelligence artificielle permettant aux ordinateurs de comprendre le langage humain Plusieurs techniques existent et sont au cœur de notre solution Cobbaï mais cela fera l'objet d'un prochain article !
Bon à ce stade, il y a des chances pour que vous soyez un petit peu perdu. Un schéma valant plus qu'un beau discours, voici un petit récapitulatif des différents termes :
Inclusion des différents termes de l'IA
Le test de Turing Pour finir, comment savoir si on est face à une intelligence artificielle ? Si cela se trouve, vous vivez avec une intelligence artificielle juste à côté de chez vous sans le savoir !
Arthur, perplexe lui aussi Définir l’intelligence est un défi et il n’est pas certain qu’on puisse y arriver un jour d’une façon satisfaisante. Pour éviter cet écueil, Turing, dans les années 1950, propose le "jeu de l'imitation", qui est une façon plus concrète d'obtenir une réponse :
Un humain se retrouve face à un terminal et engage séquentiellement deux conversations. L'une est avec un ordinateur, l'autre avec un humain. Si la personne n’est pas capable de dire lequel de ses interlocuteurs est un ordinateur, on peut considérer que le logiciel de l’ordinateur a passé avec succès le test. Autant dire qu'avec Siri ou Alexia, on n'y est pas encore !
Si jamais votre machine passe le test de Turing, vous pouvez toujours lui faire passer le test de Voight-Kampff :
Le test de Voight-Kampff dans Blade Runner pour détecter les réplicants