Les énormes capacités des réseaux de neurones sont parfois comparables à leur imprévisibilité. Les mathématiciens commencent maintenant à comprendre comment la forme d'un réseau de neurones affecte son travail.

Lorsque nous concevons un gratte-ciel, nous nous attendons à ce qu'au final, il satisfasse à toutes les spécifications: que la tour soit capable de supporter un tel poids, ainsi qu'un tremblement de terre d'une certaine force.
Cependant, l'une des technologies les plus importantes du monde moderne, nous concevons en fait aveuglément. Nous jouons avec différents schémas, différents paramètres, mais jusqu'à ce que nous commencions un essai du système, nous n'avons vraiment aucune idée de ce qu'il peut faire, ni où il refusera de fonctionner.
Il s'agit de la technologie des réseaux de neurones qui sous-tend les systèmes d'intelligence artificielle modernes les plus avancés. Les réseaux de neurones se déplacent progressivement dans les domaines les plus élémentaires de la société: ils déterminent ce que nous apprenons sur le monde à partir des informations diffusées sur les réseaux sociaux, ils
aident les médecins à établir un diagnostic, et même à
affecter l' envoi d'un criminel en prison.
Et "la meilleure description de ce que nous savons est de dire que nous ne savons pratiquement rien sur le fonctionnement réel des réseaux de neurones et sur la théorie qui devrait les décrire", a déclaré
Boris Ganin , mathématicien à l'Université du Texas, et un spécialiste invité à Facebook AI Research étudie les réseaux de neurones.
Il compare la situation avec le développement d'une autre technologie révolutionnaire: une machine à vapeur. Initialement, les machines à vapeur ne pouvaient pomper que de l'eau. Ensuite, ils ont servi de moteurs pour les locomotives à vapeur, et aujourd'hui les réseaux de neurones ont probablement atteint le même niveau. Les scientifiques et les mathématiciens ont développé une théorie de la thermodynamique qui leur a permis de comprendre ce qui se passe exactement à l'intérieur d'un moteur. Et à la fin, une telle connaissance nous a amenés dans l'espace.
"Au début, il y a eu d'excellentes réalisations en matière d'ingénierie, puis d'excellents trains, puis il a fallu une compréhension théorique pour passer de cela aux missiles", a déclaré Ganin.
Dans la communauté grandissante des développeurs de réseaux neuronaux, il existe un petit groupe de chercheurs avec un parti pris mathématique essayant de créer une théorie des réseaux neuronaux qui peut expliquer comment ils fonctionnent et s'assurer qu'après avoir créé un réseau neuronal d'une certaine configuration, il peut effectuer certaines tâches.
Bien que les travaux soient à un stade précoce, mais au cours de l'année écoulée, les chercheurs ont déjà publié plusieurs articles scientifiques qui décrivent en détail la relation entre la forme et le fonctionnement des réseaux de neurones. L'ouvrage décrit les réseaux de neurones dans leur intégralité, jusqu'à leurs fondements mêmes. Elle démontre que bien avant de confirmer la capacité des réseaux de neurones à conduire des voitures, il est nécessaire de prouver leur capacité à multiplier les nombres.
La meilleure recette de cerveau
Les réseaux de neurones s'efforcent d'imiter le cerveau humain - et une façon de décrire son travail est de dire qu'il fusionne de petites abstractions en de plus grandes. De ce point de vue, la complexité des pensées est mesurée par le nombre de petites abstractions qui les sous-tendent et le nombre de combinaisons d'abstractions de bas niveau en abstractions de haut niveau - dans des tâches telles que l'étude des différences entre les chiens et les oiseaux.
"Si une personne apprend à reconnaître un chien, elle apprend à reconnaître quelque chose de hirsute sur quatre pattes", a déclaré
Maitra Ragu , étudiante diplômée en informatique à l'Université Cornell, membre de l'équipe
Google Brain . "Idéalement, nous aimerions que nos réseaux de neurones fassent quelque chose de similaire."
Maitra RaguL'abstraction prend naissance dans le cerveau humain de manière naturelle. Les réseaux de neurones doivent travailler pour cela. Les réseaux de neurones, comme le cerveau, sont constitués de blocs de construction appelés «neurones», connectés de diverses manières les uns aux autres. Dans le même temps, les neurones du réseau neuronal, bien que fabriqués à l'image des neurones cérébraux, n'essaient pas de les imiter complètement. Chaque neurone peut représenter un attribut ou une combinaison d'attributs que le réseau neuronal considère à chaque niveau d'abstraction.
Les ingénieurs ont le choix entre de nombreuses options pour combiner ces neurones. Ils doivent décider du nombre de couches de neurones qu'un réseau de neurones devrait avoir (c'est-à-dire déterminer sa «profondeur»). Prenons, par exemple, un réseau de neurones qui reconnaît les images. L'image est incluse dans la première couche du système. Sur la couche suivante, le réseau peut avoir des neurones qui reconnaissent simplement les bords de l'image. Le calque suivant combine les lignes et définit les courbes. Le suivant combine les courbes en formes et textures, et le dernier traite les formes et textures pour prendre une décision sur ce qu'il regarde: le mammouth à fourrure!
«L'idée est que chaque couche combine plusieurs aspects de la précédente. Un cercle est une courbe à de nombreux endroits, une courbe est une ligne à de nombreux endroits », explique
David Rolnik , mathématicien à l'Université de Pennsylvanie.
Les ingénieurs doivent également choisir la «largeur» de chaque couche, correspondant au nombre de fonctionnalités différentes que le réseau considère à chaque niveau d'abstraction. Dans le cas de la reconnaissance d'image, la largeur des couches correspondra au nombre de types de lignes, courbes ou formes que le réseau neuronal prendra en compte à chaque niveau.
En plus de la profondeur et de la largeur du réseau neuronal, il y a un choix de la méthode de connexion des neurones dans les couches et entre elles, et un choix de poids pour chacune des connexions.
Si vous prévoyez d'effectuer une tâche spécifique, comment savez-vous quelle architecture de réseau neuronal peut l'exécuter de la meilleure façon? Il existe des exemples de règles assez générales. Pour les problèmes de reconnaissance d'image, les programmeurs utilisent généralement des réseaux de neurones "convolutionnels", le système de liens entre les couches dans lequel se répète de couche en couche. Pour traiter un langage naturel - reconnaissance de la parole ou génération de langage - les programmeurs ont découvert que les réseaux de neurones récurrents sont les mieux adaptés. Les neurones qu'ils contiennent peuvent être connectés aux neurones non seulement des couches voisines.
Cependant, en dehors de ces principes généraux, les programmeurs doivent principalement s'appuyer sur des preuves expérimentales: ils exécutent simplement 1 000 réseaux de neurones différents et voient lequel fait le mieux.
"Dans la pratique, ces choix sont souvent faits par essais et erreurs", a déclaré Ganin. «C'est une façon assez compliquée, car il y a une infinité d'élections, et personne ne sait laquelle sera la meilleure.»
La meilleure option serait de s'appuyer moins sur la méthode des essais et erreurs, et davantage sur la compréhension préexistante de ce qu'une architecture particulière de réseau de neurones peut vous apporter. Plusieurs articles scientifiques récemment publiés ont fait avancer ce domaine dans cette direction.
«Ce travail vise à créer quelque chose comme un livre de recettes pour concevoir un réseau neuronal approprié. Si vous savez ce que vous voulez en faire, vous pouvez alors choisir la bonne recette », a déclaré Rolnik.
Mouton rouge Lasso
L'une des premières garanties théoriques de l'architecture des réseaux de neurones est apparue il y a trois décennies. En 1989, un informaticien a prouvé que si un réseau de neurones n'a qu'une seule couche de calcul, dans laquelle il peut y avoir un nombre illimité de neurones et un nombre illimité de connexions entre eux, alors le réseau neuronal sera capable d'effectuer n'importe quelle tâche.
C'était une déclaration plus ou moins générale, qui s'est avérée plutôt intuitive et pas particulièrement utile. Cela revient à dire que si vous pouvez définir un nombre illimité de lignes dans une image, vous pouvez distinguer tous les objets avec un seul calque. En principe, cela peut être accompli, mais essayez de le mettre en pratique.
Aujourd'hui, les chercheurs appellent ces réseaux larges et plats «expressifs», car en théorie, ils peuvent couvrir un ensemble plus riche de relations entre les données d'entrée possibles (comme une image) et la sortie (comme une description d'image). Dans le même temps, il est extrêmement difficile de former ces réseaux, c'est-à-dire qu'il est pratiquement impossible de leur faire réellement diffuser ces données. Ils nécessitent également plus de puissance de calcul que n'importe quel ordinateur.
Boris GaninRécemment, les chercheurs ont essayé de comprendre jusqu'où vous pouvez obtenir des réseaux de neurones en allant dans la direction opposée - en les rendant plus étroits (moins de neurones par couche) et plus profonds (plus de couches). Vous ne pourrez peut-être reconnaître que 100 lignes différentes, mais avec les connexions nécessaires pour transformer 100 de ces lignes en 50 courbes qui peuvent être combinées en 10 formes différentes, vous pouvez obtenir tous les blocs de construction nécessaires pour reconnaître la plupart des objets.
Dans le
travail accompli l'année dernière, Rolnik et
Max Tegmark du MIT ont prouvé qu'en augmentant la profondeur et en diminuant la largeur, il était possible d'effectuer les mêmes tâches avec un nombre exponentiellement plus petit de neurones. Ils ont montré que si la situation que vous simulez a 100 variables d'entrée, vous pouvez obtenir la même fiabilité soit en utilisant
2100 neurones dans une couche, ou 2,10 neurones dans deux couches. Ils ont constaté qu'il y avait des avantages à prendre de petites pièces et à les combiner à des niveaux d'abstraction plus élevés, plutôt que d'essayer de couvrir tous les niveaux d'abstraction à la fois.
"Le concept de la profondeur du réseau neuronal est lié à la possibilité d'exprimer quelque chose de complexe en effectuant de nombreuses étapes simples", a déclaré Rolnik. "Cela ressemble à une chaîne de montage."
Rolnik et Tegmark ont prouvé l'utilité de la profondeur en forçant les réseaux de neurones à effectuer une tâche simple: multiplier les fonctions polynomiales. (Ce sont des équations avec des variables élevées à des degrés naturels, par exemple, y = x
3 + 1). Ils ont formé les réseaux, leur montrant des exemples d'équations et les résultats de leur multiplication. Ensuite, ils ont demandé aux réseaux de neurones de calculer le résultat de la multiplication d'équations qu'ils n'avaient jamais vues auparavant. Les réseaux de neurones plus profonds ont appris à le faire avec beaucoup moins de neurones que les petits.
Et bien qu'il soit peu probable que la multiplication bouleverse notre monde, Rolnik dit qu'une idée importante a été décrite dans l'ouvrage: "Si un réseau neuronal peu profond ne peut même pas se multiplier, vous ne devriez pas lui faire confiance avec autre chose."
David RolnikD'autres chercheurs étudient la question de la largeur minimale suffisante. Fin septembre,
Jesse Johnson , ancien mathématicien de l'Université d'Oklahoma, et maintenant chercheur travaillant pour la société pharmaceutique Sanofi, a
prouvé qu'à un moment donné aucune profondeur ne pouvait compenser le manque de largeur.
Pour donner un sens à cela, imaginez les agneaux sur le terrain, mais laissez-les être des agneaux punk rock: chacun d'eux sera peint dans une ou plusieurs couleurs. Le réseau neuronal devrait tracer une frontière autour de tous les moutons de la même couleur. En substance, cette tâche est similaire à la classification des images: un réseau neuronal a un ensemble d'images (qu'il représente comme des points dans un espace multidimensionnel), et il doit regrouper des images similaires.
Johnson a prouvé qu'un réseau neuronal ne pourra pas faire face à cette tâche si la largeur des couches est plus petite ou égale à la quantité de données d'entrée. Chacun de nos moutons peut être décrit par deux données d'entrée: les coordonnées de son emplacement sur le terrain, x et y. Ensuite, le réseau neuronal marque chaque mouton de couleur et trace une bordure autour du mouton de la même couleur. Dans ce cas, pour résoudre le problème, vous avez besoin d'au moins trois neurones par couche.
Plus précisément, Johnson a montré que si le rapport de la largeur au nombre de variables n'était pas suffisant, le réseau neuronal ne serait pas en mesure de dessiner des boucles fermées - et un réseau neuronal devrait dessiner une telle boucle si, par exemple, tous les moutons rouges s'étaient accumulés au milieu du pâturage. "Si aucune des couches n'est plus épaisse que le nombre de mesures d'entrée, la fonction ne peut pas créer certaines formes, quel que soit le nombre de couches", a déclaré Johnson.
Un tel travail commence à construire le noyau de la théorie des réseaux de neurones. Jusqu'à présent, les chercheurs ne peuvent faire que les déclarations les plus simples concernant la relation entre l'architecture et la fonctionnalité - et ces déclarations sont très peu nombreuses par rapport au nombre de tâches résolues par les réseaux de neurones.
Ainsi, bien que la théorie des réseaux de neurones ne puisse pas changer le processus de leur conception dans un avenir proche, des plans sont créés pour une nouvelle théorie de la formation des ordinateurs - et ses conséquences seront encore plus fortes qu'une personne qui se rend dans l'espace.