• Aucun résultat trouvé

Une histoire mouvementée

Dans le document EDP Open (Page 156-161)

Intelligence Artificielle, Des Big Data au Cerveau 1

3. Réseaux de Neurones formels

3.1 Une histoire mouvementée

Ces travaux en neurosciences font apparaître la structure des réseaux des neurones, et dans leur article de 19436, Warren McCulloch et Walter Pitts imaginent de simuler cette structure avec des automates. A cette époque où les ordinateurs électroniques n’existaient pas encore, les relais téléphoniques étaient utilisés pour faire du calcul « électrique », et McCulloch et Pitts recourent à ces relais pour réaliser leurs automates. Ils montrent qu’avec une structure de réseau à trois couches, à condition d’avoir suffisamment de neurones dans la couche centrale, d’une part, et d’autre part d’attribuer à chaque connexion la bonne pondération, on peut réaliser n’importe quelle fonction logique booléenne. On peut d’ailleurs noter que cette propriété d’universalité a été généralisée, bien plus tard, à toutes les fonctions continues bornées dans [0,1]

Dès les années 50 et les débuts de l’électronique, on se pose des questions ambitieuses touchant à l’utilisation du langage par l’ordinateur, à la théorie de la complexité, à l’auto-amélioration, à l’abstraction, à l’aléatoire et à la créativité. Et de fait actuellement, ces questions commencent à recevoir des réponses concrètes. L’apprentissage profond révolutionne l’IA et nos outils numériques, et le projet Blue Brain, en Suisse, essaie de reproduire complètement un cerveau (objectif en soi illusoire, parce qu’on ne peut pas

6 Warren McCulloch and Walter Pitts, A logical Calculus of Ideas Immanent in Nervous Activity ;

simuler un assez grand nombre de neurones ni de connexions ; mais ce projet permet de mieux comprendre certains aspects des neurosciences).

Figure 6 Schéma d’un neurone formel : le vecteur d’entrée, les pondérations, la fonction d’activation et la sortie

3.1.1 L’aventure des perceptrons

Mais les réseaux de neurones formels, entre les années 40 et aujourd’hui, ont connu des hauts et des bas. Jusqu’aux années 90, les capacités de calcul limitent ce que l’on peut faire en pratique. Après les tous premiers essais de Warren McCulloch et Walter Pitts dans les années 40, à l’échelle de quelques neurones, les premières implémentations opérationnelles, utilisées dans les laboratoires, vont apparaitre dans les années 50. Marvin Minsky y travaille7, en essayant de construire une machine qui apprend en modifiant les poids synaptiques et se rend compte qu’il s’agit d’un problème difficile. Il obtient son PhD à l’Université de Princeton en 1954 avec sa thèse intitulée Theory of Neural-Analog Reinforcement Systems and its Applications to the Brain Model Problem. Devant les difficultés rencontrées, inévitables compte tenu des machines de l’époque, Franck Rosenblatt8 opte pour des implémentations limitées à deux couches ; partant de la métaphore de la rétine qui les inspire, ces premières implémentations, prennent le nom de

« perceptron »9. Arrêtons-nous un instant sur ses travaux.

7 Il faut voir les conditions effectives, dans ces années là, des approches « hardware » des réseaux

neuronaux, conditions dans lesquelles le maniement du fer à souder s’avérait indispensable.

8 Frank Rosenblatt et Marvin Minsky s’étaient connus pendant leurs années d’étude, dans les années

1945-1946

9 Cf. Frank Rosenblatt : The perceptron, A perceiving and Rognizing Automaton ; Project Para

Report N° 85-460-1, Cornell Aeronautical Laboratory (CAL), Jan. 1957 ; mais aussi, le lieu de la

L’apprentissage réalisé par Frank Rosenblatt, dans ses expériences de 1957-1958 (Mark I Perceptron) s’effectue en réalité sur les poids d’une seule couche de neurones, les poids wi,k

affectés aux inputs (k= 1,2, … p) des n neurones i= 1,2, … n ; mais le vecteur [x1, x2, … xp] des inputs est lui-même sortie d’une couche d’association, cette fois ci câblée - donc fixe dans chaque expérience - depuis la grille d’unités photo-sensitives, grille constituant un analogue simplifié d’une rétine, la vraie entrée du système10. Chacun des n neurones possède une seule sortie, correspondant à l’une des catégories d’objets que le système cherche à classifier : l’apprentissage est accompli lorsque seule s’active la sortie liée à la catégorie effective de l’objet présenté sur la rétine.

Pendant quelques années, les travaux autour du perceptron donnent de bons résultats : on développe en particulier des procédures d’apprentissage automatique efficaces. Mais les limites de cette architecture apparaissent vite, et Marvin Minsky lui-même, à la fin des années 60, dans « Perceptrons: an introduction to computational geometry »11, montre que certaines fonctions ne peuvent pas être réalisées. Il montre notamment que les perceptrons, qui n’utilisent que des combinaisons linéaires, ne peuvent représenter qu’un ensemble limité de fonctions : celui des fonctions « linéairement séparables », c’est-à-dire, dont l’application revient à couper l’espace des possibles en deux régions séparées par un hyper-plan. Or il se trouve même des fonctions élémentaires, par exemple dans le domaine des fonctions logiques, qui ne peuvent pas être réduites à une séparation par un hyper-plan : c’est notamment le cas de la fonction « OU exclusif ».

3.1.2 Un intermède utile, le développement des théories mathématiques de l’apprentissage Cette limite théorique condamne les réseaux de neurones formels, pendant une quinzaine d’années, à être délaissés. Comme on le verra plus loin, il fallut attendre 1986 pour que l’on généralise la procédure d’apprentissage du Perceptron à des réseaux de neurones à trois couches ou plus. Ceci étant, compte tenu des performances des ordinateurs, il était très difficile d’appliquer cette généralisation des réseaux de neurones formels à des problèmes de grande taille, avec beaucoup de données. C’est la raison pour laquelle, à partir du milieu des années quatre-vingt-dix, les approches statistiques de l’apprentissage prennent le dessus, avec notamment les machines à vecteur de support12, et les machines à noyau, algorithmes qui sont encore d’usage courant aujourd’hui. Rappelons-en quelques bases : l’objectif est de déterminer automatiquement si un objet x, pris dans un ensemble

publication est intéressant à souligner : The perceptron, A Probalistic Model for Visual Perception ; in Procs. Of the 15 International Congress of Psychology, 1957 ; et plusieurs autres publications qui vont suivre en 1958, sous l’étiquette du CAL

10 Il y a bien ainsi deux couches de neurones : une première couche, la couche d’association – 512 unités dans Mark-I Perceptron – ayant comme entrée la grille photo-sensitive, et la couche de réponse – 8 unités – dont les liens avec la première couche sont les poids wi,k , les seuls modifiés par l’algorithme d’apprentissage

11 Seymour Papert & Marin Minsky : Perceptrons : An Introduction to Computational Geometry.

MIT Press, 1969, 268 p.

d’objets possibles X, peut être classé, ou non comme relevant d’une catégorie C donnée.

On retrouve bien là le problème de discrimination auquel s’attaquait le perceptron. Pour ce faire, ces algorithmes opèrent sur un ensemble d’apprentissage (ou échantillon) constitué d’objets x, les uns relevant de la catégorie C (exemples) et d’autres non (contre exemples) ; chacun de ces objets est décrit par un vecteur d’un espace Xp d’une certaine dimension p - un espace doté d’un produit scalaire et donc d’une distance - si bien que l’échantillon se concrétise par un ensemble de ces vecteurs [x1, x2, … xn] ; il s’agit alors sur cet échantillon de trouver une fonction f(x) prenant une valeur positive sur les vecteurs descriptifs des objets de la catégorie C et négative pour les autres objets. Bien entendu, cette fonction f doit satisfaire certaines propriétés assurant la qualité de la discrimination, l’assurance que les objets n’appartenant pas à l’ensemble d’apprentissage seront bien classés dans une grande majorité de cas ; et c’est là que les théories mathématiques de l’apprentissage entrent en jeu13.

Dans les cas où, dans l’espace Xp les vecteurs relevant de la catégorie C peuvent être séparés des autres par un simple hyperplan, le problème de discrimination est dit linéairement séparable. Il s’agit alors de trouver le « meilleur » hyperplan de séparation, c’est-à-dire la

« meilleure » fonction discriminante de la forme f(x) = v.x +a, v.x étant le produit scalaire d’un vecteur orthogonal à l’hyperplan et donc caractérisant son orientation dans l’espace, et a un scalaire caractérisant sa position. C’est dans la définition de ce qu’est ce « meilleur » qu’interviennent les théories, en définissant différentes marges de confiance fournissant – par maximisation - autant de critère de choix pour les couples de valeurs (v,a).

Il faut bien sûr généraliser l’approche, car comme Minsky et Papert l’ont bien rappelé, tous les problèmes de discrimination ne sont pas linéairement séparables. C’est ici qu’apparait l’utilisation des noyaux. D’une manière très simplifiée, cette utilisation revient à trouver une « déformation » de l’espace Xp, c’est-à-dire une transformation F des descriptions [x1, x2, … xn] en [F(x1), F(x2), …F(xn)], de façon à se retrouver dans le cas précédent d’une discrimination linéaire. D’une façon plus précise, un noyau est une fonction k(xi, xj) évaluant une « séparation » entre deux vecteurs xi et xj . Le problème à résoudre est alors de déterminer, sur l’exemple d’apprentissage, la meilleure fonction discriminante14 de la forme f(x) = Si ai yi k(xi, x) +a, les yi étant les étiquettes (1 ou -1) affectées aux vecteurs selon qu’ils représentent ou non des objets de la catégorie C ; ici encore la recherche de

13 Entrer dans ces théories dépasserait le cadre de cet article, mais il est utile de mentionner ici

quelques références et notions : la théorie statistique de l’apprentissage de l’informaticien d’origine russe Vladimir Vapnik (autour des années 1990) mobilisant les notions de trace d’une famille F de sous-ensembles sur un sous-ensemble donné C , de pulvérisation de C par F, enfin la dimension de Vapnik-Chervonenkis de cette famille F. Ou encore la théorie de l’apprentissage PAC (Probably Approximately Correct) proposée par l’informaticien britannique Leslie Valiant en 1984

14 Evaluant en quelque sorte la force à laquelle un vecteur x donné « se sépare » de l’ensemble des

vecteurs de l’ensemble d’apprentissage, en tenant compte de leurs étiquettes respectives.

cette meilleure fonction procède de la maximisation d’une certaine marge de confiance, construite sur les valeurs des ai et a.

Ces approches mathématiques et statistiques, au-delà des applications qu’elles ont permis de mettre au point, allaient se révéler très utiles pour comprendre l’efficacité des réseaux neuronaux.

3.1.3 La résurgence des réseaux de neurones

Dans la mi-temps des années 1980, quelques chercheurs, dont David Rumelhart et Yann Lecun15, reprennent l’idée des réseaux de neurones formels, mais cette fois avec trois couches et plus. Ils introduisent une nouvelle méthode d’apprentissage, qu’ils appellent la rétro-propagation de gradient, et ajoutent en sortie de chaque neurone une fonction non linéaire, intitulée fonction d’activation. La fonction d’activation permet de dépasser le comportement linéaire trop limité du réseau. Et la rétro-propagation, inspirée de méthodes issues de la physique statistique, est utilisée lors de l’apprentissage, pour calculer, en remontant les couches de proche en proche depuis la sortie jusqu’à l’entrée du réseau, la correction qui doit être apportée dans chaque neurone à ses facteurs de pondération pour minimiser l’écart entre la sortie obtenue et le résultat attendu.

Donnons-en quelques détails. L’idée de base est d’évaluer, pour chaque exemple (vecteur des entrées) et pour une configuration donnée des poids du réseau, les sensibilités – à la valeur de ces différents poids - de l’écart E entre le vecteur des sorties attendues et le vecteur des sorties calculées par le réseau ; cet écart E peut être la moyenne quadratique des écarts sur chaque sortie élémentaire, encore appelés erreurs. Les sensibilités s’expriment par les dérivées partielles !#(%,',()!" (les coefficients de gradient) où chaque W(i,j,l) représente le poids « actuel » de la connexion entre le neurone i de la couche l-1 et le neurone j de la couche l. On pourrait penser à priori que leur calcul est difficile, étant donné la complexité du réseau, l’éventuel grand nombre de couches, etc. La solution est, sans changer les poids, de rétro-propager les erreurs d’une couche à celle qui la précède, à l’aide d’une formule, déduite d’une démonstration mathématique, qui s’avère assez intuitive ; formule de plus très « efficace », car les sensibilités s’expriment alors de façon particulièrement simple en fonction de ces erreurs ainsi rétro-propagées sur chaque couche.

Ces sensibilités une fois obtenues, il ne reste plus ensuite 1) qu’à modifier « légèrement » les valeurs des poids proportionnellement à l’opposé de la sensibilité de E à leur égard – si

15 Il faut sans doute citer ici également Paul John Werbos et sa « dissertation » de 1974 sur la

rétro-propagation des erreurs dans un réseau neuronal, et quelques autres pionniers tels que David B.

Parker, avec son article de 1985 au titre évocateur : Learning Logic : Casting the Cortex of the Human Brain in Silicon, Geoffrey Hinton et Ronald Williams, co-auteurs avec D. Rumelhart de leur article de 1986 Learning representations by back propagating errors. Quant à Yan Le Cun, il publie plusieurs articles sur le sujet entre 1985 et 1988, notamment en lien avec l’équipe de Françoise Fogelman-Soulié à l’Université Pierre et Marie Curie ; il publie sa thèse en 1987, dans cette

par exemple E augmente avec un poids, on va évidemment diminuer ce poids, et inversement, 2) de recalculer avec ces poids corrigés un nouvel écart E en principe plus faible, et 3) itérer le processus jusqu’à obtention d’un écart suffisamment faible pour être considéré comme satisfaisant. Bien entendu, de nombreuses variantes d’un tel algorithme ont été proposées et testées.

Après quelques débuts probants, les progrès sont lents, jusqu’à ce que deux facteurs essentiels, au début des années 2010, permettent aux réseaux de neurones de produire des résultats étonnants. Ces deux facteurs sont d’une part la croissance exponentielle de la capacité de calcul des ordinateurs - encore accrue par l’utilisation depuis quelques années des cartes graphiques, construites pour gérer l’affichage sur les écrans de nos ordinateurs, et dont la capacité à effectuer des opérations simples et répétitives à très grande vitesse est parfaitement adaptée aux réseaux de neurones - et d’autre part les énormes quantités de données qui deviennent disponibles pour entraîner les réseaux.

Dans le document EDP Open (Page 156-161)