Tester Une IA

Durée: 4m11s

Date de sortie: 20/11/2018

Se former dans la maison des compagnons : https://maison.artisandeveloppeur.fr Rejoindre la communauté des artisans développeurs : https://artisandeveloppeur.fr

Hébergé par Ausha. Visitez ausha.co/politique-de-confidentialite pour plus d'informations.

Bienvenue sur le podcast Artisan Developer,
l'émission qui combine technique et agilité pour partager la passion du code.
Aujourd'hui, on doit la question du jour à Camille. Camille, merci pour ta question qui est en fait,
j'ai bien compris une boutade mais que je trouve quand même vachement intéressant, tu me dis,
imaginons qu'on est un testeur d'IA, si ton IA est vraiment intelligente, elle devrait obligatoirement planter sur ce paradoxe,
cette phrase est fausse. Alors au-delà de la boutade,
moi ça m'a donné à réfléchir sur comment tester un algo d'intelligence artificielle.
Je me pose la question parce que au-delà de l'intérêt que je porte à la question en soi et à l'intelligence artificielle,
je travaille sur un projet en ce moment où on pourrait bien avoir besoin à un moment donné de ce genre d'outil,
et je me pose la question, ok, comment est-ce que tu appliquerais du TDD sur un algodia,
comment est-ce que tu écrirais des tests fonctionnels globaux, et en fait ça me semble difficile à faire,
ou en tout cas pas commun, parce que pour pouvoir écrire un test, il faut savoir décrire le résultat attendu.
Or, pas de définition, si j'ai bien compris, dans l'intelligence artificielle, on ne sait pas forcément quel résultat
on va obtenir, ou en tout cas on ne sait déjà pas comment ça fonctionne à l'intérieur.
Alors, je me suis creusé un peu la tête, et clairement tu veux vite comprendre que je ne suis pas expert de la question,
et d'ailleurs si toi tu l'es, ou si tu as les réponses à ces questions, je suis vraiment curieux de ton retour,
si tu peux le mettre en commentaire, alors s'il te plaît, plutôt dans l'article de blog,
c'est comme ça, s'il y a plusieurs personnes qui réagissent, on pourra les mettre au même endroit.
Et je me dis voilà, aujourd'hui j'ai un traitement qui est fait par un humain qui regroupe par catégorie
à peu près 20 000 lignes, en fait le système agrège tous les jours des lignes,
des lignes, aujourd'hui on en est à peu près à 20 000, et je me dis ok, ça marche aujourd'hui,
c'est un traitement qui est assisté, ça prend pas très longtemps, moins d'une heure par jour.
Par contre, si on voulait passer aux millions de lignes, à dire faire un facteur sans,
je pense que ça ne passerait pas à l'échelle, et du coup il faudrait aller chercher une autre solution.
Et dans ces autres solutions, je commence à réfléchir, à finalement apprendre
un algorithme d'intelligence artificielle, à classer comme le fait l'humain.
Je me dis on a déjà un jeu de données, un référentiel de données,
ça permettrait probablement d'apprendre à la machine à le faire.
Et du coup quand je réfléchis à comment je testerai cet algos, je me dis que je pourrais
lancer l'algos d'un côté et je comparerai ces résultats à ce produit par l'humain.
Alors en admettant que l'algos soit bon et que l'intelligence artificielle apprenne bien,
est-ce que le résultat produiseraient le même ?
Et du coup quel est mon critère pour faire le test ?
Je me dis si ça se trouve, s'il y a à prendre bien un peu de temps qu'à un moment donné,
elle sera gommée les erreurs qu'a fait l'humain et elle donnera peut-être même probablement des résultats meilleurs.
Du coup je prépare forcément considérer mon jeu de données comme une référence fiable en fait.
J'aurais potentiellement un delta, je ne peux pas juste dire, vérifie que le résultat produit par l'algos
soit exactement le même au jeu de données initiales.
J'imagine qu'il faudrait corriger les données pour réparer les erreurs faites par l'humain,
valider en fait un système de validation du résultat produit par l'IA,
qui me servirait d'amélioration pour le référentiel de données et incrémenté comme ça,
pour converger vers un algorithme de plus en plus performant et surtout un jeu de référentiel de données
qui soit réellement fiable pour enseigner et vérifier que je n'ai pas de régression dans les évolutions de mon algo.
Voilà, ça c'est la stratégie que j'imagine mettre en œuvre.
Je suis vraiment curieux de ton retour si tu as une idée sur la question, ça m'intéresse.
Tu peux venir sur le billet de bloc directement, sur le blog artisandeveloper.fr
Et puis je te rappelle que ça c'était une question des auditeurs,
si toi aussi il y a des questions,
envoyez à questionarobasartisandeveloper.fr
et ça me donnera l'occasion de faire une rubrique.
Je te remercie et je te dis à demain.

Les infos glanées

Je suis une fonctionnalité encore en dévelopement

Signaler une erreur

ArtisanDéveloppeur

Artisan Développeur est un podcast destiné aux développeurs qui veulent bâtir une carrière épanouissante. Hébergé par Ausha. Visitez ausha.co/fr/politique-de-confidentialite pour plus d'informations.
Tags
Card title

Lien du podcast

[{'term': 'Technology', 'label': None, 'scheme': None}, {'term': 'Technology', 'label': None, 'scheme': 'http://www.itunes.com/'}]

Go somewhere