Publications

IA: la notion de "domaine d'usage"

11 février 2021

La différence entre l'entraînement d'une IA et son utilisation en conditions réelles peut être surprenante. Découvrez la notion de "champ d'utilisation".

La validation interne d'une IA et l'utilisation de cette IA dans un environnement réel peuvent être très différentes. L'IA est souvent confrontée à des problèmes de confrontation entre la pensée commune et la réalité {1}. Les performances d'un algorithme d'IA sur un ensemble de tests peuvent parfois être trompeuses et conduire à des surprises ou même à des déceptions lorsqu'elles sont mises en conditions réelles. Pour mieux évaluer comment la performance peut se comporter en conditions réelles, il est important de clarifier d'abord ce qu'est un "domaine d''usage" de l'IA.

1- Le cycle de vie d'un algorithme d'IA

Pour illustrer le problème, nous pouvons suivre le cycle de vie d'un algorithme d'IA (et plus spécifiquement d'un algorithme d'apprentissage automatique). Il commence par la conceptualisation du projet, l'analyse d'un besoin. Vient ensuite l'identification, la collecte et la préparation des données afin de constituer un jeu de données. L'étape suivante est le choix, la construction et l'entraînement d'un algorithme de test afin de vérifier la faisabilité et les performances attendues du projet à petite échelle. Si l'étape précédente est validée, il est temps de développer et d'entraîner l'algorithme final. Au final, il est nécessaire de procéder à une évaluation de l'algorithme et des résultats qu'il produit {2}. C'est cette dernière étape qui révèle souvent que l'utilisation de l'IA dans des conditions réelles est plus difficile que prévu. Ceci est généralement dû aux différences entre la modélisation faite pour l'entraînement et la réalité de l'utilisation. Ces différences apparaissent en fait dans la construction de l'ensemble d'entraînement. La notion de "domaine d'utilisation" de l'IA joue un rôle fondamental lors de la phase de construction du jeu de données d'entraînement et nous allons décrire en quoi elle consiste.

2- Le concept de domaine d'utilisation en IA

Le concept de domaine d'utilisation consiste à décrire l'ensemble des situations dans lesquelles un algorithme d'IA est censé être utilisé. Les performances des algorithmes doivent être en adéquation avec leur finalité et leur contexte d'utilisation. Mais pour pouvoir définir un domaine d’usage sur lequel l'ingénieur système construirait une exigence, il faut délimiter certaines frontières de ce domaine. Dans certains cas, ces domaines sont très ouverts, ils peuvent varier considérablement. Quelles sont alors les limites acceptables ? Pour une voiture sans conducteur, comment définir le domaine "être capable de conduire sur une route française" ? Pour modéliser un domaine, il faut s'appuyer sur des "paramètres" qui visent à le décrire et à le délimiter. Ces paramètres peuvent ensuite être instanciés pour former une configuration particulière. L'ensemble de ces paramètres aidera à définir le jeu de données sur lequel l'IA s'entraînera et sera évaluée. Par exemple, le paramètre "jour de pluie" peut être exprimé par le paramètre "gouttes d'eau sur l'objectif de la caméra". La surface couverte ainsi que le nombre et la taille des gouttelettes peuvent être ajustés par différents paramètres. Il peut également être décrit par une gamme de luminosité plus faible des images en raison des nuages. L'objectif serait que l'apprentissage de l'algorithme se fasse sur un ensemble dans lequel il y a suffisamment d'images avec des paramètres représentatifs. Cependant, ces paramètres sont multiples (voire parfois innombrables) et ils peuvent être non numériques. En effet, on peut imaginer qu'un chabot doit être capable d'interagir correctement avec des utilisateurs furieux, frustrés, malheureux, ironiques... Dans ces conditions, comment définir un contexte d'utilisation qui permette aux concepteurs d'IA de répondre à une exigence sur l'utilisateur qui se situe entre "heureux et furieux" ?

Pour y parvenir, le premier objectif est de collecter les données existantes et d'identifier les paramètres que le concepteur de l'IA peut utiliser pour mettre en œuvre le jeu d'entraînement. Dans le cas des algorithmes de voiture autonome utilisant la technologie de reconnaissance d'image, ils ont besoin d'images de voitures et d'obstacles dans divers environnements. Celui-ci est décrit à travers différents paramètres que nous pouvons incorporer, tels que : la largeur de la route, les conditions météorologiques, la luminosité de la route, la température, etc. Dans notre exemple, les possibilités de paramètres pour décrire le concept de "conduite sur une route en France" sont très nombreuses et peuvent être complexes. Ainsi, les concepteurs d'IA doivent choisir les paramètres qu'ils jugent les plus pertinents et les plus appropriés pour décrire des concepts spécifiques. Cependant, la description d'un environnement spécifique peut conduire à un nombre exponentiel de possibilités de paramètres. De toute évidence, plus le nombre de paramètres utilisés dans l'ensemble d'apprentissage des données est élevé, plus l'analyse de la représentation de l'environnement est précise, mais plus elle est difficile à mettre en œuvre. Il faut garder à l'esprit qu'un jeu d'entraînement est fondamentalement restreint mais qu'il s'efforce d'être le plus représentatif possible.

3- L'importance de la validation de l'IA

Un des principaux problèmes concernant le domaine d'utilisation est la sous-spécification. Elle est difficile à détecter car l'IA peut sembler suffisamment bonne sur l'ensemble de test qui peut aussi ne pas couvrir suffisamment les conditions réelles. Les IA sont formées avec des algorithmes d'apprentissage automatique non spécifiés, avec une validation trop faible, ce qui peut les rendre insuffisamment efficaces dans les conditions réelles du domaine d'utilisation. C'est un problème illustré par plusieurs exemples sur lesquels nous nous appuierons : les véhicules à conduite autonome dans les villes anglaises, l'IA médicale de Google pour l'analyse des yeux, etc.

Pour commencer, il peut y avoir des différences de qualité sur les données en raison de différences dans le système d'acquisition (par exemple une caméra différente). Ce qui entraîne des distorsions dans le traitement des données : les angles peuvent être différents, la résolution de l'image aussi. C'est le problème qu'a rencontré l'IA de Google en analysant les yeux en condition réelle. La cause profonde vient du fait que les infirmières n'avaient pas assez de temps pour produire des images de très haute qualité à donner au système. L'algorithme ayant été entraîné avec des images de haute qualité, il avait une fonction empêchant les analyses sur des images de mauvaise qualité. Cela a entraîné une énorme perte de temps pour les infirmières car les examens devaient être refaits et parce qu'elles devaient maintenant prendre plus de temps que prévu pour produire des images de haute qualité {3}.

De plus, les paramètres peuvent être difficiles à anticiper : les chutes de feuilles sur la route ont été considérées comme des objets mobiles par les voitures autopilotées anglaises {4}. Il n'est pas facile de savoir comment cela va fonctionner si les données changent par rapport à ce à quoi l'algorithme est habitué. En effet, l'IA est formée sur des données passées et présentes et a des difficultés si elle doit s'adapter à quelque chose de nouveau. Même si la généralisation est l'objectif principal des algorithmes d'IA, elle peut s'avérer difficile lorsque les conditions varient trop fortement, comme nous l'avons présenté dans un article précédent {5}.

Une étude réalisée par des chercheurs de Google a montré que même si les algorithmes ont reçu la même formation, leurs performances peuvent être très différentes et ne peuvent être anticipées. Sur un pool de 50 algorithmes, dont seules les valeurs de départ changent, certaines IA auront de meilleures performances sur des images floues, d'autres sur des images pixellisées ou au contraste altéré, et certaines auront également de meilleurs résultats globaux que d'autres {6}. Ceci est également dû à la sous-spécification.

4- Conclusion

Pour résumer, le domaine d'utilisation d'une application en monde ouvert est délicat à exprimer précisément. Les algorithmes peuvent avoir des difficultés à s'adapter à des conditions réelles qui varient trop par rapport au domaine d'utilisation implicitement supposé par la conception de l'IA. Le principal problème est la sous-spécification des algorithmes. Les paramètres du domaine (lorsqu'ils sont définis) et leurs variations doivent être suffisamment représentatifs du domaine d'utilisation. Une sous-spécification peut conduire à l'échec du projet. C'est pourquoi, du point de départ à la phase de validation, il est crucial de s'assurer que le domaine d'usage est correctement géré. Une fois que cela est fait, une évaluation de la robustesse et l'explicabilité de la décision peuvent améliorer les chances d'atténuer tout échec une fois dans le monde réel {7}. L'explicabilité permet de mettre en évidence les paramètres les plus utilisés par l'algorithme et de limiter les paramètres à ceux qui comptent vraiment. Valider l'IA et sa robustesse de la meilleure façon possible nous permettra de résister à la variabilité du domaine d'utilisation et d'avoir l'IA la plus performante possible pour les tâches à effectuer.

Auteurs

 

Écrit par Arnault Ioualalen & Baptiste Aelbrecht

 

Sources images :

Image 1 : Christopher Gower

Image 2 : Why Kei

Image 3 : Liam Briese

Numalis

We are a French innovative software editor company providing tools and services to make your neural networks reliable and explainable.

Contact us

Follow us