Lors du développement d’une intelligence artificielle (IA), le plus gros du travail porte sur le processus d’apprentissage du système. En d’autres termes, l’IA doit apprendre à raisonner, à décider, afin qu’elle soit capable de résoudre seule des tâches « inconnues » ultérieurement. Pour cela, ses concepteurs l’entraînent à partir de modèles prédéfinis. C’est ce que l’on appelle l’apprentissage automatique ou machine learning. Aujourd’hui, des ingénieurs déclarent utiliser cette même technique pour générer de nouveaux agents intelligents, sans aucune intervention humaine.
Cela fait quelques années que les ingénieurs de Google travaillent sur un système de machine learning ultra perfectionné, baptisé AutoML. Il s’agit d’un système de machine learning automatisé : il est conçu pour créer des modèles de machine learning de qualité – pour l’apprentissage des IA – à grande échelle ; le développement de ces modèles implique en effet une série de tâches fastidieuses et répétitives, qu’il est tout à fait intéressant d’automatiser. AutoML est déjà capable de créer seul une IA plus perfectionnée que ce qu’un humain ne pourrait développer.
Une IA en charge de la phase d’apprentissage
Le développement d’un algorithme d’IA est laborieux et prend beaucoup de temps. Par exemple, les réseaux neuronaux artificiels – que l’on utilise aujourd’hui pour les algorithmes de traduction ou la conduite autonome, doivent être entraînés à partir de grosses quantités de données, qui viendront modifier les connexions neuronales. De plus, des sous-réseaux de neurones sont chargés d’effectuer des tâches plus spécifiques – comme repérer des panneaux routiers – et les chercheurs peuvent passer des mois à déterminer comment les connecter, afin qu’ils fonctionnent ensemble de manière transparente. AutoML permet de simplifier grandement la tâche.
Google a ainsi mis à disposition des développeurs un nouveau service, Google Cloud AutoML, qui leur permet d’entraîner leurs modèles de machine learning sans nécessairement posséder des connaissances techniques spécifiques. À ce jour, le service permet par exemple d’entraîner des modèles de reconnaissance visuelle (AutoML Vision), mais aussi des modèles dédiés à la reconnaissance du langage naturel ou à la traduction. Un exemple des possibilités d’AutoML en vidéo :
AutoML fonctionne sur la base d’un apprentissage par renforcement : cela consiste à plonger l’agent intelligent dans un environnement dans lequel il doit prendre des décisions, à la suite de quoi il obtient une récompense (positive ou négative). Le but de cet entraînement pour l’IA est de développer un comportement décisionnel optimal de façon à ce qu’elle maximise la somme des récompenses au cours du temps. AutoML agit comme un réseau neuronal artificiel, qui développe un réseau d’IA-enfants pour chaque tâche spécifique.
Les chercheurs ont aujourd’hui fait évoluer AutoML en y introduisant des concepts de l’évolution darwinienne. De ce fait, le système peut désormais concevoir des programmes d’IA, qui continuent de s’améliorer avec le temps, et bien plus rapidement que si des humains se chargeaient du codage ! Cette nouvelle version, baptisée AutoML-Zero, pourrait ainsi conduire au développement rapide de systèmes plus intelligents, qui se rapprochent au plus près des capacités du cerveau humain. L’intervention humaine étant ici réduite à son minimum. « Il est possible aujourd’hui de découvrir automatiquement des algorithmes d’apprentissage automatique complets, en utilisant simplement des opérations mathématiques de base comme blocs de construction », écrivent les chercheurs dans leur publication.
À l’origine, AutoML a été conçu pour permettre aux applications de tirer parti de l’apprentissage automatique plus facilement ; il comprend déjà lui-même de nombreuses fonctionnalités automatisées, mais cette version améliorée réduit encore la quantité requise de saisie humaine. En utilisant un processus simple en trois étapes – 1) configurer, 2) prévoir et 3) apprendre – cela peut être considéré comme un apprentissage automatique à partir de zéro, d’où le nom AutoML-Zero.
Le principe : ne conserver que les plus performants
Comment ça marche ? Le système commence par réaliser une sélection de 100 algorithmes, en combinant au hasard des opérations mathématiques simples. Un processus sophistiqué d’essais et d’erreurs identifie ensuite les meilleurs « candidats » face à des tâches simples, qui sont retenus – après quelques ajustements – pour une autre série d’essais. Des copies des meilleurs interprètes subissent une mutation, via remplacement, édition ou suppression au hasard d’une partie de leur code, pour créer de légères variations des meilleurs algorithmes. Ces « enfants » s’ajoutent à la population, tandis que les programmes plus anciens sont tués. Et le cycle se répète.
En d’autres termes, le réseau neuronal impliqué évolue au fur et à mesure. Quand un nouveau code est produit, il est testé sur des tâches caractéristiques (telles que repérer la différence entre une image de camion et une image de chien), puis les algorithmes qui auront été les plus performants dans ces tâches sont conservés pour une itération future. Un processus de sélection naturelle en somme…
Sur le même sujet : L’intelligence artificielle prend désormais de nombreuses décisions à la place de l’Homme
De plus, l’évolution adapte les algorithmes à différents types de tâches : par exemple, des techniques de type « abandon » apparaissent lorsque peu de données sont disponibles. Le processus est, en outre, très rapide : les chercheurs estiment que chaque processeur peut rechercher jusqu’à 10’000 algorithmes possibles ; ainsi, plus il y a de processeurs disponibles pour la tâche, plus elle peut être effectuée rapidement. Le fait que l’intervention d’un humain soit réduite au strict minimum permet en outre d’éliminer de l’IA d’éventuels préjugés. À terme, les systèmes d’intelligence artificielle seront donc plus faciles d’accès, car même les programmeurs sans expertise en IA pourront les exploiter.
À l’heure actuelle, le système n’est capable de produire que des systèmes d’IA simples, mais le travail d’amélioration d’AutoML-Zero se poursuit, avec l’espoir qu’il pourra éventuellement concevoir de lui-même des algorithmes auxquels de simples développeurs humains n’auraient jamais pensé.