Le dernier va vous étonner…

Soyons honnêtes deux minutes et laissons Terminator et HAL dans leur fiction : les agents intelligents ne vont pas dominer le monde demain. Ça ne veut pas dire néanmoins que les systèmes d’IA ne sont pas déjà présents autour de nous, travaillant pour et avec nous à différents niveaux. Vous avez sans doute quelques exemples en tête, que ça soit AlphaGo, reconnaissance faciale ou écrite… Mais il y a peut-être d’autres domaines que vous imaginez moins. Faisons donc un petit tour d’horizon de ces applications de l’IA déjà existantes. Cet article n’est bien évidemment pas exhaustif et beaucoup d’autres domaines existent.

1. Systèmes de recommendation

Tout le monde connaît ce petit espace sur les sites de vente en ligne, dans lequel il est écrit « Nous vous proposons…» ou « Ces produits pourraient vous intéresser ». Ces sections vous donnent des recommandations de produits que vous pourriez vouloir en fonction non seulement de ce que vous avez acheté auparavant, mais aussi de ce que des utilisateurs qui vous ressemblent ont acheté. Cela fonctionne pour les sites de vente en ligne, bien évidemment, mais également pour les suggestions de films ou de séries à regarder, de musique ou de livres que vous pourriez aimer.

On a trois grandes familles d’algorithmes généralement considérés pour ce problème :

  1. Recommandation basée sur le produit : un profil est créé pour chaque produit, contenant un ensemble de caractéristiques (gamme de prix, genre pour un livre ou un film, vainqueur de prix…). L’algorithme va ensuite tenter de trouver les produits les plus similaires à ceux que vous avez consommé vis-à-vis de ces caractéristiques.
  2. Filtrage collaboratif : l’algorithme recherche des utilisateurs qui aiment et « like » les mêmes produits que vous et vous recommande ce que ces autres utilisateurs ont aimé et que vous ne connaissez pas encore.
  3. Approches hybrides : il y en a plusieurs et elles mixent les deux approches précédentes 1. Par exemple, l’une des plus connues est le filtrage collaboratif basé sur le produit. Cette approche utilise les scores donnés par des utilisateurs qui vous ressemblent et sélectionne les produits les plus appréciés parmi ces utilisateurs.

Pour plus d’information sur les systèmes de recommandation, cet article (en anglais) offre une vision plus détaillée des techniques existantes.

2. Jeux

Voilà un autre domaine d’application de techniques d’IA très connu ! Que ça soit jeux vidéos ou de plateau, de nombreux systèmes d’IA ont été développés afin de devenir des adversaires redoutables pour les joueurs humains. Le nombre de techniques utilisées pour l’IA et les jeux est tellement grand qu’il me faudrait une série de plusieurs articles uniquement à ce sujet. Cela dit, d’une manière (très) générale, IA dans les jeux, c’est surtout de la planification. L’agent doit décider des prochaines actions à effectuer en fonction de l’état actuel du jeu.

Récemment, l’Apprentissage par Renforcement a attiré beaucoup d’attention. Vous avez peut-être déjà vu ce genre de vidéo qui illustre bien l’apprentissage par renforcement dans le cadre d’un jeu comme Mario :

L’idée est d’essayer plein d’actions différentes et de voir comment ça se passe. Dans cette vidéo par exemple, si Mario meurt alors le système considère que la séquence d’actions utilisée était mauvaise. Si, au contraire, Mario finit le niveau avec tous les points alors la séquence était excellente.

Ce sont aussi les techniques d’apprentissage par renforcement qui ont été utilisées pour AlphaGo, le programme qui a battu Lee Sedol en 20162, et AlphaStar, celui qui a vaincu deux joueurs professionnels de Starcraft en 201934

L’apprentissage par renforcement est loin d’être la seule technique d’IA utilisée dans les jeux. D’ailleurs ça n’est même pas la plus répandue aujourd’hui, bien qu’elle soit sous le feu des projecteurs. Dans les jeux actuellement existants, l’IA est surtout utilisée dans deux catégories de planification: la prise de décision et le pathfinding5.

La prise de décision est généralement utilisée dans le contrôle des PNJ (Personnages non-joueurs) et donne l’illusion que ces personnages sont pro-actifs, c’est-à-dire qu’ils prennent des décisions en fonction de l’histoire et des actions du joueur. L’une des techniques les plus utilisées dans ce domaine reste les bons vieux arbres de décision.

Un arbre de décision est un modèle dans lequel chaque nœud de l’arbre représente un point de décision (e.g. est-ce que je place mon pion dans la case 1, 2 ou 3?) et les arêtes représentent les différentes possibilités. Par exemple, voici un arbre de décision possible pour le jeu du morpion :

Les deux premières couches de l’arbre de décision pour le jeu du morpion. Image tirée de Wikipedia, user:Gdr, CC BY-SA 3.0

En créant et combinant des arbres de décision à différents niveaux d’abstraction6, il est possible de créer des personnages qui donnent l’illusion d’être (plus ou moins) intelligents.

Le pathfinding est un autre problème d’IA dans les jeux vidéos : comment mon personnage va-t-il aller de sa position actuelle à celle sur laquelle j’ai cliqué ? Encore une fois, les jeux actuellement commercialisés utilisent principalement de bonnes vieilles techniques d’IA7. L’environnement est modélisé comme une grille avec un nombre fini de cellules. Chaque cellule est associée à un poids qui dépend de l’environnement8. Ensuite, des algorithmes comme A* et ses extensions sont utilisés9

Pour plus d’informations sur l’IA dans les jeux, l’article anglais de Wikipédia sur le sujet est plutôt complet.

3. Moyens de transport

Si je vous dis IA et moyens de transport, vous allez dans doute me répondre « voitures autonomes » en premier. Mais bien avant que ces voitures sans chauffeurs commencent à devenir une réalité, l’Intelligence Artificielle était présente dans le domaine du transport. Tout d’abord, aviez-vous déjà réalisé que votre bon vieux GPS était une superbe application d’IA ? L’algorithme utilisé pour trouver le meilleur chemin dans votre GPS est d’ailleurs très probablement une variante d’A* dont on a déjà parlé. Et bien évidemment, les GPS modernes utilisent des techniques de Synthèse Vocale pour vous donner les directions.

Mais des systèmes d’IA sont également implémentés dans des situations moins connues. Par exemples, des systèmes multi-agents combinés à des techniques d’apprentissage artificiel ont été utilisés afin de réduire les bouchons en activant les feux de signalisation de façon optimale10. D’autres systèmes utilisant des techniques similaires ont été installés sur des locomotives pour réduire la consommation d’énergie et le nombre d’erreurs matérielles.

Enfin, et pour parler de l’IA et des voitures, cela existe depuis plusieurs années dans de nombreuses voitures commercialisées. L’auto-pilote de Tesla évidemment, mais pas que ! Par exemple, des systèmes de sécurité détectent les obstacles et s’assurent que la voiture freine à temps quand le conducteur ne le fait pas. Ou encore l’aide au stationnement qui vous permet de rentrer dans cette toute petite place. Cet article (en anglais) donne une bonne vue d’ensemble de tout ce qui se fait actuellement. L’Apprentissage Artificiel mais également la Fusion de Données sont les deux grands acteurs de ce domaine.

4. Logistique et gestion d’entrepôt

La logistique et la gestion de stock et d’entrepôt sont des problèmes très complexes. Ils dépendent de très nombreux paramètres, dont certains varient dans le temps11. Par exemple, le transport de biens d’un point A à un point B peut être optimisé grâce à l’Intelligence Artificielle. Vous avez peut-être déjà vu les robots-étagères d’Amazon, qui permette un déplacement et un empilement plus facile des produits :

Les étagères autonomes d’Amazon. Image tirée de MIT Technology Review.

La coordination et la coopération des agents (ici les étagères) sont des aspects très important de ce genre de problème et sont encore très étudiés en recherche aujourd’hui. Les termes « Planification de Mouvement » ou « Planification de Tâches », de même que « Systèmes Multi-Agents » sont ceux à chercher pour comprendre un peu mieux le fonctionnement de ces systèmes.

Un autre domaine important de l’IA dans les applications logistiques s’appelle la logistique anticipative12. Les systèmes de logistique anticipative sont généralement basé sur des techniques d’Apprentissage Artificiel qui permettent aux entreprises de prévoir les pics et les creux de demande de leurs clients et donc d’adapter leur stock préventivement.

Cet article de Techzone estparticulièrement intéressant sur le sujet. L’article de MIT Technology Review concernant les robots d’Amazon est également très complet et montre bien que les tâches exécutées par ces robots vont beaucoup plus loin que les étagères mobiles.

5. Design et Architecture

Je parie que beaucoup parmi vous n’auraient jamais pensé à un tel domaine. En tout cas, personnellement, je ne l’ai pas vu venir la première fois que j’en ai entendu parler. Comment diable l’IA et le design pourraient-ils avoir un lien ?

Ce domaine est encore relativement nouveau, tant dans la recherche que dans ses applications, mais elles existent néanmoins. Il se trouve que l’IA est un outil merveilleux pour faire de « l’Evidence-based Design » . À l’instar de l’Evidence-based medicine qui est la médecine basée sur les preuves, l’Evidence-based design est basé sur des mesures qualitatives et empiriques. Les techniques d’IA sont alors utilisées afin d’aider les designers et architectes à prendre des décisions rationnelles et motivées. Des techniques basées sur des Ontologies et du Raisonnement Spatio-Temporel sont utilisées afin de planifier la forme du bâtiment ainsi que l’aménagement intérieur.

Même après la construction et l’ouverture du bâtiment, d’autres techniques utilisant l’oculométrie et des capteurs portables sont utilisées afin d’analyser l’utilisation réelle du bâtiment et de l’espace13. Les données ainsi collectées et analysées fournissent de nouvelles connaissances pour des designs futurs.

Conclusion

Il y a tellement de domaines dont je n’ai pas parlé dans cet article. Que ça soit la médecine et les systèmes de lecture d’image pour aider les docteurs, les agents conversationnels utilisés soit à des fins de récréation ou d’apprentissage, votre assistant virtuel de type Alexa ou Mycroft… L’IA est déjà présente autour de nous et elle le sera encore plus dans les années à venir. De nombreux projets sont aujourd’hui en phase de test mais arriveront comme produits utilisables dans les décénies à venir. L’IA change et continuera à changer notre environment et notre façon de vivre.

Références

Voici une liste d’articles scientifiques et grand public utilisés lors de la rédaction de cet article et intéressants. Comme d’habitude, ils sont en anglais…

Recommendation systems

  • Melville P., Sindhwani V. (2017) Recommender Systems. In: Sammut C., Webb G.I. (eds) Encyclopedia of Machine Learning and Data Mining. Springer, Boston, MA
  • Sarwar, B. M., Karypis, G., Konstan, J. A., & Riedl, J. (2001). Item-based collaborative filtering recommendation algorithms. Www, 1, 285-295.

Games

Transportation systems

Logistics and Warehouse Management

Design and Architecture

  1. Merci Captain Obvious
  2. https://fr.wikipedia.org/wiki/Match_AlphaGo_-_Lee_Sedol
  3. https://deepmind.com/blog/article/alphastar-mastering-real-time-strategy-game-starcraft-ii
  4. Malgré une performance très impressionnante et intéressante, j’ai eu quelques remarques et problèmes sur la façon dont le match s’est passé et dont il a été mis en avant et publicisé. Vous pouvez les retrouver sur le thread Twitter que j’ai écrit à l’époque (en anglais). Certaines de ces remarques ne sont plus valides car le problème sous-jacent a été clarifié depuis (comme celle concernant « l’attention » de l’agent qui n’est plus pertinente) mais beaucoup sont encore d’actualité.
  5. Oui, j’utiliserai ici le terme anglais, parce que je trouve que « recherche de chemin » c’est moche. OK, c’est surtout parce que j’ai été habituée à dire pathfinding même en français.
  6. Depuis l’arbre représentant la stratégie globale du personnage jusqu’à celui contrôlant ses options de dialogue
  7. GOFAI: Good Old Fashioned AI
  8. Ce qui permet au designer de modéliser la difficulté du terrain, la présence d’ennemis…
  9. Pour vous donner une date de référence, A* a été publié pour la première fois en 1968 et est lui-même une amélioration de l’algorithme de Dijkstra, publié en 1959.
  10. Le système Surtrac en est un exemple
  11. On peut citer notamment l’offre des fournisseurs et la demande des clients, l’organisation et la taille de l’entrepôt, la potentielle date de péremption des produits, le type, le poids et le volume des produits…
  12. Anticipatory Logistic en anglais
  13. Par contraste avec l’utilisation prévue.
0 réponses

Répondre

Se joindre à la discussion ?
Vous êtes libre de contribuer !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.