Évaluer un logiciel avec un test d'exactitude
Les systèmes d'information traditionnels sont généralement évalués bien différemment des systèmes d'apprentissage basés sur l'apprentissage automatique. Le comportement des premiers est décrit par un ensemble de tests d'acceptation qui spécifient les différents cas que peuvent rencontrer le système et le comportement attendu pour chacun. Le logiciel est considéré comme conforme s'il produit le comportement attendu pour chaque cas de test. Cette évaluation binaire a l'avantage d'indiquer très clairement si un système est près pour être mis en production ou non.
Les systèmes d'apprentissage ne peuvent pas être évalués de la même façon. Les ensembles de test réservés pour l'évaluation ressemblent, en surface, aux tests d'acceptation, mais ils diffèrent de deux manières cruciales : ils ne sont pas soigneusement choisis pour représenter l'ensemble des cas possibles et on ne s'attend pas à ce que le système obtienne une performance parfaite. L'art de déployer en production un système de ML consiste à caractériser le plus précisément possible les modes d'erreur du système et d'en quantifier l'impact sur l'entreprise.
Durant ma pratique, j'ai réalisé que les compétences que j'ai développées pour évaluer les systèmes d'apprentissage peuvent parfois être utiles pour évaluer des systèmes traditionnels. En abandonnant la politique du risque 0 qui caractérise les tests d'acceptation et en adoptant celle du risque calculé et contrôlé qui caractérise l'évaluation des systèmes d'apprentissage, de nouvelles fonctionnalités et cas d'utilisation peuvent être envisagés, notamment dans des situations où le manque de données d'entraînement empêche l'utilisation de techniques d'apprentissage automatique à proprement parler.
Dans cette conférence, je propose de développer ces concepts et d'explorer différentes situation où je les ai mis en pratique.
Dominique PothierExpert en intelligence artificielleBaseline