IA : L’importance du modèle de réseaux de neurones

datavaloris - Jean-Patrice GLAFKIDÈS
Par Jean-Patrice GLAFKIDÈS, Co-fondateur de DataValoris – Doctorant en IA

Aujourd’hui les entreprises recrutent à tour de bras des data-scientists/analystes ou autres spécialistes de la donnée. Cet engouement est légitimé par l’impression de chaque entreprise d’être assise sur une mine d’or : à savoir ses données. 

 

Il est évident que les entreprises sont dépositaires d’un nombre considérable de données. En cela elles ont tout à fait raison. Je ne rentrerai pas dans ce billet sur la qualité, la pertinence ou autre des données et de leur évidente importance. 

J’en parle uniquement pour mettre en exergue le déséquilibre entre l’effort mis sur la préparation des données et sur la fabrication du modèle. Aujourd’hui la pratique est de prendre un modèle ayant fait ses preuves dans un domaine similaire (ou que l’on pense similaire) et de l’appliquer sur les données tel quel ou avec quelques savantes modifications empiriques. Cette approche, à première vue intéressante, est porteuse de biais. Elle permet au mieux de faire un POC et de valider que l’utilisation de réseaux de neurones est une bonne approche. Que se passe-t-il quand il faut passer en production ? Que se passe-t-il quand le résultat du POC est moyen ou insuffisant ?

 

Il existe bien des cas où une telle approche a du sens, si le domaine d’application est effectivement similaire, ou si l’enjeu de performance n’est pas important pour le projet. Ces deux cas exceptés, le responsable du projet et par ricochet l’entreprise, vont passer à côté de toute l’étendue de ce que pourrait leur apporter véritablement l’utilisation d’une IA.

Plus le projet va demander un niveau d’abstraction élevé, plus le modèle aura de l’importance quant à son efficacité. Au même titre que l’on doit avoir les données les plus représentatives de l’objectif à atteindre, il est aussi indispensable d’avoir un bon modèle.

Sur une problématique simple, par exemple MNIST, le choix d’un modèle type empirique ou d’un modèle adapté et optimisé aboutit à une différence d’efficacité de 10%. En revanche, sur des modèles complexes, la situation change du tout au tout. Dans ce cas, deux modèles avec les mêmes données peuvent aboutir à des résultats complètements différents. Un chat et un humain partageant un environnement commun (mêmes données) ne sont pas du tout capables de la même chose et la différence majeure en termes d’intelligence est le modèle utilisé. 

Pour revenir aux modèles simples ou ne nécessitant pas de précision importante, l’importance du modèle est cachée. A efficacité similaire, il existe un enjeu important en termes de taille. Le modèle optimisé, même s’il offre un faible gain de performance peut aboutir à 75% de réduction de taille, nous l’avons prouvé lors du benchmark NNTO sur MNIST. Bien sûr, si ni l’efficacité du résultat, ni l’efficacité énergétique d’un modèle importent, alors l’utilité d’une IA est à mettre en question.

 

Dans le cadre d’un projet d’IA on peut agir sur 3 axes. Les données, le modèle et l’objectif. L’objectif est l’élément que l’on va modifier en dernier recours, quand le modèle et les données ne suffisent pas à l’atteindre. L’axe données et modèle sont donc des éléments d’amélioration importante. Comment savoir qui, des données ou du modèle, est la cause du résultat insatisfaisant ?  Il est globalement plus difficile d’améliorer le modèle que de changer les données.

 

Cela tend à pousser les data scientists à travailler énormément sur les données et à se contenter d’une optimisation d’hyper-paramètres du modèle. Cette approche, la plus répandue, va nécessiter de modifier et de sur-préparer les données pour pallier aux limitations du modèle. La sur-préparation des données peut malheureusement aboutir à l’effacement de données intéressantes et utiles qu’un modèle adéquat exploiterait. La solution est donc dans un bon équilibre entre la préparation des données et la recherche du modèle optimum. 

 

Je recommande chaudement de faire un cycle permanent d’amélioration qui passe de l’optimisation des données à l’optimisation topologique du modèle, un tel cycle serait le suivant :

r.jpg


Les cycles d’optimisation topologique permettent de chercher le modèle optimal. Dès que le résultat a globalement convergé, il est probable que les données utilisées ne soient plus suffisantes pour aller plus loin vers l’objectif. Ce qui permet dans ce cas de commencer à répondre à la question de savoir qui, des données ou du modèle, est la cause du résultat insatisfaisant.

 

En utilisant le cycle d’amélioration que je recommande, cette question cruciale dont la réponse peut être longtemps évasive, commence à obtenir une réponse tangible. L’entreprise peut enfin utiliser une IA qui lui apporte toute l’étendue de son potentiel, ce qui va permettre l’amortissement de celle-ci lorsque l’objectif est atteint.


¹ Prof of Concept : il s’agit d’une étape de validation concrète dans la mise en place d’un projet radicalement nouveau. Il faut, avant un déploiement plus large, faire “la preuve du concept”. Cette étape peut être accompagnée d’une version limitée mais fonctionnelle en guise de prototype.
² La base de données MNIST pour Modified ou Mixed National Institute of Standards and Technology, est une base de données de chiffres écrits à la main. C’est un jeu de données très utilisé en apprentissage automatique. La reconnaissance de l’écriture manuscrite est un problème difficile, et un bon test pour les algorithmes d’apprentissage. La base MNIST est devenu un test standard.
³  NNTO : Neural Network Topology Optimizer : Il s’agit d’une approche de Deep-neuroevolution qui consiste à appliquer des mutations du modèle entre des phases d’apprentissage afin d’en dépasser les limites topologiques.
%d blogueurs aiment cette page :