L’Intelligence Artificielle (IA) a fait d’importants progrès ces dernières années. Ce domaine est clairement un “sujet chaud”. En attestent l’augmentation exponentielle d’importantes conférences académiques et les informations parlant de la manière dont les entreprises exploitent avidement les travaux universitaires.
Ces derniers temps, les puissances de calcul disponibles ont sensiblement progressé, de même que les jeux de données disponibles pour entraîner l’IA et que le large choix de modèles sous-jacents (CNN, RNN, LSTM, GAN, …).
Les principaux acteurs du secteur proposent des plates-formes IA open source prêtes à l’emploi: Tensorflow, Caffe, Theano, Keras… De plus en plus, les chercheurs publient leur code, accompagné d’un “read me” détaillé (Jupyter Notebooks en est un exemple parmi les plus populaires). Ils peuvent ainsi revendiquer une reproductibilité – et apprécient évidemment le fait d’être plus facilement cités.
Quiconque est familier de la terminologie et des technologies sous-jacentes peut dès lors facilement se livrer à quelques petites expérimentations.
“Intelligents” mais aisés à berner…
Tout cela s’est traduit, ces derniers temps, par des résultats significatifs. Voitures autonomes, diagnostics automatisés ou assistance médicale automatique, traduction temps réel sont des exemples d’applications qui relevaient encore de la science-fiction voici à peine 20 ans mais qui, aujourd’hui, sont très proches d’un déploiement dans notre cadre quotidien.
Bien que le terme IA fasse plus que suggérer la notion d’“intelligence” et même si les médias ou les gourous font assaut de superlatifs, l’intelligence artificielle n’est en réalité encore qu’une forme évoluée de statistique appliquée. En se remémorant la célèbre expression “lies, damned lies and statistics” [Ndlr: attribuée, via Mark Twain, à l’ancien Premier ministre britannique Benjamin Disraeli], on peut affirmer qu’en matière d’“intelligence artificielle”, il est possible de jouer, créativement, avec les règles — et le fait est que de nombreux systèmes IA s’avèrent étonnamment aisés à duper. Lire à ce sujet “Deep neural networks are easily fooled: High confidence predictions for unrecognizable images” publié par le laboratoire Evolving AI de l’Université du Wyoming..
Chaque décision que prend une IA entraînée est en l’espèce un “pari raisonné”.
Un système IA est généralement conçu en vue de satisfaire à un cas d’usage clairement balisé: classification (par exemple, pour l’analyse d’images), suggestion (par exemple, achats en ligne), génération de données qui répondent à certaines caractéristiques… Une IA est dès lors entraînée sur base d’un jeu de données déterminé. Chaque décision que prend, sur cette base, une IA entraînée est en l’espèce un “pari raisonné”.
Le système se base sur les données connues jusque là: il n’est nullement question d’une quelconque connaissance d’un domaine ou de compréhension d’un environnement plus large, en tout cas si on n’a pas pris soin, au préalable, de l’ingérer explicitement dans le système.
En la matière, c’est aussi la loi du “garbage in, garbage out”. La manière dont une IA est entraînée et dont on continue à l’entraîner sera déterminante pour le résultat futur. Ce texte fait le point sur un certain nombre (non exhaustif) d’éléments-clé à prendre en considération.
Données d’apprentissage incomplètes
Des données d’apprentissage incomplètes ou déséquilibrées auront pour résultat de générer des “faux négatifs”: le système IA ne parvient pas à reconnaître quelque chose qu’il aurait dû reconnaître. Dans la pratique, si une IA est appelée à reconnaître une classe d’objets, on l’entraînera idéalement sur un ensemble d’exemples qui couvre cette classe de manière exhaustive et systématique.
Il arrive souvent que le nombre de variables est à ce point énorme (ce qu’on appelle la “malédiction de la dimension” ou “curse of dimensionality”) qu’il est quasiment impossible de collecter un jeu de données d’une taille suffisante.
Collecter et traiter des données est par ailleurs une tâche qui exige énormément de temps, donc très onéreuse. Si vous n’appartenez pas à la catégorie des grands acteurs qui peuvent procéder à du crowdsourcing à une échelle inégalée (même s’il vaut mieux que l’exercice soit activement contrôlé), vos ressources financières auront tôt fait d’être épuisées.
Et la chose ne se produit pas toujours au meilleur moment. Des plantages très médiatisés se sont déjà produits, à diverses reprises, dans le domaine de la reconnaissance faciale. Or, une distorsion qui s’insinue ainsi dans un système peut avoir des conséquences majeures.
Si on n’en prend pas conscience, ce “bias” peut demeurer longtemps caché dans un jeu de données. Exemple: au bout d’une douzaine d’années, lorsque quelqu’un prit le temps de prêter l’oreille à l’intégralité d’un jeu de données audio, il a découvert que ce jeu destiné à la détection des genres musicaux penchait fortement – lisez: incluait un important parti pris en faveur d’un certain type d’artistes et comportait plusieurs doublons.
On s’aperçut soudain qu’une partie importante des systèmes qui avaient été conçus tout au long de ces 12 années à l’aide et sur base de ce jeu de données étaient largement bâtis sur du sable
La règle du « always look at your data » demeure donc de mise. Le danger, aujourd’hui, vient du fait qu’il devient de plus en plus difficile d’appliquer cette règle dans le contexte du “big data”.
Facteurs confondants
Lorsqu’on entraîne un classificateur, l’IA recherche les caractéristiques qui lui permettront de distinguer les différentes classes avec le plus haut degré de certitude possible.
Il peut s’agir de données relativement abstraites qui n’ont pas forcément de relation signifiante avec ces classes mais qui, par hasard, sont en corrélation avec les exemples disponibles dans les données d’apprentissage.
Nous ne sommes pas toujours conscients de ces “confounding factors” (variables confondantes ou facteurs de confusion). Si l’on présente un objet sans rapport direct à l’IA et si, malgré tout, elle identifie une propriété de corrélation (ou caractéristique corrélante), cette dernière sera comptabilisée dans la mauvaise classe et on aura droit à un “faux positif”.
Reprenons notre exemple audio: il semble être relativement aisé de concevoir un système qui distingue de la musique classique d’autres genres musicaux. La précision dépasse rapidement les 95%!… Jusqu’à ce qu’on s’intéresse au facteur décisif.
Il se peut par exemple que l’on ne tienne compte que du volume moyen de l’intensité sonore – les enregistrements classiques sont moins bruyants. Résultat: l’exercice (distinction) semble être efficace entre du classique et de la pop mais, en réalité, on ne s’intéresse qu’au volume sonore, sans qu’il y ait la moindre acquisition de connaissance sur le contenu musical proprement dit.
(c) Nguyen A, Yosinski J, Clune J.: Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images. In Computer Vision and Pattern Recognition (CVPR ’15), IEEE, 2015.
Un ratage assez récent s’est produit, de manière moins anodine, dans le domaine de l’imagerie médicale. Un jeu de données basé sur des radiographies de poumons permet par exemple de développer de nouveaux logiciels de diagnostic.
Après analyse – mais, ici encore, uniquement après que quelqu’un ait pris la peine de passer en revue quelques milliers de clichés -, ce jeu de données s’est avéré avoir été annoté de manière partiellement erronée et se composait en partie de photos de patients prises pendant l’opération de traitement. Résultat: certaines pathologies risquaient de ne pas être reconnues si le dispositif de traitement ne figurait pas sur la photo.
Il en ressort, de manière inattendue, qu’un fossé sémantique important risque d’exister entre les représentations internes formelles intégrées aux systèmes IA et les concepts plus généraux et plus vagues que nous manipulons en tant qu’êtres humains et que nous voudrions inculquer à ces systèmes.
Dans de nombreuses formes plus complexes d’IA, notamment le “deep learning”, la question demeure souvent de savoir ce que ces systèmes apprennent et calculent réellement. Dans la mesure où il nous arrive de plus en plus fréquemment de confier des décisions critiques à des systèmes IA, une tendance à l’“eXplainable IA” (XAI, ou intelligence artificielle explicable) est en train de voir le jour.
Exemples contradictoires
Une branche, en forte croissance, dans le monde de la recherche IA a quasiment pour but essentiel de tenter de tromper les systèmes IA entraînés. Cette aptitude crée d’ailleurs des problèmes, notamment en matière de sécurité biométrique.
Il semble en effet que la transformation nécessaire pour déstabiliser un système AI soit parfois minime: modifier un seul pixel peut suffire. Résultat, une voiture autonome peut soudain éprouver des difficultés pour reconnaître des panneaux de signalisation sur lesquels sont accolés des autocollants.
Le problème, à cet égard, est qu’il n’est pas possible de généraliser les résultats de l’apprentissage à des données futures inconnues sans passer par quelques hypothèses plutôt contraignantes: le système doit demeurer statique dans le temps, tous les inputs possibles et imaginables doivent être couverts par le jeu de données d’apprentissage, aucun facteur de confusion ne doit être présent…
Source: AILabPage’s – Machine Learning Series
Il ne semble pas encore y avoir de réponse toute faite: dès qu’un exemple contradictoire est intégré dans les données d’entraînement, une autre manière de duper le nouveau système IA surgit soudain à un autre endroit…
En s’appuyant sur une forme de reinforcement learning (apprentissage par renforcement), nous pouvons tenter de générer ces exemples contradictoires – ce qui nous amène aux Generative Adversarial Networks (GAN).
Il est difficile de les stabiliser mais, en cas de succès, ils peuvent être utilisés pour générer des données (photos, vidéos…) les plus réalistes possible. Il est d’ores et déjà possible de générer des données très réalistes (depuis la voix jusqu’au Web design) à l’aide d’autres modèles IA génératifs.
C’est là une bonne nouvelle pour quiconque évolue dans l’industrie créative mais c’est par contre un gros problème pour ceux qui sont responsables de la protection des systèmes IA. Ces derniers peuvent s’avérer soudain relativement fragiles, une fois qu’ils évoluent en dehors de leur environnement d’apprentissage. La robustesse deviendra donc indubitablement un élément important à prendre en considération au cours des prochaines années.
Joachim Ganseman
Smals Research
spécialiste des interfaces conversationnelles
Découvrez-nous sur Facebook
Suivez-nous sur Twitter
Retrouvez-nous sur LinkedIn
Régional-IT est affilié au portail d’infos Tribu Médias.