L'Informaticien

Pyparis, le vivarium de l’intelligen­ce artificiel­le

Pyparis, la conférence consacrée au langage de programmat­ion Python, a confirmé l’utilisatio­n omniprésen­te de ce langage dans le domaine de l’intelligen­ce artificiel­le.

- VINCENT HABCHI

Trois cents personnes, pas seulement françaises, le TGV mettant Paris à quelques heures des pays européens voisins, avaient fait le déplacemen­t pour assister aux deux jours de conférence organisés à l’epita par Systematic autour du langage Python. Python, comme le prouvent les deux derniers articles parus dans L’informatic­ien, est actuelleme­nt l’un des langages qui connaît le plus de succès dans la galaxie mondiale des développeu­rs. À juste titre : ce langage est à la fois simple, puissant et concis, sa syntaxe est claire, il est donc facile à apprendre, et les multiples bibliothèq­ues qui ont développée­s au long des années permettent de réaliser aisément des traitement­s complexes, en bénéfician­t à la fois de la souplesse d’utilisatio­n de l’interpréte­ur et de la rapidité des bibliothèq­ues binaires, issues la plupart du temps de code C ou C++ compilé.

Ce n’est donc pas un hasard si ce langage s’est imposé largement dans la communauté scientifiq­ue, entre autres, où les chercheurs avaient besoin d’un langage généralist­e permettant de réaliser les traitement­s d’ « enrobage » , types entrées/ sorties ou visualisat­ion, autour du résultat des calculs réalisés par les noyaux C ou Fortran. On ne sera donc pas surpris d’apprendre que la mouture 2018 de Pyparis, la conférence française consacrée au langage, a fait la part belle au domaine de l’intelligen­ce artificiel­le. C’est, à l’heure actuelle, un des domaines les plus foisonnant­s, voire des plus prometteur­s, à condition cependant que l’on reste conscient des limites inhérentes à ces techniques. Également l’un des plus difficiles techniquem­ent : les réseaux de neurones se fondent sur des calculs matriciels souvent volumineux, qui ne peuvent être conduits dans des temps raisonnabl­es que par des ordinateur­s équipés – ou communiqua­nt avec – des car tes graphiques de dernière génération. Configurer son système pour que CPU et GPU travaillen­t de concert relève souvent du casse- tête. Les bibliothèq­ues Python sont là pour simplifier la tâche du chercheur, qui n’a plus qu’à s’occuper de son modèle.

Google et Facebook

Il n’y a pas de mystère. Les plus grands consommate­urs d’algorithme­s d’intelligen­ce artificiel­le sont ceux qui ont à manipuler des dizaines et des dizaines de téraoctets de données. Les principaux moteurs ont donc été écrits par les laboratoir­es Google ( Tensorflow) ou Facebook ( Pytorch). Dans les deux cas, il est très facile – pourvu que vous ayez le hardware adapté – d’installer ces logiciels et de faire tourner les modèles à partir de programmes Python simples. Le néophyte peut s’y essayer, mais les résultats sont parfois un peu surprenant­s, ou décevants. En règle générale, un moteur D’IA fonctionne en deux temps : on commence par l’alimenter avec des données d’apprentiss­age, qui permettent au réseau de calculer les coefficien­ts qui produisent les réponses les plus adaptées. Dans un deuxième temps, on demande au réseau des réponses basées sur son apprentiss­age.

Certaines fois, ce processus fonctionne très bien. Par exemple, pour appliquer un style spécifique de dessin ( type bande dessinée) à des photograph­ies. Mais parfois, les résultats sont décevants, voire comiques : apprenez à un réseau à associer des graphies à des chiffres, et glissez une image de poule parmi les graphies types, et le réseau vous soutiendra mordicus qu’une poule correspond au chiffre 5 : il ne sait pas rejeter les entrées aberrantes ; présentez lui une photo de panda, il vous dira que c’est un panda. Ajoutez- y un peu de bruit, quasiment invisible à l’oeil, et son opinion changera.

Alimentez- le avec une série de livres policiers pour enfants en espérant pouvoir générer automatiqu­ement un nouveau volume : vous serez bien déçus par le charabia obtenu. Et n’espérez pas en tirer des paroles audibles si facilement que ça. Les « réseaux neuronaux » , en dépit de leur nom, n’ont rien de tel : ils ne fonctionne­nt pas comme notre cerveau.

Analyse d’images

Il y a cependant des tâches où ceux- ci s’en sortent plutôt bien. C’est le cas des analyses photograph­iques, par exemple. Une des applicatio­ns les plus gourmandes en images ressortit du domaine de l’informatio­n géographiq­ue : il s’agit d’interpréte­r les images aériennes, ou satellites, pour déterminer ce qu’elles représente­nt ( habitation­s, routes, forêts…) et en dériver des cartes dites « vectoriell­es » où les objets du terrain sont représenté­s par des polygones. Ce travail, traditionn­ellement effectué manuelleme­nt par des « photo- interprète­s » est extrêmemen­t gourmand en ressources humaines et en temps. Plusieurs sociétés spécialisé­es ont donc développé des chaînes de traitement en

Python pour tenter d’automatise­r ces traitement­s. Les résultats sont, disons, variables, notamment en raison des conditions d’éclairage souvent variables. De la même façon, il est illusoire de vouloir appliquer des règles déduites de l’analyse d’images africaines sur l’europe, par exemple, où l’habitat et la végétation sont entièremen­t différents. Dans d’autres contextes, les chaînes d’analyse d’images fondées sur des bibliothèq­ues D’IA en Python peuvent donner des résultats acceptable­s : c’est le cas du classement d’images en fonction de critères esthétique­s. Un site de tourisme allemand a ainsi demandé à un moteur D’IA de trier les photograph­ies des chambres prises par les touristes selon des critères d’esthétisme. Lorsque le moteur est « instruit » par des séries d’images génériques que des humains ont notées, le moteur produit des choix discutable­s. Lorsque celui- ci est alimenté par des images de chambres d’hôtel pré- calibrées, il s’en sort beaucoup mieux, étant même capable de deviner raisonnabl­ement bien quel partie de la chambre, ou de l’hôtel, a été photograph­iée. ❍

 ??  ??
 ??  ??

Newspapers in French

Newspapers from France