Maison > Article > Périphériques technologiques > Dernière recherche de Hinton : L’avenir des réseaux de neurones repose sur un algorithme forward-forward
Au cours de la dernière décennie, l'apprentissage profond a connu un succès incroyable et la méthode de descente de gradient stochastique avec un grand nombre de paramètres et de données s'est avérée efficace. La descente de gradient utilise généralement l'algorithme de rétropropagation, de sorte que des questions telles que la question de savoir si le cerveau suit la rétropropagation et s'il existe d'autres moyens d'obtenir les gradients nécessaires pour ajuster les poids de connexion ont toujours attiré beaucoup d'attention.
Geoffrey Hinton, lauréat du prix Turing et pionnier de l'apprentissage profond, en tant que l'un des partisans de la rétropropagation, a proposé à plusieurs reprises ces dernières années que la rétropropagation ne peut pas expliquer le fonctionnement du cerveau. Au lieu de cela, il propose une nouvelle méthode d’apprentissage de réseau neuronal : l’algorithme Forward-Forward (FF).
Lors de la récente conférence NeurIPS 2022, Hinton a prononcé un discours spécial intitulé "L'algorithme Forward-Forward pour la formation des réseaux de neurones profonds", discutant de la supériorité de l'algorithme direct par rapport à l'algorithme inverse. La première ébauche de l'article « The Forward-Forward Algorithm: Some Preliminary Investigations » a été publiée sur la page d'accueil de l'Université de Toronto :
Adresse papier : https://www.cs.toronto. edu/~hinton /FFA13.pdf
Contrairement à l'algorithme de rétropropagation qui utilise une passe avant + une passe arrière, l'algorithme FF contient deux passes avant, dont l'une utilise des données positives (c'est-à-dire réelles) et l'autre utilise le réseau lui-même Données négatives générées.
Hinton estime que l'avantage de l'algorithme FF est qu'il peut mieux expliquer l'apprentissage cortical du cerveau et simuler du matériel avec une consommation d'énergie extrêmement faible.
Hinton préconise que la forme informatique qui sépare les logiciels et le matériel soit abandonnée. Les futurs ordinateurs devraient être conçus pour être « non mortels », économisant ainsi considérablement les ressources informatiques, et l'algorithmeFF peut être utilisé dans ce type. du matériel. La meilleure façon d’apprendre et de fonctionner efficacement.
Cela pourrait être un moyen idéal pour résoudre les contraintes de puissance de calcul des grands modèles avec des milliards de paramètres à l'avenir.1
Si les passes positives et négatives peuvent être séparées dans le temps, les passes négatives peuvent être effectuées hors ligne, l'apprentissage des passes positives sera plus simple et permettra de transmettre des vidéos sur le réseau sans avoir besoin de stocker des dérivés de propagation actifs ou terminés.
Hinton estime que l'algorithme FF est meilleur que la rétropropagation sous deux aspects :
Premièrement,
FF est un meilleur modèle pour expliquer l'apprentissage du cortex cérébral
Deuxièmement,FF consomme plus d'énergie ; ,Il utilise du matériel de simulation à très faible consommation sans avoir recours à l'apprentissage par renforcement.
Il n'existe aucune preuve tangible que le cortex propage des dérivés d'erreur ou stocke une activité neuronale pour une rétropropagation ultérieure. Les connexions descendantes d'une zone corticale vers des zones situées plus tôt dans le chemin visuel ne reflètent pas les connexions ascendantes attendues lorsque la rétropropagation est utilisée dans le système visuel. Au lieu de cela, ils forment des boucles dans lesquelles l’activité neuronale traverse deux zones, environ six cortex, puis retourne à son point de départ.En tant qu'un des moyens d'apprendre des séquences, la rétropropagation dans le temps n'est pas très fiable. Pour traiter un flux d’informations sensorielles sans pauses fréquentes, le cerveau doit transmettre des données à travers les différentes étapes du traitement sensoriel et a également besoin d’un processus capable d’apprendre à la volée. Les représentations ultérieures dans le pipeline peuvent fournir des informations descendantes qui affectent les représentations des étapes antérieures du pipeline, mais le système de perception doit raisonner et apprendre en temps réel, plutôt que de s'arrêter pour une rétropropagation.
Une autre limitation sérieuse de la rétropropagation est qu'elle nécessite une compréhension complète des calculs effectués par propagation vers l'avant afin de dériver les dérivées correctes. Si nous insérons une boîte noire en propagation directe, la rétropropagation ne peut être effectuée que si un modèle différentiable de la boîte noire est appris. Et la boîte noire n'affectera pas le processus d'apprentissage de l'algorithme FF, car il n'y a pas besoin de rétropropagation à travers elle. Lorsqu'il n'existe pas de modèle de propagation vers l'avant parfait, nous pouvons partir de diverses méthodes d'apprentissage par renforcement. Une idée consiste à effectuer des perturbations aléatoires sur les poids ou l'activité neuronale et à corréler ces perturbations avec les changements qui en résultent dans la fonction de paiement. Cependant, en raison du problème de variance élevée dans l'apprentissage par renforcement : lorsque d'autres variables sont perturbées en même temps, il est difficile de voir l'effet de la perturbation d'une seule variable. Pour ce faire, afin de faire la moyenne du bruit provoqué par toutes les autres perturbations, le taux d'apprentissage doit être inversement proportionnel au nombre de variables perturbées, ce qui signifie que l'apprentissage par renforcement s'adapte mal aux grands réseaux contenant des millions ou des milliards de paramètres de compétition de rétropropagation. Et ce que veut dire Hinton est que les réseaux de neurones contenant des non-linéarités inconnues n’ont pas besoin de recourir à l’apprentissage par renforcement. L'algorithme FF est comparable à la rétropropagation en vitesse et a l'avantage d'être utilisé lorsque les détails précis du calcul direct sont inconnus, et peut également être appris lorsque le réseau neuronal canalise des données séquentielles, il n'est pas nécessaire de stocker l'activité neuronale ou mettre fin aux dérivés d'erreur propagés. Cependant, dans les applications à puissance limitée, l'algorithme FF n'a pas encore remplacé la rétropropagation. Par exemple, pour les très grands modèles formés sur de très grands ensembles de données, la rétropropagation est toujours la méthode principale. L'algorithme Forward-Forward est une procédure d'apprentissage multicouche gourmande inspirée des machines de Boltzmann et de l'estimation contrastive du bruit. Remplacez la passe avant + arrière de la rétropropagation par deux passes avant, qui opèrent sur des données différentes et des cibles opposées, fonctionnant exactement de la même manière l'une que l'autre. Parmi eux, le canal aller fonctionne sur des données réelles et ajuste les pondérations pour augmenter la favorabilité de chaque couche cachée, et le canal inverse ajuste les pondérations des « données négatives » pour réduire la favorabilité de chaque couche cachée. Cet article explore deux métriques différentes : la somme des carrés de l'activité neuronale et la somme des carrés de l'activité négative. Supposons que la fonction de qualité d'une certaine couche est la somme des carrés des activités des neurones linéaires rectifiés dans la couche. Le but de l'apprentissage est de rendre sa qualité bien supérieure à un certain seuil de données réelles et bien inférieure à. celui du seuil de données négatives. Autrement dit, la probabilité que le vecteur d'entrée soit positif (c'est-à-dire vrai) lorsqu'il est correctement classé comme donnée positive ou négative peut être déterminée en appliquant la fonction logistique σ à la qualité de la mesure moins un certain seuil θ : où, est l'activité de l'unité cachée j avant la normalisation des couches. Les données négatives peuvent être prédites par des connexions descendantes de réseaux neuronaux ou fournies en externe. Il est facile de voir qu'une seule couche cachée peut être apprise en rendant la somme des activités au carré des unités cachées élevée pour les données positives et faible pour les données négatives. Mais lorsque l'activité de la première couche cachée est utilisée comme entrée de la deuxième couche cachée, seule la longueur du vecteur d'activité de la première couche cachée est appliquée pour distinguer les données positives et négatives sans apprendre de nouvelles fonctionnalités. Pour éviter cela, FF normalise la longueur du vecteur caché avant de l'utiliser comme entrée dans la couche suivante, supprimant toutes les informations utilisées pour déterminer la première couche cachée, forçant ainsi la suivante. La couche cachée utilise des informations sur l'activité relative de les neurones de la première couche cachée, qui n'est pas affectée par la normalisation des couches. En d'autres termes, Le vecteur d'activité de la première couche cachée a une longueur et une direction. La longueur est utilisée pour définir la bénignité de la couche, et seule la direction est transmise à la couche suivante. L'erreur de test de la version « invariante par permutation » de la tâche est de 1,4 % sans utiliser de régularisateurs complexes, démontrant que le processus d'apprentissage est aussi efficace que la rétropropagation.
Figure 1 : Image mixte utilisée comme données négatives Algorithme FF non supervisé
FF Il y a deux questions principales auxquelles il faut répondre : S'il existe une bonne source de données négatives, est-ce qu'elle Apprendra-t-il des représentations multicouches efficaces pour capturer les structures de données ? D’où viennent les données négatives ? Utilisez d'abord des données négatives manuelles pour répondre à la première question. Une manière courante d'utiliser l'apprentissage contrastif pour les tâches d'apprentissage supervisé consiste à transformer les vecteurs d'entrée en vecteurs de représentation sans utiliser aucune information sur les étiquettes, et à apprendre à transformer simplement linéairement ces vecteurs de représentation en vecteurs logits en utilisant, dans softmax, pour déterminer la distribution de probabilité. d'étiquettes. Malgré la non-linéarité évidente, on parle toujours d'un classificateur linéaire, où l'apprentissage de la transformation linéaire du vecteur logits est supervisé, car il n'implique pas l'apprentissage de couches cachées et aucune rétropropagation des dérivées n'est requise. FF peut effectuer cet apprentissage de représentation en utilisant des vecteurs de données réels comme exemples positifs et des vecteurs de données corrompus comme exemples négatifs. Commencez à créer un masque à partir d'un bitmap aléatoire et floutez l'image à plusieurs reprises à l'aide d'un filtre de la forme [1/4, 1/2, 1/4] dans les directions horizontale et verticale. l'image est définie sur 0,5. Après un entraînement pendant 100 époques en utilisant quatre couches cachées (chaque couche cachée contient 2 000 ReLU), si les vecteurs d'activité normalisés des trois dernières couches cachées sont utilisés comme entrée softmax, l'erreur de test est de 1,37 %. De plus, l'utilisation de champs récepteurs locaux (sans partage de poids) au lieu de couches entièrement connectées peut améliorer les performances. L'erreur de test pour l'entraînement pendant 60 époques est de 1,16 %. La « normalisation par les pairs » utilisée par cette architecture peut empêcher tout élément caché. l’unité est hyperactive ou arrêtée définitivement. Algorithme FF d'apprentissage supervisé apprend les représentations cachées sans utiliser aucune information d'étiquette, ce qui est très intelligent pour les grands modèles qui peuvent éventuellement être capables d'effectuer diverses tâches : l'apprentissage non supervisé extrait tout un tas de fonctionnalités pour chaque tâche. Mais si vous n’êtes intéressé que par une seule tâche et souhaitez utiliser un petit modèle, alors l’apprentissage supervisé sera plus adapté. Une façon d'utiliser FF dans l'apprentissage supervisé est d'inclure des étiquettes dans l'entrée, les données positives sont constituées d'images avec des étiquettes correctes et les données négatives sont constituées d'images avec des étiquettes incorrectes, l'étiquette est la seule différence entre les deux, FF ignorera toutes les caractéristiques de l'image qui ne sont pas pertinentes pour l'étiquette. Les images MNIST contiennent des bordures noires pour faciliter le travail des réseaux de neurones convolutifs. Le contenu d'apprentissage de la première couche cachée devient également facilement apparent lorsque les 10 premiers pixels sont remplacés par l'une des N représentations de l'étiquette. Dans un réseau avec 4 couches cachées, chaque couche cachée contient 2 000 ReLU. Après 60 époques, la connexion complète entre les couches présente une erreur de test de 1,36 % par MNIST. Une rétropropagation est nécessaire pour atteindre ces performances de test. Le doublement du taux d'apprentissage FF et la formation pendant 40 époques entraînent une erreur de test légèrement pire de 1,46 %. Après l'entraînement avec FF, les chiffres de test sont classés en partant d'une entrée contenant le chiffre de test et une étiquette neutre composée de 10 0,1 entrées, avec un passage en avant par le réseau, après quoi, à l'exception du premier extérieur caché la couche, toutes les autres activités cachées sont utilisées comme entrée du softmax appris pendant la formation, qui est une méthode rapide et sous-optimale de classification d'images. La meilleure façon est d'exécuter le réseau avec une étiquette spécifique dans le cadre de l'entrée et d'accumuler les mérites de toutes les couches à l'exception de la première couche cachée. Après avoir fait cela pour chaque étiquette séparément, choisissez l'étiquette avec le mérite cumulé le plus élevé. Pendant la formation, un passage en avant des étiquettes neutres est utilisé pour sélectionner les étiquettes négatives dures, ce qui fait que la formation nécessite environ ⅓ des époques. Les deux pixels qui tremblent le plus dans chaque direction sont utilisés pour augmenter les données d'entraînement, obtenant ainsi 25 décalages différents pour chaque image. La connaissance de la disposition de l'espace des pixels est utilisée, de sorte qu'il ne s'agit plus d'un arrangement immuable. En entraînant le même réseau avec des données augmentées pendant 500 époques, l'erreur de test peut atteindre 0,64 %, similaire à un réseau neuronal convolutionnel entraîné par rétropropagation. Comme le montre la figure 2, nous obtenons également des domaines locaux intéressants dans la première couche cachée. Figure 2 : Champs locaux de 100 neurones dans la première couche cachée d'un réseau formé sur MNIST tramé, avec des étiquettes de classe affichées dans les 10 premiers pixels de chaque image Actuellement, tous les cas de classification d'images utilisent des réseaux neuronaux à action directe qui apprennent une couche à la fois, ce qui signifie que ce qui est appris dans les couches suivantes n'affecte pas l'apprentissage des couches précédentes. Cela semble être une faiblesse majeure par rapport à la rétropropagation, et la clé pour surmonter cette apparente limitation est de traiter les images statiques comme des vidéos plutôt ennuyeuses, traitées par des réseaux neuronaux récurrents multicouches. FF avance dans le temps pour les données positives et négatives, mais le vecteur d'activité de chaque couche est déterminé par le vecteur d'activité normalisé de la couche précédente et de la couche suivante aux pas de temps précédents (Figure 3). Comme vérification préliminaire du fonctionnement de cette approche, on peut utiliser une entrée "vidéo" constituée d'une image MNIST statique qui est simplement répétée à chaque image temporelle, avec une image pixel en bas et une des N représentations de la classe numérique en bas. en haut, il y a deux ou trois couches intermédiaires, chacune contenant 2000 neurones. Dans l'expérience préliminaire, le réseau récurrent a fonctionné pendant 10 pas de temps. Les couches paires de chaque pas de temps ont été mises à jour en fonction des activités de standardisation des couches impaires, et les couches impaires ont été mises à jour. mis à jour en fonction des nouvelles activités de normalisation. Le but de la mise à jour alternée était d'éviter l'oscillation biphasique, mais elle ne semble pas nécessaire pour le moment : avec un peu d'amortissement, basé sur l'état normalisé des pas de temps précédents, l'effet d'apprentissage de mise à jour synchrone de toutes les couches cachées est légèrement meilleur, ce qui est meilleur pour les architectures irrégulières. Les mots sont utiles. Par conséquent, des mises à jour synchrones ont été utilisées dans cette expérience et le nouvel état pré-normalisé a été défini à 0,3 de l'état pré-normalisé précédent, plus 0,7 du nouvel état calculé. Figure 3 : Réseau récurrent pour le traitement de la vidéo Figure 3, le réseau est formé sur MNIST pendant 60 époques, avec un passage ascendant vers la couche cachée de chaque image Effectuer l'initialisation. Par la suite, le réseau est exécuté pendant 8 itérations simultanées avec amortissement. Le réseau est évalué en exécutant 8 itérations pour chacune des 10 étiquettes et en sélectionnant l'étiquette avec la qualité moyenne la plus élevée dans les itérations 3 à 5. Test des performances des données, le test l'erreur est de 1,31 %. Les données négatives sont transmises une fois à travers le réseau pour obtenir les probabilités de toutes les catégories, et des catégories incorrectes sont sélectionnées et générées proportionnellement aux probabilités, améliorant ainsi l'efficacité de la formation. Dans un réseau récurrent, l'objectif est de maintenir une bonne cohérence entre l'entrée de la couche supérieure des données positives et l'entrée de la couche inférieure, alors que la cohérence des données négatives n'est pas bonne. Une propriété souhaitable dans un réseau avec une connectivité spatialement locale : l'entrée descendante sera déterminée par une plus grande zone de l'image et aura le résultat de plus d'étapes de traitement, elle pourra donc être considérée comme une prédiction contextuelle de l'image, C'est également le résultat qui devrait être produit sur la base de l'entrée ascendante du domaine d'image local. Si l'entrée change au fil du temps, l'entrée descendante sera basée sur des données d'entrée plus anciennes, donc les représentations qui prédisent l'entrée ascendante doivent être apprises. Lorsque nous inversons le signe de la fonction objectif et effectuons une activité de faible carré sur des données positives, l’entrée descendante devrait apprendre à annuler l’entrée ascendante sur les données positives, ce qui semble être très similaire au codage prédictif. La normalisation des couches signifie que même si l'annulation fonctionne bien, de nombreuses informations sont envoyées à la couche suivante, qui sont amplifiées par la normalisation si toutes les erreurs de prédiction sont faibles. L'idée d'utiliser les prédictions de contexte comme caractéristiques locales et d'extraire des signaux pédagogiques pour l'apprentissage existe depuis longtemps, mais la difficulté réside dans la façon de travailler dans des réseaux de neurones qui utilisent un contexte spatial plutôt qu'un contexte temporel unilatéral. Utiliser le consensus à partir d’entrées descendantes et ascendantes comme signaux pédagogiques pour les pondérations descendantes et ascendantes est une approche qui conduit clairement à l’effondrement, tout comme le problème de l’utilisation de prédictions contextuelles à partir d’autres images pour créer des paires négatives. résolu. Parmi eux, l’utilisation de données négatives plutôt que de représentations internes négatives semble être la clé. Hinton a ensuite testé les performances de l'algorithme FF sur l'ensemble de données CIFAR-10, prouvant que le réseau formé par FF est comparable à la rétropropagation en termes de performances. Cet ensemble de données contient 50 000 images d'entraînement 32x32 avec trois canaux de couleur par pixel, chaque image a donc 3072 dimensions. Étant donné que l'arrière-plan de ces images est complexe et très variable et ne peut pas être correctement modélisé avec des données d'entraînement très limitées, un réseau entièrement connecté contenant deux à trois couches cachées peut être utilisé par rétropropagation, à moins que la couche cachée ne soit très petite. Il y aura un surajustement important. lors de la formation, presque tous les résultats de recherche actuels concernent les réseaux convolutifs. La rétropropagation et FF utilisent la dégradation du poids pour réduire le surapprentissage. Hinton a comparé les performances des réseaux formés par les deux méthodes. Pour le réseau formé par FF, la méthode de test consiste à utiliser une seule propagation vers l'avant, ou à faire exécuter au réseau 10 itérations sur l'image et chacune des 10 étiquettes, et à accumuler l'énergie de l'étiquette dans les itérations 4 à 6 (c'est-à-dire lorsqu'il est basé sur le moment où le caractère correct de l'erreur est le plus faible). En conséquence, bien que les performances des tests de FF soient pires que la rétropropagation, elles ne sont que légèrement pires. Dans le même temps, l’écart entre les deux n’augmentera pas avec l’augmentation des couches cachées. Cependant, la rétropropagation peut réduire plus rapidement les erreurs de formation. De plus, dans l'apprentissage de séquences, Hinton a également prouvé que le réseau formé avec FF est meilleur que la rétropropagation grâce à la tâche de prédire le prochain caractère de la séquence. Les réseaux formés avec FF peuvent générer leurs propres données négatives et sont plus cohérents biologiquement. Hinton a en outre comparé l'algorithme FF avec d'autres méthodes d'apprentissage contrastées existantes. Sa conclusion est la suivante : FF est une combinaison de la machine de Boltzmann et d'une simple fonction de qualité locale FF ne nécessite pas de rétropropagation pour apprendre le modèle discriminatif et le modèle génératif, c'est donc un cas particulier de GAN ; Au début des années 1980, les réseaux de neurones profonds disposaient de deux des méthodes d'apprentissage les plus prometteuses, l'une était la rétropropagation et l'autre les machines Boltzmann non supervisées pour l'apprentissage contrastif. Une machine Boltzmann est un réseau de neurones binaires aléatoires avec des connexions par paires avec des poids égaux dans les deux sens. Lorsqu'elle est libre de fonctionner sans entrée externe, la machine Boltzmann met à jour à plusieurs reprises chaque neurone binaire en le mettant à l'état activé avec une probabilité égale à l'entrée totale qu'elle reçoit de la logique des autres neurones actifs. Ce processus de mise à jour simple échantillonne finalement une distribution d'équilibre, où chaque configuration globale (qui attribue un état binaire à tous les neurones) a une probabilité logarithmique proportionnelle à son énergie négative. L'énergie négative est simplement la somme des poids entre toutes les paires de neurones dans cette configuration. Un sous-ensemble de neurones dans une machine Boltzmann est "visible", des vecteurs de données binaires sont présentés au réseau en les fixant sur les neurones visibles, puis en le laissant mettre à jour à plusieurs reprises l'état des neurones cachés restants. Le but de l’apprentissage automatique de Boltzmann est de faire en sorte que la distribution des vecteurs binaires sur les neurones visibles corresponde librement à la distribution des données lorsque le réseau fonctionne. Le plus surprenant est que la divergence Kullback-Liebler entre la distribution des données affichées sur le neurone visible et la distribution du modèle a une dérivée très simple (pour tout poids) : où les crochets indiquer l'attente de fluctuations aléatoires à l'équilibre thermique et les données pour le premier terme. Ce qui est intéressant à propos de ce résultat, c'est qu'il donne les dérivées des poids au plus profond du réseau sans propager explicitement les dérivées d'erreur. Il propage l’activité neuronale pendant deux étapes différentes : l’éveil et le sommeil. Cependant, le coût pour rendre les règles d'apprentissage les plus simples mathématiquement est très élevé. Cela nécessite une machine de Boltzmann profonde pour approximer sa distribution d'équilibre, ce qui la rend irréaliste en tant que technique d'apprentissage automatique et peu plausible en tant que modèle d'apprentissage cortical : les grands réseaux n'ont pas le temps de se rapprocher de sa distribution d'équilibre lors de la perception. De plus, il n’existe aucune preuve d’une symétrie détaillée des connexions corticales, ni d’un moyen évident d’apprendre des séquences. De plus, les procédures d’apprentissage automatique de Boltzmann échoueront si de nombreuses mises à jour positives des poids sont suivies de nombreuses mises à jour négatives, et la phase négative correspond au sommeil paradoxal. Mais malgré les défauts ci-dessus, la machine Boltzmann reste une méthode d'apprentissage très intelligente car elle utilise deux paramètres itératifs qui fonctionnent de la même manière mais ont des conditions aux limites différentes sur les neurones visibles (c'est-à-dire limité aux données ou non restreint), remplaçant les passes avant et arrière de la rétropropagation. La machine Boltzmann peut être considérée comme une combinaison de deux idées : La première idée sur l'apprentissage contrastif peut être utilisée avec de nombreuses autres fonctions énergétiques. Par exemple, la sortie d'un réseau neuronal à action directe est utilisée pour définir l'énergie, puis la rétropropagation est utilisée à travers le réseau pour calculer la dérivée de l'énergie par rapport aux poids et aux états visibles. Des données négatives sont ensuite générées en suivant la dérivée de l'énergie par rapport à l'état visible. De plus, il n'est pas nécessaire de générer des données négatives en échantillonnant des vecteurs de données de la distribution de Boltzmann définie par la fonction énergétique, ce qui peut également améliorer l'efficacité d'apprentissage des machines de Boltzmann avec une seule couche cachée sans échantillonnage de la distribution d'équilibre. De l'avis de Hinton, la simplicité mathématique de l'équation 2 et le processus de mise à jour stochastique consistant à effectuer une intégration bayésienne sur toutes les configurations cachées possibles sont vraiment élégants, donc en utilisant seulement deux solutions qui n'ont besoin que de propager l'activité neuronale. La +rétropropagation au lieu de la rétropropagation est toujours liée aux complexités de la chaîne de Markov Monte Carlo. Une simple fonction de bonté locale est plus facile à gérer que l'énergie libre d'un réseau de neurones aléatoires binaires, et FF combine l'apprentissage contrastif des machines de Boltzmann avec cette fonction. GAN (Generative Adversarial Network) utilise un réseau neuronal multicouche pour générer des données et utilise un réseau discriminant multicouche pour entraîner son modèle génératif afin qu'il donne dérivées par rapport à la sortie du modèle génératif et la probabilité que la dérivée soit des données réelles plutôt que des données générées GAN est difficile à former car les modèles discriminants et génératifs se battent les uns contre les autres. Les GAN peuvent produire de très belles images, mais ils souffrent d’un effondrement des modes : il peut y avoir de grandes régions de l’espace image qui ne génèrent jamais d’exemples. Et il utilise la rétropropagation pour s'adapter à chaque réseau, il est donc difficile de voir comment les implémenter dans le cortex. FF peut être considéré comme un cas particulier de GAN, dans lequel chaque couche cachée du réseau discriminant prend sa propre décision gourmande sur l'entrée positive ou négative, il n'y a donc pas besoin de rétropropagation pour apprendre le modèle discriminant et le modèle génératif, car au lieu d'apprendre sa propre représentation cachée, il réutilise la représentation apprise par le modèle discriminatif. La seule chose qu'un modèle génératif doit apprendre est de savoir comment transformer ces représentations cachées en données générées, et si une transformation linéaire est utilisée pour calculer le logarithme du softmax, aucune rétropropagation n'est nécessaire. L’un des avantages de l’utilisation de la même représentation cachée pour les deux modèles est qu’elle élimine les problèmes qui surviennent lorsqu’un modèle apprend trop rapidement par rapport à l’autre, et évite également l’effondrement des modes. Les méthodes de comparaison auto-supervisées comme SimCLR apprennent en optimisant une fonction objective qui peut prendre en charge la relation entre deux représentations recadrées différentes de la même image La cohérence et l'incohérence entre les représentations de la récolte à partir de deux images différentes. Ce type d'approche utilise généralement de nombreuses couches pour extraire une représentation personnalisée et entraîne ces couches en rétropropagant les dérivées de la fonction objectif. Ils ne fonctionnent pas si les deux coupures se chevauchent toujours exactement de la même manière, car ils peuvent alors simplement rapporter l'intensité des pixels partagés et obtenir une cohérence parfaite. Mais dans un vrai réseau de neurones, il n'est pas facile de mesurer la cohérence entre deux représentations différentes, et il n'existe aucun moyen d'extraire deux représentations découpées en même temps en utilisant les mêmes poids. Et FF utilise une manière différente de mesurer la cohérence, ce qui semble plus facile pour les vrais réseaux de neurones. De nombreuses sources d'informations différentes fournissent des informations au même ensemble de neurones. Si les sources s'accordent sur les neurones à activer, il y aura une interférence positive, entraînant une activité au carré élevée, et si elles divergent, l'activité au carré sera faible. Mesurer la cohérence à l’aide d’interférences positives est beaucoup plus flexible que comparer deux vecteurs de représentation différents, car il n’est pas nécessaire de diviser arbitrairement l’entrée en deux sources distinctes. SimCLR Une faiblesse majeure de ce type d'approche est la grande quantité de calcul utilisée pour dériver une représentation des deux cultures d'images, mais la fonction objectif ne fournit que des contraintes modestes sur la représentation, ce qui limite la vitesse à laquelle les informations sur le domaine peut être injecté dans les poids. Pour que la représentation tronquée soit plus proche de sa paire correcte que d'un substitut, seuls 20 bits d'information sont nécessaires. Le problème avec FF est plus grave car il ne nécessite que 1 bit pour faire la distinction entre les exemples positifs et négatifs. La solution à cette pauvreté de contraintes est de diviser chaque couche en plusieurs petits blocs et de forcer chaque bloc à utiliser la longueur de son vecteur d'activité pré-normalisé pour décider séparément des exemples positifs et négatifs. Les informations requises pour satisfaire les contraintes évoluent ensuite linéairement avec le nombre de blocs, ce qui est bien meilleur que la mise à l'échelle logarithmique obtenue avec des ensembles de contraste plus grands dans les méthodes de type SimCLR. Une approche non supervisée de l'apprentissage des représentations multicouches consiste d'abord à apprendre une couche cachée qui capture une certaine structure dans les données, puis à combiner les activités de cette couche. Les vecteurs sont traités comme les données et le même algorithme d’apprentissage non supervisé est à nouveau appliqué. C'est ainsi que les représentations multicouches sont apprises à l'aide de machines Boltzmann restreintes (RBM) ou d'auto-encodeurs empilés. Mais il a un défaut fatal. Supposons que nous cartographions des images de bruit aléatoires via une matrice de poids aléatoires. Le vecteur d'activité résultant aura une structure de corrélation créée par la matrice de pondération, indépendante des données. Lorsque l’apprentissage non supervisé est appliqué à ces vecteurs d’activité, il découvre une certaine structure en leur sein, mais cela ne dit rien au système sur le monde extérieur. L'algorithme d'apprentissage automatique original de Boltzmann a été conçu pour éviter ce défaut en comparant les statistiques causées par deux conditions aux limites externes différentes. Cela annule toute structure qui résulte simplement d’autres parties du réseau. Il n'est pas nécessaire de restreindre le routage lors de la comparaison de données positives et négatives, ni de relations spatiales aléatoires entre les coupures pour empêcher la tricherie sur le réseau. Cela facilite l’obtention d’un grand nombre de groupes de neurones interconnectés, chacun ayant son propre objectif : distinguer les données positives des données négatives. Le calcul mortel est l'une des opinions importantes récentes de Hinton (Remarque : ce terme n'a pas de traduction chinoise reconnue, et le terme temporaire la traduction est « informatique non immortelle »). Il a souligné que les ordinateurs numériques à usage général actuels sont conçus pour suivre fidèlement les instructions, et on pensait que la seule façon de permettre à un ordinateur à usage général d'effectuer une tâche spécifique était d'écrire un programme qui spécifié de manière extrêmement détaillée exactement ce qu'il faut faire. L'idée dominante insiste toujours sur le fait que le logiciel doit être séparé du matériel afin que le même programme ou le même ensemble de poids puisse fonctionner sur différentes copies physiques du matériel. Cela rend « immortelles » les connaissances contenues dans le programme ou dans les poids : lorsque le matériel meurt, la connaissance ne meurt pas avec lui. Mais ce n’est plus vrai, et la communauté des chercheurs n’a pas encore pleinement compris l’impact à long terme de l’apprentissage profond sur la façon dont les ordinateurs sont construits. La séparation du logiciel et du matériel est l'un des fondements de l'informatique. Elle apporte de nombreux avantages, comme celui de pouvoir étudier les caractéristiques d'un programme sans avoir à se soucier de l'électrotechnique, et elle permet de écrire un programme une fois et le copier dans des données Des millions d'ordinateurs sont devenus possibles. Mais Hinton souligne : Si nous sommes prêts à renoncer à cette « immortalité », nous pouvons économiser considérablement l'énergie nécessaire pour effectuer les calculs et le coût de fabrication du matériel nécessaire pour effectuer les calculs. De cette manière, différentes instances matérielles effectuant la même tâche peuvent présenter d'importants changements de connectivité et de non-linéarité, et les valeurs des paramètres qui exploitent efficacement les propriétés inconnues de chaque instance spécifique sont découvertes à partir du matériel du processus d'apprentissage. Ces valeurs de paramètres ne sont utiles que pour une instance matérielle spécifique, donc les calculs qu'ils effectuent ne sont pas immortels et périront avec le matériel. Copier les valeurs des paramètres sur différents matériels qui fonctionnent différemment n'a pas vraiment de sens en soi, mais nous pouvons utiliser une approche plus biologique pour transférer ce qu'un matériel apprend à un autre. Pour une tâche telle que la classification d'objets dans une image, ce qui nous intéresse vraiment, c'est la fonction qui relie l'intensité des pixels à l'étiquette de classe, et non les valeurs des paramètres qui implémentent cette fonction dans un matériel particulier. La fonction elle-même peut être transférée sur différents matériels en utilisant la distillation : la formation d'un nouveau matériel donne non seulement les mêmes réponses que l'ancien matériel, mais génère également la même probabilité de réponses incorrectes. Ces probabilités donnent une indication plus riche de la manière dont l’ancien modèle s’est généralisé, plutôt que de se limiter aux étiquettes qu’il pensait être les plus probables. Ainsi, en entraînant le nouveau modèle pour qu'il corresponde à la probabilité de mauvaises réponses, nous l'entraînons à généraliser de la même manière que l'ancien modèle. Les exemples d’une telle formation sur les réseaux neuronaux optimisant réellement la généralisation sont rares. Si vous souhaitez qu'un réseau neuronal comportant des milliards de paramètres ne consomme que quelques watts, l'informatique non immortelle peut être la seule option. Sa faisabilité dépend de la possibilité de trouver un processus d’apprentissage capable de fonctionner efficacement sur du matériel dont les détails précis sont inconnus. Selon Hinton, l’algorithme FF est une solution prometteuse, mais elle s’étend à grande échelle. Il reste à voir comment. le réseau neuronal fonctionnera. À la fin de l'article, Hinton souligne les questions ouvertes suivantes : Algorithme Forward-Forward
Apprendre des représentations multicouches à l'aide de fonctions d'optimisation couche par couche
2 Lors de la validation des hyperparamètres, 10 000 images ont été utilisées pour calculer le taux d'erreur des tests. Un réseau neuronal convolutif conçu avec plusieurs couches cachées peut atteindre une erreur de test d'environ 0,6 %.
Dans la version "invariant par permutation" de la tâche, le réseau neuronal n'obtient pas d'informations sur la disposition spatiale des pixels si toutes les images d'entraînement et de test sont affectées par la même variation aléatoire de pixels avant le début de l'entraînement, les performances du réseau neuronal seront également tout aussi bonnes.
Pour la version « invariante par permutation » de cette tâche, l'erreur de test d'un réseau neuronal à action directe avec une unité linéaire rectifiée (ReLU) avec plusieurs couches cachées entièrement connectées est d'environ 1,4 %, ce qui prend environ 20 époques pour s'entraîner. En utilisant divers régulateurs tels que le dropout (qui ralentit l'entraînement) ou le lissage des étiquettes (qui accélère l'entraînement), l'erreur de test peut être réduite à environ 1,1 %. De plus, l’erreur de test peut être encore réduite en combinant l’apprentissage supervisé des étiquettes avec l’apprentissage non supervisé.
Pour que FF se concentre sur la caractérisation de la corrélation à long terme des images de forme, nous devons créer des données négatives avec des corrélations à long terme différentes, mais des corrélations à court terme très similaires. Cela peut être fait en créant une grande corrélation. région de 1 et 0 masque à compléter. Une image hybride est ensuite créée pour les données négatives en ajoutant une image numérique au masque et une image numérique différente pour multiplier le côté opposé du masque (Figure 1).
Utilisation de FF simule le haut -effets de perception
Prédiction utilisant le contexte spatial
Test de l'ensemble de données CIFAR-10
3
La relation entre l'algorithme FF et la machine Boltzmann, GAN, SimCLR
FF absorbe l'apprentissage comparatif des machines Boltzmann
FF est un cas particulier de GAN
FF est plus facile à mesurer la cohérence que SimCLR
Problèmes liés à l'apprentissage du contraste de pile
4
Sur les futurs ordinateurs non immortels
FF est le meilleur algorithme d'apprentissage
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!