IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

IA : des chercheurs ont mis au point des algorithmes d'apprentissage automatique qui s'améliorent génération après génération
Sans intervention humaine

Le , par Bill Fassinou

254PARTAGES

8  0 
L’intelligence artificielle et l’informatique quantique pourraient bien être les prochaines révolutions de cette décennie, mais il reste beaucoup de travail dans ces deux domaines selon les scientifiques. Dans le cas de l’IA, l’un des plus grands obstacles à franchir est le temps accordé à la mise en place des algorithmes d’apprentissage automatique (ML) ou des réseaux de neurones. C’est un problème qui tend à être résolu. Des chercheurs ont mis au point des algorithmes capables de construire de manière autonome le modèle d’apprentissage automatique adapté à un problème donné.

Il est connu de tous que la construction d'un algorithme d'IA prend assez de temps et de ressources. Par exemple, les réseaux de neurones, un type courant d'apprentissage automatique utilisé pour la traduction des langues et la conduite des voitures. Ce sont des réseaux d’apprentissage qui imitent vaguement la structure du cerveau et apprennent à partir des données d'entraînement en modifiant la force des connexions entre les neurones artificiels. Dans ces réseaux, il y a des sous-circuits de neurones plus petits qui accomplissent des tâches spécifiques.

Il y a par exemple le repérage des panneaux dans le cas d’une voiture autonome. Pour atteindre leur objectif, les chercheurs peuvent mettre des mois à chercher la façon dont il faut les connecter pour qu'ils travaillent ensemble de manière transparente. Ces dernières années, les scientifiques ont accéléré le processus en automatisant quelques-unes des étapes. Mais ces programmes reposent toujours sur l’assemblage de circuits prêts à l'emploi conçus par l'homme. Cela signifie que le résultat est encore limité par l'imagination des ingénieurs et leurs préjugés existants.

Les nouvelles trouvailles des scientifiques pourraient constituer un accélérateur pour l’évolution de l’IA. En effet, les chercheurs ont créé des logiciels qui empruntent des concepts de l'évolution darwinienne, dont la “survie du plus fort”, pour construire des programmes d'IA qui s'améliorent génération après génération sans intervention humaine. Les programmes ont reproduit en quelques jours des décennies de recherche sur l'IA. Selon ses concepteurs, il est tout à fait possible que ces programmes découvrent un jour de nouvelles approches de l'IA.


Quoc Le, un informaticien de Google, et ses collègues ont présenté un programme qu’ils ont baptisé AutoML-Zero qui permet de développer des programmes d'IA avec un apport humain quasi nul. En fait, AutoML est l'abréviation de "automated machine learning" (apprentissage machine automatique) et désigne un algorithme capable de déterminer, puis de mettre en place le meilleur modèle d'apprentissage automatique pour un problème donné. Leur approche serait basée sur des concepts mathématiques de base qu'un lycéen connaîtrait.

« Notre but ultime est de pouvoir développer de nouveaux concepts d'apprentissage automatique que même les chercheurs ne pourraient pas trouver », a déclaré Le. Leur programme découvre seul des algorithmes utilisant une approximation libre de l'évolution. Il commence par créer une population de 100 algorithmes candidats en combinant de manière aléatoire des opérations mathématiques. Il les teste ensuite sur une tâche simple, comme un problème de reconnaissance d'images où il doit décider si une image montre un chat ou un camion.

À la fin de chaque cycle, le programme compare les performances des algorithmes à celles d'algorithmes conçus à la main. Des copies des meilleurs résultats sont “mutées” en remplaçant, modifiant ou supprimant au hasard une partie de son code pour créer de légères variations des meilleurs algorithmes. Ces “enfants” sont ajoutés à la population, puis les programmes plus anciens sont éliminés. Le système crée des milliers de ces populations en même temps. Il fait passer ainsi des dizaines de milliers d'algorithmes par seconde jusqu'à ce qu'il trouve une bonne solution.

Le est optimiste par rapport aux potentiels d’AutoML-Z-éro. Il estime que les solutions mises en avant par AutoML-Zéro sont très simples comparées aux algorithmes les plus avancés d'aujourd'hui. Toutefois, Joaquin Vanschoren, informaticien à l'université de technologie d'Eindhoven, pense qu'il faudra un certain temps avant que cette approche ne puisse rivaliser avec l'état de l'art. Selon lui, ce n’est pas en demandant au programme de partir de zéro qu’il pourra s’améliorer, mais plutôt en l'ensemençant avec certaines des astuces et techniques que les humains ont déjà découvertes.

En se basant sur ces critiques et d’autres du milieu, Le et son équipe ont publié un nouveau rapport sur arXiv décrivant une approche similaire pour concevoir un nouveau composant prêt à l'emploi très populaire utilisé dans de nombreux réseaux de neurones. Selon la nouvelle approche de Le et ses collègues, en augmentant le nombre d'opérations mathématiques dans la bibliothèque et en affectant des ressources informatiques encore plus importantes au programme, cela pourrait lui permettre de découvrir des capacités d'IA entièrement nouvelles.

Sources : Rapport de l’étude (1), Rapport de l’étude (2), AutoML

Et vous ?

Qu'en pensez-vous ?

Voir aussi

Google utilise l'intelligence artificielle pour concevoir des puces plus efficaces et moins gourmandes en énergie qui accéléreront le développement de l'IA, selon l'entreprise

Microsoft embarque les accélérateurs d'IA de Graphcore à sa plateforme cloud Azure pour optimiser les calculs liés à l'intelligence artificielle

Google lance un nouveau service baptisé Cloud AutoML pour vous permettre de former des modèles de machine learning personnalisés sans avoir à coder

AutoML : la machine d'intelligence artificielle de Google qui a appris à se répliquer serait meilleure que les ingénieurs pour créer d'autres IA

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Matthieu Vergne
Expert éminent https://www.developpez.com
Le 14/04/2020 à 22:43
Citation Envoyé par Bill Fassinou Voir le message
Les nouvelles trouvailles des scientifiques pourraient constituer un accélérateur pour l’évolution de l’IA. En effet, les chercheurs ont créé des logiciels qui empruntent des concepts de l'évolution darwinienne, dont la “survie du plus fort”, pour construire des programmes d'IA qui s'améliorent génération après génération sans intervention humaine. Les programmes ont reproduit en quelques jours des décennies de recherche sur l'IA. Selon ses concepteurs, il est tout à fait possible que ces programmes découvrent un jour de nouvelles approches de l'IA.
Alors oui, c'est possible, c'est même fortement probable en théorie, mais ça n'a pas grand chose de nouveau. On appelle ça la programmation génétique :
https://fr.wikipedia.org/wiki/Progra...A9n%C3%A9tique

De fait, ce genre de technique a déjà permit de trouver des choses intéressantes, donc on sait que ça peut arriver de nouveau. Rien de nouveau sous le soleil. C'est simple et ça marche, par contre ça n'est pas une recette magique.

C'est du trial & error avec beaucoup de redondance, ce qui permet d'exploiter les menues variances qui pourraient apparaître ici ou là pour trouver des optimisations clés qui ne sont pas forcément évidentes. C'est certes la technique préférée de Mère Nature, mais celle-ci a un avantage de taille : c'est l'équivalent d'un énorme ordinateur intégralement parallélisé, où tout évolue en même temps. Rajouter de la population ne freine donc pas les autres car chaque nouvel individu vient avec sa propre "capacité de calcul". A contrario, dans un PC, la capacité de calcul est prédéterminée, plus on augmente la population et plus le calcul se ralenti car le temps de calcul se distribue sur chaque individu.

De plus, Mère Nature n'a, à ma connaissance, pas de deadline : tout évolue à son grès et le plus adapté prendra naturellement l'avantage... un jour peut-être. Un PC par contre tourne pendant un certain temps sur une tâche avant qu'on le fasse passer à autre chose.

Ces contraintes rendent les algos génétiques très coûteux en temps de calcul pour un résultat qui n'est, rappelons le, jamais garanti car fortement sujet au hasard.

Citation Envoyé par Bill Fassinou Voir le message
Selon la nouvelle approche de Le et ses collègues, en augmentant le nombre d'opérations mathématiques dans la bibliothèque et en affectant des ressources informatiques encore plus importantes au programme, cela pourrait lui permettre de découvrir des capacités d'IA entièrement nouvelles.
Augmenter le nombre d'opérations, oui ça peut élargir les possibilités si une combinaison des opérations existantes ne suffit pas. Le reste par contre, ce n'est qu'un gain de temps, mais un gain purement statistique car de toute façon on n'a aucune garantie de résultat. De là la question qui fait mal : pourquoi mettre encore plus de ressources là dedans si on ne sait même pas ce qu'on peut en tirer ?

À titre expérimental, ça passe bien, mais quand il s'agit de mettre des fonds pour en faire un produit industriel, cela revient à jouer au loto. Dans ce conditions, le raisonnement change : il ne s'agit plus de se demander ce que ça va trouver de mieux encore, mais de voir la satisfaction obtenue au bout d'un certain temps de calcul et accepter ou non de s'en contenter.

On peut prendre le voyageur de commerce pour exemple pratique : ça se résout bien par des algos génétiques. Par contre, comme on ne sait jamais quand on obtient le meilleur résultat (ni si on l'obtiendra un jour, si on n'a pas les opérations qu'il faut on peut être sûr de ne jamais l'atteindre) on a plutôt tendance à le laisser tourner un moment, voir ce que ça donne, le laisser tourner un peu plus, voir si on a mieux, et ne pas en faire plus quand on obtient un résultat "stable". Peu importe que ce soit le meilleur ou non, car en pratique, on n'a pas besoin d'avoir le parcours le plus court au mètre près ou le moins cher à l'euro près. Si ce résultat est satisfaisant, on garde, sinon on utilise autre chose et on oublie l'algo génétique.

Bref, ce genre de techniques, c'est bien pour jouer (on atteint rapidement le meilleur) ou pour des situations où on accepte de ne jamais avoir le meilleur, tant qu'on a quelque chose de satisfaisant dans un temps raisonnable. En ce sens, pour l'application qui nous intéresse ici, je ne suis pas convaincu que ça fasse sa place dans un contexte industriel. Surtout que ça rajoute potentiellement une dimension d'incontrôlé à ces réseaux de neurones déjà "opaques", ce qui ne sera pas du goût de tout le monde et réduisant du coup un tel usage à des cas toujours moins critiques.
9  0 
Avatar de Matthieu Vergne
Expert éminent https://www.developpez.com
Le 15/04/2020 à 19:06
Citation Envoyé par mabeghin Voir le message
A moins qu'un algo d'IA trouve comment faire de la fission nucléaire avant qu'on achève la planète...
Fusion tu veux dire ? La fission, on en fait déjà depuis longtemps.
3  0 
Avatar de X0r0X
Candidat au Club https://www.developpez.com
Le 16/04/2020 à 14:56
Euh c'est moi ou bien c'est simplement un algorithme génétique, et ça existe depuis longtemps ? (j'en avais développé plusieurs durant mes études en 2010 et 2011...)
2  0 
Avatar de zoonel
Membre actif https://www.developpez.com
Le 17/04/2020 à 20:59
arrêtez avec ce post, stop !
voilà vous m'avez forcer à répondre merci...

1. Le titre, le traitement et les infos de l'actu sont un foutoir pas possible, des notions d'I.A. énumérés dans tous les sens au point de perdre le lecteur malgré le titre pourtant fort accrocheur (non en fait le titre est nul ils auraient dû mettre «Des chercheurs ont mis au point des algorithmes qui ont reproduit en quelques jours des décennies de recherche sur l'IA»)

2. En conséquence de 1. les lecteurs sont bernés et y voient des algo génétiques bien connus et ont donc envie de poster pour le souligner alors que la vraie news n'est pas là... du tout !

Si vous voulez savoir de quoi il en retourne, suivez les liens des sources vers AutoML pour savoir ce que c'est et ensuite ce lien ci: https://github.com/google-research/g...er/automl_zero
(vous pouvez aussi lire le papier (1) en source de l'article, le papier (2) ne représentant que les 4 dernières lignes)

Je vais pas faire un cours sur l'I.A. parce que j'en serai incapable, je pourrais pas non plus résumé les papier c'est trop velu, d'ailleurs je n'ai lu que l'intro et la conclusion.
Mais la vrai news porte sur ceci: le Machine Learning (ML) et la manière de gérér/configurer certaines choses en auto. Là où il existe déjà des algos pour créer/paramétrer du machine learning (AutoML), ici les chercheurs sont allés beaucoup plus loin en faisant sauter les grosse restrictions humaines de AutoML pour se baser sur des blocks mathématiques simples (AutoML-Zero).
Là où c'est très fort, c'est que leur algo à permis de retrouver des concepts connus d'I.A., descente de gradient, réseau neurone à 2 couches avec backpropagation, ... Et pourrait même créer des algo de ML plus adaptés et performant pour le problème donné, en introduisant des interactions que n'apportent pas le ML classique.
Bref ici on est dans une I.A. génétique qui sort des algo d'I.A. ML
Alors oui on parle bien d'algo génétique mais c'est pas ça qu'on a découvert faut pas déconner ça doit faire plus de 50 ans que les algo génétique sont connus.

Le deuxième article porte plus sur les deep neural networks, et plus précisément sur 2 concepts présent dans les réseaux de neurones, la fonction d'activation qui dit si un neurone est "allumé" ou "éteint" , bref c'est ce qui entre autre permet de savoir si en sortie on à un bit à 1 ou 0, et le deuxième concept parle de normalisation et ma connaissance s'arrête là. Et c'est 2 choses doivent être bien choisie car elle peuvent faire en sorte que le réseau de neurone ne soit pas performant voire même que le réseau ne converge pas. Dans le papier il considèrent d'au lieu de résoudre les 2 trucs séparément, de les résoudre de concert (avec sans doute un algo génétique, j'ai pas été revérifier).

ps: ça fait la deuxième fois que le sujet m’intéresse, que y'a un papier en description et que pour finir je doive aller lire le papier pour me rendre compte que l'article est complétement à côté de la plaque. Si j'étais mauvaise langue j'aurais dit que l'auteur n'a rien compris à ce qu'il a écrit.
4  2 
Avatar de phpaya
Membre à l'essai https://www.developpez.com
Le 21/04/2020 à 18:54
Tout a été dit avant ma réponse. Il serait temps d'arrêter de parler d'IA. Je constate depuis plus de 40 ans d'informatique à mon compteur que ce qui change vraiment, c'est la puissance de calcul. Les mots sont modifiés mais les concepts existaient, ils avaient plus de limitations côté machine.

J'ai planché sur le "voyageur de commerce" en 1982 et c'est la seule fois que j'ai abandonné un projet. Le super Apple II avec son Pascal ne voulait pas compiler mon code trop long, j'ai renoncé bêtement, mais cela m'a servi de leçon (et j'ai perdu un diplôme). Aujourd'hui, sur un smartphone avec Python, il n'y aurait aucun souci pour une SOLUTION RAISONNABLE avec un nombre raisonnable de nœuds. MAIS, c'est un problème NP-complet (donc 1 million de dollars avec le Clay Institute) et toute cette IA ne va pas le résoudre.

Tant que j'y suis, le "big data" s'appelait "Analyse des Données" en 1981, je travaillais sur carte perforée ... Puis c'est devenu "Data Mining" et enfin "Big Data". Un des fondateurs de cette discipline est Français, j'ai beaucoup aimé sa prose, même si je ne comprenais pas tout à l'époque. Lire pour le fun : https://fr.wikipedia.org/wiki/Jean-Paul_Benz%C3%A9cri Jean-Paul Benzécri et Analyse des Données. Ses livres valent vraiment le détour pour des matheux.

Je ne vais pas continuer à jouer le vieux qui rappelle l'Histoire qui se répète. Comme dans une randonnée, il faut parfois s'arrêter et se retourner pour voir un paysage sous un autre angle et faire une super photo.

Petite dernière, les avions et les voitures avec systèmes embarqués ont des soucis. Demandez à cette IA de résoudre GRAPHIQUEMENT ou par approximation la simple équation : exp(-2x) - 0,001x exp(-2x) = 0 écrite sous cette forme (exp est la fonction exponentielle). On peut modifier un peu pour l'embrouiller.
A la main, on factorise, c'est un réflexe, exp(-2x)[1 - 0,001x]=0. Qui donne une seule solution x = 1000. Mais c'est l'enfer graphiquement ou par approximation (j'ai testé plusieurs algo. connus), problème de précision, même avec des "double précision" ou plus.
La machine voit 0 très vite un peu au hasard et c'est la catastrophe. Boum, dans les choux.

Fin de ces petits rappels et je retourne à mon confinement. Courage à tous les lecteurs de ce magnifique site Français.
2  0 
Avatar de mabeghin
Membre à l'essai https://www.developpez.com
Le 15/04/2020 à 18:27
Dans le cas de l’IA, l’un des plus grands obstacles à franchir est le temps accordé à la mise en place des algorithmes d’apprentissage
Il me semble que le coût écologique des calculs peut aussi être un problème. Sachant que Google et Amazone rejettent déjà plus de CO2 que la flotte aéronautique, si on commence à faire tourner des millions de CPUs pour chaque problème à résoudre, ça risque d'être chaud.
A moins qu'un algo d'IA trouve comment faire de la fission nucléaire avant qu'on achève la planète...
1  0 
Avatar de moueza
Membre régulier https://www.developpez.com
Le 22/04/2020 à 6:29
Cool comme ça, avec le cloud des GAFA, ils vont nous trouver un vaccin contre le covid-19 en moins de 2.
1  0 
Avatar de Matthieu Vergne
Expert éminent https://www.developpez.com
Le 17/04/2020 à 13:44
Citation Envoyé par X0r0X Voir le message
Euh c'est moi ou bien c'est simplement un algorithme génétique, et ça existe depuis longtemps ? (j'en avais développé plusieurs durant mes études en 2010 et 2011...)
Un cas particulier d'algo génétique, cf. quelques réponses au dessus.
0  0