INTRODUCTION
L’apprentissage automatique a révolutionné la vision par ordinateur et le traitement du langage et est désormais en train de transformer la biologie et l’ingénierie. Cependant, la plupart des méthodes d’apprentissage automatique sont sujettes à de nombreuses décisions de conception, ce qui constitue un obstacle considérable pour les nouveaux utilisateurs.
En Deep Learning, les praticiens doivent choisir entre une amplitude d'architectures neuronales, d'optimiseurs de formation et d'hyperparamètres pour que les réseaux atteignent des performances suffisantes. Même les experts se retrouvent souvent confrontés à des essais et des erreurs fastidieux jusqu'à ce qu'ils identifient un bon ensemble de choix pour un ensemble de données particulier.
Dans cet article, nous allons explorer le domaine de l'apprentissage automatique automatique (AutoML). Notre objectif est de démystifier AutoML et de lancer une discussion éclairée sur la façon dont il affecte le domaine de la science des données. L'objectif ultime d'AutoML est d'automatiser tous les processus d'apprentissage automatique, en mettant les humains hors de la boucle. Mais ne soyez pas trop excité (ou stressé), car les data scientists et les ingénieurs ML ne sont pas encore au chômage.
Démystifier AutoML
AutoML est un terme générique cela peut inclure tout effort visant à automatiser une ou plusieurs parties d’un projet de science des données. Il vise à prendre des décisions basées sur les données de manière objective et automatisée. Le but ultime est de remplacer le data scientist humain. L'utilisateur fournirait des données d'entrée et le système AutoML déterminerait l'approche la plus performante pour une application particulière avec une supervision humaine minimale.
AutoML peut être décomposé en quatre piliers principaux, chacun ciblant une tâche différente, souvent avec une approche similaire. Ces quatre piliers sont les mieux étudiés et mis en œuvre à ce jour.
TLDR: Découvrir la meilleure combinaison d'hyperparamètres pour un modèle donné (HPO). Découverte de nouvelles architectures de réseaux neuronaux (NAS). Utiliser les expériences passées pour améliorer les nouvelles (Meta-Learning). Gérer certaines parties de la phase de prétraitement d'un pipeline ML. Si vous souhaitez plus de détails, lisez les sections ci-dessous.
Optimisation des hyperparamètres (HPO)
Chaque modèle d'apprentissage automatique possède des hyperparamètres. La tâche la plus élémentaire de l'apprentissage automatique automatisé consiste à découvrir les combinaisons d'hyperparamètres qui optimisent les performances. Cependant, l’espace de recherche est toujours (pré)défini par un expert humain.
Certaines méthodes HPO sont :
- Recherche par grille et recherche aléatoire [1] : Ce sont les méthodes HPO essentielles ; ils automatisent le réglage manuel. Grid Search essaie chaque option demandée par l'utilisateur, tandis que Random Search l'améliore en échantillonnant aléatoirement les configurations jusqu'à épuisement du budget de calcul.
- Optimisation bayésienne[2] et ses variantes pratiques comme l'optimisation bayésienne par contraintes. Ils peuvent obtenir d’excellents résultats, dépassant souvent les performances des experts humains.
- Méthodes basées sur la population : quelques exemples sont algorithmes génétiques ou évolutifs.
- Ceux-ci maintiennent un ensemble de configurations et appliquent des perturbations (mutations) et des combinaisons de différents membres pour obtenir une nouvelle et meilleure génération de configurations. L'algorithme le plus populaire est CMA-ES.
- Méthodes basées sur les bandits : elles déterminent le meilleur algorithme parmi un ensemble fini d'algorithmes donné, sur la base d'approximations basse fidélité de leurs performances. Par exemple, ils n'exécuteront un modèle que pendant quelques itérations, élimineront les pires candidats, puis continueront pendant quelques itérations supplémentaires avant de les éliminer à nouveau. Les méthodes efficaces incluent Réduction de moitié successive[3] et Hyperbande optimisation[4].
Recherche d'architecture neuronale (NAS)
Les architectures de réseaux de neurones profonds, malgré leur domaine d'application, deviennent de plus en plus complexes. La plupart de ces architectures sont conçues manuellement par des experts, une tâche assez longue et coûteuse. Concevoir une architecture optimale est très complexe mais aussi un facteur critique dans le succès du deep learning. Ainsi, la prochaine étape logique d’AutoML consiste à automatiser la recherche de nouvelles architectures de réseaux neuronaux.
Le NAS en tant que tâche comprend 3 étapes. D'abord,un espace de recherche est défini. Cet espace de recherche définit quelles architectures peuvent être potentiellement découvertes par le NAS. Par exemple, un espace de recherche relativement simple est l’espace des architectures neuronales structurées en chaîne où le flux d’informations est séquentiel de la couche Li à la couche Li+1. Un exemple d'espace de recherche plus complexe serait Architecture résiduelle.
Fig.1 : Le cadre de recherche d'architecture neuronale. Un espace de recherche A est défini, puis une stratégie de recherche est appliquée sur l'espace de recherche A. Les architectures qui dérivent de la recherche sont évaluées à l'aide d'une stratégie d'estimation des performances et le cycle se répète jusqu'à convergence. Flux de travail inspiré de : [5]
Deuxième,une stratégie de recherche est utilisée pour parcourir un espace de recherche souvent immense. Ces stratégies incluent l'optimisation bayésienne, l'apprentissage par renforcement et les méthodes basées sur le gradient.
Enfin,chaque architecture découverte par la stratégie de recherche doit être évaluée. La formation du réseau et l’évaluation de l’ensemble de données de validation prennent généralement beaucoup de temps. Par conséquent, une certaine approximation est utilisée comme heuristique pour « ajuster » la stratégie de recherche. Certaines méthodes sont des estimations de fidélité inférieure, l'extrapolation de la courbe d'apprentissage et des modèles ponctuels [5].
Méta-apprentissage
Il s’agit d’un sujet en soi que nous ne pouvons pas aborder en détail dans cet article. Cependant, comme il est intégré à AutoML pour trouver les pipelines et modèles d'apprentissage automatique les plus optimaux, nous expliquerons brièvement le concept central.
Le méta-apprentissage signifie apprendre à apprendre en observant systématiquement les performances des différentes approches de ML dans une grande variété de tâches. Les hyperparamètres du modèle, les architectures de réseau, les configurations de pipeline, les performances d'évaluation et le temps de formation peuvent être pris en compte métadonnées d'entraînement. En collectant des métadonnées, nous pouvons faire des estimations éclairées, basées sur des données, sur ce qui fonctionnera le mieux dans les scénarios futurs. Tout comme les humains tirent des connaissances de compétences antérieures pour en apprendre de nouvelles, le méta-apprentissage fait de même pour découvrir et former de nouveaux modèles. Son utilisation dans AutoML est un facteur important de son succès et de sa rentabilité informatique.
Prétraitement des données et ingénierie des fonctionnalités
Cette partie du pipeline ML est probablement la plus difficile à automatiser entièrement. Certaines parties de ce processus, comme la normalisation, la mise à l'échelle, la sélection des fonctionnalités et parfois le codage des fonctionnalités, peuvent être automatisées relativement facilement. Vous pouvez trouver les meilleures techniques de normalisation (par exemple z-score/minimax) grâce à une procédure d'optimisation des hyperparamètres. La sélection des fonctionnalités peut être implémentée par des algorithmes itératifs tels que Sélection en avant, élimination en arrière,ou via des méthodes de filtrage comme Filtres de corrélation. Comme indiqué dans les sections suivantes, d'autres parties du processus, telles que le nettoyage des données et l'ingénierie des fonctionnalités, sont beaucoup plus difficiles à automatiser.
Avantages d'AutoML
À présent, vous devriez avoir une meilleure compréhension de ce que signifie AutoML. Il ne s’agit pas d’une baguette magique mais d’une combinaison de techniques d’optimisation, au même titre que le Machine Learning. Cependant, il fait parfois des merveilles et offre plusieurs avantages :
- Il permet de découvrir l’algorithme d’apprentissage le plus adapté à la tâche à accomplir.
- Cela réduit considérablement le temps et les efforts nécessaires pour trouver les hyperparamètres optimaux d’un modèle.
- Il peut produire des modèles qui fonctionnent mieux en termes d'évaluation que les humains.
- Il automatise les processus itératifs et chronophages comme le réglage des hyperparamètres, permettant au data scientist de se concentrer sur des tâches plus critiques/difficiles comme la conception de solutions et la recherche.
- Il permet de découvrir de nouvelles architectures de réseaux neuronaux (NAS) ou des ensembles de modèles (grâce au méta-apprentissage) que les experts humains n'ont pas pu découvrir.
Dans l'ensemble, AutoML nous aide à concevoir et à former davantage de modèles plus efficacement. En conséquence, cela peut nous aider à créer de meilleurs modèles que nous ne le ferions sans lui. Cette efficacité permet une conception de produits, une découverte de données et une livraison en temps opportun sur le marché.
Limites d'AutoML
Ces avantages signifient-ils que les data scientists seront au chômage dans les prochaines années ? Pas si vite; il existe des processus qu'AutoML ne peut pas ou ne gère pas encore de manière fiable.
- Évaluation des performances: La précision et le score F1 sont souvent les mesures de base utilisées dans la littérature pour comparer différents modèles. Néanmoins, ces mesures reflètent rarement la valeur qu’un modèle doit apporter dans le monde réel. Choisir ou même concevoir de nouvelles métriques spécifiques à un projet fait partie du travail d'un data scientist. La performance est subjective et se mesure de différentes manières, d’un projet à l’autre et d’une entreprise à l’autre. Choisir et concevoir la bonne métrique à optimiser est une tâche qu'aucun outil AutoML ne pourra jamais accomplir.
- Nettoyage des données est un processus complexe et adapté aux tâches du pipeline ML. Appliquer certaines règles pour accélérer le processus est possible, mais un encadrement humain est indispensable. Le data scientist doit d’abord très bien connaître ses données. Donnons un exemple de travail avec des données tabulaires. Une fonctionnalité peut manquer 90 % de ses entrées. Doit-il être automatiquement supprimé par AutoML ? Ou cette caractéristique est-elle essentielle puisqu’elle code une propriété fondamentale (par exemple, un soupçon d’une maladie rare qui n’est pas présente chez des patients par ailleurs en bonne santé) ? Comment l’imputation des données (remplissage des valeurs manquantes) sera-t-elle gérée dans ce scénario ? Cela peut être automatisé, mais la supervision humaine est essentielle car toutes les techniques n’ont pas de sens pour chaque ensemble de données. De plus, les ensembles de données très sales (comme la plupart des ensembles de données réels) peuvent contenir des types de données mixtes tels que « chaîne » et « float » dans une seule colonne, ce qu'un outil automatisé ne parviendra pas à gérer.
- Ingénierie de fonctionnalités dérivée de l'expertise du domaine: Celui-ci s’applique principalement au ML traditionnel et moins au Deep Learning. Néanmoins, l'ingénierie des fonctionnalités est un art en soi, et lorsqu'elle est associée à une expertise du domaine, elle peut « faire ou défaire l'affaire ». Avoir l’intuition humaine guidée par la connaissance du domaine pour piloter le processus d’ingénierie des fonctionnalités peut fournir d’excellents résultats qu’aucun outil ne peut égaler.
- Les types de données inhabituels : tels que les données réseau, souvent représentées sous forme de graphiques, sont quelque chose que les outils AutoML sont loin de gérer. Tout type de données qui ne relève pas des types habituels (tabulaire, image, texte) ne sera pas facilement digéré par les outils automatisés, du moins pour l'instant.
- Apprentissage non supervisé : la plupart des outils AutoML sont efficaces pour résoudre les problèmes d'apprentissage supervisé. La gestion des problèmes non supervisés est plus difficile car il n’existe pas de mesures strictes pour mesurer les performances. AutoRL (Automatic Reinforcement Learning) n'est pas aussi bien étudié, sans parler des paradigmes d'apprentissage plus « exotiques » tels que Apprentissage auto-supervisé ou Apprentissage en quelques coups. AutoML peut toujours aider à choisir les bons paramètres, mais ne gère pas l'ensemble des pipelines dans des paradigmes d'apprentissage plus avancés.
Outils AutoML que vous pouvez utiliser
Certains outils AutoML bien connus peuvent être brièvement classés comme suit :
Outils d’apprentissage automatique « traditionnel » :
- Apprentissage automatique
- Auto-Weka
- TPOT
Outils pour l'apprentissage profond automatique :
- Auto-Keras
- Auto-Net
Outils pour les séries temporelles :
- PyCaret
Des outils offrant de multiples fonctionnalités :
- AutoGluon
- H2O
La précédente est une liste non exhaustive d’outils et de bibliothèques AutoML disponibles en tant qu’outils open source. De nombreuses autres bibliothèques et outils existent, et d’autres voient le jour au moment où j’écris cet article. Picsellia, bien qu'il ne s'agisse pas essentiellement d'une plate-forme AutoML, peut apporter de nombreux avantages et vous aider entraîner les modèles les plus performants et automatiser du déploiement pour vous !
AutoML remplacera-t-il les data scientists à l'avenir ?
L’apprentissage automatique a sans aucun doute transformé de nombreux secteurs et domaines. Malheureusement, de nombreuses personnes ont déjà perdu ou perdront leur emploi à l’avenir à cause du ML. Aujourd’hui, l’apprentissage automatique transforme également son domaine !
Il ne fait aucun doute qu’AutoML pose un nouveau paradigme dans le domaine et, inévitablement, les scientifiques des données et les ingénieurs en apprentissage automatique devront s’adapter.
L'expertise du domaine et les compétences en science des données sont plus précieuses que jamais puisque la science des données est introduite dans de nombreux secteurs différents, et AutoML permet aux non-experts d'appliquer l'apprentissage automatique dans leur domaine.
Cependant, le travail d’un data scientist a toujours reposé sur des connaissances théoriques et des compétences pratiques. D’une part, disposer d’une solide expertise théorique en statistiques, en apprentissage automatique et en apprentissage profond est crucial. D'autre part, les data scientists s'appuient sur des outils développer des modèles et traiter les données. L'expertise en outils fait partie intégrante du succès de tout data scientist.
AutoML n'est qu'un autre outil que les data scientists doivent apprendre à utiliser efficacement lorsque cela est à leur avantage tout en respectant ses limites. Étant donné qu'AutoML ne sera pas en mesure de résoudre tous les problèmes, vous devez savoir comment les gérer avec succès en utilisant d'autres outils couplés à l'intuition humaine.
Concevoir des modèles avec sklearn et former des réseaux de neurones simples sont des compétences qui peuvent être facilement automatisées. Cependant, un data scientist entièrement automatisé est loin d’être une réalité. En fin de compte, quelqu'un doit utiliser AutoML ; les managers et les C-suits ne le feront pas eux-mêmes. Une chose est sûre; moins de compétences techniques sont nécessaires pour appliquer le ML dans un domaine à l’aide de tels outils automatisés.
Emballer
L’adaptation est la clé. Le monde du ML a certainement changé. AutoML fait partie d'un mouvement visant à rendre l'apprentissage automatique plus systématique (puisqu'il est encore ponctuel de nos jours) et plus efficace. La formation et la livraison de modèles à la « vitesse de la lumière » sont plus proches de ce que les entreprises et les marchés attendent. Les outils AutoML et les plateformes MLOps complètes comme Picsellia peuvent vous aider à itérer sur vos solutions et générer de la valeur beaucoup plus rapidement. Demandez votre essai !
Les références
[1]Recherche aléatoire pour l'optimisation des hyper-paramètres
[2]Sortir l'humain de la boucle : un examen de l'optimisation bayésienne.
[3]Exploration presque optimale chez les bandits multi-armés
[4]Hyperband : une nouvelle approche basée sur Bandit pour l'optimisation des hyperparamètres
[5]Recherche d'architecture neuronale : une enquête