Des chercheurs de l'UCLA (Université de Californie) ont conçu un appareil capable de reconnaître les vêtements et les chiffres manuscrits à la vitesse de la lumière. Beaucoup plus rapide qu'un ordinateur ou un cerveau, et sans consommer d'énergie.
Il se compose de couches très fines qui dispersent chacune la lumière entrante dans différentes directions calculées avec précision. Après que la lumière a traversé chacune des couches, dans une danse réfléchie de lentilles et de miroirs, elle ressort à un certain endroit. C'est cet endroit qui "raconte" ce que l'appareil a vu. Par exemple, si l'appareil a été conçu pour reconnaître les chiffres manuscrits, la lumière pourrait alors s'allumer à 10 endroits différents. Une place par classe.
Cette reconnaissance des chiffres manuscrits est plus difficile qu'il ne nous semble. Après tout, tout le monde écrit d'une manière légèrement différente, et il n'est pas facile de dire que des milliers d'images différentes représentent le même nombre, même si vous n'avez jamais vu ces images auparavant.
Ce n'est que depuis quelques années que les logiciels informatiques peuvent atteindre des performances comparables à celles des humains. Les avancées dans ce domaine scientifique sont dues à une technique appelée « apprentissage en profondeur ». L'apprentissage en profondeur est un mode de traitement de l'information qui utilise différentes couches de réseaux de neurones. Les réseaux de neurones sont inspirés de notre cerveau. Notre cerveau est composé de réseaux de neurones qui transmettent des signaux, tout comme les réseaux de neurones. Seuls les neurones des réseaux de neurones ne sont pas des neurones de chair et de sang, mais sont simulés. Tout comme les personnages des jeux informatiques peuvent se comporter plus ou moins comme des personnes (si vous n'êtes pas trop critique sur ce que signifie "se comporter comme des personnes"), les neurones simulés peuvent se comporter comme de vrais neurones. Ils peuvent recevoir des signaux et transmettre des signaux, et ils peuvent apprendre.
Dans l'apprentissage en profondeur, il existe plusieurs couches de tels réseaux de neurones, et chaque couche rapproche un peu plus le système de « la solution ». Dans un système qui reconnaît des nombres manuscrits, par exemple à partir d'une photo, la première couche peut être un peu plus que des neurones, chacun représentant un pixel. Cela signifie que chaque neurone signale ce qui se passe dans un pixel particulier. Les neurones de la dernière couche, en revanche, représentent la solution. Par exemple, un neurone donnera un signal lorsque le nombre écrit à la main est "1". Un autre quand c'est "2", et ainsi de suite.
Notre système visuel fonctionne à peu près de la même manière. La première couche est notre rétine, où les neurones signalent où il fait clair et où il fait sombre. Et quelque part dans notre cerveau, il y a des neurones qui signalent quand nous voyons un « 1 » ou un « 2 ». Entre les deux se trouvent de nombreuses couches de neurones qui représentent "quelque chose entre les deux". Par exemple, la ligne verticale du "1". Nous ne savons pas exactement ce que font toutes les couches de neurones de notre cerveau, et dans l'apprentissage en profondeur, il y a tellement de neurones (simulés) qu'il est difficile de comprendre intuitivement ce que chacun de ces neurones fait exactement. Mais dans un réseau bien formé, chaque couche aide la couche suivante à se rapprocher un peu plus de "la solution".
L'entraînement se fait en amplifiant les signaux qui conduisent à une bonne réponse, et en affaiblissant les signaux qui conduisent à une mauvaise réponse, pour chaque tentative de reconnaissance, des dizaines de milliers de fois si nécessaire. Dans notre cerveau, cela se produit tout le temps; les connexions entre nos neurones s'adaptent en permanence à un environnement en constante évolution. Avec un réseau de neurones, on peut décider d'arrêter et de laisser les connexions entre les neurones pour ce qu'elles sont.
L'appareil sur la photo est comme un réseau de neurones, mais physique et figé dans le temps. L'architecture précise de l'appareil est conçue à l'aide d'un apprentissage en profondeur; des « neurones » simulés, qui transmettent des signaux dans un réseau neuronal simulé et apprennent ainsi à reconnaître les nombres manuscrits. Dès que le réseau simulé est prêt, il est imprimé, avec une imprimante 3D, et vous obtenez un certain nombre de couches minces, dans ce cas d'une surface de 8 cm². Contrairement à un ordinateur ou à notre cerveau, les couches ne produisent pas d'électricité. Le signal qu'ils transmettent n'est pas une impulsion électrique, mais de la lumière. Nous pouvons voir parce que notre rétine reçoit la lumière de notre environnement et la convertit en un signal électrique. Toujours avec la reconnaissance d'objets par ordinateurs, la lumière de l'objet à reconnaître est convertie en un signal électrique. Pas ici; ici, la lumière elle-même est utilisée comme signal.
La lumière est parfois réfléchie, et parfois transmise, dans différentes directions. Ainsi la lumière voyage de « neurone » en « neurone », jusqu'à ce qu'elle ressorte enfin au bon endroit, qui est l'endroit qui indique si le chiffre vu est un « 1 », ou un « 2 », ou un autre chiffre. Chaque couche se compose de dizaines de milliers de ces "neurones" qui se comportent essentiellement comme des lentilles et des miroirs.
Les concepteurs ont créé plusieurs de ces constructions; un pour reconnaître les chiffres et un pour reconnaître les images de vêtements. L'objectif ultime est d'incorporer de telles constructions dans des systèmes qui utilisent la reconnaissance d'objets, tels que des voitures autonomes ou des dispositifs médicaux capables de dépister des maladies sur un grand nombre de cellules humaines.
Lin, X. et autres (2018). Apprentissage automatique tout optique utilisant des réseaux de neurones profonds diffractifs. Sciences, 361, eaat8084 DOI :10.1126/science.aat8084