Comprendre les enjeux liés aux développements Machine Learning

Tous les jours, nous sommes confrontés au fait que les ressources (codeurs, ingénieurs, data scientists…) indispensables aux projets d’intelligence artificielle sont rares et difficiles à recruter.

Quelle différence entre un codeur « standard » et un codeur en « machine learning » ?

Des progrès considérables ont pourtant été réalisés pour rendre le machine learning plus accessible. Des MOOCs et des manuels bien rédigés ont transformé des études et années de recherche dans un format plus facile à digérer. Il n’est même pas toujours nécessaire de comprendre les lignes de code déjà disponibles dans des bibliothèques. Une compréhension de base du fonctionnement de l’algorithme et du développement peuvent suffire.

Pourtant le machine learning reste relativement complexe.

La recherche pure ne suffit pas à améliorer les modèles. De la créativité, de l’expérimentation et de l’empirisme sont nécessaires.

Le point de blocage ne vient pas des mathématiques, car le niveau requis n’est pas très élevé. Il faut avant tout pouvoir juger du type d’outil à utiliser pour une problématique spécifique. Cela nécessite donc une connaissance des algorithmes et des modèles disponibles, ainsi que leurs avantages et inconvénients respectifs.

Cette compétence s’acquiert par l’exposition à ces modèles (cours, manuels et articles), mais surtout en les testant soi-même. Ce processus d’apprentissage empirique n’est pas propre au machine learning, mais concerne tous les développements informatiques.

La véritable difficulté du machine learning réside dans la complexité à débugger le code.

Soit votre algorithme ne fonctionne pas, soit il n’est pas assez performant. Il est à la fois plus compliqué de comprendre ce qui ne fonctionne pas dans une algorithme de machine learning, et le délai d’impact du correctif est aussi plus long. Au lieu de quelques heures, les corrections peuvent mettre plusieurs jours.

Cela peut bien-sûr provenir du dataset en entrée. Les bugs dans les données engendrent souvent du bruit, des erreurs de prétraitement, ou reflètent aussi un manque de données. Les bogues dans le modèle peuvent impliquer des limitations réelles dans les capacités de modélisation.

Comment améliorer ses compétences en machine learning ?

Il s’agit de développer sa propre intuition pour savoir où quelque chose a pu dys- ou mal fonctionner. Quand de multiples facteurs peuvent être en cause, seule l’expérience vous aidera à vous perfectionner.