Mettre en place un projet d'IA

Par:

DSC08617

Brice Duguay

Développeur Web, l’un de nos Super-héros du digital de la Team BGS, nous parle de la mise en place d’un projet IA 

Pourquoi faire un projet IA?

Le machine learning nous donne accès à de nouvelles possibilités jusque là trop complexes ou trop coûteuses  à réaliser. Tout d’abord la valorisation des données, l’exploitation de celle-ci à permis à des entreprise comme Facebook de capitaliser dessus. On peut aussi citer l’autonomisation de processus par extension d’automatisation.

Par exemple, AlphaZero, est totalement autonome sur le Go ou encore les échecs. Par extension, l’IA crée de nouveaux besoin par ses capacités, comme les filtres Instagram ou Snapchat.

Un dernier domaine, la recherche scientifique qui l’utilise de plus en plus. Attention pour faire du machine learning, on est dépendant des données. Pas de data, pas d’IA.

La mise en place

Etape 1: Préparation des données (récurrent)

Cette étape est la première et l’une des plus importantes et récurrentes. Comme nous l’avons dit précédemment, le machine learning est dépendant aux données.

1. Acquisition de données diverses

Que faire si on manque ou si on veut compléter nos données ?
La récupération de base de données libre de droit ou publique est plus évidente mais il existe aussi d’autres méthodes.

Par exemple, la création de données par vos soins. Ou encore la génération de données. Vous pouvez compléter vos données en générant à partir de celles que vous avez déjà pour qu’elles soient cohérentes.

 

2. Préparation et nettoyage ( Volume, qualité, équilibre)

La qualité des données et leur volume est essentielle d’où la phase de nettoyage. Dans un premier temps éliminer la redondance. Ne garder que les données pertinentes pour éviter la surinterprétation ou les corrélations nous voulu. En utilisant de la réduction de dimension par exemple.Vous pouvez encore qualifier vos données en les annotant.
Enfin la dernière étape rendre les données compréhensible par votre algorithme d’apprentissage.

Etape 2: Apprentissage

1. Choisir son algorithme

Il existe de nombreux algorithmes d’apprentissage si votre problème est connu. Il existe souvent un algorithme plus adapté. Sinon a vous de comparer vos résultats de combiner les si besoin pour arriver au résultat voulu.

2. Hyperparamètre

Ses algorithmes possèdent quasiment toujours ce qu’on appelle des Hyperparamètres.Ceci optimise grandement les résultats en fonction de vos données. Exemple le nombre de génération dans un algorithme génétique ou encore le nombre de neurones dans le deep learning. Ses hyperparamètres sont très dépendants du projet et des données d’où la difficulté à les optimisés. Compter sur l’expérience, l’exploration et l’évaluation !

3. Evaluer ! (récurrent)

L’autre étape la plus importante, l’évaluation. Après avoir appris, il faut voir si notre programme à bien compris, pour cela vous devez utiliser un jeu de données séparé. En fonction du résultat il faut 4 options s’offrent à nous. Le résultat n’est pas assez bon, doit-on toucher au donnée , à l’algorithme d’apprentissage , ou encore au Hyperparamètre ? Et bien c’est là que réside toute la difficulté de votre projet d’explorer !
Attention aussi à ne pas sur-apprendre ! Votre IA sera trop sensible à votre jeu de données et ne sera pas capable d’interpréter des données exotiques. Essayer de trouver optimum.

Etape 3: Déploiement

 

Votre modèle d’IA vous satisfait ? c’est l’heure de déployer !

Créer un model exporter entre l’application métier et le modèle

Exportation de de modèle:

Attention, il n’existe pas de norme d’exportation de modèle. Si vous décidez de changer de technologie ou d’algorithme vous risquez de rencontrer des problèmes.
Par API:

Etape 4: Optimisation

Une fois déployé, servez-vous des nouvelles données récoltées les erreurs pour mettre à jour votre modèle !