Apprentissage Automatique et Réseaux Neuronaux - page 58

 

Cours 11.2 — Traiter les faux minima



Cours 11.2 — Traiter les faux minima [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, je vais discuter de la capacité de stockage des réseaux Hopfield et de la façon dont elle est limitée par de faux souvenirs. De faux souvenirs se produisent lorsque des minima énergétiques proches se combinent, créant un nouveau minimum au mauvais endroit. Les efforts pour éliminer ces faux minima ont conduit à une méthode d'apprentissage intéressante dans des systèmes plus complexes que les réseaux de Hopfield de base.

J'aborderai également une redécouverte historique liée à l'augmentation de la capacité des filets Hopfield. Les physiciens tentant d'améliorer leur capacité de stockage sont tombés sur la procédure de convergence du perceptron, qui a été initialement développée après que Hopfield ait inventé les réseaux de Hopfield comme dispositifs de stockage de mémoire.

La capacité d'un réseau de Hopfield, utilisant la règle de stockage de Hopfield pour un réseau entièrement connecté, est d'environ 0,15n mémoires, où n représente le nombre d'unités de seuil binaires. Cette capacité indique le nombre de mémoires pouvant être stockées sans confusion. Chaque mémoire est constituée d'une configuration aléatoire des N unités, apportant n bits d'information. Ainsi, l'information totale stockée dans un réseau de Hopfield est d'environ 0,15 N bits au carré.

Cependant, cette méthode de stockage n'utilise pas efficacement les bits nécessaires pour stocker les poids. Si nous analysons le nombre de bits nécessaires pour stocker les poids dans l'ordinateur, il dépasse 0,15 N bits au carré, démontrant que la mémoire distribuée dans les minima d'énergie locaux n'est pas efficace.

Pour améliorer la capacité d'un réseau Hopfield, nous devons nous attaquer à la fusion des minima d'énergie, ce qui limite sa capacité. A chaque fois qu'une configuration binaire est mémorisée, on espère créer un nouveau minimum d'énergie. Cependant, des modèles proches peuvent conduire à la fusion de minima, rendant impossible la distinction entre des mémoires séparées. Ce phénomène de fusion est ce qui limite la capacité d'un réseau Hopfield.

Une idée intrigante qui a émergé de l'amélioration de la capacité des filets de Hopfield est le concept de désapprentissage. Le désapprentissage consiste à laisser le réseau se stabiliser à partir d'un état initial aléatoire, puis à appliquer l'opposé de la règle de stockage pour éliminer les minima parasites. Hopfield, Feinstein et Palmer ont démontré que le désapprentissage augmente efficacement la capacité de mémoire, et Crick et Mitchison ont proposé que le désapprentissage puisse se produire pendant le sommeil paradoxal.

Le défi consiste à déterminer dans quelle mesure le désapprentissage doit être fait. Idéalement, le désapprentissage devrait faire partie du processus d'ajustement d'un modèle aux données. L'ajustement de vraisemblance maximale du modèle peut automatiquement intégrer le désapprentissage, fournissant des indications précises sur la quantité de désapprentissage requise.

Les physiciens se sont efforcés d'améliorer la capacité des réseaux de Hopfield, motivés par le désir de trouver des liens entre des concepts mathématiques familiers et la fonctionnalité cérébrale. Elizabeth Gardner a proposé une règle de stockage plus efficace qui utilise la pleine capacité des poids. Cette règle impliquait de parcourir plusieurs fois l'ensemble d'entraînement et d'utiliser la procédure de convergence du perceptron pour entraîner l'état correct de chaque unité.

Cette technique est similaire à la méthode de pseudo-vraisemblance utilisée dans les statistiques, où vous visez à obtenir une dimension correcte compte tenu des valeurs de toutes les autres dimensions. La procédure de convergence du perceptron, avec quelques ajustements pour les poids symétriques dans les réseaux de Hopfield, permet un stockage en mémoire plus efficace.

En utilisant la procédure de convergence du perceptron et en parcourant les données plusieurs fois, nous pouvons améliorer l'efficacité du stockage en mémoire des réseaux de Hopfield. Cette technique est analogue à la méthode de pseudo-vraisemblance utilisée dans les statistiques, où le but est d'obtenir une dimension correcte en fonction des valeurs de toutes les autres dimensions. La procédure de convergence du perceptron, avec les modifications appropriées pour les poids symétriques dans les réseaux de Hopfield, permet un stockage en mémoire plus efficace.

Cette règle de stockage améliorée présentée par Gardner représente une avancée significative dans la maximisation de la capacité des filets Hopfield. En parcourant l'ensemble d'apprentissage et en ajustant de manière itérative les poids en fonction de la procédure de convergence du perceptron, le réseau peut stocker un plus grand nombre de mémoires.

Il convient de noter que cette approche sacrifie la propriété en ligne des réseaux Hopfield, qui permet le traitement des données en un seul passage. Cependant, le compromis est justifié par l'efficacité de stockage améliorée obtenue grâce à l'utilisation de la pleine capacité des poids.

L'incorporation du désapprentissage, telle que proposée par Hopfield, Feinstein et Palmer, fournit un moyen de supprimer les faux minima et d'augmenter encore la capacité de mémoire. Le désapprentissage permet la séparation des minima fusionnés, assurant un meilleur rappel des souvenirs individuels.

Fait intéressant, Crick et Mitchison ont suggéré une explication fonctionnelle du désapprentissage pendant le sommeil paradoxal. Ils ont proposé que le but du rêve est de faciliter la suppression des minima parasites, en réinitialisant efficacement le réseau à un état aléatoire et en désapprenant les modèles précédents.

Pour relever le défi mathématique de déterminer la quantité optimale de désapprentissage, une solution potentielle consiste à traiter le désapprentissage dans le cadre du processus d'ajustement du modèle. En utilisant l'ajustement de vraisemblance maximale, le désapprentissage peut être automatiquement incorporé, fournissant des indications précises sur l'étendue du désapprentissage nécessaire pour optimiser les performances du modèle.

La quête pour améliorer la capacité des réseaux de Hopfield a fourni des informations précieuses sur le stockage de la mémoire et les processus d'apprentissage. Le développement de la procédure de convergence du perceptron, ainsi que l'exploration du désapprentissage, nous ont rapprochés de l'exploitation du plein potentiel des réseaux de Hopfield pour un stockage et une récupération efficaces de la mémoire.

Lecture 11.2 — Dealing with spurious minima [Neural Networks for Machine Learning]
Lecture 11.2 — Dealing with spurious minima [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Cours 11.3 — Filets de Hopfield avec unités cachées



Conférence 11.3 — Réseaux de Hopfield avec unités cachées [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, je présenterai une nouvelle approche de l'utilisation des filets de Hopfield et de leur fonction énergétique. En incorporant des unités cachées dans le réseau, nous visons à dériver des interprétations d'entrées perceptives basées sur les états de ces unités cachées. Le concept clé est que les poids entre les unités imposent des contraintes sur les interprétations favorables, et en trouvant des états à faible énergie, nous pouvons découvrir de bonnes interprétations des données d'entrée.

Les réseaux de Hopfield combinent deux idées fondamentales : la capacité de trouver des minima d'énergie locaux à l'aide d'unités de seuil binaires connectées symétriquement et la notion que ces minima d'énergie locaux peuvent correspondre à des mémoires. Cependant, il existe une autre façon de tirer parti de la capacité de trouver des minima locaux. Au lieu d'utiliser le réseau uniquement pour le stockage de la mémoire, nous pouvons l'utiliser pour construire des interprétations d'entrées sensorielles. Pour illustrer cette idée, approfondissons les détails de la déduction d'informations à partir d'une ligne 2D dans une image sur le monde en trois dimensions. Lorsque nous observons une ligne 2D, elle peut provenir de différentes arêtes tridimensionnelles dans le monde. En raison de la perte d'informations de profondeur dans l'image, plusieurs bords 3D peuvent donner le même aspect sur la rétine. Cette ambiguïté survient parce que nous manquons de connaissances sur la profondeur à chaque extrémité de la ligne.

Pour résoudre ce problème, nous supposons qu'un bord 3D droit dans le monde provoque une ligne 2D droite dans l'image. Cependant, cette hypothèse élimine deux degrés de liberté liés à la profondeur à chaque extrémité de l'arête 3D. Par conséquent, toute une famille d'arêtes 3D correspond à une même ligne 2D, mais on ne peut en percevoir qu'une à la fois. Considérons maintenant un exemple qui montre comment nous pouvons utiliser la capacité de trouver des états de faible énergie dans un réseau d'unités binaires pour aider à interpréter les entrées sensorielles. Supposons que nous ayons un dessin au trait et que nous voulions l'interpréter comme un objet tridimensionnel. Pour chaque ligne 2D potentielle, nous attribuons un neurone correspondant. Seuls quelques neurones s'activeront dans une image donnée, représentant les lignes actuelles.

Pour construire des interprétations, nous introduisons un ensemble d'unités de ligne 3D, une pour chaque arête 3D possible. Étant donné que chaque unité de ligne 2D peut correspondre à plusieurs lignes 3D, nous devons exciter toutes les lignes 3D pertinentes tout en assurant la concurrence entre elles, car une seule ligne 3D doit être active à la fois. Pour y parvenir, nous établissons des connexions excitatrices de l'unité de ligne 2D à toutes les lignes 3D candidates, ainsi que des connexions inhibitrices pour permettre la compétition.

Cependant, le câblage du réseau de neurones n'est pas encore terminé. Nous devons incorporer des informations sur la façon dont les bords 3D se connectent. Par exemple, lorsque deux lignes 2D convergent dans l'image, il est fort probable qu'elles correspondent à des arêtes de même profondeur au point de jonction. Nous pouvons représenter cette attente en introduisant des connexions supplémentaires qui prennent en charge ces arêtes 3D coïncidentes.

De plus, nous pouvons exploiter l'occurrence courante des arêtes 3D se rejoignant à angle droit. En établissant des connexions plus fortes entre deux arêtes 3D qui s'accordent en profondeur et forment un angle droit, nous pouvons indiquer leur relation cohésive. Ces connexions, représentées par des lignes vertes plus épaisses, fournissent des informations sur la façon dont les bords du monde se connectent et contribuent à la formation d'un objet 3D cohérent. Maintenant, notre réseau contient des connaissances sur la disposition des bords dans le monde et sur la façon dont ils se projettent pour créer des lignes dans l'image. Lorsque nous introduisons une image dans ce réseau, elle doit générer une interprétation. Dans le cas de l'image que je présente, il y a deux interprétations distinctes, connues sous le nom de cube de Necker. Le réseau présenterait deux minima énergétiques correspondant chacun à une des interprétations possibles du cube de Necker.

Veuillez noter que cet exemple sert d'analogie pour saisir le concept d'utilisation d'états de faible énergie comme interprétations de données perceptuelles. Construire un modèle complet qui rend compte avec précision du renversement du cube de Necker serait considérablement plus complexe que le scénario simplifié décrit ici. Si nous décidons d'utiliser des états de basse énergie pour représenter des interprétations perceptives sonores, deux défis clés émergent. Tout d'abord, nous devons aborder la question de la recherche - comment empêcher les unités cachées de se retrouver piégées dans de faibles minima énergétiques locaux. Des minima médiocres reflètent des interprétations sous-optimales basées sur notre modèle et nos pondérations actuels. Existe-t-il une meilleure approche que de simplement descendre en énergie à partir d'un état de départ aléatoire ?

Le deuxième défi est encore plus redoutable : comment apprendre le poids des connexions entre les unités cachées et entre les unités visibles et cachées. Existe-t-il un algorithme d'apprentissage simple pour ajuster ces pondérations, étant donné qu'aucun superviseur externe ne guide le processus d'apprentissage ? Notre objectif est que le réseau reçoive des informations et construise des modèles d'activité significatifs dans les unités cachées qui représentent des interprétations sensées. Cela pose un défi considérable.

En résumé, l'utilisation des réseaux de Hopfield et de leur fonction énergétique d'une nouvelle manière implique l'incorporation d'unités cachées pour dériver des interprétations de l'entrée perceptive. Les poids entre les unités représentent des contraintes sur de bonnes interprétations, et trouver des états de basse énergie nous permet de découvrir des interprétations favorables.

Cependant, il y a des défis à surmonter. Le premier défi est le problème de la recherche, qui consiste à éviter de rester piégé dans des minima énergétiques locaux pauvres. Ces minima représentent des interprétations sous-optimales, et trouver une méthode de recherche efficace est crucial. Le deuxième défi consiste à apprendre les poids sur les connexions entre les unités cachées et entre les unités visibles et cachées. Cette tâche est compliquée par l'absence d'un superviseur ou de conseils externes. Un algorithme d'apprentissage approprié est nécessaire pour ajuster les poids, permettant au réseau de construire des interprétations significatives des entrées sensorielles. Il est important de noter que l'exemple fourni, impliquant l'interprétation d'un dessin au trait 2D en tant qu'objet 3D, est une analogie pour illustrer le concept d'utilisation d'états de faible énergie pour les interprétations. Construire un modèle complet pour gérer des phénomènes perceptuels plus complexes nécessiterait des approches plus complexes.

Dans la vidéo suivante, nous approfondirons le problème de recherche et explorerons les solutions potentielles pour éviter de nous retrouver piégés dans de faibles minima locaux de la fonction énergétique.

Lecture 11.3 — Hopfield nets with hidden units [Neural Networks for Machine Learning]
Lecture 11.3 — Hopfield nets with hidden units [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Cours 11.4 — Utiliser des unités stochastiques pour améliorer la recherche



Conférence 11.4 — Utilisation d'unités stochastiques pour améliorer la recherche [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, j'expliquerai comment l'ajout de bruit aux systèmes peut les aider à échapper aux minima locaux. Plus précisément, je vais vous montrer comment incorporer le bruit dans les unités d'un filet Hopfield de manière appropriée.

Un filet Hopfield prend toujours des décisions qui réduisent l'énergie. Il est donc difficile de sortir d'un minimum local. Si nous sommes piégés dans un minimum local, nous ne pouvons pas surmonter la barrière énergétique pour atteindre un meilleur minimum.

Cependant, en ajoutant du bruit aléatoire, nous pouvons échapper aux minima médiocres, en particulier ceux qui sont peu profonds et manquent de barrières énergétiques importantes. La stratégie la plus efficace est de commencer avec un niveau de bruit élevé, permettant d'explorer l'espace à une échelle grossière et de trouver des régions généralement bonnes. Au fur et à mesure que le niveau de bruit diminue, la mise au point se déplace vers les meilleurs minima proches.

Le recuit simulé est une technique qui réduit progressivement le niveau de bruit pour guider le système vers un minimum profond. Il tire parti de la température dans un système physique ou simulé, où une température plus élevée aplanit le paysage énergétique, permettant un franchissement plus facile des barrières, tandis qu'une température plus basse améliore le rapport des probabilités pour favoriser les transitions d'un minimum à l'autre.

Pour introduire du bruit dans un réseau de Hopfield, nous remplaçons les unités de seuil binaires par des unités stochastiques binaires qui prennent des décisions aléatoires biaisées. Le niveau de bruit est contrôlé par un paramètre appelé température. Augmenter le niveau de bruit correspond à diminuer les écarts énergétiques entre configurations.

Le concept d'équilibre thermique est important à comprendre dans le contexte des machines Boltzmann. À une température fixe, l'équilibre thermique fait référence à la distribution de probabilité qui s'installe dans une distribution stationnaire, déterminée par la fonction d'énergie. La probabilité d'une configuration en équilibre thermique est proportionnelle à e à la puissance de moins son énergie.

Atteindre l'équilibre thermique implique d'exécuter plusieurs systèmes stochastiques avec les mêmes poids et d'appliquer des règles de mise à jour stochastiques. Bien que les systèmes individuels continuent de changer de configuration, la fraction de systèmes dans chaque configuration reste constante. Cela revient à mélanger des paquets de cartes dans un grand casino jusqu'à ce que la commande initiale devienne sans objet et qu'un nombre égal de paquets se trouve dans chaque commande possible.

Le recuit simulé est une méthode puissante pour surmonter les optima locaux, mais il ne sera pas discuté plus en détail dans ce cours, car il peut être une distraction de la compréhension des machines de Boltzmann. Au lieu de cela, des unités stochastiques binaires avec une température de un (fonction logistique standard) seront utilisées.

L'ajout de bruit aux systèmes, tels que les filets de Hopfield et les machines Boltzmann, peut aider à échapper aux minima locaux et à explorer des régions plus favorables. Le niveau de bruit est contrôlé par la température, et l'atteinte de l'équilibre thermique implique que la fraction de systèmes dans chaque configuration reste constante tandis que les systèmes individuels continuent de changer d'état.

Lecture 11.4 — Using stochastic units to improve search [Neural Networks for Machine Learning]
Lecture 11.4 — Using stochastic units to improve search [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Cours 11.5 — Comment une machine de Boltzmann modélise les données



Conférence 11.5 — Comment une machine Boltzmann modélise les données [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, je vais vous expliquer comment une machine Boltzmann modélise des vecteurs de données binaires. Dans un premier temps, je discuterai des raisons de modéliser des vecteurs de données binaires et des applications potentielles d'un tel modèle. Ensuite, j'approfondirai la façon dont les probabilités attribuées aux vecteurs de données binaires sont déterminées par les poids dans une machine de Boltzmann.

Les machines de Boltzmann, également appelées réseaux de Hopfield stochastiques avec unités cachées, sont efficaces pour modéliser des données binaires. En utilisant des unités cachées, ces machines peuvent ajuster un modèle à un ensemble de vecteurs d'apprentissage binaires et attribuer une probabilité à chaque vecteur binaire possible.

Il existe plusieurs applications pratiques pour modéliser des données binaires. Par exemple, si vous avez différentes distributions de vecteurs binaires, vous voudrez peut-être déterminer à quelle distribution appartient un nouveau vecteur binaire. En utilisant des unités masquées pour modéliser la distribution de chaque type de document, vous pouvez identifier la classe de document la plus probable pour un vecteur binaire donné.

De plus, les machines Boltzmann peuvent être utiles pour surveiller des systèmes complexes et détecter des comportements inhabituels. Supposons que vous ayez une centrale nucléaire avec des lectures binaires de divers cadrans indiquant l'état de la centrale. Au lieu de s'appuyer sur l'apprentissage supervisé, qui nécessite des exemples d'états dangereux, vous pouvez construire un modèle d'états normaux et détecter les écarts par rapport à la norme. De cette façon, vous pouvez identifier des états inhabituels sans connaissance préalable de ces états.

Pour calculer la probabilité a posteriori qu'une distribution particulière ait généré les données observées, vous pouvez utiliser le théorème de Bayes. Compte tenu des données observées, la probabilité qu'elles proviennent d'un modèle spécifique est la probabilité que le modèle génère ces données divisée par la somme de la même quantité pour tous les modèles.

Il existe deux approches principales pour générer des modèles de données, en particulier des vecteurs binaires. L'approche du modèle causal consiste à générer d'abord les états des variables latentes, qui sont ensuite utilisées pour générer le vecteur binaire. Ce modèle repose sur des connexions pondérées et des biais entre les unités latentes et visibles. L'analyse factorielle est un exemple de modèle causal qui utilise des variables continues.

D'autre part, une machine de Boltzmann est un modèle basé sur l'énergie qui ne génère pas de données de manière causale. Au lieu de cela, il définit tout en termes d'énergies de configurations conjointes d'unités visibles et cachées. La probabilité d'une configuration conjointe est soit définie directement en termes d'énergie, soit calculée de manière procédurale après mise à jour des unités binaires stochastiques jusqu'à ce que l'équilibre thermique soit atteint. L'énergie d'une configuration articulaire se compose de termes de biais, d'interactions visible-visible, d'interactions visible-caché et d'interactions caché-caché.

Pour calculer les probabilités de différents vecteurs visibles, nous pouvons travailler sur un exemple. En écrivant tous les états possibles des unités visibles, en calculant leurs énergies négatives, en exponentiant ces énergies et en normalisant les probabilités, nous pouvons déterminer les probabilités des configurations conjointes et des vecteurs visibles individuels.

Pour les grands réseaux, le calcul de la fonction de partition devient impossible en raison du nombre exponentiel de termes. Dans de tels cas, nous pouvons utiliser les méthodes Monte Carlo de la chaîne de Markov pour obtenir des échantillons du modèle. En mettant à jour les unités de manière stochastique en fonction de leurs écarts d'énergie, nous pouvons atteindre la distribution stationnaire et obtenir un échantillon du modèle. La probabilité d'un échantillon est proportionnelle à e à la puissance de l'énergie négative.

De plus, nous pourrions être intéressés par l'obtention d'échantillons de la distribution a posteriori sur des configurations cachées étant donné un vecteur de données, ce qui est nécessaire pour l'apprentissage. En utilisant la chaîne de Markov Monte Carlo avec les unités visibles fixées au vecteur de données, nous pouvons mettre à jour uniquement les unités cachées et obtenir des échantillons de la distribution postérieure. Ces informations sont cruciales pour trouver de bonnes explications aux données observées et guider les processus d'apprentissage.

Le processus d'apprentissage dans une machine Boltzmann consiste à ajuster les pondérations et les biais pour améliorer l'ajustement du modèle aux données d'apprentissage. Ce processus d'apprentissage est généralement réalisé grâce à un algorithme appelé divergence contrastive.

La divergence contrastive est une méthode d'approximation utilisée pour estimer le gradient de la fonction log-vraisemblance. Cela nous permet de mettre à jour efficacement les poids et les biais de la machine Boltzmann. L'idée de base derrière la divergence contrastive est d'effectuer quelques étapes d'échantillonnage de Gibbs, qui consiste à alterner entre la mise à jour des unités cachées et la mise à jour des unités visibles, à partir d'un vecteur de données.

Pour mettre à jour les unités cachées, on peut échantillonner leurs états en fonction des probabilités déterminées par l'énergie de la configuration conjointe des unités visibles et cachées. Ensuite, nous mettons à jour les unités visibles en fonction des nouveaux états des unités cachées. Ce processus est répété pendant quelques itérations jusqu'à ce que la chaîne de Markov atteigne un équilibre approximatif.

Une fois que nous avons obtenu un échantillon de la distribution a posteriori sur les configurations cachées, nous pouvons l'utiliser pour calculer les associations positives et négatives entre les unités visibles et cachées. Les associations positives sont calculées en prenant le produit extérieur du vecteur de données et de la configuration cachée échantillonnée. Les associations négatives sont calculées de la même manière, mais en utilisant les unités visibles obtenues à partir du processus d'échantillonnage de Gibbs.

En prenant la différence entre les associations positives et négatives, nous pouvons calculer le gradient de la fonction log-vraisemblance. Ce gradient est ensuite utilisé pour mettre à jour les poids et les biais de la machine de Boltzmann via une règle d'apprentissage, telle que la descente de gradient stochastique.

Le processus d'apprentissage se poursuit en appliquant à plusieurs reprises la divergence contrastive, en échantillonnant à partir de la distribution postérieure et en mettant à jour les poids et les biais. Au fil du temps, la machine Boltzmann apprend à capturer les modèles et distributions sous-jacents présents dans les données d'apprentissage.

Il est important de noter que la formation d'une machine Boltzmann peut être une tâche difficile, en particulier pour les grands réseaux avec de nombreuses unités cachées. La complexité de calcul augmente de façon exponentielle avec le nombre d'unités, ce qui rend difficile l'exécution de calculs exacts. Cependant, des méthodes approximatives comme la divergence contrastive fournissent une solution pratique pour l'apprentissage dans les machines de Boltzmann.

L'apprentissage dans une machine de Boltzmann implique d'ajuster les poids et les biais par divergence contrastive, qui se rapproche du gradient de la fonction de log-vraisemblance. En échantillonnant de manière itérative à partir de la distribution postérieure et en mettant à jour les paramètres du modèle, la machine de Boltzmann peut apprendre à modéliser les modèles sous-jacents dans les données binaires.

Lecture 11.5 — How a Boltzmann machine models data [Neural Networks for Machine Learning]
Lecture 11.5 — How a Boltzmann machine models data [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Cours 12.1 — Apprentissage automatique de Boltzmann



Cours 12.1 — Apprentissage automatique Boltzmann [Réseaux de neurones pour l'apprentissage automatique]

Dans la vidéo précédente, j'ai démontré comment une machine de Boltzmann peut être utilisée comme modèle probabiliste pour les vecteurs de données binaires. Passons maintenant à l'algorithme d'apprentissage automatique de Boltzmann.

Au départ, l'algorithme d'apprentissage automatique de Boltzmann était lent et bruyant, ce qui le rendait peu pratique. Cependant, plusieurs techniques ont été développées pour accélérer considérablement l'algorithme, le rendant plus pratique et efficace. En fait, il a été utilisé avec succès dans un concours d'apprentissage automatique d'un million de dollars.

L'algorithme d'apprentissage automatique de Boltzmann est un algorithme d'apprentissage non supervisé, ce qui signifie qu'il ne nécessite pas de données étiquetées. Au lieu de cela, il vise à construire un modèle d'un ensemble de vecteurs d'entrée (ou vecteurs de sortie) en maximisant le produit des probabilités attribuées par la machine de Boltzmann aux vecteurs d'apprentissage. Cela peut également être réalisé en maximisant la somme des probabilités logarithmiques ou la probabilité d'obtenir les cas d'apprentissage.

Pour entraîner la machine de Boltzmann, nous suivons un processus de stabilisation à une distribution stationnaire plusieurs fois sans apport externe. Nous échantillonnons ensuite le vecteur visible et répétons ce processus plusieurs fois pour obtenir des échantillons de la distribution postérieure.

L'apprentissage dans la machine Boltzmann peut être difficile en raison des interactions entre les poids. Chaque pondération doit connaître les autres pondérations pour déterminer la direction appropriée du changement. Étonnamment, un simple algorithme d'apprentissage utilisant uniquement des informations locales est suffisant. La règle d'apprentissage est basée sur la différence de deux corrélations, capturant les informations nécessaires pour les mises à jour de poids.

La règle d'apprentissage se compose de deux termes. Le premier terme augmente les poids proportionnellement au produit des activités unitaires observées lors de la présentation des données. Ce terme s'apparente au terme de stockage dans un réseau Hopfield. Cependant, sans contrôle, les poids continueraient de croître, entraînant une instabilité. Le deuxième terme diminue les poids proportionnels au produit des activités unitaires lors de l'échantillonnage à partir de la distribution du modèle. Ce terme permet d'éliminer les faux minimums et de maintenir la stabilité.

La dérivée de la probabilité logarithmique d'un vecteur visible par rapport à un poids est remarquablement simple. Il peut être exprimé comme le produit des deux activités unitaires liées. Cette simplicité découle de la relation linéaire entre les probabilités logarithmiques et la fonction énergétique, qui, à son tour, est linéaire dans les poids.

La phase négative du processus d'apprentissage sert à désapprendre ou à réduire l'influence de certaines configurations. Il se concentre sur la diminution de l'énergie des termes qui contribuent de manière significative à la fonction de partition, réduisant ainsi leur impact.

Pour collecter les statistiques nécessaires à la règle d'apprentissage, une méthode appelée divergence contrastive est couramment utilisée. Dans la phase positive, les vecteurs de données sont fixés sur les unités visibles et les unités cachées sont mises à jour jusqu'à ce que l'équilibre thermique soit atteint. Les corrélations entre les paires d'unités sont ensuite échantillonnées et moyennées sur tous les vecteurs de données. Dans la phase négative, aucune donnée n'est bloquée et le réseau est autorisé à s'équilibrer sans interférence externe. Les corrélations entre les paires d'unités sont à nouveau échantillonnées plusieurs fois.

Déterminer le nombre d'itérations nécessaires dans la phase négative peut être difficile, car le paysage énergétique de la machine de Boltzmann peut contenir plusieurs modes. Ces modes représentent différentes configurations avec des niveaux d'énergie similaires, et un échantillonnage répété est nécessaire pour les capturer efficacement.

Lorsqu'il s'agit d'une machine Boltzmann, il est crucial de considérer le nombre de répétitions nécessaires dans la phase négative. En raison de la présence de plusieurs modes dans le paysage énergétique, l'algorithme doit échantillonner de manière extensive pour s'assurer que tous les modes sont correctement représentés.

Le processus d'apprentissage dans une machine de Boltzmann consiste à mettre à jour itérativement les poids en fonction des corrélations obtenues à partir des phases positives et négatives. En comparant les corrélations dans ces phases, l'algorithme peut ajuster les poids pour améliorer la représentation des données par le modèle.

Un aspect important à noter est que l'algorithme d'apprentissage automatique de Boltzmann est une forme d'apprentissage hebbien. Il suit le principe proposé par Donald Hebb dans les années 1940 ou 1950, suggérant que les synapses du cerveau renforcent les connexions entre les neurones en fonction de leur co-activation. Dans la machine de Boltzmann, la phase positive augmente les poids proportionnellement au produit des activités unitaires observées lors de la présentation des données, ressemblant à l'idée de Hebb.

Cependant, sans mécanisme de contrepoids, les pondérations continueraient de croître indéfiniment, entraînant une instabilité. La phase négative sert cet objectif en réduisant les poids basés sur le produit des activités unitaires lors de l'échantillonnage à partir de la distribution du modèle. Cet équilibre garantit que la machine Boltzmann reste stable pendant le processus d'apprentissage.

Il convient de mentionner que l'algorithme d'apprentissage automatique de Boltzmann repose sur des fondements théoriques liés aux fonctions énergétiques et aux distributions de probabilité. La probabilité d'une configuration globale à l'équilibre thermique suit une fonction exponentielle de son énergie. La relation linéaire entre les poids et la probabilité logarithmique permet des calculs dérivés simples et facilite des mises à jour efficaces des poids.

L'algorithme d'apprentissage automatique de Boltzmann est une approche d'apprentissage non supervisé qui vise à construire un modèle de vecteurs d'entrée ou de sortie. En maximisant les probabilités attribuées aux vecteurs d'apprentissage, l'algorithme ajuste les poids en utilisant une combinaison de corrélations positives et négatives. Ce processus d'apprentissage, associé à des techniques telles que la divergence contrastive, aide la machine Boltzmann à capturer des modèles complexes dans les données.

Lecture 12.1 — Boltzmann machine learning [Neural Networks for Machine Learning]
Lecture 12.1 — Boltzmann machine learning [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
 

Conférence 12.2 — Des moyens plus efficaces d'obtenir les statistiques [Réseaux de neurones pour l'apprentissage automatique


Conférence 12.2 — Des moyens plus efficaces d'obtenir les statistiques [Réseaux de neurones pour l'apprentissage automatique

Dans cette vidéo, l'orateur fournit des informations détaillées sur la façon d'accélérer l'algorithme d'apprentissage automatique de Boltzmann en utilisant des techniques intelligentes pour maintenir les chaînes de Markov près de la distribution d'équilibre et en utilisant des méthodes de champ moyen. Tout en reconnaissant que le matériel est avancé et ne fait pas partie du programme du cours, l'orateur assure aux téléspectateurs qu'ils peuvent ignorer cette vidéo à moins qu'ils ne s'intéressent vivement à l'optimisation des machines Boltzmann profondes.

L'orateur discute des défis associés à l'atteinte de l'équilibre thermique en partant d'un état aléatoire, car cela peut prendre un temps considérable. De plus, il n'existe aucun moyen simple de déterminer si l'équilibre thermique a été atteint. Pour y remédier, l'orateur propose de partir de l'état obtenu à l'itération précédente pour un vecteur de données particulier. Cet état stocké, appelé "particule", sert d'interprétation du vecteur de données dans les unités cachées, offrant un avantage de démarrage à chaud. Si les poids ont été mis à jour de manière minimale, il suffit de quelques mises à jour des unités d'une particule pour la ramener à l'équilibre. Les particules peuvent être utilisées à la fois pour la phase positive (lorsqu'un facteur de données est bloqué) et pour la phase négative (lorsque rien n'est bloqué).

Pour collecter efficacement des statistiques, l'orateur introduit une méthode de Radford Neal en 1992. Dans la phase positive, des particules spécifiques aux données sont utilisées, chaque particule représentant une configuration d'unités cachées avec le vecteur de données associé. Des mises à jour séquentielles sont effectuées sur les unités cachées dans chaque particule, avec le vecteur de données pertinent bloqué. Les probabilités des paires d'unités connectées sont ensuite moyennées sur toutes les particules. Dans la phase négative, des particules fantastiques, représentant des configurations globales, sont utilisées. Après chaque mise à jour de poids, les unités de chaque particule fantastique sont mises à jour séquentiellement. Encore une fois, les probabilités des paires d'unités connectées sont moyennées sur toutes les particules fantastiques. La règle d'apprentissage est définie comme la variation des poids, proportionnelle à la différence entre les moyennes obtenues avec les données et les particules fantastiques.

Bien que cette règle d'apprentissage fonctionne bien pour l'apprentissage par lots complet, son application à des mini-lots pose des problèmes. En raison de multiples mises à jour de poids dans l'apprentissage par mini-lots, les particules spécifiques aux données stockées pour chaque vecteur de données peuvent ne plus être proches de l'équilibre thermique. Pour pallier ce problème, l'intervenant propose de faire l'hypothèse que l'ensemble des bonnes explications (états d'unités cachées interprétant un vecteur de données) est unimodal lorsqu'un vecteur de données est calé. Cette hypothèse permet l'utilisation d'une approximation de champ moyen, qui fournit une méthode efficace pour approcher l'équilibre thermique ou une approximation de celui-ci avec les données.

Pour mettre en œuvre un apprentissage par mini-lot efficace dans les machines Boltzmann, l'orateur suggère d'utiliser une architecture spéciale appelée machine profonde de Boltzmann. Dans cette architecture, des mises à jour parallèles alternées sont effectuées pour les particules de fantaisie en autorisant des couches sans connexions et en omettant les connexions de couche de saut. En ne mettant à jour que la moitié des états de toutes les unités en parallèle, des mises à jour efficaces peuvent être réalisées.

L'orateur discute de l'application réussie des machines de Boltzmann profondes utilisant un champ moyen pour l'apprentissage de la phase positive et des mises à jour alternées des couches pour la phase négative. Russ Salakhutdinov, par exemple, a utilisé cette approche pour modéliser les chiffres MNIST, et les données générées ressemblaient étroitement à l'ensemble de données MNIST réel.

De plus, l'orateur aborde le défi d'estimer des statistiques négatives avec seulement un nombre limité d'exemples négatifs (particules imaginaires). Typiquement, l'espace de configuration global pour les problèmes intéressants est fortement multimodal. Cependant, le processus d'apprentissage interagit avec la chaîne de Markov utilisée pour collecter des statistiques négatives, augmentant ainsi son taux de mélange. L'orateur explique que lorsque les particules fantastiques sont plus nombreuses que les données positives dans un mode de la surface d'énergie, l'énergie est augmentée, conduisant les particules à s'échapper de ce mode. Cette interaction entre l'apprentissage et la chaîne de Markov permet l'exploration de plusieurs modes, même avec un nombre limité de particules.

Cette propriété de l'algorithme d'apprentissage, où la surface d'énergie est manipulée pour améliorer le taux de mélange de la chaîne de Markov, est un aspect crucial de l'efficacité de la machine de Boltzmann. Le processus d'apprentissage pousse activement les particules fantastiques à explorer différents modes de la surface d'énergie, permettant au modèle d'échapper aux minima locaux que la chaîne de Markov seule aurait du mal à surmonter en un temps raisonnable.

Pour illustrer davantage ce concept, imaginez la surface énergétique comme un paysage avec des vallées et des collines représentant différents modes. Les particules fantastiques agissent comme des explorateurs naviguant dans ce paysage. Initialement, certains modes peuvent avoir une concentration plus élevée de particules fantastiques par rapport aux données disponibles, ce qui entraîne une surface d'énergie élevée dans ces régions. L'algorithme d'apprentissage reconnaît cet écart et élève la surface d'énergie, créant ainsi des barrières qui entravent le mouvement des particules.

En élevant la surface d'énergie, l'algorithme d'apprentissage encourage les particules fantastiques à s'éloigner des modes surpeuplés, en recherchant des modes alternatifs avec moins de particules. Au fur et à mesure qu'elles explorent différentes régions du paysage énergétique, les particules finissent par s'échapper des modes initialement dominants et se répartissent sur plusieurs modes plus conformes à la distribution des données.

Ce processus permet à la machine de Boltzmann de découvrir divers modes de la surface d'énergie, capturant efficacement la structure multimodale complexe de la distribution de données sous-jacente. Alors que la chaîne de Markov seule pourrait avoir du mal à échapper aux minima locaux, la manipulation active de la surface d'énergie par l'algorithme d'apprentissage permet l'exploration de différents modes, conduisant à une représentation plus précise des données.

En résumé, l'interaction entre l'algorithme d'apprentissage et la chaîne de Markov utilisée pour recueillir les statistiques négatives est un facteur clé de l'efficacité de la machine de Boltzmann. Le processus d'apprentissage ajuste dynamiquement la surface d'énergie, encourageant les particules fantastiques à explorer différents modes et à s'échapper des minima locaux. Cette capacité à explorer le paysage énergétique améliore la capacité du modèle à capturer la distribution complexe des données sous-jacentes, ce qui se traduit par des performances améliorées et des représentations plus précises des données.

Lecture 12.2 — More efficient ways to get the statistics [Neural Networks for Machine Learning]
Lecture 12.2 — More efficient ways to get the statistics [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Cours 12.3 — Machines de Boltzmann restreintes



Conférence 12.3 — Machines Boltzmann restreintes [Réseaux de neurones pour l'apprentissage automatique]

Les machines Boltzmann ont une architecture simplifiée sans connexions entre les unités cachées, ce qui facilite le calcul de la distribution d'équilibre des unités cachées lorsque les unités visibles sont serrées. L'algorithme d'apprentissage pour les machines Boltzmann est lent, mais un raccourci a été découvert en 1998 qui a conduit à un algorithme d'apprentissage efficace pour les machines Boltzmann restreintes (RBM). Les RBM ont une connectivité restreinte, avec une couche d'unités cachées et aucune connexion entre les unités cachées ou visibles. L'architecture RBM est un graphe biparti avec des calculs indépendants pour chaque unité.

Le raccourci permet un calcul rapide des valeurs attendues des connexions entre les unités visibles et masquées en parallèle. Un algorithme d'apprentissage pour les RBM introduit en 2008 consiste à fixer un vecteur de données sur les unités visibles, à calculer les valeurs attendues des connexions et à en faire la moyenne sur les vecteurs de données du mini-lot. Dans la phase négative, les particules fantastiques (configurations globales) sont utilisées pour mettre à jour chaque particule plusieurs fois, et les valeurs attendues des connexions sont moyennées sur les particules fantastiques. Cet algorithme construit de bons modèles de densité pour les vecteurs binaires.

Un autre algorithme d'apprentissage pour les RBM est plus rapide mais pas aussi efficace dans les modèles de densité de construction. Il s'agit d'exécuter une chaîne alternée de mises à jour entre les unités visibles et masquées. La règle d'apprentissage met à jour les poids en fonction de la différence entre les valeurs attendues des connexions au début et à la fin de la chaîne. Il n'est pas nécessaire de faire fonctionner la chaîne pendant une longue période pour atteindre l'équilibre thermique ; même une chaîne courte produit un apprentissage efficace.

Le raccourci fonctionne parce que la chaîne de Markov s'éloigne des données vers la distribution d'équilibre. En modifiant les pondérations pour réduire la probabilité de reconstructions et augmenter la probabilité des données après une étape complète, la chaîne cesse de s'éloigner des données. L'apprentissage s'arrête lorsque les données et les reconstructions ont la même distribution. La surface d'énergie dans l'espace des configurations globales est modifiée pour créer un minimum d'énergie au point de données lors de l'apprentissage.

Cependant, le raccourci échoue pour les régions éloignées des données. Les particules persistantes, qui se souviennent de leurs états et subissent des mises à jour supplémentaires, peuvent aider à résoudre ce problème. Un compromis entre vitesse et exactitude consiste à commencer avec de petits poids et à utiliser la divergence contrastive (CD) avec quelques étapes (CD-1, CD-3, CD-5, etc.) à mesure que les poids augmentent. Cette approche maintient un apprentissage efficace même lorsque le taux de mélange de la chaîne de Markov diminue.

En utilisant cette approche, l'algorithme d'apprentissage pour les machines Boltzmann restreintes (RBM) établit un équilibre entre vitesse et précision. Il commence par de petits poids et utilise la divergence contrastive (CD) avec un petit nombre d'étapes, telles que CD-1, à mesure que les poids augmentent progressivement. Cette stratégie garantit que le processus d'apprentissage continue de fonctionner raisonnablement bien même lorsque le taux de mélange de la chaîne de Markov ralentit.

Il est important de prendre en compte les régions de l'espace de données que le modèle privilégie mais qui sont éloignées de tout point de données réel. Ces régions, connues sous le nom de trous à faible énergie, peuvent causer des problèmes avec le terme de normalisation. Pour résoudre ce problème, une technique appelée particules persistantes peut être utilisée. Les particules persistantes conservent leurs états et subissent des mises à jour supplémentaires après chaque mise à jour de poids. Ce faisant, ils peuvent explorer et éventuellement combler ces trous à faible énergie, améliorant ainsi les performances du modèle.

L'algorithme d'apprentissage RBM utilisant le raccourci et diverses techniques, telles que le CD avec différents nombres d'étapes et l'utilisation de particules persistantes, permet un apprentissage efficace et la construction de modèles de densité efficaces pour des ensembles de vecteurs binaires. Bien que le raccourci s'écarte de l'apprentissage par probabilité maximale et ait des limites théoriques, il s'est avéré bien fonctionner dans la pratique, ce qui a suscité un regain d'intérêt pour l'apprentissage automatique Boltzmann.

Lecture 12.3 — Restricted Boltzmann Machines [Neural Networks for Machine Learning]
Lecture 12.3 — Restricted Boltzmann Machines [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Cours 12.4 — Un exemple d'apprentissage RBM



Conférence 12.4 — Un exemple d'apprentissage RBM [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, nous allons démontrer un exemple simple d'une machine de Boltzmann restreinte (RBM) apprenant un modèle de deux manuscrits. Une fois le modèle formé, nous évaluerons sa capacité à reconstruire deux et observerons son comportement lorsqu'on lui donne un chiffre différent à reconstruire. De plus, nous examinerons les poids obtenus en formant un RBM plus grand sur toutes les classes de chiffres, qui apprend un large éventail de fonctionnalités efficaces pour reconstruire et modéliser diverses classes de chiffres.

Le RBM utilisé dans cet exemple a des images de 16 x 16 pixels de deux et 50 unités cachées binaires qui fonctionnent comme des détecteurs de caractéristiques. Lorsqu'il est présenté avec un cas de données, le RBM active les détecteurs de caractéristiques en utilisant les poids et les connexions des pixels aux détecteurs de caractéristiques. Chaque neurone binaire prend une décision stochastique pour adopter un état de 1 ou 0. Le RBM utilise ensuite ces activations pour reconstruire les données en prenant des décisions binaires pour chaque pixel. Les poids sont mis à jour en incrémentant les poids entre les pixels actifs et les détecteurs de caractéristiques actifs pendant le traitement des données, et en décrémentant les poids pendant la reconstruction.

Initialement, les poids sont aléatoires et les reconstructions ont une énergie inférieure à celle des données. Grâce à une formation sur des centaines d'exemples de chiffres et à des ajustements de poids, les poids forment progressivement des modèles. De nombreux détecteurs de fonctionnalités commencent en tant que détecteurs globaux, devenant plus localisés au fur et à mesure que la formation progresse. Les poids finaux révèlent que chaque neurone est devenu un détecteur de caractéristiques différent, la plupart des détecteurs étant de nature locale. Par exemple, un détecteur de caractéristiques peut détecter le haut d'un deux en activant ses pixels blancs lorsque le haut d'un deux est présent et ses pixels noirs lorsqu'il n'y a rien.

Après avoir appris le modèle, nous pouvons évaluer ses capacités de reconstruction. Lorsqu'on lui donne un exemple de test d'un deux, la reconstruction est généralement fidèle, quoique légèrement floue. Cependant, si nous fournissons un exemple de test à partir d'une classe de chiffres différente, comme un trois, le RBM reconstruit une image qui ressemble à un deux plutôt qu'à un trois. Ce comportement se produit parce que le RBM a principalement appris des détecteurs de caractéristiques spécifiques aux deux et manque de détecteurs pour certaines caractéristiques d'autres chiffres.

De plus, nous présentons des détecteurs de caractéristiques appris dans la première couche cachée d'un RBM plus grand formé sur toutes les classes à dix chiffres. Ces détecteurs de caractéristiques présentent une grande variété de modèles. Certains détectent des caractéristiques spécifiques telles que des lignes inclinées, tandis que d'autres capturent des régularités à longue portée ou spatiales introduites par la normalisation des données. Dans l'ensemble, le RBM démontre sa capacité à apprendre des manières complexes de représenter et de détecter des caractéristiques dans les données d'entrée.

De plus, je voudrais souligner que le RBM utilisé dans cette démonstration se compose de 500 unités cachées, ce qui lui permet de modéliser toutes les classes à dix chiffres. Ce modèle a subi une formation approfondie à l'aide d'une technique appelée divergence contrastive. En conséquence, il a acquis un ensemble diversifié de détecteurs de caractéristiques.

En examinant les détecteurs de caractéristiques dans la couche cachée, nous observons des modèles intrigants. Par exemple, il existe un détecteur de caractéristiques, indiqué par la boîte bleue, qui semble approprié pour détecter la présence de lignes diagonales. D'autre part, le détecteur de caractéristiques dans la boîte rouge présente une caractéristique unique. Il préfère activer les pixels situés très près du bas de l'image et n'aime pas les pixels d'une rangée spécifique positionnés 21 pixels au-dessus du bas. Ce comportement découle de la normalisation des données, où les chiffres ne peuvent pas dépasser une hauteur de 20 pixels. Par conséquent, un pixel activé dans la région de poids positif ne peut pas s'activer simultanément dans la région de poids négatif, ce qui entraîne l'apprentissage de cette régularité à longue portée.

De plus, un autre détecteur de caractéristiques, mis en évidence dans la case verte, démontre une propriété intéressante. Il détecte la position inférieure d'un trait vertical et peut le détecter dans plusieurs positions sans tenir compte des positions intermédiaires. Ce comportement ressemble au chiffre le moins significatif d'un nombre binaire, qui alterne entre être actif et inactif à mesure que l'amplitude du nombre augmente. Il met en valeur la capacité du RBM à développer des représentations complexes des relations spatiales et des positions.

Ces exemples illustrent la capacité du RBM à apprendre et à extraire des caractéristiques significatives des données d'entrée. En ajustant les poids pendant le processus d'apprentissage, le RBM vise à rendre les données à faible énergie tout en maintenant une énergie plus élevée pour les reconstructions. Ce mécanisme d'apprentissage permet au RBM de modéliser et de reconstruire efficacement des images de chiffres, en capturant à la fois les caractéristiques globales et locales des chiffres dans ses représentations apprises.

Lecture 12.4 — An example of RBM learning [Neural Networks for Machine Learning]
Lecture 12.4 — An example of RBM learning [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Cours 12.5 — RBM pour le filtrage collaboratif



Cours 12.5 — RBM pour le filtrage collaboratif [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, nous aborderons l'application des Restricted Boltzmann Machines (RBM) au filtrage collaboratif, notamment dans le cadre du concours Netflix. Le filtrage collaboratif consiste à prédire à quel point un utilisateur aimerait un produit en fonction de ses préférences pour d'autres produits et des préférences des autres utilisateurs. Le concours Netflix met les participants au défi de prédire à quel point un utilisateur aimera un film en fonction de ses notes sur d'autres films.

Les données d'entraînement pour ce concours consistent en un vaste ensemble de données avec cent millions de notes pour dix-huit mille films par un demi-million d'utilisateurs. Pour relever le défi des notes manquantes pour la plupart des films, une astuce importante est utilisée lors de l'utilisation des RBM. En utilisant cette astuce, les modèles peuvent être entraînés efficacement et s'avérer utiles dans la pratique, comme en témoigne l'entrée gagnante du concours.

L'approche d'utilisation des RBM pour le filtrage collaboratif implique de traiter chaque utilisateur comme un cas de formation, où chaque utilisateur est représenté comme un vecteur de classements de films. Pour chaque film, une unité visible avec cinq valeurs alternatives (softmax à cinq voies) est utilisée à la place des unités binaires. L'architecture RBM se compose d'unités visibles représentant des films et d'unités binaires cachées. Les RBM partagent les pondérations entre les utilisateurs qui ont évalué le même film, permettant le partage des pondérations et réduisant le nombre de paramètres. L'apprentissage CD (divergence contrastive) est appliqué pour former les RBM, initialement avec CD1, puis avec CD3, CD5 et CD9.

Les modèles RBM fonctionnent de manière comparable aux méthodes de factorisation matricielle couramment utilisées dans le filtrage collaboratif. Cependant, ils produisent des erreurs différentes. La combinaison des prédictions des RBM avec celles des modèles de factorisation matricielle entraîne des améliorations significatives. Le groupe gagnant du concours Netflix a utilisé plusieurs modèles RBM et modèles de factorisation matricielle dans leur ensemble pour obtenir de meilleures prédictions.

En résumé, l'application des machines Boltzmann restreintes (RBM) dans le filtrage collaboratif pour le concours Netflix impliquait de traiter chaque utilisateur comme un cas de formation, en utilisant des RBM avec des unités visibles représentant des films et des unités binaires cachées. En tirant parti du partage de poids entre les utilisateurs qui ont évalué le même film, les RBM peuvent gérer efficacement le grand ensemble de données.

Les RBM ont été formés à l'aide de l'apprentissage de CD, avec des itérations de CD1, CD3, CD5 et CD9, et ils ont fonctionné de manière similaire aux modèles de factorisation matricielle couramment utilisés dans le filtrage collaboratif. Cependant, la combinaison des RBM et des modèles de factorisation matricielle a conduit à une amélioration significative des prédictions. L'entrée gagnante du concours Netflix a utilisé plusieurs modèles RBM et modèles de factorisation matricielle dans leur ensemble, démontrant l'efficacité de cette approche.

L'utilisation des RBM dans le filtrage collaboratif démontre leur capacité à gérer des ensembles de données volumineux et clairsemés, tels que l'ensemble de données Netflix avec des millions d'évaluations. En modélisant les relations entre les utilisateurs et les films, les RBM fournissent un outil puissant pour faire des prédictions précises et améliorer les systèmes de recommandation.

L'application réussie des RBM dans le filtrage collaboratif montre leur utilité dans le domaine de l'apprentissage automatique et des systèmes de recommandation, et met en évidence le potentiel d'utilisation d'approches d'ensemble pour améliorer encore la précision des prédictions.

Lecture 12.5 — RBMs for collaborative filtering [Neural Networks for Machine Learning]
Lecture 12.5 — RBMs for collaborative filtering [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Cours 13.1 — Les hauts et les bas de la rétropropagation



Conférence 13.1 — Les hauts et les bas de la rétropropagation [Réseaux de neurones pour l'apprentissage automatique]

La vidéo traite de l'histoire de la rétropropagation, soulignant ses origines dans les années 1970 et 1980 et pourquoi elle est tombée en disgrâce dans les années 1990. Il remet en question la croyance populaire selon laquelle la rétropropagation a échoué en raison de son incapacité à gérer plusieurs couches d'entités non linéaires. Au lieu de cela, les principales raisons de son abandon étaient la puissance de calcul limitée et les petits ensembles de données disponibles à l'époque.

La rétropropagation a été inventée plusieurs fois indépendamment par différents chercheurs, dont Bryson et Ho à la fin des années 1960, Paul Wallace en 1974, Rama Hart et Williams en 1981, David Parker et Youngocar en 1985. Au départ, cela ne fonctionnait pas bien pour certaines tâches, poussant les chercheurs à l'abandonner. Cependant, en 1986, un article a démontré son potentiel pour apprendre plusieurs couches de détecteurs de caractéristiques non linéaires.

À la fin des années 1990, la plupart des chercheurs en apprentissage automatique avaient abandonné la rétropropagation, favorisant à la place les machines à vecteurs de support (SVM). L'explication populaire était que la rétropropagation se débattait avec de multiples couches cachées et des réseaux récurrents. Cependant, d'un point de vue historique, les véritables raisons de son échec étaient la puissance de calcul limitée et les petits ensembles de données étiquetés, qui empêchaient la rétropropagation de briller dans des tâches complexes comme la vision et la parole.

Différents types de tâches d'apprentissage automatique ont des exigences différentes. En statistique, les données de faible dimension avec bruit nécessitent de séparer la vraie structure du bruit. Les réseaux de neurones bayésiens peuvent bien gérer cela, tandis que les réseaux de neurones non bayésiens comme la rétropropagation ne sont pas aussi efficaces. Les machines à vecteurs de support et les processus gaussiens sont plus adaptés à de telles tâches. Dans l'intelligence artificielle, les données de grande dimension avec une structure complexe nécessitent de trouver des représentations appropriées, que la rétropropagation peut apprendre en tirant parti de plusieurs couches et d'une grande puissance de calcul.

Les limites des machines à vecteurs de support sont discutées, en notant qu'elles sont considérées comme une extension des perceptrons avec l'astuce du noyau. Ils s'appuient sur des fonctionnalités non adaptatives et sur une couche de pondérations adaptatives. Bien qu'ils fonctionnent bien, ils ne peuvent pas apprendre plusieurs couches de représentation. La vidéo mentionne également brièvement un document historique de 1995, un pari entre Larry Jackel et Vladimir Vapnik concernant la compréhension théorique et l'utilisation future de grands réseaux de neurones entraînés avec la rétropropagation. En fin de compte, les deux côtés du pari se sont avérés faux, car les limitations étaient pratiques plutôt que théoriques.

L'échec de la rétropropagation dans les années 1990 peut être attribué aux limitations de la puissance de calcul et aux petits ensembles de données, plutôt qu'à ses capacités inhérentes. Il avait encore du potentiel pour des tâches complexes et a finalement réussi lorsque des ensembles de données plus volumineux et des ordinateurs plus puissants sont devenus disponibles. La vidéo souligne l'importance de prendre en compte différentes tâches d'apprentissage automatique et leurs exigences spécifiques lors du choix des algorithmes appropriés.

Lecture 13.1 — The ups and downs of backpropagation [Neural Networks for Machine Learning]
Lecture 13.1 — The ups and downs of backpropagation [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...