Apprentissage Automatique et Réseaux Neuronaux - page 60

 

Cours 15.3 — Auto-encodeurs profonds pour la recherche de documents



Conférence 15.3 — Auto-encodeurs profonds pour la recherche de documents [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, l'application des auto-encodeurs profonds dans la récupération de documents est discutée. Une méthode précédente appelée analyse sémantique latente utilisait l'analyse en composantes principales (ACP) sur des vecteurs de comptage de mots extraits de documents pour déterminer la similarité des documents et faciliter la récupération. Cependant, le potentiel des auto-encodeurs profonds à surpasser la PCA dans cette tâche a conduit à une exploration plus approfondie.

Les recherches menées par Russ Salakhutdinov ont démontré que les auto-encodeurs profonds surpassaient en effet l'analyse sémantique latente lorsqu'ils étaient appliqués à une grande base de données de documents. Même en réduisant la dimensionnalité des données à seulement 10 composants, l'auto-encodeur profond a donné des résultats supérieurs par rapport aux 50 composants obtenus à partir de méthodes linéaires telles que l'analyse sémantique latente.

Le processus de récupération de documents implique la conversion de chaque document en une représentation de sac de mots, essentiellement un vecteur de nombre de mots. Les mots vides, tels que "le" ou "au-dessus", qui fournissent peu d'informations sur le sujet du document, sont ignorés. La comparaison du nombre de mots d'un document de requête avec ceux de millions d'autres documents peut être coûteuse en calculs. Pour résoudre ce problème, un auto-encodeur profond est utilisé pour compresser les vecteurs de comptage de mots de 2 000 dimensions à 10 nombres réels, qui peuvent ensuite être utilisés pour la comparaison de documents plus efficacement.

Pour adapter l'auto-encodeur au nombre de mots, une division est effectuée par le nombre total de mots non-stop, convertissant le vecteur de comptage en un vecteur de probabilité où les nombres totalisent un. La couche de sortie de l'auto-encodeur utilise une fonction softmax avec une dimensionnalité correspondant à la taille du vecteur de comptage de mots. Lors de la reconstruction, les probabilités de comptage de mots sont traitées comme des valeurs cibles. Cependant, lors de l'activation de la première couche masquée, tous les poids sont multipliés par "n" pour tenir compte des observations multiples de la distribution de probabilité. Cela garantit que les unités d'entrée fournissent une entrée suffisante à la première couche cachée.

L'efficacité de cette approche a été évaluée à l'aide d'un ensemble de données de 4 000 documents commerciaux étiquetés à la main provenant de l'ensemble de données Reuters. Une pile de machines Boltzmann restreintes a été initialement formée, suivie d'un réglage fin à l'aide de la rétropropagation avec une couche de sortie softmax à 2 000 voies. Les tests impliquaient de sélectionner un document comme requête et de classer les documents restants en fonction du cosinus des angles entre leurs vecteurs à dix dimensions. La précision de la récupération a été mesurée en comparant le nombre de documents récupérés avec la proportion de documents dans la même classe étiquetée à la main que le document de requête.

Les résultats ont montré que l'auto-encodeur, même avec seulement dix nombres réels comme code, surpassait l'analyse sémantique latente en utilisant 50 nombres réels. De plus, la réduction des vecteurs de documents à deux nombres réels et leur visualisation sur une carte ont révélé une séparation beaucoup plus claire des classes de documents par rapport à l'ACP. De tels affichages visuels peuvent fournir des informations précieuses sur la structure de l'ensemble de données et faciliter les processus de prise de décision.

En conclusion, les encodeurs automatiques profonds offrent des améliorations prometteuses par rapport aux méthodes linéaires traditionnelles telles que l'ACP pour les tâches de récupération de documents. Leur capacité à compresser et à reconstruire efficacement les représentations de documents tout en capturant les informations essentielles peut améliorer la précision et l'efficacité des systèmes de récupération de documents.

Lecture 15.3 — Deep autoencoders for document retrieval [Neural Networks for Machine Learning]
Lecture 15.3 — Deep autoencoders for document retrieval [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 15.4 — Hachage sémantique



Conférence 15.4 — Hachage sémantique [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, je vais discuter du hachage sémantique, une technique qui trouve efficacement des documents similaires à un document de requête. Le concept consiste à convertir un document en une adresse mémoire et à organiser la mémoire pour regrouper des documents similaires. C'est analogue à un supermarché où des produits similaires se trouvent dans la même zone.

Les descripteurs binaires d'images sont précieux pour la récupération rapide d'images, mais l'obtention d'un ensemble de descripteurs binaires orthogonaux est difficile. L'apprentissage automatique peut aider à résoudre ce problème. Nous explorerons l'application de cette technique à des documents puis à des images.

Pour obtenir des codes binaires pour les documents, nous entraînons un auto-encodeur profond avec des unités logistiques dans sa couche de code. Cependant, pour empêcher les unités logistiques d'utiliser leurs plages médianes pour transmettre des informations sur le nombre de mots, nous ajoutons du bruit aux entrées lors de la phase de réglage fin. Ce bruit encourage les unités de code à être activées ou désactivées, ce qui donne des valeurs binaires. Le seuillage des unités logistiques au moment du test produit des codes binaires.

Alternativement, nous pouvons utiliser des unités binaires stochastiques au lieu d'ajouter du bruit. Lors du passage vers l'avant, une valeur binaire est choisie de manière stochastique en fonction de la sortie de l'unité logistique. Pendant le passage en arrière, la probabilité à valeur réelle est utilisée pour un calcul de gradient lisse pendant la rétropropagation.

Avec les codes binaires courts obtenus, nous pouvons effectuer une recherche séquentielle en comparant le code du document recherché avec les codes des documents stockés. Cependant, une approche plus efficace consiste à traiter le code comme une adresse mémoire. En utilisant l'auto-encodeur profond comme fonction de hachage, nous convertissons le document en une adresse 30 bits. Chaque adresse en mémoire pointe vers des documents ayant la même adresse, formant une liste. En inversant des bits dans l'adresse, nous pouvons accéder à des adresses proches et trouver des documents sémantiquement similaires. Cela évite d'avoir à chercher dans une longue liste de documents.

Cette recherche basée sur la mémoire est très efficace, en particulier pour les grandes bases de données. Cela ressemble à la façon dont vous effectueriez une recherche dans un supermarché en vous rendant à un endroit spécifique et en regardant les articles à proximité. Cependant, dans un espace mémoire à 30 dimensions, les éléments peuvent être situés les uns à côté des autres pour de multiples raisons, ce qui rend la recherche plus efficace.

Le hachage sémantique s'aligne sur les méthodes de récupération rapide qui croisent les listes stockées associées aux termes de la requête. Les ordinateurs disposent d'un matériel spécialisé, tel que le bus mémoire, qui peut croiser plusieurs listes en une seule instruction. En s'assurant que les 32 bits du code binaire correspondent à des propriétés de document significatives, le hachage sémantique exploite l'apprentissage automatique pour mapper le problème de récupération sur les opérations d'intersection de liste, permettant des recherches de similarité rapides sans méthodes de recherche traditionnelles.

Le hachage sémantique est une technique puissante qui tire parti de l'apprentissage automatique pour transformer le problème de récupération en une tâche d'intersection de listes dans laquelle les ordinateurs excellent. En représentant des documents ou des images sous forme de codes binaires, nous pouvons trouver efficacement des éléments similaires sans avoir besoin de méthodes de recherche traditionnelles.

Pour ce faire, un auto-encodeur profond est formé pour encoder les documents en codes binaires. Initialement, l'auto-encodeur est formé comme une pile de machines Boltzmann restreintes, qui sont ensuite déroulées et affinées à l'aide de la rétropropagation. Lors de la phase de réglage fin, du bruit est ajouté aux entrées des unités de code pour favoriser l'apprentissage des caractéristiques binaires.

Une fois l'auto-encodeur formé, les codes binaires peuvent être utilisés comme adresses mémoire. Chaque adresse en mémoire correspond à un ensemble de documents partageant des caractéristiques similaires. En retournant quelques bits dans l'adresse, nous pouvons accéder aux adresses à proximité, formant une boule de Hamming. Au sein de ce bal de Hamming, nous nous attendons à trouver des documents sémantiquement similaires.

Cette approche élimine le besoin de recherches séquentielles dans une grande base de données de documents. Au lieu de cela, nous calculons simplement l'adresse mémoire du document de requête, explorons les adresses à proximité en retournant des bits et récupérons des documents similaires. L'efficacité de cette technique devient particulièrement évidente lorsqu'il s'agit de bases de données massives contenant des milliards de documents, car elle évite la recherche en série dans chaque élément.

Une analogie souvent utilisée pour expliquer ce processus est le concept de recherche dans un supermarché. Tout comme dans un supermarché, où vous demandez au caissier l'emplacement d'un produit spécifique, nous convertissons ici le document de requête en une adresse mémoire et recherchons des documents similaires à proximité. L'espace mémoire à 30 dimensions permet des relations complexes et offre suffisamment d'espace pour placer des éléments avec des attributs similaires à proximité.

Alors que les méthodes de récupération traditionnelles reposent sur des listes croisées associées à des termes de requête, le hachage sémantique utilise l'apprentissage automatique pour mapper le problème de récupération sur les capacités d'intersection de listes des ordinateurs. En s'assurant que les 32 bits du code binaire correspondent à des propriétés significatives de documents ou d'images, nous pouvons trouver efficacement des éléments similaires sans avoir besoin d'opérations de recherche explicites.

Le hachage sémantique est une technique très efficace pour trouver des documents ou des images similaires. En les transformant en codes binaires et en traitant les codes comme des adresses mémoire, nous pouvons rapidement récupérer des éléments sémantiquement similaires en explorant les adresses à proximité. Cette approche capitalise sur les atouts de l'apprentissage automatique et exploite les capacités d'intersection de listes des ordinateurs, permettant une récupération rapide et précise sans avoir besoin de méthodes de recherche traditionnelles.

Lecture 15.4 — Semantic Hashing [Neural Networks for Machine Learning]
Lecture 15.4 — Semantic Hashing [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 15.5 — Apprentissage des codes binaires pour la recherche d'images



Cours 15.5 — Apprendre des codes binaires pour la récupération d'images [Réseaux de neurones pour l'apprentissage automatique]

La vidéo traite de l'utilisation de codes binaires pour la récupération d'images et la compare aux méthodes traditionnelles qui reposent sur des légendes. Récupérer des images en fonction de leur contenu est difficile car les pixels individuels ne fournissent pas beaucoup d'informations sur le contenu de l'image. Cependant, en extrayant un court vecteur binaire qui représente le contenu de l'image, nous pouvons stocker et faire correspondre les images plus efficacement.

La vidéo suggère une méthode en deux étapes pour la récupération d'images. Dans la première étape, un code binaire court, généralement d'environ 30 bits, est extrait à l'aide d'un hachage sémantique. Ce code est utilisé pour générer rapidement une courte liste de correspondances potentielles. Dans la deuxième étape, des codes binaires plus longs, tels que 256 bits, sont utilisés pour une recherche plus détaillée et précise parmi les images candidates.

La vidéo présente un exemple d'architecture d'auto-encodeur capable de reconstruire des images et d'extraire des codes binaires informatifs. L'auto-encodeur se compose de plusieurs couches, réduisant progressivement le nombre d'unités jusqu'à atteindre un code de 256 bits. En utilisant cet auto-encodeur, la vidéo montre que les images récupérées sont similaires à l'image de requête et présentent des relations significatives.

De plus, la vidéo explore l'utilisation d'un réseau neuronal pré-formé pour la reconnaissance d'images afin d'extraire des vecteurs d'activité en tant que représentations du contenu de l'image. Lors de l'utilisation de la distance euclidienne pour comparer ces vecteurs d'activité, les résultats de récupération sont prometteurs, suggérant que cette approche pourrait être étendue aux codes binaires pour une correspondance plus efficace.

La vidéo se termine en mentionnant que la combinaison du contenu de l'image avec des légendes peut encore améliorer la représentation et améliorer les performances de récupération.

La vidéo met en évidence les avantages de l'utilisation de codes binaires pour la récupération d'images, tels qu'un stockage efficace, une correspondance rapide et la possibilité de capturer un contenu d'image significatif. Il démontre l'efficacité des auto-encodeurs et des réseaux de neurones pré-formés dans l'extraction des codes binaires informatifs et suggère que la combinaison du contenu de l'image et des légendes peut conduire à des résultats de récupération encore meilleurs.

Lecture 15.5 — Learning binary codes for image retrieval [Neural Networks for Machine Learning]
Lecture 15.5 — Learning binary codes for image retrieval [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 15.6 — Auto-encodeurs peu profonds pour la pré-formation



Conférence 15.6 — Auto-encodeurs peu profonds pour la pré-formation [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, le conférencier discute des méthodes alternatives de pré-formation pour apprendre les réseaux de neurones profonds. Initialement, ils ont introduit la pré-formation à l'aide de machines de Boltzmann restrictives (RBM) entraînées avec une divergence contrastive. Cependant, il a été découvert plus tard qu'il existe d'autres moyens de pré-entraîner des couches de fonctionnalités. Si les pondérations sont initialisées correctement, la formation préalable peut ne pas être nécessaire, à condition qu'il y ait suffisamment de données étiquetées. L'orateur mentionne les avantages des auto-encodeurs profonds et de leurs codes pour diverses applications.

Ils se concentrent ensuite sur les auto-encodeurs peu profonds, en particulier les RBM entraînés avec un maximum de vraisemblance. Les RBM en tant qu'auto-encodeurs ont une forte régularisation en raison d'unités binaires cachées, ce qui limite leur capacité. Cependant, si les RBM sont formés avec un maximum de vraisemblance, ils ignorent les pixels bruyants et les modélisent en utilisant des biais d'entrée. L'orateur suggère d'utiliser une pile d'auto-encodeurs au lieu de RBM pour la pré-formation, mais cette approche n'est pas aussi efficace, en particulier avec les encodeurs en eau peu profonde qui ne pénalisent que les poids au carré.

Le conférencier présente les auto-encodeurs de débruitage, largement étudiés par le groupe montréalais. Ces auto-encodeurs ajoutent du bruit aux vecteurs d'entrée, mettant certains composants à zéro (ressemblant à un décrochage). Ils sont tenus de reconstruire les entrées avec des composants mis à zéro, les empêchant de simplement copier l'entrée. Contrairement aux encodeurs en eau peu profonde, les encodeurs automatiques de débruitage capturent les corrélations entre les entrées, en utilisant certaines valeurs d'entrée pour aider à reconstruire les entrées mises à zéro. L'empilement des auto-encodeurs de débruitage peut être très efficace pour la pré-formation, dépassant les RBM dans la plupart des cas.

L'orateur mentionne que l'évaluation de la pré-formation à l'aide d'auto-encodeurs de débruitage est plus simple puisque la fonction objectif peut être facilement calculée. En revanche, l'évaluation des RBM avec divergence contrastive ne donne pas la vraie fonction objectif. Cependant, les auto-encodeurs de débruitage n'ont pas la limite variationnelle que possèdent les RBM, bien que cet intérêt théorique soit limité aux RBM entraînés avec le maximum de vraisemblance.

Un autre type d'encodeur discuté est l'autoencodeur contractuel, également développé par le groupe montréalais. Ces auto-encodeurs visent à rendre les activités cachées insensibles aux entrées en pénalisant le carré du gradient de chaque unité cachée par rapport à chaque entrée. Les encodeurs automatiques contractuels fonctionnent bien pour la pré-formation et ont tendance à avoir des codes clairsemés, avec seulement un petit sous-ensemble d'unités cachées sensibles aux différentes parties de l'espace d'entrée.

Le conférencier conclut en résumant leur vision actuelle de la préformation. La pré-formation couche par couche est bénéfique lorsqu'un jeu de données contient des données étiquetées limitées, car elle permet de découvrir de bonnes fonctionnalités sans s'appuyer sur des étiquettes. Cependant, pour les grands ensembles de données étiquetés, une pré-formation non supervisée n'est pas nécessaire si le réseau est suffisamment grand. Néanmoins, pour des réseaux encore plus grands, la préformation redevient cruciale pour éviter le surapprentissage. L'orateur soutient que les méthodes de régularisation telles que l'abandon et la pré-formation sont importantes, en particulier lorsqu'il s'agit de grands espaces de paramètres par rapport aux données disponibles.

Lecture 15.6 — Shallow autoencoders for pre-training [Neural Networks for Machine Learning]
Lecture 15.6 — Shallow autoencoders for pre-training [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 16.1 — Apprentissage d'un modèle conjoint d'images et de légendes



Cours 16.1 — Apprentissage d'un modèle conjoint d'images et de légendes [Réseaux de neurones pour l'apprentissage automatique]

Je discuterai des travaux récents sur l'apprentissage d'un modèle conjoint de légendes d'images et de vecteurs de caractéristiques. Dans une conférence précédente, nous avons exploré comment extraire des caractéristiques significatives d'images sans utiliser de légendes. Cependant, les légendes peuvent fournir des informations précieuses pour extraire les catégories sémantiques pertinentes des images, et vice versa, les images peuvent aider à désambiguïser le sens des mots dans les légendes.

L'approche proposée implique la formation d'un grand réseau qui prend en entrée des vecteurs de caractéristiques de vision par ordinateur standard extraits d'images et de représentations de sous-titres par sac de mots. Le réseau apprend la relation entre les deux représentations d'entrée. Un film du réseau final est montré, qui montre l'utilisation de mots pour créer des vecteurs de caractéristiques pour les images et la recherche de l'image la plus proche dans sa base de données, ainsi que l'utilisation d'images pour créer des sacs de mots.

Nitish Srivastava et Ruslan Salakhutdinov ont mené des recherches pour construire un modèle de densité conjoint de légendes et d'images. Cependant, au lieu d'utiliser des pixels bruts, ils ont représenté des images en utilisant les fonctions de vision par ordinateur standard. Cela a nécessité plus de calculs par rapport à la construction d'un modèle de densité conjoint d'étiquettes et d'images numériques. Ils ont formé des modèles multicouches séparés pour les images et les vecteurs de comptage de mots à partir des légendes. Ces modèles individuels ont ensuite été connectés à une nouvelle couche supérieure intégrant les deux modalités. Une formation conjointe de l'ensemble du système a été réalisée pour permettre à chaque modalité d'améliorer les premières couches de l'autre modalité.

Pour pré-entraîner les couches cachées d'une machine Boltzmann profonde, ils ont suivi une approche différente de ce qui était précédemment couvert dans le cours. Plutôt que d'utiliser une pile de machines Boltzmann restreintes (RBM) pour former un réseau de croyance profond, ils ont directement préformé une pile de RBM d'une manière spécifique. Les poids des RBM du haut et du bas de la pile ont été formés avec une propriété symétrique d'échelle, où les poids du bas vers le haut étaient deux fois plus grands que les poids du haut vers le bas. Les RBM intermédiaires ont été entraînés avec des poids symétriques. Cette configuration de poids a permis de faire la moyenne géométrique des deux modèles différents de chaque couche dans la machine finale de Boltzmann en profondeur.

La justification de cette configuration de poids réside dans la manière dont les deux manières de déduire les états des unités dans chaque couche sont combinées dans la machine profonde de Boltzmann. Les pondérations garantissent que la preuve n'est pas comptée deux fois lors de la déduction de l'état d'une couche. Les couches intermédiaires effectuent une moyenne géométrique des preuves à partir des modèles ascendants et descendants, évitant la duplication des preuves. Pour une explication plus détaillée, reportez-vous à l'article d'origine.

L'approche présentée dans la vidéo se concentre sur l'apprentissage d'un modèle conjoint de légendes d'images et de vecteurs de caractéristiques. En intégrant les informations des deux modalités, le modèle vise à améliorer la compréhension des images et des légendes et à permettre une représentation sémantique plus précise.

Il convient de noter que l'utilisation d'une machine Boltzmann profonde au lieu d'un filet de croyance profond pour l'entraînement conjoint a ses avantages. Alors qu'un réseau de croyance profond aurait pu être utilisé avec un réglage fin génératif utilisant un réveil-sommeil contrasté, l'algorithme de réglage fin pour les machines profondes de Boltzmann devrait donner de meilleurs résultats. Par conséquent, la décision d'utiliser une machine Boltzmann profonde permet une formation et une amélioration améliorées des détecteurs de caractéristiques dans les premières couches de chaque modalité.

La vidéo aborde également brièvement le processus de formation de la machine profonde Boltzmann. Les pondérations des RBM dans la pile sont ajustées de manière symétrique, garantissant que les preuves sont correctement combinées sans double comptage. Cette approche permet de faire la moyenne géométrique des deux modèles différents de chaque couche, en tenant compte à la fois des entrées ascendantes et descendantes. La configuration de poids spécifique garantit que les preuves ne sont pas dupliquées, en tenant compte des dépendances entre les couches.

Bien que la vidéo fournisse une explication de haut niveau du processus, les mathématiques sous-jacentes et le raisonnement détaillé peuvent être trouvés dans le document d'accompagnement. L'approche présentée dans la vidéo et les recherches ultérieures de Nitish Srivastava et Ruslan Salakhutdinov contribuent à faire progresser la modélisation conjointe des légendes et des vecteurs de caractéristiques, facilitant ainsi une meilleure compréhension et représentation des images et de leurs légendes associées.

En conclusion, le travail discuté dans la vidéo se concentre sur l'apprentissage d'un modèle conjoint de légendes d'images et de vecteurs de caractéristiques. En tirant parti des informations présentes dans les deux modalités, l'approche proposée vise à améliorer l'extraction des catégories sémantiques des images et la désambiguïsation des mots dans les légendes. L'utilisation d'une machine profonde Boltzmann et la configuration spécifique du poids lors de l'entraînement permettent une intégration et un apprentissage efficaces entre les deux modalités.

Lecture 16.1 — Learning a joint model of images and captions [Neural Networks for Machine Learning]
Lecture 16.1 — Learning a joint model of images and captions [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 16.2 — Cadres de coordonnées hiérarchiques



Conférence 16.2 — Cadres de coordonnées hiérarchiques [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, le conférencier discute du potentiel de combiner les approches de reconnaissance d'objets en vision par ordinateur. Trois approches principales sont mentionnées : les réseaux de neurones à convolution profonde (CNN), les approches basées sur les pièces et les fonctionnalités conçues à la main avec une ingénierie manuelle approfondie.

Alors que les CNN se sont avérés efficaces dans la reconnaissance d'objets, l'orateur souligne les limites, telles que la perte de positions précises du détecteur de caractéristiques et la difficulté d'extrapoler à de nouveaux points de vue et échelles. Pour relever ces défis, le conférencier suggère d'utiliser une hiérarchie de cadres de coordonnées et de représenter la conjonction de la forme et de la pose d'une caractéristique par rapport à la rétine à l'aide de groupes de neurones.

En représentant les poses de parties d'objets par rapport à la rétine, il devient plus facile de reconnaître des objets plus grands en tirant parti de la cohérence des poses de parties. L'orateur explique une méthode d'utilisation des activités neuronales pour représenter les vecteurs de pose et comment les relations spatiales peuvent être modélisées comme des opérations linéaires. Cela facilite l'apprentissage des hiérarchies d'entités visuelles et la généralisation à travers les points de vue.

L'orateur insiste sur l'importance d'incorporer des cadres de coordonnées pour représenter efficacement les formes. Ils fournissent des exemples qui montrent comment notre système visuel impose des cadres de coordonnées pour reconnaître correctement les formes. La perception d'une forme peut changer en fonction du cadre de coordonnées imposé, mettant en évidence le rôle des cadres de coordonnées dans la représentation de la forme.

La vidéo explore l'idée de combiner différentes approches de reconnaissance d'objets en tirant parti des cadres de coordonnées et des représentations hiérarchiques. Cette approche vise à répondre aux limites des CNN et à améliorer la reconnaissance des objets en incorporant des relations spatiales et une cohérence de pose. L'importance des cadres de coordonnées dans la perception des formes est également soulignée.

Lecture 16.2 — Hierarchical Coordinate Frames [Neural Networks for Machine Learning]
Lecture 16.2 — Hierarchical Coordinate Frames [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 16.3 — Optimisation bayésienne des hyper-paramètres



Cours 16.3 — Optimisation bayésienne des hyper-paramètres [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, je vais discuter de certains travaux récents qui abordent la question de savoir comment déterminer les hyperparamètres dans les réseaux de neurones. L'approche présentée dans ce travail utilise un type différent d'apprentissage automatique pour aider à sélectionner les valeurs appropriées pour les hyperparamètres. Au lieu d'ajuster manuellement les paramètres d'hyperparamètres, cette méthode utilise l'apprentissage automatique pour automatiser le processus. La technique repose sur des processus gaussiens, qui sont efficaces pour modéliser des fonctions lisses. Bien que les processus gaussiens aient été traditionnellement considérés comme inadéquats pour des tâches telles que la parole et la vision, ils conviennent bien aux domaines avec des connaissances préalables limitées, où des entrées similaires ont tendance à produire des sorties similaires.

Les hyperparamètres, tels que le nombre d'unités cachées, les couches, la pénalité de poids et l'utilisation de l'abandon, jouent un rôle crucial dans les performances du réseau neuronal. Trouver les bonnes combinaisons d'hyperparamètres peut être difficile, en particulier lors de l'exploration manuelle de l'espace. Les processus gaussiens excellent dans l'identification des tendances dans les données et peuvent identifier efficacement de bons ensembles d'hyperparamètres. De nombreux chercheurs hésitent à utiliser les réseaux de neurones en raison de la difficulté de définir correctement les hyperparamètres, car une valeur incorrecte pour un hyperparamètre peut rendre le réseau inefficace. La recherche par grille, une approche courante, consiste à essayer de manière exhaustive toutes les combinaisons possibles, ce qui devient irréalisable avec de nombreux hyperparamètres.

Cependant, une méthode plus efficace consiste à échantillonner au hasard des combinaisons d'hyperparamètres. Ce faisant, les expériences redondantes sont évitées et une plus grande attention est accordée aux hyperparamètres qui ont un impact significatif. Néanmoins, les combinaisons aléatoires ont des limites, et c'est là que l'apprentissage automatique entre en jeu. En utilisant l'apprentissage automatique, nous pouvons simuler le processus d'un étudiant diplômé sélectionnant des valeurs d'hyperparamètres. Plutôt que de nous fier à des combinaisons aléatoires, nous examinons les résultats obtenus jusqu'à présent et prédisons quelles combinaisons sont susceptibles de donner de bons résultats. Cette prédiction nécessite de déterminer les régions de l'espace des hyperparamètres qui devraient fournir des résultats favorables.

Pour construire un modèle prédictif, nous supposons que l'évaluation d'un seul paramètre d'hyperparamètre nécessite des ressources de calcul importantes, telles que la formation d'un grand réseau de neurones sur un ensemble de données massif, ce qui peut prendre des jours. D'autre part, la construction d'un modèle pour prédire les performances des paramètres d'hyperparamètres basés sur des expériences précédentes est moins intensive en calcul. Les modèles de processus gaussiens, qui supposent que des entrées similaires conduisent à des sorties similaires, conviennent à de telles prédictions. Ces modèles apprennent l'échelle appropriée pour mesurer la similarité dans chaque dimension d'entrée, ce qui nous permet d'identifier des valeurs d'hyperparamètres similaires et différentes.

De plus, les modèles de processus gaussiens prédisent non seulement le résultat attendu d'une expérience, mais fournissent également une distribution des prédictions, y compris une variance. Lors de la prédiction des performances de nouveaux paramètres d'hyperparamètres similaires aux paramètres précédents, les prédictions des modèles sont précises et ont une faible variance. Inversement, pour les paramètres d'hyperparamètres qui diffèrent considérablement de toutes les expériences précédentes, les prédictions ont une variance élevée.

La stratégie d'utilisation des processus gaussiens pour déterminer le prochain paramètre d'hyperparamètre implique la sélection d'un paramètre qui devrait produire une amélioration substantielle par rapport au meilleur paramètre observé jusqu'à présent. Le risque de rencontrer un mauvais résultat est acceptable car il ne remplacerait pas le meilleur réglage obtenu. Cette stratégie s'apparente à l'approche utilisée par les gestionnaires de fonds spéculatifs, qui sont fortement incités à prendre des risques car il n'y a pas de baisse significative. En suivant cette stratégie, nous pouvons prendre des décisions éclairées sur les paramètres d'hyperparamètres à explorer ensuite.

Cette politique peut être adaptée pour exécuter plusieurs expériences en parallèle, ce qui rend le processus plus efficace. En tant qu'êtres humains, il est difficile de suivre les résultats de nombreuses expériences et de prédire leurs résultats avec précision. Cependant, les modèles de processus gaussiens peuvent gérer cette tâche efficacement car ils peuvent détecter des tendances et des modèles dans les données. Enfin, les modèles de processus gaussiens sont moins sujets aux biais que les humains. Lorsqu'ils mènent des recherches, les chercheurs ont souvent tendance à s'efforcer davantage de trouver de bons paramètres d'hyperparamètres pour leur nouvelle méthode que pour les méthodes établies. L'utilisation de modèles de processus gaussiens élimine ce biais, car ils recherchent de bons ensembles d'hyperparamètres de manière égale pour tous les modèles évalués. En conclusion, les modèles de processus gaussiens fournissent une approche puissante et efficace pour déterminer les hyperparamètres dans les réseaux de neurones. En tirant parti des capacités prédictives des processus gaussiens, nous pouvons automatiser le processus de sélection des valeurs d'hyperparamètres, réduisant ainsi le besoin d'exploration manuelle et de conjectures.

Les méthodes traditionnelles telles que la recherche par grille peuvent s'avérer peu pratiques lorsqu'il s'agit d'un grand nombre d'hyperparamètres. L'échantillonnage aléatoire de combinaisons d'hyperparamètres est une approche plus efficace, mais elle a encore des limites. En incorporant l'apprentissage automatique, nous pouvons simuler le processus de prise de décision d'un chercheur humain et faire des prédictions plus éclairées sur les combinaisons d'hyperparamètres susceptibles de donner de bons résultats. Les modèles de processus gaussiens sont particulièrement bien adaptés à cette tâche. Ils excellent dans l'identification des tendances dans les données et peuvent modéliser efficacement la relation entre les paramètres d'hyperparamètres et les résultats de performance. Ces modèles prédisent non seulement les performances attendues des nouveaux paramètres d'hyperparamètres, mais fournissent également une distribution des prédictions, y compris une mesure de l'incertitude. Cela nous permet d'évaluer la fiabilité des prévisions et de prendre des décisions plus éclairées.

La stratégie d'utilisation des processus gaussiens consiste à sélectionner des paramètres d'hyperparamètres qui devraient apporter des améliorations substantielles par rapport aux meilleurs paramètres observés jusqu'à présent. En prenant des risques calculés et en explorant des paramètres qui diffèrent considérablement des expériences précédentes, nous pouvons potentiellement découvrir des configurations encore meilleures. De plus, les modèles de processus gaussiens peuvent gérer plusieurs expériences en parallèle, ce qui rend le processus plus efficace. Ils peuvent détecter des tendances et des modèles dans les données, permettant une exploration simultanée de différents paramètres d'hyperparamètres. Un autre avantage de l'utilisation des processus gaussiens est leur capacité à minimiser les biais. Les chercheurs investissent souvent plus d'efforts dans la recherche de bons paramètres d'hyperparamètres pour leurs nouvelles méthodes par rapport aux méthodes établies. Les modèles de processus gaussiens éliminent ce biais en recherchant de manière égale des ensembles d'hyperparamètres optimaux dans tous les modèles évalués.

Les modèles de processus gaussiens offrent une approche puissante et efficace pour déterminer les hyperparamètres dans les réseaux de neurones. En tirant parti de leurs capacités prédictives, nous pouvons automatiser le processus et prendre des décisions plus éclairées sur les paramètres d'hyperparamètres à explorer. Cette approche réduit le recours à l'exploration manuelle et améliore l'efficience et l'efficacité du réglage des hyperparamètres dans la recherche sur les réseaux neuronaux.

Lecture 16.3 — Bayesian optimization of hyper-parameters [Neural Networks for Machine Learning]
Lecture 16.3 — Bayesian optimization of hyper-parameters [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...
 

Conférence 16.4 — Le brouillard du progrès



Conférence 16.4 — Le brouillard du progrès [Réseaux de neurones pour l'apprentissage automatique]

Dans cette dernière vidéo, j'ai été tenté de faire des prédictions sur l'avenir de la recherche sur les réseaux de neurones. Cependant, j'aimerais expliquer pourquoi tenter des prédictions à long terme serait extrêmement insensé. Je vais utiliser une analogie pour illustrer ce point.

Imaginez que vous conduisez une voiture la nuit et que vous vous concentrez sur les feux arrière de la voiture devant vous. Le nombre de photons que vous recevez de ces feux arrière diminue comme l'inverse du carré de la distance (1/d^2), en supposant un air clair. Cependant, s'il y a du brouillard, le comportement change. Sur de courtes distances, le nombre de photons tombe toujours à 1/d^2 car le brouillard n'absorbe pas beaucoup de lumière dans cette plage. Mais sur de plus grandes distances, la décroissance suit une fonction exponentielle (e^(-d)) car le brouillard a un effet exponentiel. Il absorbe une fraction de photons par unité de distance, ce qui le rend plus opaque à mesure que la distance augmente. Cela signifie que la voiture devant vous pourrait devenir complètement invisible à une distance où votre modèle à courte portée prévoyait qu'elle serait visible. Ce phénomène est responsable d'accidents provoqués par des personnes roulant à l'arrière des voitures dans le brouillard.

De même, le développement de la technologie, y compris l'apprentissage automatique et les réseaux de neurones, est généralement exponentiel. À court terme, les progrès semblent relativement lents et prévisibles. Nous pouvons faire des suppositions raisonnables sur le futur proche, comme les fonctionnalités du prochain modèle d'iPhone. Cependant, lorsque nous regardons plus loin dans l'avenir à long terme, notre capacité de prédiction se heurte à un mur, tout comme avec le brouillard. Nous ne savons tout simplement pas ce qui se passera dans 30 ans, car des progrès exponentiels peuvent entraîner des changements inattendus et transformateurs.

Par conséquent, l'avenir à long terme de l'apprentissage automatique et des réseaux de neurones reste un mystère total. Nous ne pouvons pas le prédire sur la base de nos connaissances actuelles. Cependant, à court terme, disons de 3 à 10 ans, nous pouvons faire des prévisions assez précises. Il me semble évident qu'au cours des cinq prochaines années environ, les grands réseaux de neurones profonds continueront d'accomplir des choses remarquables.

Je profite de l'occasion pour vous féliciter tous d'avoir tenu le cap jusqu'au bout. J'espère que vous l'avez apprécié et je vous souhaite bonne chance pour le test final.

Lecture 16.4 — The fog of progress [Neural Networks for Machine Learning]
Lecture 16.4 — The fog of progress [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...
 

Une introduction conviviale au Deep Learning et aux réseaux de neurones



Une introduction conviviale au Deep Learning et aux réseaux de neurones

Bienvenue dans une introduction à l'apprentissage en profondeur ! Je m'appelle Luis Serrano et je travaille chez Udacity. Commençons par répondre à la question : qu'est-ce que l'apprentissage automatique ?

Pour l'expliquer, prenons un exemple simple. Imaginez que nous ayons un humain et un gâteau, et que notre objectif soit de dire à l'humain de prendre le gâteau. Nous pouvons le faire facilement en donnant une seule instruction : "Va chercher le gâteau." L'humain comprend et obtient le gâteau. Essayons maintenant de résoudre le même problème avec un robot. Ce n'est pas aussi simple car nous devons donner au robot un ensemble d'instructions. Par exemple, "Tourne à droite, fais dix pas, tourne à gauche, fais quatre pas, puis prends le gâteau." Cette solution est spécifique à ce scénario particulier et non généralisable. Si le robot est dans une position différente, nous aurions besoin d'un ensemble d'instructions complètement différent.

Pour résoudre ce problème de manière plus générale, nous pouvons utiliser l'apprentissage automatique. Au lieu de fournir des instructions explicites, nous pouvons apprendre à l'ordinateur à trouver le meilleur moyen de trouver le gâteau. Pour ce faire, nous demandons à l'ordinateur de calculer la distance jusqu'au gâteau, puis de nous déplacer dans la direction qui minimise la distance. L'ordinateur continue d'itérer jusqu'à ce qu'il trouve le gâteau. Ce concept de minimisation d'une erreur ou d'une distance est au cœur de la plupart des problèmes d'apprentissage automatique. Nous définissons une métrique d'erreur, telle que la distance au gâteau ou la hauteur d'une montagne, puis minimisons cette erreur en utilisant la descente de gradient. En calculant à plusieurs reprises le gradient et en se déplaçant dans la direction qui diminue le plus l'erreur, nous pouvons trouver des solutions à divers problèmes.

L'apprentissage automatique a de nombreuses applications, telles que l'apprentissage d'un ordinateur à jouer à des jeux comme Go ou Jeopardy, l'activation de voitures autonomes, la détection de spams, la reconnaissance de visages, etc. Au cœur de ces applications se trouve le concept de réseaux de neurones, qui constituent la base de l'apprentissage en profondeur. Lorsque nous pensons aux réseaux de neurones, nous pouvons imaginer des structures complexes avec des nœuds, des arêtes et des couches. Cependant, une façon plus simple de les considérer est de les considérer comme un outil de division des données. Tout comme un enfant jouant dans le sable et traçant une ligne pour séparer les coquillages rouges et bleus, les réseaux de neurones peuvent apprendre à séparer différents types de points de données.

Pour entraîner un réseau de neurones, nous avons besoin d'une fonction d'erreur continue. Minimiser le nombre d'erreurs n'est pas adapté car il s'agit d'une fonction discrète. Au lieu de cela, nous utilisons une fonction d'erreur qui attribue des pénalités aux points mal classés. En ajustant les paramètres du réseau neuronal, comme la position de la ligne dans notre exemple, nous pouvons minimiser l'erreur et trouver la meilleure solution. Cette approche, connue sous le nom de régression logistique, nous permet de construire une fonction de probabilité qui attribue des probabilités à différents points de données. Les points plus proches de la ligne 50/50 ont plus de chances d'être classés comme rouges ou bleus, tandis que les points plus éloignés sont classés avec plus de confiance.

L'apprentissage automatique consiste à minimiser les erreurs ou les distances pour trouver les meilleures solutions à divers problèmes. Les réseaux de neurones permettent de diviser les données et de faire des classifications. En utilisant les fonctions d'erreur continue et la descente de gradient, nous pouvons former des réseaux de neurones et les appliquer à un large éventail d'applications.

A friendly introduction to Deep Learning and Neural Networks
A friendly introduction to Deep Learning and Neural Networks
  • 2016.12.26
  • www.youtube.com
Announcement: New Book by Luis Serrano! Grokking Machine Learning. bit.ly/grokkingML40% discount code: serranoytA friendly introduction to neural networks an...
 

Une introduction conviviale aux réseaux de neurones récurrents



Une introduction conviviale aux réseaux de neurones récurrents

Bienvenue dans une introduction conviviale aux réseaux de neurones récurrents ! Je suis Luis Serrano, instructeur en machine learning chez Udacity. Merci pour tous vos retours sur mes vidéos précédentes. J'ai reçu beaucoup de suggestions, et l'une d'elles concernait les réseaux de neurones récurrents, c'est pourquoi j'ai décidé de faire cette vidéo.

Commençons par un exemple simple. Imaginez que vous ayez un colocataire parfait qui cuisine trois types de plats : tarte aux pommes, hamburger et poulet. Sa décision de cuisson est basée sur le temps. S'il fait beau, il cuisine une tarte aux pommes, et s'il pleut, il cuisine un burger. Nous pouvons modéliser ce scénario à l'aide d'un simple réseau de neurones, où l'entrée est le temps (ensoleillé ou pluvieux) et la sortie est l'aliment correspondant (tarte aux pommes ou hamburger).

Pour représenter la nourriture et le temps, nous utilisons des vecteurs. Les vecteurs alimentaires sont [1 0 0] pour la tarte aux pommes, [0 1 0] pour le burger et [0 0 1] pour le poulet. Les vecteurs météo sont [1 0] pour ensoleillé et [0 1] pour pluvieux. Nous pouvons cartographier ces vecteurs en utilisant une multiplication matricielle, où le vecteur d'entrée est multiplié par une matrice pour obtenir le vecteur de sortie.

Considérons maintenant un problème plus compliqué. Notre parfait colocataire cuisine toujours en séquence (tarte aux pommes, burger, poulet), mais maintenant sa décision dépend de ce qu'il a cuisiné la veille. C'est ce qu'on appelle un réseau neuronal récurrent. La sortie de chaque jour devient l'entrée du lendemain. Nous pouvons représenter ce réseau à l'aide de matrices et d'opérations vectorielles.

Par exemple, si la nourriture de la veille était une tarte aux pommes et qu'il pleut aujourd'hui, nous utilisons la matrice alimentaire et la matrice météorologique pour calculer la sortie. La matrice alimentaire prend le vecteur alimentaire précédent et renvoie les vecteurs alimentaires actuels et suivants concaténés. La matrice météo prend le vecteur météo et indique si nous devons cuisiner la nourriture actuelle ou celle du lendemain. En additionnant les résultats de ces deux matrices, on peut déterminer ce que le colocataire cuisinera le lendemain.

Cette approche combine les deux exemples précédents, où la décision de cuisson du colocataire est basée à la fois sur la météo et sur la nourriture de la veille. Les matrices et les opérations vectorielles nous aident à calculer la sortie du réseau neuronal récurrent.

Les réseaux de neurones récurrents sont des modèles puissants qui peuvent gérer des données séquentielles en tenant compte des entrées précédentes. Ils sont utiles dans diverses applications, telles que le traitement du langage naturel et l'analyse de séries chronologiques. J'espère que cette introduction vous a donné une bonne compréhension des réseaux de neurones récurrents.

A friendly introduction to Recurrent Neural Networks
A friendly introduction to Recurrent Neural Networks
  • 2017.08.18
  • www.youtube.com
Announcement: New Book by Luis Serrano! Grokking Machine Learning. bit.ly/grokkingML40% discount code: serranoytA friendly explanation of how computers predi...