Un enfant humain de 2 ans a besoin d'environ 5 voitures pour pouvoir l'identifier avec une précision raisonnable, quelle que soit sa couleur, sa marque, etc. À mon fils de 2 ans, il était capable d'identifier les tramways et les trains juste un peu. Puisqu'il confondait généralement l'un avec l'autre, apparemment, son réseau de neurones n'était pas assez entraîné, mais quand même.
Qu'est-ce qui manque aux réseaux de neurones artificiels qui les empêchent d'apprendre beaucoup plus rapidement? Le transfert d'apprentissage est-il une réponse?
neural-networks
neuroscience
Marcin
la source
la source
Réponses:
Je mets en garde contre toute attente d'une forte ressemblance entre les réseaux de neurones biologiques et artificiels. Je pense que le nom de "réseaux de neurones" est un peu dangereux, car il incite les gens à s’attendre à ce que les processus neurologiques et l’apprentissage automatique soient les mêmes. Les différences entre les réseaux de neurones biologiques et artificiels l'emportent sur les similitudes.
À titre d’exemple, vous pouvez également inverser le raisonnement du message original. Vous pouvez former un réseau de neurones pour apprendre à reconnaître les voitures l’après-midi, à condition que vous disposiez d’un ordinateur raisonnablement rapide et de suffisamment de données d’entraînement. Vous pouvez en faire une tâche binaire (voiture / pas de voiture) ou multi-classe (voiture / tram / vélo / avion / bateau) tout en ayant confiance en un niveau de réussite élevé.
En revanche, je ne m'attendrais pas à ce qu'un enfant puisse choisir une voiture le jour - ou même la semaine - qui suit sa naissance, même après avoir vu "tant d'exemples de formation". Quelque chose est évidemment différent entre un enfant de deux ans et un nourrisson qui explique la différence de capacité d'apprentissage, alors qu'un réseau neuronal de classification d'images à la vanille est parfaitement capable de détecter la classification d'objets immédiatement après la "naissance". Je pense qu'il y a deux différences importantes: (1) les volumes relatifs de données de formation disponibles et (2) un mécanisme d'autoapprentissage qui se développe avec le temps en raison de l'abondance des données de formation.
Le post original expose deux questions. Le titre et le corps de la question demandent pourquoi les réseaux de neurones ont besoin de "autant d'exemples". Par rapport à l'expérience d'un enfant, les réseaux de neurones formés à l'aide de points de repère d'image courants contiennent relativement peu de données.
Je vais reformuler la question dans le titre pour
"Comment la formation d'un réseau de neurones pour un repère d'image commun se compare-t-elle à l'expérience d'apprentissage d'un enfant?"
À des fins de comparaison, je considérerai les données de l'ICRA-10, car il s'agit d'un repère d'image commun. La partie étiquetée est composée de 10 classes d'images avec 6000 images par classe. Chaque image est 32x32 pixels. Si vous empiliez d'une manière ou d'une autre les images étiquetées de CIFAR-10 et réalisiez une vidéo standard à 48 ips, vous disposeriez d'environ 20 minutes.
Un enfant de 2 ans qui observe le monde pendant 12 heures par jour dispose d'environ 263 000 minutes (plus de 4 000 heures) d'observations directes du monde, y compris les réactions des adultes (étiquettes). (Ce ne sont que des chiffres approximatifs - je ne sais pas combien de minutes un enfant typique de deux ans a passé à observer le monde.) De plus, l'enfant sera exposé à de très nombreux objets au-delà des 10 classes qui composent l'ICRA- dix.
Donc, il y a quelques choses en jeu. Premièrement, l'enfant est exposé à plus de données et à une source de données plus variée que le modèle CIFAR-10. La diversité et le volume des données sont bien reconnus comme prérequis pour les modèles robustes en général. Dans cette optique, il n’est pas surprenant qu’un réseau de neurones soit pire que l’enfant dans la mesure où il s’acquitte de cette tâche, puisqu’un réseau de neurones formé sur CIFAR-10 manque cruellement de données d’entraînement par rapport à son fils de deux ans. La résolution d'image disponible pour un enfant est meilleure que celle des images CIFAR-10 32 x 32; l'enfant est ainsi en mesure d'apprendre des informations sur les détails les plus fins des objets.
La comparaison CIFAR-10 à deux ans n’est pas parfaite, car le modèle CIFAR-10 sera probablement entraîné avec plusieurs passages sur les mêmes images statiques, tandis que l’enfant verra, à l’aide de la vision binoculaire, comment les objets sont disposés en trois. - monde dimensionnel en se déplaçant et avec différentes conditions d'éclairage et perspectives sur les mêmes objets.
L'anecdote à propos de l'enfant d'OP implique une deuxième question,
"Comment les réseaux de neurones peuvent-ils s'auto-enseigner?"
Un enfant est doué d'un certain talent pour l'auto-apprentissage, de sorte que de nouvelles catégories d'objets puissent être ajoutées au fil du temps sans qu'il soit nécessaire de tout recommencer à zéro.
La remarque d'OP sur l' apprentissage par transfert identifie un type d'adaptation de modèle dans le contexte de l'apprentissage automatique.
Dans leurs commentaires, d’autres utilisateurs ont souligné que l’apprentissage en une seule étape * est un autre domaine de recherche de l’apprentissage automatique.
De plus, l' apprentissage par renforcement aborde les modèles d'auto-apprentissage sous un angle différent, en permettant essentiellement aux robots de mener des expériences d'essais et d'erreurs afin de trouver les meilleures stratégies pour résoudre des problèmes spécifiques (par exemple, jouer aux échecs).
Il est probablement vrai que ces trois paradigmes d'apprentissage automatique ont pour objectif d'améliorer la façon dont les machines s'adaptent aux nouvelles tâches de vision par ordinateur. L’adaptation rapide de modèles d’apprentissage automatique à de nouvelles tâches est un domaine de recherche actif. Cependant, étant donné que les objectifs pratiques de ces projets (identifier de nouveaux cas de logiciels malveillants, reconnaître les imposteurs dans les photos de passeport, indexer Internet) et les critères de réussite diffèrent des objectifs d'un enfant apprenant le monde, et du fait que un ordinateur utilisant les mathématiques et l’autre étant fait en matière organique en utilisant la chimie, les comparaisons directes entre les deux resteront lourdes.
En passant, il serait intéressant d'étudier comment inverser le problème de l'ICRA-10 et de former un réseau de neurones à la reconnaissance de 6000 objets à partir de 10 exemples de chaque. Mais même cela ne serait pas une comparaison juste avec un enfant de 2 ans, car il y aurait toujours un écart important dans le volume total, la diversité et la résolution des données de formation.
* Nous ne disposons pas actuellement de balises pour un apprentissage ponctuel ou pour un apprentissage limité.
la source
Tout d'abord, à l'âge de deux ans, un enfant connaît beaucoup le monde et l'applique activement. Un enfant effectue beaucoup de "transfert d'apprentissage" en appliquant ces connaissances à de nouveaux concepts.
Deuxièmement, avant de voir ces cinq exemples "étiquetés" de voitures, un enfant voit beaucoup de voitures dans la rue, à la télévision, dans de petites voitures, etc., de sorte que beaucoup "d'apprentissage non supervisé" se fait auparavant.
Enfin, les réseaux de neurones n’ont presque rien en commun avec le cerveau humain, il n’est donc pas utile de les comparer. Notez également qu’il existe des algorithmes pour l’apprentissage ponctuel, et que des recherches sont en cours à ce sujet.
la source
Un aspect majeur que je ne vois pas dans les réponses actuelles est l' évolution .
Le cerveau d'un enfant n'apprend pas à partir de zéro. Cela revient à demander comment les bébés chevreuils et girafes peuvent marcher quelques minutes après la naissance. Parce qu'ils sont nés avec leur cerveau déjà câblé pour cette tâche. Bien sûr, certains ajustements sont nécessaires, mais le bébé cerf n'apprend pas à marcher à partir de "l'initialisation aléatoire".
De même, nous sommes nés avec le fait que de grands objets en mouvement existent et qu’il est important de les suivre.
Donc, je pense que le présupposé de cette question est tout simplement faux. Les réseaux de neurones humains ont eu l’opportunité de voir des tonnes d'objets en 3D, en mouvement, en rotation, avec des textures et des formes difficiles, etc. en mouvement, mais cela s'est passé de génération en génération et l'apprentissage s'est déroulé à l'aide d'algorithmes évolutifs, c était mieux structuré pour cette tâche, pouvait vivre pour se reproduire avec plus de chance, laissant à la génération suivante un câblage cérébral de plus en plus performant dès le début.
la source
Je ne connais pas grand chose aux réseaux de neurones, mais je connais assez bien les bébés.
Beaucoup d'enfants de 2 ans ont beaucoup de problèmes avec la façon dont les mots généraux devraient être. Par exemple, à cet âge, il est assez courant que les enfants utilisent «chien» pour désigner un animal à quatre pattes. C'est une distinction plus difficile que celle de "voiture". Imaginez par exemple à quel point un caniche ressemble à un grand Danois, par exemple. Pourtant, ils sont tous les deux "chiens", alors qu'un chat ne l'est pas.
Et un enfant de 2 ans a vu beaucoup plus de 5 exemples de "voiture". Un enfant voit des dizaines, voire des centaines d’exemples de voitures chaque fois que sa famille part en voiture. Et beaucoup de parents commenteront "regarder la voiture" plus de 5 fois. Mais les enfants peuvent aussi penser d'une manière dont ils n'ont pas été informés. Par exemple, dans la rue, le gamin voit beaucoup de choses alignées. Son père dit (de l'un) "regarde la voiture brillante!" et le gamin pense "peut-être que toutes ces autres choses alignées sont aussi des voitures?"
la source
C’est une question fascinante à laquelle j’ai beaucoup réfléchi également, et je peux expliquer pourquoi.
la source
Le concept d '"instances" devient facilement confus. Même si un enfant peut avoir vu 5 exemples uniques de voiture, il a en fait vu des milliers de milliers de cadres, dans de nombreux environnements différents. Ils ont probablement vu des voitures dans d'autres contextes. Ils ont également une intuition pour le monde physique développé au cours de leur vie - certains apprentissages par transfert se produisent probablement ici. Pourtant, nous résumons tout cela en "5 cas".
Pendant ce temps, chaque image / image que vous transmettez à un CNN est considérée comme un "exemple". Si vous appliquez une définition cohérente, les deux systèmes utilisent en réalité une quantité beaucoup plus similaire de données de formation.
De plus, je voudrais noter que les réseaux de neurones convolutionnels - CNN - sont plus utiles en vision par ordinateur que les ANN, et abordent en fait la performance humaine dans des tâches telles que la classification d'images. L’apprentissage en profondeur n’est (probablement) pas une panacée, mais il fonctionne admirablement dans ce domaine.
la source
Comme d'autres l'ont souligné, l'efficacité des données des réseaux de neurones artificiels varie considérablement, en fonction des détails. En fait, il existe de nombreuses méthodes d’apprentissage uniques, qui peuvent résoudre le problème de l’étiquetage des tramways avec une assez bonne précision, en utilisant un seul échantillon étiqueté.
Une façon de faire est d'utiliser ce que l'on appelle l'apprentissage par transfert; un réseau formé sur d'autres étiquettes est généralement très efficacement adaptable à de nouvelles étiquettes, car le travail ardu consiste à décomposer les composants de bas niveau de l'image de manière judicieuse.
Cependant, nous n’avons pas besoin de données étiquetées pour effectuer cette tâche; un peu comme les bébés n’ont pas besoin de presque autant de données étiquetées que les réseaux de neurones auxquels vous songez.
Par exemple, l’une des méthodes non supervisées que j’ai également appliquée avec succès dans d’autres contextes est de prendre un ensemble d’images non étiqueté, de les faire pivoter de manière aléatoire et d’entraîner un réseau à prédire quel côté de l’image est «en haut». Sans savoir ce que sont les objets visibles, ou comment ils s'appellent, cela oblige le réseau à apprendre énormément de structure à propos des images; et cela peut constituer une excellente base pour un apprentissage ultérieur étiqueté beaucoup plus efficace en données.
S'il est vrai que les réseaux artificiels diffèrent des réseaux réels de manières probablement significatives, telles que l'absence d'analogue évident de la rétropropagation, il est très vraisemblable que les réseaux de neurones réels utilisent les mêmes astuces, d'essayer d'apprendre le structure dans les données impliquées par certains a priori simples.
Un autre exemple qui joue presque certainement un rôle chez les animaux et a également montré de grandes promesses pour la compréhension de la vidéo est dans l’hypothèse que l’avenir devrait être prévisible du passé. En partant de cette hypothèse, vous pouvez apprendre beaucoup à un réseau de neurones. Ou sur le plan philosophique, je suis enclin à croire que cette hypothèse sous-tend presque tout ce que nous considérons comme «connaissance».
Je ne dis rien de nouveau ici; mais il est relativement nouveau en ce sens que ces possibilités sont trop jeunes pour avoir encore trouvé de nombreuses applications, et n’ont pas encore abouti à la compréhension du manuel de «ce qu’une ANN peut faire». Donc, pour répondre à la question des PO; Les ANN ont déjà comblé une grande partie des lacunes que vous décrivez.
la source
Une façon de former un réseau de neurones profonds consiste à le traiter comme une pile d'auto-encodeurs ( Machines à Boltzmann restreintes ).
En théorie, un auto-encodeur apprend de manière non supervisée: il prend des données d'entrée arbitraires et non étiquetées et les traite pour générer des données de sortie. Ensuite, il prend ces données de sortie et tente de régénérer ses données d'entrée. Il ajuste les paramètres de ses nœuds jusqu'à ce qu'il puisse presque arrondir ses données. Si vous y réfléchissez, le codeur automatique écrit ses propres tests unitaires automatisés. En fait, il transforme ses «données d'entrée non étiquetées » en données étiquetées : les données d'origine servent d'étiquette pour les données retournées.
Une fois que les couches d’auto-encodeurs ont été formées, le réseau de neurones est optimisé à l’aide de données étiquetées, afin de remplir sa fonction. En effet, ce sont des tests fonctionnels.
L’affiche originale demande pourquoi on a besoin de beaucoup de données pour former un réseau de neurones artificiels, et compare cela à la quantité prétendument faible de données de formation dont un humain de deux ans aurait besoin. L’affiche originale compare des pommes à des oranges: le processus d’entraînement global pour le réseau neuronal artificiel et le réglage précis avec des étiquettes pour les enfants de deux ans.
Mais en réalité, l'enfant de deux ans forme ses auto-encodeurs sur des données aléatoires et auto-étiquetées depuis plus de deux ans. Les bébés rêvent quand ils sont in utero . Les chercheurs ont décrit ces rêves comme impliquant des déclenchements aléatoires de neurones dans les centres de traitement de l'image.
la source
On n'apprend pas à "voir les voitures" avant d'apprendre à voir
Il faut beaucoup de temps et de nombreux exemples à un enfant pour apprendre à voir les objets en tant que tels. Après cela, un enfant peut apprendre à identifier un type d'objet particulier à partir de quelques exemples. Si vous comparez un enfant de deux ans à un système d’apprentissage qui part littéralement d’une ardoise vierge, c’est une comparaison de pommes et d’oranges; à cet âge, l'enfant a vu des milliers d'heures de "séquences vidéo".
De la même manière, il faut beaucoup d'exemples pour que les réseaux de neurones artificiels apprennent «à voir», mais il est ensuite possible de transférer ces connaissances vers de nouveaux exemples. L’apprentissage par transfert est un domaine d’apprentissage automatique, et des choses comme «l’apprentissage ponctuel» sont possibles - vous pouvez créer des ANN qui apprendront à identifier de nouveaux types d’objets qu’il n’a jamais vus auparavant, ou à identifier un personne particulière à partir d'une seule photo de leur visage. Mais bien faire cette partie initiale "apprendre à voir" nécessite beaucoup de données.
En outre, certaines données indiquent que toutes les données de formation ne sont pas égales, à savoir que les données que vous "choisissez" tout en apprenant sont plus efficaces que les données qui vous sont simplement fournies. Par exemple, expérience de chaton jumeau Held & Hein. https://www.lri.fr/~mbl/ENS/FONDIHM/2013/papers/about-HeldHein63.pdf
la source
Une chose que je n'ai pas vue dans les réponses jusqu'à présent est le fait qu'une «instance» d'un objet du monde réel vue par un enfant humain ne correspond pas à une instance dans le contexte de la formation NN.
Supposons que vous soyez à une intersection de chemin de fer avec un enfant de 5 ans et que 5 trains passent dans les 10 minutes. Maintenant, vous pouvez dire "Mon enfant n'a vu que 5 trains et peut identifier de manière fiable d'autres trains alors qu'un NN a besoin de milliers d'images!". Bien que cela soit probablement vrai, vous ignorez complètement le fait que chaque train que votre enfant voit contient BEAUCOUP plus d’informations qu’une seule image d’un train. En fait, le cerveau de votre enfant traite plusieurs dizaines d'images du train par seconde lors de son passage, chacune sous un angle légèrement différent, des ombres différentes, etc., tandis qu'une seule image fournira au NN des informations très limitées. Dans ce contexte, votre enfant a même des informations qui ne sont pas disponibles pour le NN, par exemple la vitesse du train ou le son émis par le train.
De plus, votre enfant peut parler et poser des questions! "Les trains sont très longs, non?" "Oui.", "Et ils sont très gros aussi, non?" "Oui.". En deux questions simples, votre enfant apprend deux fonctionnalités essentielles en moins d’une minute!
Un autre point important est la détection d'objet. Votre enfant est capable d'identifier immédiatement sur quel objet, c'est-à-dire sur quelle partie de l'image il doit se concentrer, tandis qu'un NN doit apprendre à détecter l'objet pertinent avant de pouvoir le classer.
la source
Je dirais que la performance n’est pas si différente que ce à quoi on pourrait s’attendre, mais vous posez une excellente question (voir le dernier paragraphe).
Lorsque vous parlez de transfert d’apprentissage: pour comparer des pommes avec des pommes, nous devons examiner combien de photos au total et combien de photos de la classe d’intérêt qu’un réseau humain / neuronal "voit".
1. Combien de photos un être humain regarde-t-il?
Le mouvement des yeux de l'homme prend environ 200 ms, ce qui pourrait être vu comme une "photo biologique". Voir l'intervention de l'expert en vision par ordinateur Fei-Fei Li: https://www.ted.com/talks/fei_fei_li_how_we_re_teaching_computers_to_understand_pictures#t-362785 .
Elle ajoute:
Dans ImageNet, la base de données de référence en matière de détection d’objets, il existe environ 14 millions d’ images étiquetées . Ainsi, un réseau de neurones formé sur ImageNet aurait vu autant de photos qu'un bébé 14000000/5/60/60/24 * 2 ~ 64 jours, donc âgé de deux mois (en supposant que le bébé soit éveillé la moitié de sa vie). Pour être honnête, il est difficile de dire combien de ces images sont étiquetées. De plus, les images, voit un bébé, ne sont pas aussi diverses que dans ImageNet. (Le bébé voit probablement sa mère avoir du temps, ...;). Cependant, je pense qu'il est juste de dire que votre fils aura vu des centaines de millions de photos (et appliquera ensuite l'apprentissage par transfert).
Alors combien d’images avons-nous besoin pour apprendre une nouvelle catégorie à partir d’une base solide d’images apparentées sur lesquelles on peut (transférer) apprendre?
Le premier article de blog que j'ai trouvé était ceci: https://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html . Ils utilisent 1000 exemples par classe. J'imaginais deux ans et demi plus tard, il en faudrait même moins. Cependant, un humain peut voir 1000 images sur 1000/5/60 en 3,3 minutes.
Tu as écrit:
Cela équivaudrait à quarante secondes par instance (avec différents angles de cet objet pour le rendre comparable).
Pour résumer: comme je l'ai mentionné, je devais formuler quelques hypothèses. Mais je pense que l’on peut voir que la performance n’est pas aussi différente que l’on pourrait s’y attendre.
Cependant, je crois que vous posez une excellente question et voici pourquoi:
2. Le réseau de neurones fonctionnerait-il mieux / différemment s’il fonctionnait davantage comme un cerveau? (Geoffrey Hinton dit oui).
Dans une interview https://www.wired.com/story/googles-ai-guru-computers-think-more-like-brains/ , fin 2018, il compare les implémentations actuelles des réseaux de neurones avec le cerveau. Il mentionne, en termes de poids, que les réseaux de neurones artificiels sont plus petits que le cerveau d'un facteur 10 000. Par conséquent, le cerveau a besoin de moins d’itérations d’entraînements à apprendre. Afin de permettre aux réseaux de neurones artificiels de fonctionner plus comme notre cerveau, il suit une autre tendance en matière de matériel, une startup basée au Royaume-Uni appelée Graphcore. Il réduit le temps de calcul par un moyen intelligent de stocker les poids d'un réseau de neurones. Par conséquent, davantage de poids peuvent être utilisés et le temps d’entraînement des réseaux de neurones artificiels peut être réduit.
la source
Je suis un expert en cela. Je suis humaine, j'étais un bébé, j'ai une voiture et je fais de l'IA.
L'intuition est la raison pour laquelle les bébés prennent des voitures avec des exemples beaucoup plus limités. Le cerveau humain a déjà des structures pour gérer les rotations 3D. De plus, deux yeux fournissent une parallaxe pour la cartographie de profondeur, ce qui est vraiment utile. Vous pouvez avoir une intuition entre une voiture et une image d'une voiture car il n'y a pas de profondeur réelle dans l'image. Hinton (chercheur en intelligence artificielle) a proposé l’idée de réseaux Capsule, qui seraient capables de gérer les choses de manière plus intuitive. Malheureusement pour les ordinateurs, les données d'apprentissage sont (généralement) des images 2D, des tableaux de pixels plats. Afin de ne pas sur-ajuster, il faut beaucoup de données pour que l'orientation des voitures dans les images soit généralisée. Le cerveau du bébé peut déjà le faire et peut reconnaître une voiture quelle que soit son orientation.
la source