L’intelligence Artificielle - Certains Algorithmes

L’intelligence Artificielle - Certains Algorithmes

Bonjour à toutes et à tous

Dans le précèdent article nous avons abordé l’historique et une définition de l’IA (que vous retrouverez ici : Article 1. Et comme promis, nous allons continuer cette aventure.

Cet article devait donner des précisions sur les algorithmes « historiques » de l’IA. J’ai tout d’abord commencé à lister de façon détaillée ces différentes algorithmes, mais (souvenez-vous y’a souvent des « mais »), après plusieurs essais et réflexions, je vous propose une démarche plus en phase avec mon style et, à mon sens, plus pédagogique.

Cela va me permettre de passer d’autres messages (😊), en commençant par une précision qui me taraude depuis quelques conférences. J’entends beaucoup, dans les présentations dites d’IA, que l’IA c’est du Machine Learning et du Deep Learning. C’est un raccourci trompeur et dangereux.

Laissez-moi vous précisez pourquoi.

Nous avions vu que la définition de l’Intelligence artificielle n’était pas évidente. Mais, retenons, que si nous voulons qualifier un « système » d’IA, il devra cumuler un ensemble de techniques et surtout répondre à des usages. Il devra comprendre un langage (la langue, l’intention, le context, etc..), reconnaitre des objets dans des images (ou des personnes), trouver les meilleurs options pour apporter une réponse (trouver le bon chemin, trouver le bon montant, trouver la bonne classification etc…) et il devra prendre des décisions en conséquence. Oui, il devra prendre une décision (Dois-je augmenter la climatisation ou non, dois-je revenir à ma base avant de n’avoir plus de batterie etc…).

Pour faire un tel système, il va falloir utiliser moultes techniques avec différents profils et surtout inclure les métiers.

Commençons, dans cet article, par les « moultes techniques ». Alors quelle démarche est plus en phase avec mon style ?

L’idée est simple, je vais vous raconter le quotidien « fictif », mais pas science-fiction, d’une personne et vous préciser avec ces actions les techniques d’IA utilisées.

L’Histoire

Une lumière matinale douce et agréable venait se déposer sur son visage et le chant des oiseaux finit par le réveiller tout en douceur. Le réveil naturel s’était autoprogrammé en fonction du planning de la journée, pour s’activer à 5h30 et pour laisser assez de temps à AL pour se préparer.

« Bonjour Monsieur, je vous laisse vous réveiller tranquillement. »

AL, comme tous les matins, pris le temps qu’il désirait pour sortir de son lit. Pour lui, sa journée doit commencer en douceur pour laisser son esprit du matin en ébullition.

AL : « N.S.T.E.I.N, je viens d’avoir une idée. Peux-tu consigner dans le carnet « monde de l’invisible », qu’il faut corréler les fréquences avec les interactions et qu’il faut une grande précision pour concevoir une augmentation ou une annihilation des champs. »

N.S.T.E.I.N : « Bien Monsieur, c’est fait ».

Depuis quelques temps, N.S.T.E.I.N, l’assistant virtuel de AL, faisait partie de la famille. Et de jour en jour il apprenait sur les habitudes de tout le monde et pouvait prendre les bonnes décisions :

  • Quelles informations sélectionner et quelles informations proposer ?
  • Quelle température ambiante devait-il mettre ?
  • etc.

Après une douche avec une température d’eau automatiquement réglée par rapport à la température ambiante et par rapport à ses préférences, AL prépare son petit déjeuné. Et oui, même entouré des meilleures technologies, il faut savoir continuer à faire ce que l’on aime : Cuisiner, lire, bricoler, se promener, peindre, faire de la musique, etc…

Quelques fruits issus du jardin personnel, un bon café, des pancakes, un jus d’orange sur un fond de musique relaxante. Une bonne journée peut ainsi démarrer.

N.S.T.E.I.N : « Vous avez un rendez-vous ce matin et au vu de la circulation, je vous conseille de partir d’ici 15mn et je vous ai configuré l’itinéraire le plus rapide. »

Dans sa voiture, le GPS zoomait sur la dernière intersection avant le lieu de son rendez-vous où il arriva à l’heure prévue.

L’accueil de la société : « Bonjour Monsieur Trebla, Monsieur Alokin va vous recevoir dans la salle de réunion « Turing ». Vous pouvez suivre « Pepper » qui se fera une joie de vous y emmener. »

AL : « Merci Madame. »

Grâce à la reconnaissance de visages et de personnes, l’agent d’accueil avait reçu une alerte des systèmes de caméras que AL était arrivé. Elle avait sur son écran, les informations nécessaires pour l’accueillir dans les meilleures conditions.

Le robot Pepper emmena AL dans la salle de réunion.

Le compte rendu de cette réunion a été réalisé assez rapidement.

  • Les dessins sur tableau blanc interactif ont été transformé en formes (Rectangle, losange, cercle, etc.) directement dans le compte rendu.
  • La transcription de la conversation a également été intégré au compte rendu.
  • Les mots clés « importants » ont été extrait pour un faire un nuage de tags.
  • Les taches ont été affectées aux bonnes personnes et le planning ajusté automatiquement.
  • Le document a été traduit automatiquement en anglais.
  • Le compte rendu est partagé à l’ensemble des membres du projet.
  • Les indicateurs de suivis ont été mis à jour.

De retour chez lui…

AL : « N.S.T.E.I.N, je suis rentré, peux-tu lancer ma playlist « Classique ? »

La bibliothèque, occupée par les livres silencieux, prenait vie sous le piano enchanteur et le flot de notes de « Prélude en C majeur de Bach ».

AL en profite pour relire le compte rendu et établir des recherches complémentaires en utilisant les mots clés de la réunion. Le moteur de recherche l’aiguille vers des articles intéressants qui lui permettent de compléter les données du projet.

L’icône « Facebook Messenger » venait de clignoter dans la barre des tâches. Un agent conversationnel, le « SportBot », venait de lui dire bonjour et lui signaler que sa séance habituelle est dans 1h30 et qu’il avait certainement épuisé les semelles de ses baskets de running. Il lui propose d’en commander des nouvelles qui seront livrées dès demain. AL n’est pas un si grand coureur et ne prépare pas de marathon. Un simple « Non » et un « Merci de ne plus me rappeler ça » évita à AL d’autres relances sur l’usure de ses baskets.

Un « Sonate au clair de lune » de Beethoven accompagna AL dans la préparation de ses affaires de sport.

Arrivé à la salle, le programme de la séance s’activa sur son smartphone géolocalisé à l’intérieur de la salle. Ce dite programme est ajusté en fonction des efforts précédents et des objectifs qu’AL s’est fixés avec son coach. Entrainé par « Something Human » de l’album « Simulation Theory » du groupe Muse, AL fini sa séance par des étirements ennuyeux mais obligatoires.

En sortant de la salle, « Sportbot », recontacte AL, via l’application de la salle de sport cette fois-ci, pour lui conseiller un menu pour un repas équilibré et pour lui faire découvrir de nouvelles saveurs.

AL : « Bonne idée, où puis je trouver un marché sur ma route ? »

SportBot : « Voici un itinéraire qui vous fera faire un détour de seulement 5 mn ».

Dans la voiture, AL écoutait une conférence sur « Le temps existe-t-il ? » d’Etienne Klein. Depuis qu’AL travaillait sur l’élaboration d’une équation sur l’univers invisible, le temps l’obsédé, ou plutôt la possibilité d’un « Non-Temps » l’obsédé.

De retour chez lui…

L’odeur d’oignons et d’ails saisis dans la poêle, embaumaient la cuisine et AL rajouta les quelques légumes de son jardin. Les repas étaient devenus pour lui une forme de plaisirs à répétition. D’abord le plaisir de choisir des produits frais et de qualités, puis le plaisir de les laver et les couper, ensuite le plaisir de les cuisiner et enfin le plaisir de les déguster. La formule d’un bonheur culinaire : B = E + P4 : Bonheur = Emotions + Plaisirs à la puissance 4.

La nuit était avancée et les étoiles brillaient telles des diamants sur une nappe de velours noire. Le réveil se régla sur 6 heures et diffusa une musique relaxante favorisant une nuit paisible, la machine à café était déjà réglée par N.S.T.E.I.N.


Commentaires et relation avec l’IA

Cette histoire fictive se déroule à notre époque et tout ce qui est décrit est largement possible aujourd’hui. Nous allons y extraire certaines phrases et je vais donc vous expliquer les techniques utilisées pour faire de ce scénario une réalité. Il existe toujours plusieurs chemins pour arriver à la même destination. Donc les exemples que je vais illustrer peuvent toujours être débattus.

Le réveil autoprogrammé pour 6 heures

Comment le réveil peut-il savoir qu’il doit sonner à 6 heures ? Pense-t-il ? Est-il conscient de ça ? Bien évidemment que non, mais l’illusion est trompeuse je vous l’accorde.

Si on y regarde de plus près, la solution réside dans les probabilités et prédire un chiffre (ici l’heure) n’a pas été inventé avec l’IA. Il y a quelques années on parlait de « Data Mining » et aujourd’hui c’est remplacé par le « Machine Learning ». Mais, rappelez-vous, ni l’un ni l’autre n’est de l’IA à lui seul.

Bref, ce qu’il faut retenir c’est que ceux sont des probabilités. Dans le cas du réveil, il s’agit de prédire un chiffre (de 0 à 24 par exemple) ou alors d’établir une classification de 0 à 24. Ceux sont 2 types d’algorithmes différents mais il faut les tester pour savoir lequel donne des résultats plus proches de 100% sur la valeur de la prédiction.

En fait il existe 2 manières de manipuler des algorithmes dits d’IA, 2 logiques : celle du développeur et celle du data scientiste.

Voici comment on peut schématiser ces 2 logiques : 

Vue développeur

Aucun texte alternatif pour cette image

Vue Data scientiste :

Aucun texte alternatif pour cette image

Pour un data-scientiste, le mot « Réponses » est remplacé par « Label », le mot « Entrées » par « Features » et le mot « Algorithme » est remplacé par « Model ». Comme on le voit, il faut avoir des données en entrées et la réponse pour pouvoir entrainer un algorithme à prédire une valeur, à créer le modèle[1].

Pour le « Machine Learning », la logique « Data scientiste » est obligatoire.

L’algorithme va apprendre des données passées et prédire une heure de réveil en fonction de différents critères qui ont fait évoluer les réveils précédents.

Par exemple, si je place les heures de réveil passées sur un graphique, je peux en dégager une tendance avec une droite linéaire (en pointillées).

Aucun texte alternatif pour cette image

Il suffit ensuite de positionner un point sur cette droite au 1/10 par exemple pour prédire l’heure de réveil à cette date-là.

Aucun texte alternatif pour cette image

Je peux conclure que le 1/10 le réveil devra être programmé à 6h45.

Malheureusement c’est une conclusion un peu hâtive mais qui a l’avantage de vous faire comprendre le principe de base. Tout est question de probabilité et donc d’équations mathématiques.

Il a 2 raisons qui expliquent cette conclusion hâtive :

  • Vous remarquez, d’abord, qu’aucun point historique n’est sur la droite. La droite représente une idée grossière de la réalité. Donc, il y a fort à parier que notre point du 1/10 ne sera pas très fiable. Il faut gérer ce « décalage » et plusieurs techniques permettent de le faire très bien.
  • Et enfin, nous n’avons évalué la réponse qu’avec la date et l’heure (la date est la « feature » et l’heure le « label » : l’entrée et la réponse). Il y a certainement d’autres paramètres à évaluer comme : les heures de RDV, la distance du lieu du RDV, et d’autres critères qui pourraient nous paraitre moins évidents. Du coup, on se retrouverait avec des graphiques 3 dimensions (ça, ça va), 4, 5 ou 250 (là ça se complique).

Il est évident que nous, humains, aurions du mal à se représenter des graphiques au-delà de 3D. Mais le « Machine Learning », n’a pas besoin, comme nous, de cette représentation visuelle. En réalité, nous non plus, il suffit d’écrire des équations pour résoudre ce problème. Mais voilà, ces équations sont longues et complexes et leurs résolutions iront plus vite, beaucoup plus vite, avec des ordinateurs et le Machine Learning.

Je détaillerai plus le principe de Machine Learning et des algorithmes dans le prochain article. L’idée ici était de vous donner quelques principes de fonctionnement pour mieux comprendre.

Quand N.S.T.E.I.N parle

Ici nous sommes face à un autre type de problème plus complexe avec des données moins structurées que le réveil. Quand N.S.T.E.I.N parle ou quand il transcrit la voix en texte, une autre technique est utilisée : C’est le « Deep Learning ».

Si vous venez de faire un « gloups » à la vision de ce terme, n’ayez crainte nous allons éclaircir ce spectre.

Le Deep Learning ou apprentissage profond permet de créer des modèles (comme dans le Machine Learning) mais en utilisant une autre technique que sont les Réseaux de Neurones.

En fait, le Deep Learning c’est du Machine Learning, mais on y utilise un certain nombre de neurones artificiels pour créer le modèle. On appelle ça du Deep Neural Networks (DNN).

De plus on utilise le Deep Learning essentiellement pour :

  • La reconnaissance d’éléments dans des images
  • L’analyse de texte pour une traduction automatique par exemple
  • La reconnaissance de la voix ou la conversion du texte en voix (et inversement)

C’est le carré « Langage de programmation » de la figure 2 qui sera différent et nous allons faire un zoom dessus.

Aucun texte alternatif pour cette image

Chaque « cercle » représente un neurone avec un algorithme. Il récupère des données en entrées, les traite et les passe aux neurones suivants. Les suivants récupèrent comme « entrées », les « réponses » des neurones précédents, les traitent, et les passent à la couche suivante et ainsi de suite jusqu’à la réponse.

Les DNN fonctionnent très bien aujourd’hui grâce au volume de données que l’on peut traiter (Image, texte, voix etc..) et à la puissance de calcul dans les différents cloud par exemple.

Aujourd’hui, ces techniques font moins d’erreurs que l‘humain pour classifier des images, ou comprendre (basiquement) un texte. On ne distingue presque plus une voix créer par les DNN d’une voix humaine.

Quand N.S.T.E.I.N comprend

Quand N.S.T.E.I.N comprend qu’il doit « consigner » dans « le carnet » ce que lui dicte AL, on utilise cette fois-ci une autre technique de Deep Learning qui se nomme le NLP : Natural Language Processing.

Cette technique permet à N.S.T.E.I.N de comprendre les « intentions » d’une phrase. Ici il comprend l’action, « consigner », le , dans le carnet « monde de l’invisible » et le quoi, le reste de la phrase. C’est aussi la technique utilisée pour que les agents conversationnels comme « SportBot » puissent comprendre quoi faire.

Comment N.S.T.E.I.N prend les bonnes décisions

N.S.T.E.I.N ne pense pas, n’a pas de conscience (je tiens encore une fois à le préciser). Il sait quelles décisions prendre pour la température de la douche ou la température ambiante tout simplement avec encore une autre technique de Deep Learning qu’on appelle « Renforcement ».

L’idée est d’apprendre en recevant des « bons points » ou des « mauvais points ». On va fixer un minimum (les mauvais points) et un maximum (les bons points), par exemple 0 et 100. Puis en fonction du choix du système, l’algorithme va lui attribuer une note (selon vos critères). Le système va toujours essayer de se rapprocher de 100. L’algorithme, dans un neurone peut, encore une fois, être varié. On peut utiliser une logique floue[2] ici pour ajuster les points. (Froid est en dessous de 18 par exemple, de 18 à 20 c’est frais, de 20 à 23 c’est doux et au-dessus c’est chaud). Ce qui permettra de faire évoluer la température graduellement.

N.S.T.E.I.N a essayé une première température. Il suffit à AL de dire moins chaud où plus chaud pour que N.S.T.E.I.N réajuste sa décision. Et au fil de l’eau il sera quoi faire. Ceux sont les mêmes techniques qui sont utilisés pour les aspirateurs automatiques (dois-je continuer à aspirer ou rentrer à ma base de recharge), ou même pour gagner aux jeux comme AlphaGO.

Quand N.S.T.E.I.N choisit le bon itinéraire

Cette fois-ci, pas de Machine Learning ou de Deep Learning. Pour trouver le chemin optimum, on utilise des algorithmes de « PathFinding »[3]. Ces algorithmes travaillent avec un « graph » comme données pour constituer le chemin optimum en fonction de vos contraintes.

Le graph

Un graph (pas graphique) est une structure de données particulière.

Aucun texte alternatif pour cette image

Les Nœuds (ou Nodes : A, B, C, E, F, G) sont reliés entre eux par des axes (ou Edge : les flèches). Il peut s’agir de beaucoup de type de structure de données :

  • Liens de connaissance sur les réseaux sociaux par exemple : Madame A connait Monsieur B - Madame A habite dans la même ville que Madame D qui lui connait Monsieur B - Etc.
  • Des recommandations par exemple : Ceux qui ont acheté A ont acheté B, donc Madame D qui a acheté A pourrait être intéressé par B
  • Des chemins : Pour aller à la Ville G, on peut passer par A, B, D, F ou par A, C, E, F : Quel est le plus court ? le plus rapide ? etc…

Pour connaitre la réponse, on utilise donc différents algorithmes de type « Pathfinding ».

Vos GPS ou autres applications routières utilisent ça au quotidien, vos réseaux sociaux favoris aussi, vos plateformes d’achats en ligne aussi et vos moteurs de recherche également (qui utilise également d'autres algorithmes pour la recommandation, de l'apprentissage par renforcement).

Fazit

Nous avons vu comment l’IA se matérialise, se concrétise dans un quotidien fictif tout en essayant ensuite de vous apporter les solutions techniques d’IA mises en œuvre.

Cette démarche permet à ceux qui débutent de mieux comprendre ce qu’apporte l’IA aujourd’hui (avec la petite histoire).

Merci pour votre lecture

Frédéric Wickert

 [1] Avoir une réponse en amont n’est valable que pour des algorithmes dits « supervisés » : Voir article suivant

[2] C’est un algorithme utilisé en IA depuis longtemps qui permet de faire la relation entre des mots (froid, doux, chaud) et des tranches de valeurs.

[3] Bien sûr, cela peut être un algorithme dans un réseaux de neurones



Muriel CUNY

DÉLÉGUÉE GÉNÉRALE d’ALEARISQUE®

4 ans

Simple et clair ! On adore ! Bravo Fred!

Frederic Wickert

Technology Specialist at Microsoft France - Auteur - Conférencier

4 ans

PHILIPPE SCHAHL, voici le 2nd article.

J'aime
Réagir

Identifiez-vous pour afficher ou ajouter un commentaire

Autres pages consultées

Explorer les sujets