Au cours des dix dernières années, l'IA a fait des percées les unes après les autres dans les domaines de la vision par ordinateur, de la reconnaissance vocale, de la traduction automatique, de la robotique, de la médecine, de la biologie computationnelle, de la prédiction du repliement des protéines, etc., et derrière ces percées se cachent inséparable Activez l'apprentissage profond. Alors, quand et où est né l’apprentissage profond, et quand est-il devenu la méthode d’IA la plus importante ?
Récemment, Pieter Abbeel, professeur à l'UC Berkeley et expert en apprentissage profond, a mené une interview avec Geoffrey Hinton sur son podcast "Robot Brains".
Hinton, qui a remporté le prix Turing 2018, est connu comme l'un des « trois géants du Deep Learning » et l'un des chercheurs les plus importants de l'histoire de l'intelligence artificielle. Ses articles ont été cités plus de 500 000 fois, ce qui signifie que plus de 500 000 articles de recherche sont basés sur ses recherches.
Il fait des recherches dans le domaine de l'apprentissage profond depuis environ un demi-siècle, pour la plupart dans une relative obscurité, mais en 2012, les choses ont pris un tournant : cette année-là, avec AlexNet remportant le concours ImageNet, il a prouvé que l'apprentissage profond a de plus grands avantages que les autres méthodes de vision par ordinateur en matière de reconnaissance d'images. C'est ce qu'on appelle le « moment ImageNet », qui a changé tout le domaine de l'IA et déclenché une vague d'apprentissage profond.
Dans cette conversation, Hinton a parlé de son expérience de travail du monde universitaire à Google Brain, de son expérience d'études en psychologie et de travail en tant que menuisier, ainsi que de l'histoire derrière la technologie de visualisation de l'algorithme t-SNE, et a parlé de certaines questions. Ses points sont notamment :
AI Technology Review a édité et organisé leurs interviews sans changer le sens original :
Abbeel : Quoi 'est-ce qu'un réseau de neurones ? Pourquoi devrions-nous nous en soucier ?
Hinton : Notre cerveau fonctionne comme ceci :
Il possède de nombreux petits éléments de traitement appelés neurones. De temps en temps, un neurone émet un son « ping », et ce qui le fait ping, c'est. qu'il entend les pings des autres neurones. Chaque fois qu'il entend un « ping » provenant d'un autre neurone, il ajoute un poids à une réserve d'entrée qu'il obtient, et lorsque le poids atteint une certaine entrée, il émet également un ping.
Donc, si vous voulez savoir comment fonctionne le cerveau, il vous suffit de savoir comment les neurones décident d'ajuster ces poids. Il existe certaines procédures pour ajuster les poids, et si nous pouvons les comprendre, nous comprendrons alors comment fonctionne le cerveau. Je pense que nous allons résoudre ces programmes au cours des cinq prochaines années.
À mon avis, toute intelligence artificielle existante est basée sur quelque chose de complètement différent de ce que fait le cerveau à un niveau élevé. Cela doit avoir tendance à être pareil. Lorsque vous avez beaucoup de paramètres, disons que vous avez des milliards de paramètres, et que les poids entre ces neurones ajustent les paramètres en fonction de votre grand nombre d'exemples d'entraînement, des choses merveilleuses se produiront. Le cerveau est ainsi, tout comme l’apprentissage profond. Le problème est de savoir comment obtenir le gradient des paramètres que vous souhaitez ajuster. Vous devez donc réfléchir aux métriques et aux paramètres que vous souhaitez ajuster afin qu'ils améliorent ce que vous souhaitez réaliser.
Mais ma conviction actuelle est que la la rétropropagation, la façon dont fonctionne actuellement l'apprentissage en profondeur, est complètement différente de ce que fait le cerveau, et le cerveau obtient les dégradés d'une manière différente.
Abbeel : Vous avez écrit un article sur la rétropropagation pour la formation des réseaux de neurones, qui est devenu le moteur de tout ce que tout le monde fait aujourd'hui, et maintenant vous dites qu'il est temps de déterminer si nous devrions faire quelque chose de différent ? Doit-il s’efforcer d’être semblable au cerveau ? Pensez-vous que la rétropropagation peut être meilleure que ce que fait le cerveau ?
Hinton : Rumelhart, Williams et moi avons écrit l'article sur la rétropropagation (ci-dessous), qui est le plus cité.
Adresse papier : http://www.cs.toronto.edu/~hinton/absps/naturebp.pdf
La rétro-propagation est bien connue. Ce que nous avons réellement fait, c'est montrer qu'il peut apprendre des représentations intéressantes, non pas que nous ayons inventé la rétropropagation, mais que nous l'avons redéfinie. Nous proposons qu'il puisse apprendre des représentations intéressantes, telles que l'intégration de mots, et pensons donc que la rétropropagation pourrait être beaucoup plus efficace que ce que nous avons dans le cerveau. En regroupant beaucoup d'informations dans une poignée de connexions, et ces quelques connexions ne représentent que quelques milliards, le problème avec le cerveau est donc que les connexions sont très bon marché, il y a des milliards de connexions et l'expérience est très coûteuse, nous avons donc tendance à Yu met beaucoup de paramètres dans une petite expérience.
Et le réseau neuronal que nous utilisons est fondamentalement le contraire. Ils ont beaucoup d’expérience et essaient de relier les informations d’entrée et de sortie aux paramètres. Je pense que la la rétropropagation est plus efficace que la méthode utilisée par le cerveau, mais n'est pas très efficace pour extraire beaucoup de structure à partir de peu de données.
Abbeel : Avez-vous des hypothèses sur les moyens possibles d'obtenir de meilleures performances à cet égard ?
Hinton : Pendant longtemps, j'ai pensé : Nous avons besoin de fonctions objectives non supervisées. Cela fait principalement référence à l'apprentissage perceptuel. Si vous pouvez apprendre un modèle en observant le monde, vous pouvez alors agir sur la base de ce modèle au lieu de données brutes, qui ont un taux de précision plus élevé.
Je crois que le cerveau utilise de nombreuses petites fonctions objectives locales. Ce n'est pas une chaîne de systèmes de bout en bout qui optimise la fonction objective grâce à l'entraînement.
Par exemple, si vous regardez un petit patch d'une image et essayez d'en extraire une représentation, vous pouvez combiner la représentation que vous obtenez de ce petit patch avec le contexte que vous obtenez des représentations d'autres patchs proches. Faites des comparaisons. pour prédire ce qu'il y a dans l'image.
Une fois que vous serez familiarisé avec le domaine, ces prédictions basées sur le contexte et les fonctionnalités extraites localement conviendront généralement. Même si c’est incohérent, vous pouvez en tirer beaucoup d’enseignements.
Je pense que le cerveau peut apprendre beaucoup de ces désaccords locaux. Il peut vous sembler qu'une grande image et de nombreux petits patchs locaux de l'image impliquent beaucoup de retours, c'est-à-dire la cohérence de l'extraction locale et de la prédiction du contexte dans l'image. Nous pouvons tirer des retours plus riches de ces alignements grâce à des prédictions contextuelles. C’est difficile à faire, mais je pense que les choses évoluent dans cette direction maintenant.
Abbeel : Que pensez-vous du travail de SimCLR et en quoi il diffère de l'apprentissage en général ? Que pensez-vous du récent MAE (Masked Autoencoders) ? Quel est le rapport avec ce que vous venez de décrire ?
Hinton : Les preuves pertinentes que j'ai obtenues montrent que cette fonction objective est bonne.
Personnellement, je n'ai pas écrit cet article, mais il y a longtemps, j'ai écrit un article avec Sue Becker sur la réflexion sur l'obtention d'une représentation cohérente à partir de deux zones différentes d'une image. Je pense que c'est là qu'est née l'idée de l'apprentissage auto-supervisé en parvenant à un accord entre deux représentations patch d'une même image.
Abbeel : Parlons de la méthode que vous avez mentionnée utilisant la rétropropagation de l'apprentissage de bout en bout pour prendre en charge l'apprentissage de bout en bout. Ce que vous dites, c'est qu'apprendre d'une manière proche du cerveau, apprendre à partir de moins de données et extraire plus de données, sera essentiel pour progresser dans la compréhension du fonctionnement du cerveau. Aujourd’hui, de nombreuses personnes tentent de résoudre le problème de l’apprentissage efficace à partir de données non étiquetées, car cela nécessite moins d’effort humain, mais elles utilisent toujours le même mécanisme que la rétropropagation.
Hinton : Ce que je n'aime pas dans MAE, c'est que vous avez des patchs d'entrée, après plusieurs couches de représentation, dans La sortie du réseau tente de reconstruire les correctifs d'entrée manquants.
Je pense que le cerveau a ces niveaux de représentation, mais chaque couche essaie de reconstruire ce qui se trouve au niveau inférieur. Ce n’est pas que vous traversiez autant de couches et revenez, mais il y a tellement de couches et chaque couche essaie de recréer quelque chose à partir de la couche suivante. Cela ressemble plus à un cerveau, mais la question est : pouvez-vous faire cela sans recourir à la rétropropagation ?
Évidemment, si vous reconstruisez la partie manquante de la sortie à travers plusieurs niveaux, vous devez parcourir tous les niveaux pour obtenir l'information, et la rétropropagation est déjà intégrée tous les simulateurs, mais pas le cerveau.
Abbeel : Imaginez que le cerveau ait trois choix lors du traitement de ces objectifs locaux : Premièrement, quel est l'objectif local que nous voulons optimiser ? Deuxièmement, quel algorithme est utilisé pour l’optimiser ? Troisièmement, quelle est l’architecture par laquelle nous connectons les neurones entre eux pour l’apprentissage ? Sur ces trois questions, nous ne semblons pas encore faire du très bon travail. Qu'en penses-tu?
Hinton : Si l'apprentissage cognitif vous intéresse, c'est assez clair.
Vous voulez une carte thématique visuelle, une hiérarchie de cartes thématiques écrites qui sont architecturalement connectées localement. Pour cela, vous pouvez résoudre de nombreux problèmes d'attribution de crédit en supposant que quelque chose à un certain endroit sur la carte anti-électronique est déterminé par sa carte du nerf optique correspondante. Au lieu de fouiller dans le système, utilisez les interactions locales et découvrez ce que les pixels y font.
Actuellement, ce que font les réseaux de neurones, c'est de supposer que la même fonction est utilisée sur chaque localité, cela est vrai pour les réseaux de neurones convolutifs, tout comme le transformateur. Le cerveau ne peut pas nécessairement faire cela, car cela impliquerait de partager des poids et de faire exactement les mêmes calculs partout. Il existe un moyen d’atteindre l’objectif de partage du poids, et c’est la convolution, qui, je pense, peut jouer un rôle plus efficace dans le cerveau.
Si vous souhaitez être d'accord avec l'extraction locale via la prédiction contextuelle, imaginez alors avoir un groupe de colonnes faisant une prédiction locale et obtenant leur contexte en regardant les colonnes à proximité prédire. Vous pouvez considérer le contexte comme l’enseignant des prédictions locales et vice versa. Considérez les informations dans leur contexte comme étant distillées auprès des extracteurs locaux. Ce qui en résulte est un affinement mutuel, ils fournissent tous deux des signaux d'enseignement à l'autre, ce qui signifie que les connaissances sur ce que vous devriez récupérer à un endroit sont transférées à d'autres endroits.
Quand ils essaient de se mettre d'accord, ou veulent que des choses situées à différents endroits soient d'accord, par exemple s'ils veulent que le nez et la bouche conviennent qu'ils font partie du même face, alors ils devraient tous les deux produire la même représentation, lorsque vous essayez d'obtenir la même représentation à différents endroits, vous devez permettre aux connaissances d'être affinées d'un endroit à un autre, ce qui présente de plus grands avantages que le partage réel du poids.
Évidemment, d'un point de vue biologique, un avantage est que l'architecture détaillée n'a pas besoin d'être la même dans différents endroits, et un autre avantage est que le front-end le traitement n’a pas besoin d’être le même.
Prenons l'exemple de la rétine. Différentes parties de la rétine ont différentes tailles de champs perceptuels. Le réseau convolutif ignore leurs multiples résolutions différentes et remplit la fonction à chaque résolution. . convolutions, mais ils ne peuvent pas effectuer de traitements frontaux différents. Et si vous extrayez d'une position à une autre, ce que vous devez faire est d'obtenir la représentation de la même fonction à différentes positions du réseau optique. À ce stade, vous pouvez utiliser différents prétraitements sur le réseau optique à différentes positions. si le traitement frontal est différent, il est toujours possible d'extraire des connaissances qui représentent l'ensemble de la fonction.
Ainsi, même si l'extraction est moins efficace que les poids d'affichage réels, elle est plus flexible et neurologiquement plus crédible. C'est également un point important que j'ai soulevé il y a un an, à savoir qu'il doit y avoir des astuces comme le partage du poids pour améliorer l'efficacité, mais si vous essayez de parvenir à un accord sur des points adjacents, alors l'extraction locale fonctionne.
Abbeel : Puisque le cerveau fonctionne différemment, devrions-nous continuer à penser au partage de poids d'une autre manière, ou ne devrions-nous pas continuer avec le partage de poids ?
Hinton : Je pense que nous devrions continuer à faire des convolutions dans des réseaux convolutifs, partager des poids dans des transformateurs et partager des connaissances en partageant des poids. N'oubliez pas que Le cerveau partage des connaissances non pas en partageant des poids, mais en partageant des fonctions de l'entrée à la sortie, en utilisant l'extraction pour transférer les connaissances.
Abbeel : Il y a un autre sujet qui est largement discuté maintenant. Le cerveau est très différent des réseaux neuronaux actuels qui fonctionnent avec des signaux de pointe. très différent des neurones artificiels de notre GPU. Je suis curieux de connaître votre avis sur cette question. S'agit-il simplement d'une différence technique ou peut-être avons-nous besoin de plus de connaissances pour mieux comprendre ?
Hinton : Ce n'est pas seulement une différence d'ingénierie. Une fois que nous comprenons pourquoi le matériel est si performant, nous pouvons comprendre qu'il est sensible à la rétine, l'unité géolocalisée du cerveau. Par exemple, la rétine n’utilise pas de neurones à pointe et possède un grand nombre de neurones sans pointe pour le traitement. Une fois que nous comprenons pourquoi le cortex cérébral fonctionne, nous voyons que c’est la chose biologiquement correcte à faire. Je pense que cela dépend de comment l'algorithme d'apprentissage obtient les gradients du réseau de neurones de pointe, mais personne ne le sait vraiment encore.
Quand il s'agit de stimuler les neurones, il y a souvent deux décisions distinctes : Quand va-t-il augmenter, et si cela va augmenter ? Il s’agit d’une prise de décision discrète. Diverses fonctions alternatives ont été conçues pour tenter d'optimiser le système.
En 2000, Andy Brown et moi avons rédigé un article sur l'apprentissage des machines Boltzmann à pointe. Ce serait formidable d'avoir un algorithme d'apprentissage adapté aux codes de pointe. Je pense que c'est ce qui entrave le développement du matériel neuronal principal. raison.
Beaucoup de gens ont réalisé que du matériel plus économe en énergie pouvait être fabriqué de cette façon, et d'énormes systèmes ont également été construits, mais ce qui manque vraiment, c'est un excellent résultat d'apprentissage. Je pense donc : Tant que nous n'aurons pas un bon algorithme d'apprentissage, nous ne pourrons pas vraiment faire des choses avec des neurones dopés.
Donc, lorsque vous prenez un neurone artificiel standard, demandez-vous simplement : peut-il dire si deux valeurs d'entrée sont les mêmes ? ne peut pas. Mais lorsque vous utilisez des neurones à pointes, il est facile de construire un système dans lequel deux pointes arrivent en même temps et émettent un son lorsqu'elles se déclenchent, mais si elles arrivent à des moments différents, elles ne le font pas. L’utilisation des heures de pointe semble donc être un bon moyen de mesurer la cohérence.
Tout comme les systèmes biologiques, la raison pour laquelle vous pouvez voir la direction et le son vient du retard du signal atteignant les deux oreilles. Si vous prenez un pied comme exemple, la lumière est d'environ une nanoseconde, et la première. le son dure environ une milliseconde. Mais si je déplace la chose de quelques centimètres de votre côté, la différence de retard entre les deux oreilles, la longueur du trajet vers les deux oreilles n'est qu'une fraction de pouce, c'est-à-dire la différence de retard du signal vers les deux oreilles ne durent qu'une milliseconde. Nous sommes donc sensibles à 30 millisecondes afin d'obtenir une stéréophonie du son. Pour ce faire, nous avons deux axones et pointes allant dans des directions différentes, l'un venant d'une oreille et l'autre venant de l'autre oreille, et lorsque les pointes arrivent en même temps, des cellules envoient un signal.
Étant donné que l'heure de pointe peut être utilisée pour des choses très sensibles, il serait surprenant que son timing précis ne soit pas utilisé. Depuis longtemps, je pense que si vous pouvez utiliser le temps de pointe pour détecter la cohérence dans des aspects tels que l'apprentissage auto-supervisé, ou en d'autres termes, j'extrais les informations de votre bouche et de votre nez et prédisez tout votre visage à partir de votre bouche. et le nez, quand Si votre bouche et votre nez forment correctement un visage, ces prédictions seront cohérentes. Ce serait bien d'utiliser les temps de pointe pour voir si ces prédictions sont cohérentes, mais c'est difficile à faire car nous ne le savons pas et ne disposons pas d'un bon algorithme pour entraîner le réseau, comme les neurones.
Abbeel : Vous venez de dire que la rétine n'utilise pas tous les neurones de pointe ? Le cerveau a deux types de neurones, certains ressemblent davantage à nos neurones artificiels et d'autres sont des neurones à pointes ?
Hinton : Je ne sais pas si la rétine ressemble davantage à des neurones artificiels, mais le néocortex possède certainement des neurones à pointes, qui sont son principal mode de communication, envoyant des pointes d'une cellule paramétrique à une autre.
J'ai un bon argument : Le cerveau a beaucoup de paramètres et peu de données par rapport aux réseaux neuronaux typiques que nous utilisons. Dans cet état, il est possible de surajuster à moins d'utiliser une forte régularisation. Une bonne technique de régularisation est que chaque fois que vous utilisez un réseau de neurones, vous ignorez tout un tas d'unités et donc probablement aussi le fait que le neurone envoie des pointes. Ce qu’ils communiquent réellement, c’est le taux de Poisson sous-jacent. Nous supposons qu'il est transitif. Ce processus a un coût, il envoie des impulsions de manière aléatoire et le taux change au cours du processus, déterminé par les informations entrées dans le neurone. Vous souhaiterez peut-être envoyer la valeur réelle du taux d'une urine à une autre lorsque vous le souhaitez. pour faire beaucoup de régularisation, vous pouvez ajouter du bruit au taux de la valeur réelle. Une façon d'augmenter le bruit est d'utiliser des impulsions qui ajouteront beaucoup de bruit. Dans la plupart des cas, c'est la motivation pour arrêter.
Lorsque vous regardez n'importe quelle fenêtre temporelle où la plupart des neurones ne sont impliqués dans rien, vous pouvez considérer les pics comme un ratio individuel sous-jacent représentatif. Cela semble vraiment mauvais parce que c'est bruyant. Mais une fois qu’on a compris la régularisation, c’est une très bonne idée.
Donc je suis toujours fan de l’idée, mais en réalité nous n’utilisons pas du tout le timing des pointes. Il utilise simplement une représentation de taux individuel très bruyante pour être un bon régulateur, et je bascule en quelque sorte entre les deux. Certaines années, je pensais que les réseaux de neurones étaient déterministes. Nous devrions avoir des réseaux de neurones déterministes, d’ici quelques années. Je pense que c'est un cycle de 5 ans. Le meilleur hasard est aussi très important, ça change tout. Par conséquent, les machines Boltzmann sont de nature stochastique, ce qui est important pour elles. Mais il est important de ne pas s’engager entièrement dans l’un ou l’autre scénario, mais d’être ouvert aux deux scénarios.
Maintenant, il est important de réfléchir davantage à l'importance de ce que vous venez de dire à propos des neurones dopés et de comprendre comment entraîner efficacement un réseau de neurones dopés.
Abbeel : Si nous disons maintenant de ne pas vous soucier de la partie formation (considérant qu'elle semble plus efficace), les gens ne voudraient-ils pas distribuer des puces d'inférence pure, c'est-à-dire faire un pré-entraînement efficace séparément, puis le compiler sur un augmenter la puce neuronale pour lui donner des capacités d'inférence à très faible consommation ?
Hinton : Beaucoup de gens y ont pensé, c'est très sensé, cela peut être efficace sur le chemin de l'évolution d'utiliser les réseaux de neurones pour raisonner, et tout le monde le fait, il s'est également avéré plus efficace , différentes entreprises ont produit ces grands systèmes de pointes.
Une fois que vous aurez fait ces choses, vous vous intéresserez de plus en plus au raisonnement de manière à apprendre à utiliser davantage l'énergie disponible pendant les périodes de pointe. Vous pouvez donc imaginer avoir un système dans lequel vous apprenez en utilisant un périphérique auxiliaire, sans émuler le matériel, comme ce n'est pas le cas sur ce matériel à faible consommation d'énergie, mais vous pouvez très bien le transférer vers le matériel à faible consommation d'énergie.
Abbeel : Qu'est-ce qu'AlexNet ? Comment est-ce arrivé ? Quel a été votre parcours depuis l’étude des machines Boltzmann restreintes jusqu’à la tentative de comprendre le fonctionnement du cerveau ?
Hinton : Je dirais que tout d'un coup, vous avez peut-être prouvé que l'approche plus traditionnelle des réseaux de neurones fonctionne réellement.
Vers 2005, j'étais fasciné par l'idée de pouvoir utiliser un tas de machines à tension limitée pour pré-entraîner les détecteurs de fonctionnalités, ce qui faciliterait le fonctionnement de Context, avec suffisamment de données en conséquence. Plus tard, comme Faith Ali et son équipe de reconnaissance d’images disposaient de suffisamment de données, la pré-formation n’était plus nécessaire, même si la pré-formation était sur le point de revenir.
GPT-3 a une pré-formation, la pré-formation est également une bonne idée, mais une fois que nous aurons découvert que vous pouvez vous pré-entraîner, cela améliorera le fonctionnement de l'arrière-plan et aidera beaucoup avec la parole, tout comme George John et Abdul Rahman Muhammad l'ont fait en 2009. Après cela, Alex, un étudiant diplômé de mon groupe, a commencé à appliquer la même idée à la vision, et nous avons rapidement découvert que lorsque vous disposez de données ImageNet, vous n'avez pas besoin de formation préalable.
Je me souviens qu'un jour, Ilya est venu au laboratoire et a dit : "Écoutez, maintenant nous avons la reconnaissance vocale, ce truc est vraiment utile, nous devons créer ImageNet avant que quiconque n'entre également dans le laboratoire et exprime cette idée." , ses étudiants et postdoctorants ont également déclaré : « Wow, mais je suis occupé avec autre chose. En fait, il n'avait aucun moyen de convaincre quelqu'un de travailler là-dessus. Plus tard, il a convaincu Alex de terminer l'expérience en prétraitant les données, et les données ont été prétraitées selon ses besoins.
Ce n'est que le fond. Je dirais que beaucoup de chercheurs le savent, mais peut-être que tout le monde ne sait pas que les résultats d'Alex représentaient la moitié du taux d'erreur par rapport aux travaux précédents d'Ilya sur le concours de reconnaissance d'images ImageNet. C'est pourquoi tout le monde passe des méthodes conçues à la main à la vision par ordinateur et essaie la programmation directe.
Abbeel : Quel moment a marqué un changement majeur dans votre carrière ? Quel impact le passage du monde universitaire à Google a-t-il eu sur vous ? Pourquoi ce changement s’est-il produit ?
Hinton : J'ai un fils handicapé qui a besoin d'être élevé, j'ai donc besoin de beaucoup d'argent. Une façon est d'enseigner. En 2012, j'ai donné un cours sur les réseaux de neurones. Mais leur logiciel n’est pas très bon, donc c’est très compliqué à faire. Un chapitre par semaine, je dois leur fournir une vidéo pédagogique, et il y aura une tonne de gens qui voudront la regarder. Parfois, Yoshua Bengio demandait le lendemain après les cours : « Pourquoi as-tu dit ça (en classe) ? »
Mon accord initial avec l'Université de Toronto était que si de l'argent était gagné grâce à ces cours, je voulais l'université. L'argent était partagé avec les professeurs, ils ne précisaient pas exactement comment il serait distribué, mais les gens pensaient que c'était autour de 50 % ou quelque chose comme ça, et cela ne me posait aucun problème. Mais après que j’ai commencé à enseigner, le doyen a pris une décision unilatérale sans me consulter ni consulter personne d’autre : si le financement provenait de la plateforme de cours, l’université prendrait tout l’argent et les professeurs n’obtiendraient rien. J'ai demandé à l'école de m'aider à préparer une vidéo, et les gens qui ont réalisé la vidéo venaient me demander : savez-vous combien cela coûte cher de faire une vidéo ?
Cela m'a vraiment mis en colère à l'école, alors j'ai commencé à réfléchir à d'autres options de carrière en plus d'être professeur. À cette époque, nous avons soudainement suscité l’intérêt de diverses entreprises, qui ont voulu nous recruter, soit en accordant de grosses subventions, soit en finançant des startups. Normalement, je dirais non, je ne voulais pas essayer de gagner de l'argent supplémentaire grâce à la recherche, mais cette expérience de l'école qui m'a escroqué de mon argent m'a donné envie de trouver d'autres moyens de gagner de l'argent.
Abbeel : Comment se déroulait la vente aux enchères à ce moment-là ?
Hinton : C'était à la conférence NIPS, et Terry a organisé quelques petites activités dans un casino. Dans une pièce enfumée au sous-sol de l'hôtel, avec des gens qui jouaient à l'étage, on avait l'impression qu'on tournait un film. Nous n’avons absolument aucune idée de ce que nous valons. J'ai consulté un avocat et il m'a dit que je pouvais embaucher un négociateur professionnel ou simplement aller aux enchères.
Pour autant que je sache, c'est la première fois qu'un petit groupe comme celui-ci organise une vente aux enchères. Nous organisons nos enchères via Gmail et les gens doivent m'envoyer leurs offres par e-mail avec un horodatage de l'e-mail. Le prix n'a cessé d'augmenter, d'abord il était de 500 000 $, puis de 1 million de dollars, ce qui était excitant et nous avons découvert que nous valions beaucoup plus que ce que nous pensions.
Rétrospectivement, nous aurions probablement pu obtenir davantage, mais nous avons déjà constaté un montant que nous pensions astronomique. Nous voulions tous les deux travailler pour Google, nous avons donc arrêté les enchères et décidé de rejoindre Google.
Abbeel : Pour autant que je sache, vous êtes toujours chez Google aujourd'hui.
Hinton : Je travaille toujours chez Google maintenant, cela fait 9 ans. La principale raison pour laquelle j'aime Google est que l'équipe de base est vraiment bonne.
Je m'entends très bien avec Jeff Dean, il est très intelligent et je suis très simple. Il voulait que je fasse exactement ce que je voulais faire, c'est-à-dire de la recherche fondamentale. Il pensait que ce que je devais faire était d'essayer de proposer des algorithmes complètement nouveaux, et c'est ce que je voulais faire, ce qui me convenait bien. Je ne suis pas doué pour gérer une grande équipe pour améliorer la reconnaissance vocale d'un pour cent. Mais j'adorerais, de préférence, révolutionner à nouveau le domaine.
Abbeel : Vous étiez professeur d'informatique à l'Université de Toronto, mais vous n'avez jamais obtenu de diplôme en informatique, vous avez obtenu un diplôme en psychologie et vous avez travaillé comme menuisier. Comment êtes-vous passée des études de psychologie à devenir menuisier, puis à entrer dans le domaine de l’intelligence artificielle ?
Hinton : J'ai eu une période très difficile lors de ma dernière année à Cambridge. J'ai abandonné mes études après mes examens et je suis devenu menuisier, ce que j'aimais plus que tout. Après avoir suivi tous les cours du lycée, je pouvais rester à la maison la nuit et faire des travaux de menuiserie, alors je suis devenu menuisier et j'ai travaillé pendant environ 6 mois.
Mais je ne peux pas gagner ma vie en tant que menuisier. J'ai travaillé comme menuisier et décorateur, je gagnais de l'argent en rénovant et j'aimais beaucoup faire de la menuiserie. Ce n'est que lorsque j'ai rencontré un vrai menuisier que j'ai réalisé que j'étais complètement nul en menuiserie. Il peut couper complètement un morceau de bois en carrés avec une scie à main. Comparé à lui, j'étais tellement désespéré que j'ai décidé de revenir à l'intelligence artificielle.
Abbeel : Pour autant que je sache, votre doctorat a été effectué à l'Université d'Édimbourg.
Hinton :Oui, j'y suis allé pour étudier pour un doctorat en réseaux de neurones et j'ai fait des recherches avec le célèbre professeur Christopher Longa Higgins et j'ai failli remporter le prix Nobel. Il était très intéressé par les réseaux de neurones et leur relation avec les hologrammes, et le jour de mon arrivée à Édimbourg, il s'est désintéressé des réseaux de neurones et a complètement changé d'avis après avoir lu l'article de Winograd et pensé que les réseaux de neurones n'étaient pas la bonne façon de penser. Même s’il n’était pas du tout d’accord avec ce que je faisais, il ne m’a pas empêché de le faire.
Abbeel : Au début des années 1970, alors que d'autres disaient que le réseau neuronal proposé par Minsky et Papert était absurde, pourquoi avez-vous fait cela ?
Hinton : En fait, la première conférence que j'ai donnée à ce groupe portait sur la façon de faire une véritable récursion avec les réseaux de neurones. C'était un discours prononcé en 1973, il y a 49 ans. Un projet que j'ai trouvé est que lorsque vous voulez un réseau neuronal capable de dessiner une forme et qu'il divise la forme en différentes parties, il est possible d'avoir une partie de la forme dessinée par le même matériel neuronal, et la forme entière est dessinée. par le centre neuronal Pour dessiner, le centre nerveux stocke la forme entière et doit se souvenir de sa position dans la forme entière, ainsi que de la direction et de l'emplacement de la forme entière.
Mais j'ai changé d'avis maintenant, lorsque vous voulez utiliser les mêmes neurones pour dessiner une partie d'une forme, vous devez vous rappeler quelque part ce qu'est la forme entière et jusqu'où vous êtes allé. Une fois que vous avez terminé ce sous-programme, vous pouvez revenir à cet endroit. Le problème avec cette partie de la forme est de savoir comment le réseau neuronal s'en souvient. Évidemment, vous ne pouvez pas simplement copier les neurones. J'ai donc réussi à faire fonctionner un système et à l'adapter tout le temps, permettant au réseau neuronal de s'en souvenir rapidement. lourdeur et pondération. J'ai donc un réseau de neurones effectuant une véritable récursion, réutilisant les mêmes neurones et poids pour effectuer les appels récursifs comme le faisaient les appels avancés en 1973.
Je pense que les gens ne comprennent pas ma présentation car je ne suis pas doué en présentation, mais ils demandent aussi pourquoi tu fais de la récursion dans ta compétition. Ce qu'ils ne comprennent pas, c'est que nous ne pourrons jamais expliquer tout un tas de choses à moins que les réseaux neuronaux fassent des choses comme la récursivité, et maintenant cela redevient un problème intéressant, donc je vais attendre encore un an jusqu'à ce que cette idée devient une véritable antiquité. J'écrirai un rapport de recherche quand il aura 50 ans.
Abbeel : Quand vous êtes doctorant comme tout le monde ou que vous venez d'obtenir un doctorat, presque tout le monde vous dit que le travail que vous faites est une perte de temps, mais vous êtes persuadé que ce n'est pas le cas .La source de votre croyance.
Hinton : Je pense qu'une grande partie de cela vient de ma scolarité. Mon père m'a envoyé dans une école privée coûteuse avec une bonne éducation scientifique et j'y suis allé depuis l'âge de 7 ans. C'était une école chrétienne et tous les autres enfants croyaient en Dieu, mais on m'a appris à la maison que tout cela n'était que des conneries, et à mon avis c'était le cas, donc j'étais habitué à ce que tout le monde se trompe.
Je pense que c'est important. Vous devez avoir confiance en la science et être prêt à étudier des choses qui sont manifestement vraies, même si tout le monde dit que ce sont des conneries, et que tout le monde ne le pense pas. Au début des années 1970, presque tous ceux qui travaillaient sur l’IA pensaient que ce que je faisais était absurde. Mais si vous regardez un peu plus en arrière, dans les années 50 , von Neumann et Turing croyaient tous deux aux réseaux de neurones, et Turing croyait surtout à l'entraînement par renforcement des réseaux de neurones. Je continue de croire que s’ils n’étaient pas morts jeunes, toute l’histoire de l’intelligence artificielle aurait pu être très différente, car c’étaient des gens intelligents, suffisamment puissants pour dominer tout le domaine, et ils étaient également très intéressés par le fonctionnement du cerveau.
Abbeel : Le deep learning est très efficace désormais. Est-ce tout ce dont nous avons besoin ou avons-nous besoin d’autre chose ? Vous avez dit un jour (je ne vous cite peut-être pas) que le deep learning pouvait tout faire.
Hinton : Ce que je veux vraiment dire par là, c'est qu'en envoyant un tas de paramètres avec des gradients stochastiques, la façon dont l'apprentissage profond obtient les gradients n'est peut-être pas une rétropropagation, et les gradients que vous obtenez peuvent ne pas être la performance finale. mesure, ce sont plutôt ces fonctions objectives locales. Je pense que c'est ainsi que fonctionne le cerveau, et je pense que cela explique tout.
Une autre chose que je voudrais dire, c'est que les ordinateurs dont nous disposons actuellement sont très utiles pour les opérations bancaires car ils peuvent se souvenir du montant d'argent que vous avez sur votre compte. Si vous vous adressez à une banque et demandez, elle vous dira seulement le montant approximatif. Nous ne pouvons pas donner de réponse définitive car nous ne pouvons pas être aussi précis et ne pouvons donner qu’une idée approximative. Nous ne voulons pas que cela se produise lorsqu'un ordinateur effectue des opérations bancaires ou pilote une navette spatiale. Nous voulons vraiment que l'ordinateur obtienne exactement la bonne réponse. Je pense que les gens ne réalisent pas pleinement que nous avons pris une décision sur la façon dont l'informatique allait évoluer, que nos ordinateurs, nos connaissances allaient être immortelles.
Les ordinateurs existants ont un programme informatique ou un réseau neuronal avec beaucoup de poids (c'est un type de programme différent). Mais si votre matériel tombe en panne, vous pouvez exécuter le même programme sur un autre matériel. Cela rend la connaissance immortelle. Cela ne dépend pas d’un matériel spécifique pour survivre. Le coût de l'immortalité est énorme, car cela signifie que différents éléments matériels doivent faire exactement la même chose, ce qui est évidemment une correction du point zéro une fois que toutes les corrections d'erreurs ont été effectuées. Ils doivent faire exactement la même chose, ce qui signifie de préférence numérique ou fondamentalement numérique, ils font des choses comme multiplier des nombres ensemble, ce qui prend beaucoup d'énergie pour rendre l'opération très discrète, ce qui n'est pas la cible du matériel. Une fois que vous essayez de rendre votre programme ou votre réseau neuronal immortel, vous vous engagez dans un processus de calcul et de fabrication très coûteux.
Si nous sommes prêts à renoncer à l'immortalité, nous obtiendrons en retour une informatique à très faible consommation d'énergie et une fabrication très bon marché. Nous ne devrions donc pas construire des ordinateurs, mais les faire évoluer. Pour utiliser une analogie, si vous avez une plante en pot et que vous la retirez du pot, vous obtiendrez une motte de racines, qui a exactement la forme du pot, donc toutes les différentes plantes en pot auront la même forme de racines . , et les détails du système racinaire sont tous différents, mais ils font tous la même chose, ils extraient les nutriments du sol et leur fonction est la même.
Et voici à quoi ressemble un vrai cerveau, c'est ce que j'appelle un ordinateur non immortel. Ces ordinateurs sont créés, pas fabriqués. Vous ne pouvez pas les programmer, ils ont besoin d’apprendre, ils doivent avoir une sorte d’algorithme d’apprentissage intégré. Ils utilisent l'analogique pour effectuer la plupart de leurs calculs, car l'analogique est idéal pour faire des choses comme prendre une tension, la multiplier par une résistance, la transformer en charge et additionner les charges, ce que la puce fait déjà. La question est de savoir que faites-vous ensuite, comment apprenez-vous avec ces puces. Actuellement, les gens ont proposé la rétropropagation ou diverses versions de machines de boxe. Je pense que nous avons besoin d'autre chose, mais je pense que dans un avenir proche, nous verrons des ordinateurs non immortels qui sont peu coûteux à fabriquer et qui devront acquérir toutes les connaissances dont ils ont besoin. L'énergie est très faible. Lorsque ces ordinateurs non immortels meurent, leurs connaissances meurent avec eux. Regarder les poids est inutile car ces poids ne s'appliquent qu'au matériel. Ce que vous devez faire est donc d’extraire ces connaissances sur d’autres ordinateurs.
Hinton
: Le cerveau d'une abeille peut vous paraître petit, mais je pense qu'une abeille a environ un million de neurones, les abeilles sont plus proches de GPT-3. Mais le cerveau d’une abeille est en réalité un vaste réseau neuronal.Mon point est que si vous avez un système avec de grands paramètres et que ces paramètres sont réglés à l'aide de la descente de gradient dans une fonction objective raisonnable, alors vous obtiendrez d'excellentes performances , comme GPT-3, et de nombreux modèles similaires de Google que j'ai mentionnés. Cela ne répond pas à la question de savoir s'ils peuvent faire la même chose que nous, je pense que nous faisons plus de choses comme la récursivité que nous faisons dans les réseaux de neurones.
J'ai essayé d'élaborer sur ces questions dans mon article sur GLOM l'année dernière, sur la façon de créer des hiérarchies de trous partiels dans les réseaux de neurones. Vous devez avoir une structure. Si ce que vous entendez par calcul symbolique, c'est que vous avez des structures partielles et globales, alors ce que nous faisons, c'est du calcul symbolique. Ce n'est généralement pas ce que les gens appellent l'informatique symbolique dure, ce qui signifie que vous utilisez des symboles, et les règles que vous appliquez aux symboles dépendent uniquement de la forme de la chaîne de symboles que vous utilisez. Ce qu'un symbole a. Les seules propriétés sont celles-là. il est identique ou différent des autres symboles, et peut-être qu'il peut être utilisé comme pointeur vers quelque chose.
Adresse papier : https://arxiv.org/pdf/2102.12627.pdf#🎜 🎜#
Les réseaux de neurones sont très différents de cela, donc je ne pense pas que nous fassions ce genre de traitement symbolique difficile, mais nous faisons définitivement des hiérarchies de trous. Mais nous le faisons dans des réseaux de neurones géants, et je ne sais pas vraiment dans quelle mesure GPT-3 comprend réellement ce qu'il dit. Je pense que c'est assez clair, contrairement au précédent programme de chatbot Eliza qui se contentait de réorganiser des chaînes de symboles sans avoir la moindre idée de ce qu'il disait. La raison pour laquelle vous croyez cela est que, par exemple, si vous dites « Donnez-moi une photo d'un hamster portant un chapeau rouge » en anglais, il dessinera une image d'un hamster portant un chapeau rouge, et il n'a jamais fait cette correspondance. avant, il doit donc comprendre la relation entre les personnages anglais et les images avant de leur donner des images. Si vous demandez à ces sceptiques et négationnistes des réseaux neuronaux : « Comment prouver qu'il comprend », je pense qu'ils l'accepteront. Si vous lui demandez de faire un dessin et qu’il le fait, alors il comprend.
Abbeel : Le modèle PaLM de Google a récemment démontré comment il peut expliquer efficacement les mécanismes des blagues. Cela semble être une compréhension très profonde de la langue.
Hinton : Non, c'est juste une réorganisation des mots lors de l'entraînement. Je ne suis pas d'accord avec l'idée selon laquelle s'il ne comprend pas de quoi parle la blague, comment pourrait-il générer ces interprétations de la blague. Je suis toujours ouvert à cela car le cadre est une rétro-propagation et il le fera. c'est complètement différent du nôtre. Il est clair que les images contradictoires vous indiquent que les objets peuvent être identifiés par leur texture, et vous avez probablement raison dans le sens où cela se généralisera à d'autres instances d'objets.
Mais c'est une approche complètement différente de la nôtre, j'aime utiliser les insectes et les fleurs comme exemples. Les insectes peuvent voir la lumière ultraviolette. Deux fleurs qui nous semblent identiques peuvent être complètement différentes d’un insecte. Et maintenant, parce que les fleurs nous paraissent identiques, peut-on dire que l’insecte se trompe ? Ces fleurs ont évolué aux côtés des insectes, et la lumière ultraviolette signale aux insectes de quelle fleur il s’agit. Il est clair que les insectes ont raison, mais nous ne voyons tout simplement pas la différence, ce qui est une autre façon de penser aux exemples contradictoires. La question est donc : dans le cas des insectes, qui a raison ? Ce n’est pas parce que deux fleurs nous paraissent identiques qu’elles le sont réellement, auquel cas l’insecte peut avoir raison en disant que les deux fleurs sont très différentes.
Abbeel : Avec nos réseaux neuronaux actuels pour la reconnaissance d'images, on pourrait dire que puisque nous les avons créés et que nous voulons qu'ils fassent quelque chose pour nous, nous ne voulons vraiment pas simplement admettre « eh bien, ils ont raison Oui. , nous avions tort. Je veux dire, ils doivent reconnaître les voitures et les piétons.
Hinton : Oui. Je veux juste vous dire que ce n'est pas aussi simple que vous le pensez, qui a raison ou tort. L’un des objectifs de mon article sur GLOM est d’essayer de construire un système de perception plus humain. Ils sont donc plus susceptibles de commettre les mêmes erreurs que nous, plutôt que des erreurs inhabituelles. Par exemple, si vous aviez une voiture autonome et qu'elle commettait une erreur que n'importe quel conducteur humain normal ferait, cela semblerait plus acceptable que de commettre une erreur vraiment stupide.
Abbeel : Pour autant que je sache, le sommeil est aussi quelque chose que vous envisagez. Pouvez-vous en parler plus en détail ?
Hinton : Si vous privez les gens de sommeil, ils deviennent vraiment bizarres, comme si vous gardez quelqu'un planer pendant trois jours, ils commencent à avoir des hallucinations. Si cela dure une semaine, ils deviendront fous et ne s'en remettront jamais.
La question est, pourquoi ? Quelle est la fonction informatique du sommeil ? Si le fait de vous priver de sommeil vous rend complètement fou, il y a probablement quelque chose de très important à penser. La théorie actuelle est que le sommeil est utilisé pour consolider les souvenirs, ou pour les télécharger de l'hippocampe vers le cortex cérébral, ce qui est un peu bizarre car c'est comme passer d'abord par un tribunal lorsqu'on est sur le campus. Il y a longtemps, au début des années 1980, Terrence Sejnowski et moi avions une théorie appelée Machines Boltzmann, qui était basée en partie sur une idée de Francis Crick lorsqu'il réfléchissait aux Hopfield Nets, et il avait un article sur l'article de Sleep. , son point est que vous pouvez donner au réseau des choses aléatoires et faire en sorte qu'il ne se contente pas de choses aléatoires.
Adresse papier : https://www.cs.toronto.edu/~hinton/absps/cogscibm.pdf
Donc, dans un Hopfield Net, vous lui donnez quelque chose dont vous voulez vous souvenir Vivez quelque chose et cela changera le poids. L’énergie de ce vecteur est donc plus faible. Si vous lui donnez un vecteur aléatoire et augmentez l'énergie, l'effet sera meilleur, ce qui conduit à la machine de Boltzmann, et c'est ainsi que nous y parvenons. Si vous lui donnez autre chose que du hasard, vous obtenez quelque chose généré par la chaîne de Markov du modèle lui-même. Réduire cette possibilité et augmenter le caractère aléatoire des données est en fait une forme d’apprentissage du maximum de vraisemblance.
Nous pensons que c’est cela le sommeil. Le sommeil est une étape négative de l'apprentissage. Dans le processus d'apprentissage contrastif, pour deux patchs de la même image, vous essayez de les faire se comporter de manière similaire ; pour deux patchs d'images différentes, vous essayez de les faire se comporter de manière très différente. Une fois qu'ils sont différents, il ne s'agit pas de les rendre plus différents, mais de les rendre moins semblables. C'est le principe de l'apprentissage contrastif. Désormais, avec les machines Boltzmann, vous ne pouvez plus séparer les exemples positifs et négatifs. Il faut croiser des exemples positifs avec des exemples négatifs, sinon tout tourne mal. J'ai essayé de ne pas les faire se croiser, de faire beaucoup d'exemples positifs, puis beaucoup d'exemples négatifs, ce qui est difficile.
En apprentissage contrastif, vous pouvez séparer la phase positive de la phase négative. Vous pouvez donc faire de nombreux exemples de paires positives, puis de nombreux exemples de paires négatives. Ainsi, si vous pouvez séparer les phases positives et négatives à différents moments, effectuer un ensemble de mises à jour positives, puis effectuer un ensemble de mises à jour négatives, cela rend l'apprentissage comparatif plus raisonnable. Même l’apprentissage contrastif standard, que vous pouvez faire relativement bien, vous devez utiliser beaucoup d’élan et des trucs comme ça. Je pense donc que La fonction du sommeil est la plus susceptible de faire des oublis ou des exemples négatifs, c'est pourquoi vous ne vous souvenez pas de vos rêves. Lorsque vous vous réveillerez, vous vous souviendrez du contenu du poids rapide, car le poids rapide est un stockage temporaire. Mais lorsque vous vous réveillez, vous ne vous souvenez que de la dernière minute du rêve que vous avez fait au réveil, ce qui, je pense, est une théorie du sommeil plus crédible que toute autre. Si le souvenir de ce moment était effacé, cela expliquerait pourquoi, et tout le système s’effondrerait. Vous ferez des erreurs catastrophiques, commencerez à avoir des hallucinations et ferez toutes sortes de choses étranges.
Laissez-moi en dire un peu plus sur la nécessité d'exemples négatifs. Si vous disposez d'un réseau de neurones, il tente d'optimiser une fonction objective interne, soit en ce qui concerne sa représentation, soit en ce qui concerne la cohérence entre les prédictions contextuelles et les prédictions locales. Il veut que cette cohérence soit une propriété des données réelles, et le problème au sein d’un réseau neuronal est que vous pouvez obtenir toutes sortes de corrélations dans l’entrée. Disons que je suis un neurone et qu'il y a toutes sortes de corrélations dans mes entrées, et ces corrélations n'ont rien à voir avec les données réelles, elles sont provoquées par le câblage du réseau et la façon dont il se trouve dans le réseau. Si les deux neurones regardent le même pixel, ils seront liés. Mais cela ne vous dit rien sur les données, donc la question est : Comment apprendre à extraire la structure des données réelles et non de la connexion réseau. La façon d’y parvenir est de lui donner des exemples positifs et de trouver la structure dans les exemples positifs plutôt que dans les exemples négatifs, car les exemples négatifs suivront exactement les mêmes lignes. Si la structure n'est pas présente dans l'exemple négatif mais est présente dans l'exemple positif, alors la structure concerne la différence entre l'exemple négatif et l'exemple positif, et non la façon dont vous le connectez. Ainsi, même si les gens n’y pensent pas beaucoup, si vous disposez d’algorithmes d’apprentissage puissants, il vaut mieux ne pas les laisser apprendre les propres poids et connexions du réseau neuronal.
Abbeel : Vous avez également évoqué le concept de « modèle étudiant battant le modèle enseignant ». Qu'est-ce que cela signifie?
Hinton : MNIST est une base de données numérique standard. Vous pouvez remplacer les données d'entraînement par de mauvaises étiquettes et obtenir un ensemble de données avec des étiquettes qui ont un taux de correction de 20 % et un taux d'erreur de 80 %. La question est : pouvez-vous apprendre de cet ensemble de données ? Quel est l’effet de l’apprentissage ? La réponse est que vous pouvez apprendre avec une précision de 95 %.
Supposons que le modèle d'enseignant a un taux d'erreur de 80 % et que le modèle d'élève a un taux de précision de 95 %, donc l'élève est bien meilleur que l'enseignant. Vous regroupez ces exemples de formation en une seule fois, vous ne pouvez donc pas faire la moyenne de l'erreur entre différents exemples de formation qui contiennent des images similaires. Si vous demandez de combien de cas de formation avez-vous besoin si vous avez des cas corrompus, c'est intéressant car l'ensemble de données d'image est petit. Préférez-vous avoir un million d’images mal étiquetées ou 10 000 images correctement étiquetées ? J'ai une hypothèse : Ce qui compte, c'est la quantité d'informations mutuelles entre les étiquettes et l'exactitude. Si les étiquettes sont correctement corrompues, alors 90 % du temps, il n'y a aucune information mutuelle entre les étiquettes et l'exactitude ; si elles sont corrompues 80 % du temps, il n'y a qu'une petite quantité d'informations mutuelles.
J'ai remarqué que vous avez récemment effectué un travail de simulation. Vous utilisez des réseaux de neurones pour étiqueter des données réelles avec des étiquettes imparfaites, puis les élèves apprennent de ces étiquettes, et les élèves apprennent mieux que les enseignants. Les gens sont confus, comment un élève peut-il être meilleur qu’un enseignant ? Mais dans les réseaux de neurones, cela est facile à réaliser. S'il y a suffisamment de données sur la formation, les étudiants seront meilleurs que les enseignants même si ces derniers ne sont pas fiables. J'ai écrit un article à ce sujet il y a quelques années avec Melody Y. Guan, qui utilisait des données médicales. La première partie de l'article en parle, et notre règle générale est que l'information mutuelle entre les étiquettes attribuées et l'exactitude est ce qui compte.
Adresse papier : https://www.cs.toronto.edu/~hinton/absps/WhoSaidWhat.pdf
Abbeel : Concernant notre travail que vous venez de mentionner et certains travaux récents très populaires, les enseignants fournissent généralement des étiquettes bruyantes, mais toutes les étiquettes bruyantes ne sont pas utilisées. Il y a un argument à faire valoir : il suffit de se tourner vers les enseignants qui sont plus confiants.
Hinton : Voici une bonne approche, il peut être utile de ne regarder que les choses que vous avez des raisons de croire. Dans le MNIST, Melody a dessiné un graphique dans lequel tant que 20 % des étiquettes sont correctes, l'élève aura raison à 95 %. Mais quand il tombe à environ 15 %, vous obtenez soudainement un changement de phase, et tout ce que vous pouvez faire à ce stade, c'est tenter votre chance, car l'élève l'obtiendra de toute façon, et lorsque l'enseignant prononce ces étiquettes, l'élève est en quelque sorte Dans une certaine mesure, vous devez savoir quels exemples sont corrects et quels exemples sont faux. La nature erronée d’une étiquette mal étiquetée devient évidente une fois que les élèves voient la relation entre l’étiquette et l’entrée. Cela n'a donc pas d'importance s'il est activé de manière aléatoire par erreur, mais il existe une transition de phase où vous devez le rendre suffisamment bon pour que les élèves puissent le comprendre. Cela explique également pourquoi nos étudiants sont plus intelligents que nous.
Abbeel : Dans l'apprentissage des réseaux de neurones, surtout lorsque vous construisez un modèle, vous devez comprendre de quoi il s'agit et ce qu'il apprend. Habituellement, les gens essaient de visualiser ce qui se passe pendant le processus d'apprentissage, vous avez inventé l'une des techniques de visualisation les plus populaires t-SNE (t-Distribution Stochastic Neighbour Embedding), quelle est l'histoire derrière cela ?
Adresse papier : http://www.cs.toronto.edu/~hinton/absps/tsne.pdf
Hinton : Si vous avez des données de grande dimension, Si vous essayez de dessiner une carte 2D ou 3D, vous pouvez prendre les deux premières composantes principales et dessiner uniquement les deux premières composantes principales. Mais les principaux composants sont soucieux de corriger les grandes distances. Ainsi, si deux choses sont très différentes, les composantes principales seront très inquiètes du fait qu’elles soient très différentes en deux dimensions. Il ne se soucie pas du tout des petites différences, car il opère sur le carré des grandes différences, et ne préserve donc pas très bien les similitudes de grande dimension. Mais ce qui nous intéresse est souvent tout le contraire. Pour les données obtenues, ce qui nous intéresse, c'est ce qui est très similaire à quoi, et peu importe que la grande distance soit un peu fausse, du moment que la petite est la plus petite. la distance est correcte. J'ai eu cette idée il y a longtemps, et si on convertissait les distances en probabilités par paires ?
t-SNE a différentes versions. Supposons que nous les transformions en paires de probabilité. Par exemple, les paires avec une petite distance ont une probabilité élevée et les paires avec une grande distance ont une faible probabilité. Nous convertissons la distance en probabilité, une petite distance correspond à une grande probabilité, mettons une distribution gaussienne autour d'un point de données, puis calculons la densité des autres points de données sous cette distribution gaussienne, qui est une probabilité non standardisée, puis normalisons ce Une transformation. Ces points sont ensuite placés en deux dimensions pour préserver ces probabilités. Peu importe donc si deux points sont éloignés l'un de l'autre. Leur probabilité par paire est très faible et ne se soucie pas de la position relative des deux points. Cela produit de très belles cartes, appelées intégration stochastique de quartier. Nous avons pensé à introduire une distribution gaussienne et à sélectionner aléatoirement un voisin en fonction de la densité sous la distribution gaussienne, qui a une dérivée très simple.
La carte que nous obtenons a tendance à regrouper les éléments, ce qui constitue un problème fondamental lors de la conversion de données de grande dimension en données de faible dimension. Ceci est provoqué par la nature de l’espace de grande dimension et de l’espace de basse dimension. Dans un espace de grande dimension, un point de données peut être proche de nombreux autres points, tandis que dans un espace de faible dimension, ces points ne seront pas trop proches les uns des autres. S'ils sont tous proches de ce point de données, ils doivent être proches les uns des autres. Vous aurez donc des problèmes pour passer d’une dimension élevée à une dimension faible. Lorsque je travaillais sur t-SNE, j'ai eu l'idée de réaliser un modèle hybride utilisant la probabilité comme « monnaie intermédiaire ».
Nous avons mis en œuvre l'idée avec succès, mais nous ne l'avons jamais très bien fait. J'ai été déçu que les gens n'aient pas profité de cette idée, puis j'ai créé une version plus simple qui était un mélange d'une distribution gaussienne et d'une distribution uniforme, qui fonctionnait mieux.
L'idée est la suivante : sur une carte, toutes les paires sont également probables, ce qui fournit une probabilité de fond d'une faible probabilité de fond sur de grandes distances ; dans une autre carte, la probabilité de contribution est proportionnelle à votre distance au carré dans cette carte, mais cela signifie que sur cette carte, ils peuvent être assez éloignés s'ils le souhaitent, car le fait qu'ils nécessitent une certaine probabilité est égalisé. En fait, cette version est un cas particulier d'utilisation d'un mélange de distribution gaussienne, qui est une distribution gaussienne très large et uniforme. Et si nous utilisions toute une hiérarchie de fonctions gaussiennes ? De nombreuses fonctions gaussiennes ont des largeurs différentes, appelées distributions t, ce qui entraîne le t-SNE. t-SNE a la grande propriété de pouvoir fournir des informations à plusieurs échelles sur les choses, et une fois que la distance devient grande, vous obtenez de nombreux niveaux de structure différents, à la fois la structure globale et la structure fine.
La fonction objectif qui a été utilisée dans tout ce travail était une gaussienne à densité relative, issue de travaux antérieurs qu'Alberto Pacinero et moi avons réalisés lorsque le processus de publication était difficile et que j'avais reçu une critique qui a été rejetée de la conférence : "Hinton travaille sur cette idée depuis sept ans, mais personne n'est intéressé." Je pense que ce que ces commentaires me disent en réalité, c'est que je fais quelque chose de très innovant, qui implique en fait une fonction appelée NCE qui utilise une méthode contrastive, et t-SNE est en fait une version de cette fonction. Mais t-SNE sert à créer des cartes, puis j'ai essayé de créer une version hybride, qui au départ n'a pas fonctionné jusqu'à ce que j'obtienne finalement une coïncidence, qui était la distribution t que je voulais utiliser.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!