Source: The Conversation – France in French (2) – By Karol Desnos, Maître de conférences à l’Institut d’Electronique et des Technologies du numérique, INSA Rennes
Les systèmes d’IA sont souvent critiqués pour leur grande consommation énergétique — à tel point que l’on se demande quelle production électrique va alimenter les data centers dont la construction est prévue à travers le monde. Mais des systèmes d’intelligence artificielle plus sobres existent. Certains s’inspirent de la stratégie évolutionniste de la nature afin d’arriver à une solution la plus simple possible pour un problème donné.
Les principes de sélection naturelle théorisés par Charles Darwin ont permis l’évolution d’êtres vivants remarquablement adaptés à leurs environnements. Le cerveau humain est un exemple remarquable de résultat de cette évolution, ne consommant qu’une vingtaine de watts, soit près de 1000 fois moins qu’une intelligence artificielle le surpassant au jeu de Go. En reproduisant informatiquement ces principes évolutifs, il est possible de construire des intelligences artificielles (IA) plus sobres.
Les progrès fulgurants des IA durant cette dernière décennie sont majoritairement dus à l’utilisation des réseaux de neurones artificiels, dits « profonds », capables d’apprendre efficacement des tâches très diverses. Seulement, l’exécution d’un tel réseau requiert la réalisation de plusieurs millions à plusieurs milliards d’opérations mathématiques par un ordinateur ; et plus la complexité d’une tâche est grande, plus la taille du réseau nécessaire pour la réaliser sera grande également.
L’utilisation massive de réseaux de neurones profonds, toujours plus imposants pour en augmenter les capacités pose un problème de soutenabilité majeur. En effet, ces réseaux nécessitent des ressources naturelles et une énergie croissantes : il faut produire, alimenter et refroidir les processeurs exécutant ces calculs, notamment les GPU.
Pour répondre à ce défi de soutenabilité, il est nécessaire de proposer des technologies d’IA alternatives adaptant naturellement leur complexité à celle de la tâche accomplie pour être plus sobres.
Les approches évolutives pour l’apprentissage d’IA offrent une alternative crédible aux réseaux de neurones profonds, en étant plus sobres tout en restant performantes. En effet, contrairement aux réseaux de neurones dont la taille est fixée par un développeur avant l’entraînement, l’approche évolutive construit une IA dont la taille s’adapte minimalement à une tâche spécifique. Le résultat est une IA d’une complexité calculatoire de plusieurs centaines à milliers de fois inférieure aux réseaux de neurones, et donc naturellement plus sobre.
Mais au fait, c’est quoi l’évolution ?
La sélection naturelle et l’évolution reposent sur trois éléments essentiels : des individus définis par un génome, un mécanisme de reproduction, et un processus de sélection.
En biologie, le génome de chaque être vivant est construit en assemblant des briques de bases communes à une large diversité d’espèces : l’ADN. Le génome d’un être le caractérise en tant qu’individu, déterminant bon nombre de ses traits : forme, physiologie, taille, couleurs ; et le prédispose à certains comportements, tels que la course ou la nage.
Le mécanisme de reproduction permet à un ou plusieurs individus de donner naissance à de nouveaux individus, en copiant et en mélangeant leurs génomes. Cette copie, parfois imparfaite, crée un nouvel individu qui possède son propre génome, lui conférant des traits ressemblant à ceux de ses parents, mais possédant ses propres caractéristiques.
Un ensemble d’individus forme une population, qui existe dans un milieu où ils sont constamment évalués par des mises à l’épreuve : recherche de nutriments, survie en milieu hostile, recherche de partenaire de reproduction. Certains traits vont rendre des individus plus performants pour ces épreuves, augmentant leur chance de survie et de reproduction, quand d’autres traits moins favorables tendront à disparaître : c’est la sélection naturelle. Génération après génération, ce long processus a mené à l’apparition sur Terre d’êtres vivants adaptés à leurs environnements.
Depuis près de 60 ans, l’étude scientifique des algorithmes évolutionnaires a pour but de reprendre ces principes d’évolution pour l’optimisation de systèmes ou d’objets artificiels. Un exemple de cas d’usage concret est l’optimisation d’ailes d’avions, où le « génome » caractérise le profil, la longueur et la largeur d’une aile ; et où l’évaluation d’un individu (un modèle d’aile, en l’occurrence) mesure sa résistance, sa portance, et son poids.
Comment appliquer les principes d’évolution pour construire des IA
La programmation génétique est un domaine scientifique visant à construire des programmes informatiques, dont des IA, en appliquant ces principes évolutifs.
Dans sa version la plus simple, l’« ADN » utilisé pour créer un individu est un ensemble d’instructions ou fonctions mathématiques de base : addition, multiplication, cosinus, etc. Le génome de chaque individu est ainsi une suite d’instructions, appelée programme, qui réalise des calculs sur les données de l’environnement.
Imaginons par exemple que l’on souhaite construire une IA chargée de contrôler un robot. L’IA observe des nombres représentant la position actuelle des différents membres du robot, l’angle de ses articulations, et la vitesse de ces différents éléments. Ces nombres sont utilisés pour exécuter l’individu-programme de l’IA. Les résultats des dernières instructions constituent la réponse de l’IA à cette observation, et sont utilisés pour contrôler les différents moteurs du robot.
Le processus évolutif débute par la création d’une population d’individus en générant de courts programmes aléatoires, une simple addition par exemple. La sélection des meilleurs programmes se fait en gardant les plus aptes à réaliser la tâche voulue, par exemple, faire avancer un robot le plus loin possible. Lors des premières générations, même les meilleurs individus sont généralement très mauvais, mais constituent le capital génétique pour la première phase de reproduction. La reproduction d’un programme peut se faire par croisement, en entremêlant les instructions issues de deux programmes parents ; ou par mutation, en reproduisant un programme existant de manière imparfaite pour ajouter ou retirer une instruction. Ce processus est ainsi répété sur de nombreuses générations, et à l’issue du processus d’évolution, le programme du meilleur individu est conservé pour être utilisé comme IA.
Et donc, les IA obtenues par ce processus d’évolution sont plus sobres ?
Durant le processus évolutif, le nombre d’instructions, et donc la complexité des programmes s’adapte automatiquement à la difficulté de la tâche à réaliser. En effet, l’ajout de nouvelles instructions aux génomes des individus ne perdure que si elle leur confère de meilleures aptitudes, favorisant leur survie et reproduction. Ainsi, le processus évolutif favorise naturellement l’émergence de programmes avec peu d’instructions, et pourtant bien adaptés à la tâche.
L’utilisation de programmes ainsi construits ne nécessite pas de puce dédiée de type GPU, et peut généralement être réalisée sur des processeurs peu énergivores déjà existants, et donc plus sobres.
Un autre avantage de l’approche évolutive : l’« interprétabilité »
Si les réseaux de neurones traditionnels sont capables de réaliser des tâches complexes, leur grande complexité calculatoire rend souvent impossible d’interpréter les causes de leurs bons fonctionnements, ou pire, de leurs erreurs. Là encore, la brièveté des programmes issus du processus évolutif est un atout majeur, puisque cela rend possible l’interprétation claire du fonctionnement de l’IA ainsi créée.
Cette vidéo en présente un exemple, avec un programme créé pour illustrer cet article qui permet de contrôler une jambe robotique, appelé le « hopper ». Usuellement appris avec des réseaux de neurones complexes, l’évolution génétique a permis à une IA d’apprendre à faire avancer la jambe robot en utilisant des instructions très simples pour contrôler chacun des trois moteurs du robot. De fait, comprendre la causalité des actions de l’IA en fonction des observations est possible, et on voit que le programme démontre une grande logique où chaque moteur est principalement contrôlé par des membres proches de celui-ci.
Quel avenir pour les IA issues de processus évolutifs ?
Dans certains domaines applicatifs, les IA plus sobres issues d’un processus évolutif concurrencent les aptitudes des réseaux de neurones pour un centième (voire un millième) de leur coût, par exemple en robotique ou dans l’industrie de la cyberdéfense. Si le coût de ces IA issues du processus évolutif les rend intrinsèquement plus sobres, il faut néanmoins veiller à ce que cette sobriété ne donne pas lieu à un effet rebond, sous forme d’une utilisation encore plus massive de telles IA pour des applications où cela n’est pas strictement nécessaire.
Ce domaine de recherche offre de nombreuses perspectives et défis à la communauté scientifique, dont la petite taille ne peut rivaliser avec les investissements colossaux autour des réseaux de neurones.
Parmi ces défis, le passage à l’échelle des IA issues du processus évolutif qui ne parviennent pas encore à concurrencer les réseaux de neurones sur les tâches les plus complexes, telles que le contrôle de robots humanoïdes, ou le traitement du langage naturel à la base de bots conversationnels.
Le projet foutics est soutenu par l’Agence nationale de la recherche (ANR), qui finance en France la recherche sur projets. L’ANR a pour mission de soutenir et de promouvoir le développement de recherches fondamentales et finalisées dans toutes les disciplines, et de renforcer le dialogue entre science et société. Pour en savoir plus, consultez le site de l’ANR.
Karol Desnos a reçu des financements de l’Agence Nationale de la Recherche (ANR) au titre du projet ANR-22-CE25-0005-01.
Mickaël Dardaillon a reçu des financements de l’Agence Nationale de la Recherche (ANR) au titre du projet ANR-22-CE25-0005-01.
Quentin Vacher a reçu des financements de l’Agence Nationale de la Recherche (ANR) au titre du projet ANR-22-CE25-0005-01.
– ref. Les algorithmes évolutifs, une piste pour rendre les IA plus sobres – https://theconversation.com/les-algorithmes-evolutifs-une-piste-pour-rendre-les-ia-plus-sobres-281088
