Le monde de l'intelligence artificielle et son vocabulaire

Artificial Intelligence
October 08, 2019 - 8 min read

Edouard Panossian

Founder @Cobbaï

Intelligence Artificielle

Commençons par la base. Qu'entend-on par intelligence artificielle ?

C'est la science et l'ingénierie concevant des machines qui arrivent à faire des tâches jusque-là réalisables uniquement par des humains.

Pour concevoir une intelligence artificielle, les chercheurs entremêlent trois grandes disciplines :
  • Les mathématiques
  • L'informatique
  • 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…).

Pour finir de vous convaincre, les deux plus gros champs de recherche sur l'intelligence artificielle sont aujourd'hui :
  • 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


Algorithme

Mot fourre-tout par excellence, il n'est pas forcément aisé d'en donner une définition. Celle du Larousse me parait 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 qui permettent à d'autres programmes de s'améliorer au court du temps grâce à l'expérience engrangée.

Deux grandes familles se distinguent :
  • L'apprentissage supervisé
  • L'apprentissage non supervisé

Le machine learning peut se faire à travers une multitude d'algorithmes en fonction du type d'application recherché (réseau de neurones, decision trees, random forest…)


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é ou bien daltonien, 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.  

C’est quoi ?

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



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



By submitting your email, you accept to receive our last blog's articles by email and you take note of our privacy policy

At any moment, you can unsubscribe thanks to unsubscribe links or by contacting us at contact@cobbai.com

Contact

Languages

Copyright 2019 Cobbai. All rights reserved