Apprentissage Automatique et Réseaux Neuronaux - page 55

 

Cours 5.1 — Pourquoi la reconnaissance d'objet est difficile



Conférence 5.1 — Pourquoi la reconnaissance d'objets est difficile [Réseaux de neurones pour l'apprentissage automatique]

Reconnaître des objets dans des scènes réelles pose plusieurs défis qui sont souvent négligés en raison de notre compétence innée dans cette tâche. La conversion des intensités de pixels en étiquettes d'objets est un processus complexe qui implique diverses difficultés. Un obstacle majeur est la segmentation de l'objet de son environnement, car nous manquons des signaux de mouvement et stéréo disponibles dans le monde réel. Cette absence rend difficile la détermination des parties appartenant au même objet. De plus, les objets peuvent être partiellement masqués par d'autres objets, ce qui complique davantage le processus de reconnaissance. Fait intéressant, nos capacités visuelles exceptionnelles masquent souvent ces problèmes.

Un autre défi important dans la reconnaissance d'objets provient de l'influence de l'éclairage sur les intensités des pixels. L'intensité d'un pixel dépend non seulement de l'objet lui-même mais aussi des conditions d'éclairage. Par exemple, une surface noire sous une lumière vive produit des pixels plus intenses par rapport à une surface blanche sous un éclairage faible. Pour reconnaître un objet, nous devons convertir ces différentes intensités de pixels en étiquettes de classe, mais ces variations peuvent se produire en raison de facteurs sans rapport avec la nature ou l'identité de l'objet.

Les objets peuvent également subir des déformations, ce qui ajoute à la complexité de la reconnaissance. Même pour des objets relativement simples comme des chiffres manuscrits, il existe un large éventail de formes associées au même nom. Par exemple, le chiffre « 2 » peut apparaître en italique avec une pointe ou avoir une boucle plus grande et une forme plus arrondie. De plus, la classe d'un objet est souvent définie par sa fonction plutôt que par son apparence visuelle. Considérez les chaises, où d'innombrables variations existent, des fauteuils aux conceptions modernes à ossature d'acier avec des dossiers en bois. Les caractéristiques visuelles seules peuvent ne pas suffire à déterminer la classe.

Les variations de point de vue aggravent encore les difficultés de reconnaissance d'objet. La capacité de reconnaître un objet en trois dimensions à partir de plusieurs perspectives crée des changements d'image que les méthodes d'apprentissage automatique conventionnelles ont du mal à gérer. Les informations sur un objet peuvent se déplacer sur différents pixels lorsque l'objet se déplace alors que notre regard reste fixe. Ce transfert d'informations entre les dimensions d'entrée, correspondant généralement aux pixels dans les tâches visuelles, n'est pas couramment rencontré en apprentissage automatique. La résolution de ce problème, souvent appelé "saut de dimension", est cruciale pour améliorer la précision de la reconnaissance. Une approche systématique pour résoudre ce problème est hautement souhaitable.

En résumé, la reconnaissance d'objets dans des scènes réelles comporte de nombreux défis. Surmonter ces difficultés nécessite d'aborder des questions liées à la segmentation, aux variations d'éclairage, à l'occlusion, aux déformations, aux changements de point de vue et à la définition sémantique des objets. Le développement de méthodes robustes et systématiques qui tiennent compte de ces facteurs améliorera la précision et la fiabilité des systèmes de reconnaissance d'objets.

Lecture 5.1 — Why object recognition is difficult [Neural Networks for Machine Learning]
Lecture 5.1 — Why object recognition is difficult [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 5.2 — Atteindre l'invariance du point de vue



Conférence 5.2 — Atteindre l'invariance du point de vue [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, je vais approfondir le concept d'invariance du point de vue et explorer diverses approches pour relever ce défi dans la reconnaissance d'objets. Les variations de point de vue constituent un obstacle important car chaque fois que nous visualisons un objet, il apparaît sur différents pixels, ce qui rend la reconnaissance d'objet distincte de la plupart des tâches d'apprentissage automatique. Malgré notre aptitude naturelle à cette tâche, nous n'avons pas encore trouvé de solutions largement acceptées en ingénierie ou en psychologie.

La première approche suggère d'utiliser des caractéristiques invariantes redondantes. Ces fonctionnalités doivent être capables de résister à des transformations telles que la translation, la rotation et la mise à l'échelle. Par exemple, une paire de lignes approximativement parallèles avec un point rouge entre elles a été proposée comme caractéristique invariante utilisée par les bébés goélands argentés pour identifier où picorer pour se nourrir. En utilisant un large ensemble de caractéristiques invariantes, nous pouvons les assembler de manière unique dans un objet ou une image sans représenter explicitement les relations entre les caractéristiques.

Cependant, le défi se pose lorsqu'il s'agit de tâches de reconnaissance. L'extraction de caractéristiques de plusieurs objets peut entraîner des caractéristiques composées de parties de différents objets, conduisant à des informations trompeuses pour la reconnaissance. Ainsi, il devient crucial d'éviter de former des caractéristiques à partir de parties d'objets différents.

Une autre approche, appelée "normalisation judicieuse", consiste à placer une boîte autour de l'objet. En définissant un cadre de référence dans cette boîte, nous pouvons décrire les caractéristiques de l'objet par rapport à lui, réalisant l'invariance. En supposant que l'objet est une forme rigide, cette approche élimine efficacement l'impact des changements de point de vue, atténuant le problème de saut de dimension. La boîte ne doit pas nécessairement être rectangulaire ; il peut tenir compte de la translation, de la rotation, de l'échelle, du cisaillement et de l'étirement. Cependant, la sélection de la boîte appropriée pose des problèmes en raison des erreurs de segmentation potentielles, de l'occlusion et des orientations inhabituelles. La détermination de la bonne boîte repose sur notre connaissance de la forme de l'objet, créant un problème de poule et d'œuf : nous devons reconnaître la forme pour obtenir la bonne boîte, mais nous avons besoin de la bonne boîte pour reconnaître la forme.

Une approche de normalisation par force brute consiste à utiliser des images verticales bien segmentées pendant la formation pour définir judicieusement les boîtes autour des objets. Lors des tests, lorsqu'il s'agit d'images encombrées, toutes les boîtes possibles à différentes positions et échelles sont explorées. Cette approche est couramment utilisée en vision par ordinateur pour des tâches telles que la détection de visages ou de numéros de maison dans des images non segmentées. Cependant, il est plus efficace lorsque le module de reconnaissance peut gérer certaines variations de position et d'échelle, permettant l'utilisation d'une grille grossière pour essayer différentes boîtes.

L'invariance du point de vue est un défi important dans la reconnaissance d'objets. Des approches telles que l'utilisation de caractéristiques invariantes, la normalisation judicieuse avec des boîtes englobantes et la normalisation par force brute aident à atténuer les effets des variations de point de vue. Cependant, la sélection des caractéristiques appropriées, la détermination de la bonne boîte et la gestion de différentes positions et échelles restent des efforts de recherche en cours dans le domaine de la vision par ordinateur.

Lecture 5.2 — Achieving viewpoint invariance [Neural Networks for Machine Learning]
Lecture 5.2 — Achieving viewpoint invariance [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 5.3 — Réseaux convolutifs pour la reconnaissance de chiffres



Cours 5.3 — Réseaux convolutifs pour la reconnaissance des chiffres [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, nous discutons des réseaux de neurones convolutifs (CNN) et de leur application dans la reconnaissance des chiffres manuscrits. Les CNN ont connu un succès majeur dans les années 1980, en particulier les réseaux à convolution profonde de Yan LeCun, qui excellaient à reconnaître l'écriture manuscrite et étaient mis en œuvre dans la pratique. Ces réseaux faisaient partie des rares réseaux de neurones profonds de cette époque qui pouvaient être entraînés sur les ordinateurs disponibles et fonctionner exceptionnellement bien.

Les CNN sont construits sur le concept de fonctionnalités répliquées. Étant donné que les objets peuvent apparaître à différentes positions dans une image, un détecteur de caractéristiques utile à un endroit est susceptible d'être utile ailleurs. Pour tirer parti de cette idée, plusieurs copies du même détecteur de caractéristiques sont créées à différentes positions dans l'image. Ces détecteurs de caractéristiques répliqués partagent des pondérations, ce qui réduit considérablement le nombre de paramètres à apprendre. Par exemple, trois détecteurs répliqués avec 27 pixels ne nécessitent que neuf poids différents.

Dans les CNN, plusieurs cartes de fonctionnalités, chacune composée de fonctionnalités répliquées, sont utilisées. Ces entités répliquées sont contraintes d'être identiques à divers endroits, tandis que différentes cartes apprennent à détecter différentes entités. Cette approche permet à différents types de caractéristiques de représenter chaque patch d'image, améliorant ainsi les capacités de reconnaissance. Les fonctionnalités répliquées s'alignent bien avec la rétropropagation, car il est facile de les former à l'aide de cet algorithme. La rétropropagation peut être modifiée pour incorporer des contraintes linéaires entre les poids, garantissant que les détecteurs de caractéristiques répliqués sont appris efficacement.

Il existe souvent une confusion concernant les réalisations des détecteurs de caractéristiques répliquées. Alors que certains prétendent qu'ils atteignent l'invariance de traduction, ce n'est pas tout à fait exact. Les caractéristiques répliquées atteignent l'équivalence, et non l'invariance, dans les activités des neurones. Par exemple, lorsqu'une image est traduite, les neurones activés se déplacent également en conséquence. Cependant, la connaissance capturée par les caractéristiques répliquées est invariante. Si une caractéristique est connue pour être détectée à un endroit, elle peut être détectée à un autre. Pour introduire une certaine invariance translationnelle, les sorties des détecteurs de caractéristiques répliquées peuvent être regroupées, soit en faisant la moyenne, soit en prenant le maximum de détecteurs voisins. Cependant, des informations spatiales précises peuvent être perdues lors de ce processus de mise en commun, ce qui a un impact sur les tâches qui reposent sur des relations spatiales précises.

Jan Lecun et ses collaborateurs ont démontré la puissance des CNN dans la reconnaissance des chiffres manuscrits, obtenant des résultats impressionnants avec leur architecture LeNet-5. LeNet-5 comprenait plusieurs couches cachées et cartes d'entités, ainsi qu'un regroupement entre les couches. Il pouvait gérer les caractères qui se chevauchaient et ne nécessitait pas de segmentation avant la saisie. La méthodologie de formation a utilisé une approche système complète, générant des codes postaux en tant que sortie à partir de pixels d'entrée. La formation a été menée en utilisant une méthode similaire à la marge maximale, avant même son introduction formelle. LeNet-5 s'est avéré très utile pour lire les chèques en Amérique du Nord.

L'injection de connaissances préalables dans l'apprentissage automatique, en particulier les réseaux de neurones, peut se faire via la conception de réseaux, la connectivité locale, les contraintes de poids ou des activités neuronales appropriées. Cette approche oriente le réseau vers une approche particulière de résolution de problèmes. Une autre méthode consiste à générer des données de formation synthétiques basées sur des connaissances antérieures, ce qui fournit au réseau plus d'exemples à partir desquels apprendre. À mesure que les ordinateurs deviennent plus rapides, cette dernière approche devient de plus en plus viable. Il permet l'optimisation pour découvrir des moyens efficaces d'utiliser des réseaux multicouches, en obtenant potentiellement des solutions supérieures sans une compréhension complète des mécanismes sous-jacents.

À l'aide de données synthétiques, plusieurs progrès ont été réalisés dans la reconnaissance des chiffres manuscrits. En combinant des astuces telles que la génération de données synthétiques, la formation de grands réseaux sur des unités de traitement graphique (GPU) et la création de modèles de consensus, des améliorations significatives ont été obtenues. Par exemple, un groupe dirigé par Jurgen Schmidhuber en Suisse a réduit le taux d'erreur à environ 25 erreurs, ce qui se rapproche probablement du taux d'erreur humaine. Pour évaluer les performances de différents modèles, il faut tenir compte des erreurs qu'ils commettent plutôt que de se fier uniquement à des mesures numériques. Les tests statistiques comme le test de McNemar offrent plus de sensibilité en analysant des erreurs spécifiques, permettant une meilleure évaluation de la supériorité du modèle.

Ainsi, lorsque vous comparez des modèles en fonction de leurs taux d'erreur, il est important de prendre en compte les erreurs spécifiques qu'ils commettent et d'effectuer des tests statistiques comme le test de McNemar pour déterminer si les différences sont statistiquement significatives. Le simple fait de regarder les taux d'erreur globaux peut ne pas fournir suffisamment d'informations pour porter un jugement sûr.

Les travaux menés par le groupe de Jurgen Schmidhuber en Suisse ont montré l'efficacité de l'injection de connaissances à travers des données synthétiques. Ils ont déployé des efforts considérables pour générer des données synthétiques instructives en transformant des cas de formation réels pour créer des exemples de formation supplémentaires. En formant un vaste réseau avec de nombreuses unités par couche et de nombreuses couches sur une unité de traitement graphique (GPU), ils ont pu exploiter la puissance de calcul et éviter le surajustement.

Leur approche combinait trois techniques clés : générer des données synthétiques, former un grand réseau sur un GPU et utiliser une méthode de consensus avec plusieurs modèles pour déterminer la prédiction finale. Grâce à cette approche, ils ont obtenu des résultats impressionnants, réduisant le taux d'erreur à environ 25 erreurs, ce qui est comparable au taux d'erreur humaine.

Une question intéressante se pose lorsque l'on compare des modèles avec différents taux d'erreur : comment déterminer si un modèle avec 30 erreurs est significativement meilleur qu'un modèle avec 40 erreurs ? Étonnamment, cela dépend des erreurs spécifiques commises par chaque modèle. Il ne suffit pas de regarder les chiffres. Le test McNemar, un test statistique qui se concentre sur les erreurs spécifiques, offre une plus grande sensibilité dans la comparaison des modèles.

Par exemple, en considérant un tableau 2x2, nous pouvons examiner les cas où un modèle réussit tandis que l'autre se trompe. En analysant les ratios de ces cas, nous pouvons déterminer l'importance des différences entre les modèles. Dans certains cas, un modèle peut avoir un taux d'erreur plus faible mais fonctionner moins bien dans les cas spécifiques où l'autre modèle réussit, ce qui rend la comparaison moins significative.

Par conséquent, lors de l'évaluation et de la comparaison des modèles, il est crucial de tenir compte à la fois des taux d'erreur et des erreurs spécifiques commises. Des tests statistiques comme le test de McNemar peuvent fournir des informations plus précises sur les différences de performances entre les modèles. Cela nous aide à prendre des décisions éclairées sur la sélection et l'amélioration des modèles.

Outre la prise en compte des taux d'erreur et des erreurs spécifiques, il existe d'autres facteurs à prendre en compte lors de l'évaluation et de la comparaison des modèles.

  1. Qualité et quantité des données : la qualité et la quantité des données d'entraînement peuvent avoir un impact significatif sur les performances du modèle. Les modèles entraînés sur des ensembles de données vastes, diversifiés et représentatifs ont tendance à mieux généraliser. Il est important de s'assurer que les données utilisées pour la formation et l'évaluation reflètent avec précision les scénarios réels auxquels le modèle sera confronté.

  2. Ressources informatiques : les ressources informatiques nécessaires pour former et déployer un modèle sont des considérations essentielles. Certains modèles peuvent nécessiter une puissance de calcul importante, comme des GPU hautes performances ou du matériel spécialisé, ce qui peut affecter leur aspect pratique et leur évolutivité.

  3. Interprétabilité : Selon l'application, l'interprétabilité des prédictions du modèle peut être cruciale. Certains modèles, comme les réseaux de neurones profonds, sont souvent considérés comme des boîtes noires, ce qui rend difficile la compréhension du raisonnement derrière leurs décisions. En revanche, d'autres modèles, tels que les arbres de décision ou les modèles linéaires, offrent plus d'interprétabilité. Le choix du modèle doit correspondre aux exigences du problème et des parties prenantes.

  4. Robustesse et généralisation : les performances d'un modèle doivent être évaluées non seulement sur les données d'apprentissage, mais également sur des données invisibles pour évaluer sa capacité de généralisation. Un modèle robuste doit bien fonctionner sur divers échantillons de données et être résistant au bruit, aux valeurs aberrantes et aux attaques contradictoires.

  5. Évolutivité et efficacité : Selon les exigences de l'application, l'évolutivité et l'efficacité du modèle sont des considérations importantes. Les modèles capables de traiter efficacement de grandes quantités de données ou de faire des prédictions en temps réel peuvent être préférés dans certains scénarios.

  6. Considérations éthiques : il est essentiel de tenir compte des implications éthiques lors de la sélection et du déploiement de modèles. Les biais dans les données ou les prédictions du modèle, l'équité, la confidentialité et les problèmes de sécurité doivent être pris en compte pour garantir une utilisation responsable et équitable des systèmes d'IA.

  7. Commentaires des utilisateurs et expertise du domaine : recueillir les commentaires des utilisateurs finaux et des experts du domaine peut fournir des informations précieuses sur les performances et l'adéquation d'un modèle. Leur contribution peut aider à identifier des domaines spécifiques à améliorer ou à découvrir des limites qui pourraient ne pas être capturées par des métriques d'évaluation automatisées.

En tenant compte de ces facteurs en plus des taux d'erreur et des erreurs spécifiques, nous pouvons prendre des décisions plus complètes et éclairées lors de l'évaluation et de la comparaison des modèles.

Lecture 5.3 — Convolutional nets for digit recognition [Neural Networks for Machine Learning]
Lecture 5.3 — Convolutional nets for digit recognition [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...
 

Cours 5.4 — Réseaux convolutifs pour la reconnaissance d'objets



Cours 5.4 — Réseaux convolutifs pour la reconnaissance d'objets [Réseaux de neurones pour l'apprentissage automatique]

La question de savoir si les réseaux développés pour reconnaître les chiffres manuscrits pourraient être mis à l'échelle pour reconnaître des objets dans des images couleur haute résolution a toujours été un sujet de spéculation. Cela a été considéré comme une tâche difficile en raison de divers facteurs tels que le traitement des scènes encombrées, la segmentation, le point de vue 3D, les objets multiples et les variations d'éclairage. Dans le passé, les chercheurs se sont concentrés sur l'amélioration de la capacité des réseaux à reconnaître les chiffres manuscrits, ce qui a conduit certains à douter de la généralisation de leurs découvertes à des images en couleurs réelles.

Pour répondre à cette question, un récent concours appelé ImageNet a été organisé, où des systèmes de vision par ordinateur ont été testés sur un sous-ensemble de 1,2 million d'images couleur haute résolution. La tâche consistait à étiqueter correctement les images avec mille classes différentes. Les systèmes étaient autorisés à faire cinq prédictions, et elles étaient considérées comme correctes si l'une des prédictions correspondait à l'étiquette attribuée par une personne. De plus, il y avait une tâche de localisation où les systèmes devaient placer une boîte autour de l'objet reconnu.

Les principaux groupes de vision par ordinateur de diverses institutions ont participé au concours, utilisant des systèmes complexes à plusieurs étapes qui combinaient les premières étapes réglées à la main avec des algorithmes d'apprentissage à l'étape supérieure. Cependant, la tâche s'est avérée très difficile, avec des taux d'erreur allant de 26 % à 27 % pour les meilleurs systèmes. En revanche, le réseau neuronal profond d'Alex Krizhevsky a atteint un taux d'erreur nettement inférieur de 16 %.

Le réseau d'Alex Krizhevsky, basé sur des réseaux de neurones à convolution profonde, utilisait sept couches cachées et des unités linéaires rectifiées comme fonctions d'activation. Le réseau a utilisé la normalisation concurrentielle au sein d'une couche pour gérer les variations d'intensité. Plusieurs techniques ont été utilisées pour améliorer la généralisation, y compris l'augmentation des données avec des transformations, telles que le sous-échantillonnage et les réflexions, et l'utilisation de la régularisation des pertes dans les couches supérieures. Le réseau a été formé sur du matériel puissant, en particulier des processeurs graphiques Nvidia GTX 580.

Les résultats du concours ont montré que le réseau d'Alex Krizhevsky surpassait les autres systèmes de vision par ordinateur par une marge substantielle. Son succès a démontré le potentiel des réseaux de neurones profonds pour la reconnaissance d'objets dans des images en couleurs réelles. Ces réseaux peuvent tirer parti des connaissances antérieures et gérer des ensembles de données et des calculs à grande échelle. L'utilisation d'un matériel efficace et la possibilité de répartir les réseaux sur plusieurs cœurs améliorent encore leurs capacités. Par conséquent, on s'attend à ce que les réseaux de neurones profonds continuent de progresser et deviennent l'approche standard pour la reconnaissance d'objets dans des images statiques.

De même, les réseaux de neurones profonds ont montré des performances impressionnantes dans divers autres domaines. Par exemple, ils ont réussi dans des tâches de traitement du langage naturel telles que la traduction linguistique, l'analyse des sentiments et la réponse aux questions. Dans ces tâches, les réseaux apprennent à comprendre la sémantique et le contexte du texte, ce qui leur permet de générer des réponses précises et significatives.

De plus, les réseaux de neurones profonds ont également été appliqués à la reconnaissance vocale, où ils ont surpassé les méthodes traditionnelles. En apprenant à partir de grandes quantités de données vocales étiquetées, ces réseaux peuvent reconnaître et transcrire efficacement les mots prononcés avec une grande précision.

Dans le domaine de la santé, les réseaux de neurones profonds ont démontré des capacités remarquables dans l'analyse d'images médicales. Ils peuvent aider à diagnostiquer des maladies à partir d'images médicales telles que des radiographies, des IRM et des tomodensitogrammes. En apprenant à partir d'une vaste collection d'images médicales étiquetées, ces réseaux peuvent détecter des anomalies, des tumeurs et d'autres conditions médicales avec un niveau de précision comparable à celui des experts humains.

Le succès des réseaux de neurones profonds peut être attribué à leur capacité à apprendre automatiquement des représentations hiérarchiques des données. En extrayant progressivement des caractéristiques à plusieurs niveaux d'abstraction, ces réseaux peuvent capturer des modèles et des relations complexes dans les données. Ce processus d'apprentissage des fonctionnalités, combiné à la disponibilité de grands ensembles de données et de puissantes ressources de calcul, a ouvert la voie à des avancées significatives dans divers domaines.

En conclusion, les réseaux de neurones profonds se sont révélés très efficaces dans un large éventail de tâches, notamment la reconnaissance d'objets, le traitement du langage naturel, la reconnaissance de la parole et l'analyse d'images médicales. Leur capacité à apprendre à partir de grands ensembles de données et à extraire automatiquement des représentations significatives a révolutionné de nombreux domaines. Alors que les ressources informatiques continuent de s'améliorer, nous pouvons nous attendre à des réalisations encore plus impressionnantes et à de nouvelles avancées dans les capacités des réseaux de neurones profonds.

Lecture 5.4 — Convolutional nets for object recognition [Neural Networks for Machine Learning]
Lecture 5.4 — Convolutional nets for object recognition [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 6.1 — Aperçu de la descente de gradient en mini batch



Cours 6.1 — Présentation de la descente de gradient en mini batch [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, nous discuterons de l'apprentissage de la descente de gradient stochastique pour les réseaux de neurones, en nous concentrant sur la version mini-batch, qui est largement utilisée dans les grands réseaux de neurones. La surface d'erreur d'un neurone linéaire forme un bol quadratique, où les axes horizontaux représentent les poids et l'axe vertical représente l'erreur. Pour les réseaux non linéaires multicouches, la surface d'erreur est plus complexe mais localement approximée par une fraction de bol quadratique.

Lors de l'utilisation de l'apprentissage par lots complet, la descente le long de la direction du gradient le plus raide peut ne pas conduire à la destination souhaitée. La direction de descente la plus raide est souvent presque perpendiculaire à la direction souhaitée, ce qui entraîne des problèmes de convergence. Ce problème persiste dans les réseaux multicouches non linéaires, car les surfaces d'erreur ont tendance à être fortement incurvées dans certaines directions et moins incurvées dans d'autres.

Pour résoudre ce problème, la descente de gradient stochastique (SGD) est utilisée. Au lieu de calculer le gradient sur l'ensemble de données complet, SGD calcule le gradient sur des sous-ensembles ou des mini-lots de données. Cette approche offre plusieurs avantages, tels qu'un calcul réduit pour les mises à jour de poids et la possibilité de paralléliser les calculs de gradient pour plusieurs cas d'entraînement.

L'utilisation de mini-lots permet d'éviter les ballottements de poids inutiles. Il est important d'avoir des mini-lots représentatifs de l'ensemble de données et d'éviter ceux qui ne sont pas caractéristiques, comme avoir tous les exemples d'une seule classe. Bien qu'il existe des algorithmes à gradient complet disponibles, l'apprentissage par mini-lots est généralement préféré pour les ensembles d'apprentissage volumineux et redondants en raison de son efficacité de calcul.

L'algorithme de base d'apprentissage par descente de gradient par mini-lot consiste à deviner un taux d'apprentissage initial et à surveiller les performances du réseau. Si l'erreur s'aggrave ou oscille, le taux d'apprentissage est réduit. Si l'erreur tombe trop lentement, le taux d'apprentissage peut être augmenté. L'automatisation de l'ajustement du taux d'apprentissage en fonction de ces observations est bénéfique. Vers la fin de l'apprentissage, il est souvent utile de diminuer le taux d'apprentissage pour lisser les fluctuations des poids causées par les gradients de mini-lots. Les ensembles de validation sont utilisés pour évaluer quand diminuer le taux d'apprentissage et déterminer quand l'erreur cesse de diminuer de manière cohérente.

En ajustant soigneusement le taux d'apprentissage et en l'ajustant tout au long du processus de formation, la descente de gradient par mini-lot fournit une approche efficace pour former de grands réseaux de neurones sur des ensembles de données redondants.

De plus, il convient de noter qu'il existe deux principaux types d'algorithmes d'apprentissage pour les réseaux de neurones : les algorithmes à gradient complet et les algorithmes à mini-lots. Les algorithmes de gradient complet calculent le gradient en utilisant tous les cas de formation, permettant diverses techniques d'optimisation pour accélérer l'apprentissage. Cependant, ces méthodes développées pour des fonctions non linéaires lisses peuvent nécessiter des modifications pour fonctionner efficacement avec des réseaux de neurones multicouches.

D'autre part, l'apprentissage par mini-batch est avantageux pour les ensembles d'apprentissage hautement redondants et volumineux. Bien que les mini-lots puissent devoir être relativement volumineux, ils offrent une efficacité de calcul. L'utilisation de mini-lots permet le calcul parallèle des gradients pour plusieurs cas de formation simultanément, en tirant parti des capacités des processeurs modernes, tels que les unités de traitement graphique (GPU).

Tout au long du processus de formation, il est important de trouver un équilibre avec le rythme d'apprentissage. Des ajustements au taux d'apprentissage doivent être effectués en fonction des performances du réseau et du comportement observé de l'erreur. Vers la fin de l'apprentissage, la réduction du taux d'apprentissage peut aider à atteindre un ensemble final de poids qui est un bon compromis, lissant les fluctuations causées par les gradients de mini-lots.

Les ensembles de validation jouent un rôle crucial dans le suivi des progrès du réseau. En mesurant l'erreur sur un ensemble de validation séparé, on peut évaluer si l'erreur cesse de diminuer de manière constante et déterminer le moment approprié pour ajuster le taux d'apprentissage. Ces exemples de validation ne sont pas utilisés pour la formation ou les tests finaux.

L'algorithme d'apprentissage par descente de gradient par mini-lots fournit une approche pratique et efficace pour former de grands réseaux de neurones sur des ensembles de données redondants. Un ajustement minutieux du taux d'apprentissage, la surveillance des performances du réseau à l'aide d'ensembles de validation et l'utilisation de mini-lots représentatifs contribuent à la réussite des résultats de formation.

Lecture 6.1 — Overview of mini batch gradient descent [Neural Networks for Machine Learning]
Lecture 6.1 — Overview of mini batch gradient descent [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...
 

Cours 6.2 — Un sac d'astuces pour la descente de gradient en mini batch



Conférence 6.2 - Un sac d'astuces pour la descente de gradient en mini batch [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, nous aborderons plusieurs problèmes qui surviennent lors de l'utilisation de la descente de gradient stochastique avec des mini-lots. Il existe de nombreuses astuces qui peuvent améliorer considérablement les performances, souvent appelées "l'art noir" des réseaux de neurones. Je vais couvrir quelques-unes des astuces clés dans cette vidéo.

Commençons par le premier problème : l'initialisation du poids dans un réseau de neurones. Si deux unités cachées ont les mêmes poids et biais, elles recevront toujours le même gradient et ne se différencieront jamais l'une de l'autre. Pour leur permettre d'apprendre différents détecteurs de caractéristiques, nous devons les initialiser avec des poids différents. Cela se fait généralement en utilisant de petits poids aléatoires pour briser la symétrie. Il est important de noter que la taille des poids initiaux ne doit pas être la même pour toutes les unités. Les unités cachées avec une plus grande fan-in (connexions entrantes) ont tendance à saturer avec des poids plus importants, donc des poids plus petits sont préférés dans de tels cas. D'autre part, les unités cachées avec une ventilation plus petite bénéficient de poids plus importants. La taille des pondérations initiales doit être proportionnelle à la racine carrée de la fan-in.

Un autre facteur important est le déplacement des entrées. L'ajout d'une valeur constante à chaque composant d'entrée peut avoir un impact significatif sur la vitesse d'apprentissage. Le décalage des entrées est particulièrement efficace lors de l'utilisation de la descente la plus raide. Il est recommandé de décaler chaque composant d'entrée de sorte que, en moyenne sur les données d'apprentissage, il ait une valeur moyenne de zéro.

Examinons ensuite la surface d'erreur et son lien avec les poids et les cas d'entraînement. Dans certains cas, lorsque les poids satisfont différents cas d'entraînement, la surface d'erreur peut s'allonger, ce qui rend l'apprentissage difficile. Cependant, en soustrayant une valeur constante de chaque composante d'entrée, nous pouvons transformer la surface d'erreur en une forme circulaire, ce qui facilite l'apprentissage.

Un autre facteur à considérer est la fonction d'activation des unités cachées. Les tangentes hyperboliques, comprises entre -1 et 1, sont souvent préférées car elles conduisent à des activités unitaires cachées avec une valeur moyenne proche de zéro. Cela peut faciliter un apprentissage plus rapide dans les couches suivantes. Cependant, les fonctions d'activation logistique présentent des avantages car elles fournissent une sortie de zéro pour les petites entrées négatives, permettant au réseau d'ignorer les fluctuations de ces entrées. Les tangentes hyperboliques nécessitent des entrées plus importantes pour ignorer ces fluctuations.

La mise à l'échelle des entrées est également cruciale pour un apprentissage efficace. En transformant les composants d'entrée pour avoir une variance unitaire sur l'ensemble de l'apprentissage, avec une valeur typique de un ou moins un, nous pouvons améliorer la surface d'erreur. La mise à l'échelle des entrées garantit que les changements de poids ont des effets similaires sur tous les composants d'entrée, ce qui conduit à un processus d'apprentissage plus équilibré.

Pour accélérer l'apprentissage par mini-batch, il existe quatre méthodes principales à considérer :

  1. Momentum : au lieu de modifier directement les poids en fonction du gradient, le momentum utilise le gradient pour accélérer la vitesse des poids. Cette approche permet aux pondérations de conserver les informations des gradients précédents.

  2. Taux d'apprentissage adaptatif : l'utilisation d'un taux d'apprentissage adaptatif distinct pour chaque paramètre et son ajustement en fonction de mesures empiriques peuvent améliorer l'apprentissage. Si le gradient continue de changer de signe, le taux d'apprentissage est réduit. Si le gradient reste constant, le taux d'apprentissage est augmenté.

  3. RMSprop : cette méthode divise le taux d'apprentissage par une moyenne mobile des amplitudes de gradient récentes. Il gère efficacement une large gamme de dégradés en les mettant à l'échelle de manière appropriée.

  4. Apprentissage par lots complet : cette approche implique l'utilisation de l'intégralité de l'ensemble d'apprentissage pour l'apprentissage et l'utilisation de techniques d'optimisation avancées qui prennent en compte les informations de courbure. Bien qu'il puisse être efficace, il peut nécessiter une adaptation supplémentaire pour travailler avec des mini-lots.

Ce ne sont là que quelques-unes des techniques qui peuvent améliorer considérablement les performances de la descente de gradient stochastique avec des mini-lots.

En résumé, nous avons discuté de plusieurs problèmes et techniques importants liés à la descente de gradient stochastique avec des mini-lots dans les réseaux de neurones. Ces techniques constituent «l'art noir» des réseaux de neurones et peuvent grandement améliorer leurs performances. Récapitulons les points principaux :

  1. Initialisation du poids : pour permettre aux unités cachées d'apprendre différents détecteurs de caractéristiques, il est crucial d'initialiser leurs poids différemment. En utilisant de petits poids aléatoires qui brisent la symétrie, nous pouvons nous assurer que chaque unité commence distincte l'une de l'autre. La taille des pondérations initiales doit être proportionnelle à la racine carrée du fan-in, ce qui aide à obtenir un bon point de départ.

  2. Décalage des entrées : le décalage des entrées en ajoutant une constante à chaque composant peut avoir un impact significatif sur la vitesse d'apprentissage. Il est avantageux de décaler chaque composant de sorte que, en moyenne, l'entrée ait une valeur de zéro. Ceci peut être réalisé en soustrayant la moyenne des valeurs d'entrée à travers les données de formation.

  3. Mise à l'échelle des entrées : la mise à l'échelle des valeurs d'entrée est une autre technique utile dans la descente de gradient stochastique. Transformer les entrées de sorte que chaque composant ait une variance unitaire sur l'ensemble de l'apprentissage simplifie le processus d'apprentissage. La remise à l'échelle des entrées aide à créer une surface d'erreur circulaire, ce qui rend la descente de gradient plus efficace.

  4. Décorrélation des composants d'entrée : la décorrélation des composants des vecteurs d'entrée améliore l'apprentissage en supprimant les corrélations entre les caractéristiques. L'analyse en composantes principales est une méthode précieuse pour y parvenir. En supprimant les composants avec de petites valeurs propres et en mettant à l'échelle les composants restants, nous pouvons obtenir une surface d'erreur circulaire, ce qui facilite la descente du gradient.

  5. Problèmes courants : Certains problèmes courants rencontrés dans la formation sur les réseaux neuronaux incluent des taux d'apprentissage initiaux élevés entraînant le blocage d'unités cachées, un apprentissage lent lors du démarrage avec de petits poids et une réduction prématurée du taux d'apprentissage. Il est important de trouver un équilibre dans l'ajustement du taux d'apprentissage pour assurer un apprentissage optimal.

  6. Accélération de l'apprentissage par mini-lots : il existe quatre méthodes principales pour accélérer l'apprentissage par mini-lots explicitement conçues pour un apprentissage plus rapide : l'élan, les taux d'apprentissage adaptatifs, RMSprop et l'apprentissage par lots complet avec des informations de courbure. Ces techniques tirent parti de divers mécanismes, tels que l'élan, les ajustements adaptatifs et les amplitudes de gradient, pour accélérer le processus d'apprentissage.

Bien que ces techniques améliorent considérablement les performances de la descente de gradient stochastique avec des mini-lots dans les réseaux de neurones, il est essentiel de considérer le problème spécifique à résoudre et d'expérimenter différentes approches pour obtenir les meilleurs résultats. Le domaine de l'optimisation offre d'autres méthodes avancées qui méritent d'être explorées pour un apprentissage encore plus efficace dans les réseaux de neurones.

Cela conclut les principaux points abordés dans cette vidéo concernant les défis et les techniques liés à la descente de gradient stochastique avec des mini-lots dans les réseaux de neurones.

Lecture 6.2 — A bag of tricks for mini batch gradient descent [Neural Networks for Machine Learning]
Lecture 6.2 — A bag of tricks for mini batch gradient descent [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...
 

Cours 6.3 — La méthode de la quantité de mouvement



Conférence 6.3 — La méthode momentum [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, nous discuterons de plusieurs problèmes liés à l'utilisation de la descente de gradient stochastique avec des mini-lots et explorerons certaines techniques pour améliorer son efficacité. Ces techniques sont souvent considérées comme « l'art noir » des réseaux de neurones, et nous aborderons certaines des principales.

Tout d'abord, abordons le problème de l'initialisation des poids dans un réseau de neurones. Si deux unités cachées ont des poids et des biais identiques, elles recevront toujours le même gradient et ne pourront pas apprendre différents détecteurs de caractéristiques. Pour leur permettre d'apprendre des caractéristiques distinctes, il est crucial d'initialiser leurs poids différemment. Nous y parvenons en utilisant de petits poids aléatoires qui brisent la symétrie. De plus, il est avantageux que les poids initiaux aient des grandeurs différentes, compte tenu du fan-in de chaque unité cachée. Par exemple, des pondérations plus importantes peuvent entraîner une saturation dans les unités avec un fan-in important, tandis que des pondérations plus petites conviennent aux unités avec un petit fan-in. En règle générale, la taille des pondérations initiales doit être proportionnelle à la racine carrée de la fan-in.

Décaler les entrées, ou ajouter une constante à chaque composant d'entrée, peut étonnamment avoir un impact significatif sur la vitesse d'apprentissage. Ce décalage aide à la descente la plus raide car il peut modifier considérablement la surface d'erreur. Il est souvent recommandé de décaler chaque composant d'entrée pour avoir une valeur moyenne de zéro sur l'ensemble de l'apprentissage.

La mise à l'échelle des entrées est une autre considération importante lors de l'utilisation de la descente la plus raide. La mise à l'échelle consiste à transformer les valeurs d'entrée pour garantir que chaque composant a une variance unitaire sur l'ensemble de l'apprentissage, ce qui en fait des valeurs typiques de un ou moins un. Cette mise à l'échelle permet un meilleur comportement de la surface d'erreur, en évitant une courbure élevée pour les grands composants d'entrée et une faible courbure pour les petits.

Décorréler les composants d'entrée peut grandement faciliter l'apprentissage. En supprimant les corrélations entre les composants d'entrée, nous réduisons la redondance et améliorons l'efficacité de l'apprentissage. L'analyse en composantes principales (ACP) est une technique couramment utilisée pour réaliser la décorrélation. Cela implique de supprimer les composants avec de petites valeurs propres et de mettre à l'échelle les composants restants en les divisant par les racines carrées de leurs valeurs propres. Ce processus conduit à une surface d'erreur circulaire pour les systèmes linéaires, ce qui simplifie l'apprentissage.

Abordons maintenant quelques problèmes courants rencontrés dans la formation des réseaux de neurones. Commencer avec un taux d'apprentissage excessivement élevé peut conduire les unités cachées à des états extrêmes, où leurs dérivées deviennent proches de zéro. Cela provoque l'arrêt de l'apprentissage, donnant souvent l'impression d'être coincé dans un minimum local. En réalité, le réseau est probablement piégé sur un plateau.

Un autre défi se pose lors de la classification à l'aide d'une erreur au carré ou d'une erreur d'entropie croisée. Initialement, le réseau apprend rapidement la meilleure stratégie d'estimation, qui consiste à rendre l'unité de sortie égale à la proportion attendue d'être un. Cependant, une amélioration supplémentaire au-delà de cette stratégie de devinette peut être lente, en particulier avec des réseaux profonds et de petits poids initiaux.

Lors du réglage du taux d'apprentissage, il est essentiel de trouver le bon équilibre. Diminuer le taux d'apprentissage trop tôt ou trop peut freiner la progression, tandis que le réduire vers la fin de la formation peut aider à stabiliser les performances du réseau.

Explorons maintenant quatre méthodes spécifiques pour accélérer considérablement l'apprentissage par mini-batch :

  1. Momentum : Au lieu de modifier directement les poids en fonction du gradient, le momentum implique d'utiliser le gradient pour mettre à jour la vitesse des mises à jour de poids. Cet élan permet au réseau de se souvenir des gradients précédents et aide à accélérer l'apprentissage.

  2. Taux d'apprentissage adaptatifs : Attribuer un taux d'apprentissage distinct pour chaque paramètre et l'ajuster lentement en fonction de mesures empiriques peut améliorer l'apprentissage. Si le signe du gradient continue de changer, indiquant une oscillation, le taux d'apprentissage est diminué. Si le signe reste cohérent, indiquant des progrès, le taux d'apprentissage est augmenté.

  3. RMSprop : cette méthode consiste à diviser les mises à jour de poids par une moyenne mobile des amplitudes de gradient récentes. Il ajuste dynamiquement les mises à jour de poids en fonction de l'ampleur des gradients, permettant une gestion efficace des différentes plages de gradients. RMSprop est une adaptation en mini-batch du Rprop.

Lecture 6.3 — The momentum method [Neural Networks for Machine Learning]
Lecture 6.3 — The momentum method [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 6.4 — Taux d'apprentissage adaptatifs pour chaque connexion



Conférence 6.4 — Taux d'apprentissage adaptatifs pour chaque connexion [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, nous allons explorer une méthode connue sous le nom de taux d'apprentissage adaptatifs, qui a été initialement développée par Robbie Jacobs à la fin des années 1980 et améliorée par la suite par d'autres chercheurs. Le concept derrière les taux d'apprentissage adaptatifs consiste à attribuer un taux d'apprentissage unique à chaque connexion dans un réseau de neurones, sur la base d'observations empiriques du comportement du poids sur cette connexion lors des mises à jour. Cette approche permet d'affiner le processus d'apprentissage en diminuant le taux d'apprentissage lorsque le gradient du poids continue de s'inverser et en l'augmentant lorsque le gradient reste constant.

Avoir des taux d'apprentissage adaptatifs séparés pour chaque connexion est avantageux, en particulier dans les réseaux multicouches profonds. Dans de tels réseaux, les taux d'apprentissage peuvent varier considérablement entre différents poids, en particulier entre les poids dans différentes couches. De plus, l'éventail d'une unité, qui détermine l'ampleur des effets de dépassement lors de l'ajustement de plusieurs poids entrants pour corriger une erreur, nécessite également des taux d'apprentissage différents. Des fan-ins plus importants peuvent entraîner des effets de dépassement plus importants, ce qui oblige à adapter les taux d'apprentissage en conséquence.

Pour mettre en œuvre des taux d'apprentissage adaptatifs, un taux d'apprentissage global est défini manuellement et multiplié par un gain local spécifique à chaque poids. Initialement, le gain local est fixé à 1 pour chaque poids. La mise à jour du poids est ensuite déterminée en multipliant le taux d'apprentissage par le gain local et la dérivée d'erreur pour ce poids. Le gain local est adapté en l'augmentant si le gradient pour le poids ne change pas de signe et en le diminuant si les gradients ont des signes opposés. Des augmentations additives et des diminutions multiplicatives sont utilisées, dans le but d'amortir rapidement les gains importants si des oscillations se produisent.

Il est intéressant de considérer le comportement des taux d'apprentissage adaptatifs lorsque les gradients sont aléatoires. Dans de tels cas, il y aura un nombre égal d'augmentations et de diminutions des gains, ce qui entraînera un survol autour d'un gain de 1. Si les gradients ont toujours la même direction, le gain peut devenir bien supérieur à 1, tandis que des gradients toujours opposés peuvent rendre le gain beaucoup plus petit que 1, indiquant une oscillation à travers un ravin.

Pour améliorer l'efficacité des taux d'apprentissage adaptatifs, il est important de limiter la taille des gains dans une fourchette raisonnable, telle que 0,1 à 10 ou 0,01 à 100. Des gains excessifs peuvent entraîner une instabilité et empêcher la convergence des poids. Alors que les taux d'apprentissage adaptatifs ont été initialement conçus pour un apprentissage par lots complet, ils peuvent également être appliqués avec des mini-lots. Cependant, des mini-lots plus grands sont préférés pour minimiser l'influence des erreurs d'échantillonnage et garantir que les changements de signe dans les gradients reflètent la traversée d'un ravin.

Il est possible de combiner les taux d'apprentissage adaptatifs avec l'élan, comme suggéré par Jacobs. Au lieu de comparer le gradient actuel avec le gradient précédent, l'accord de signe est déterminé entre le gradient actuel et la vitesse (gradient accumulé) pour ce poids. Cette combinaison exploite les avantages à la fois de l'élan et des taux d'apprentissage adaptatifs. Alors que les taux d'apprentissage adaptatifs gèrent les effets alignés sur les axes, l'élan peut gérer les ellipses diagonales et naviguer rapidement dans des directions diagonales, ce que les taux d'apprentissage adaptatifs seuls ne peuvent pas atteindre.

Il existe quelques considérations et techniques supplémentaires pour améliorer les performances des taux d'apprentissage adaptatifs. Il est crucial de trouver un équilibre et d'éviter que les gains ne deviennent trop importants. Si les gains deviennent trop importants, ils peuvent entraîner une instabilité et ne pas diminuer assez rapidement, ce qui peut endommager les poids.

En outre, il convient de noter que les taux d'apprentissage adaptatifs ont été principalement conçus pour l'apprentissage par lots complet, où tous les exemples de formation sont traités en une seule itération. Cependant, ils peuvent également être appliqués à l'apprentissage par mini-lots, où des sous-ensembles d'exemples de formation sont traités à la fois. Lors de l'utilisation de mini-lots, il est important de s'assurer que la taille du mini-lot est relativement grande pour atténuer l'influence des erreurs d'échantillonnage. Cela permet de garantir que les changements de signe dans les gradients indiquent la traversée d'un ravin plutôt que d'être uniquement dus à la variabilité d'échantillonnage du mini-lot.

Il est également possible de combiner les taux d'apprentissage adaptatifs avec l'élan, ce qui peut encore améliorer le processus d'optimisation. Au lieu de comparer le gradient actuel avec le gradient précédent, l'accord de signe peut être évalué entre le gradient actuel et la vitesse (c'est-à-dire le gradient accumulé) pour ce poids. En incorporant l'élan, une synergie entre les avantages de l'élan et les taux d'apprentissage adaptatifs peut être obtenue. Les taux d'apprentissage adaptatifs se concentrent sur la gestion des effets alignés sur les axes, tandis que l'élan est capable de gérer efficacement les ellipses diagonales et de naviguer rapidement dans des directions diagonales qui peuvent être difficiles pour les seuls taux d'apprentissage adaptatifs.

Les taux d'apprentissage adaptatifs offrent un moyen d'affiner le processus d'apprentissage dans les réseaux de neurones en attribuant des taux d'apprentissage individuels à chaque connexion sur la base d'observations empiriques. Ils relèvent les défis de la variation des taux d'apprentissage à travers différents poids dans les réseaux multicouches profonds et considèrent le fanning des unités. Des techniques telles que la limitation de la taille des gains, la sélection appropriée de mini-lots et la combinaison de taux d'apprentissage adaptatifs avec un élan peuvent optimiser davantage le processus de formation, ce qui se traduit par une amélioration des performances et de la convergence.

Lecture 6.4 — Adaptive learning rates for each connection [Neural Networks for Machine Learning]
Lecture 6.4 — Adaptive learning rates for each connection [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 6.5 — Rmsprop : normaliser le gradient



Cours 6.5 — Rmsprop : normaliser le gradient [Réseaux de neurones pour l'apprentissage automatique]

La vidéo présente une méthode appelée Rprop (Resilient Backpropagation), initialement conçue pour un apprentissage par lots complet. Il partage des similitudes avec l'algorithme de rétropropagation populaire mais avec quelques différences. L'orateur explique ensuite comment étendre Rprop pour travailler avec des mini-lots, ce qui est essentiel pour les grands ensembles de données redondants. La méthode résultante, appelée iRprop (Improved Rprop), combine les avantages de Rprop avec l'efficacité de l'apprentissage par mini-batch.

La principale motivation derrière Rprop est de relever le défi des amplitudes de gradient variables. Les gradients dans les réseaux de neurones peuvent aller de minuscules à énormes, ce qui rend difficile le choix d'un taux d'apprentissage global unique. Rprop résout ce problème en ne considérant que le signe du gradient, garantissant que toutes les mises à jour de poids sont de la même taille. Cette technique est particulièrement utile pour échapper aux plateaux avec de petits gradients, car même avec de minuscules gradients, les mises à jour de poids peuvent être substantielles.

Rprop combine le signe du gradient avec des tailles de pas adaptatives basées sur le poids mis à jour. Au lieu de considérer l'ampleur du gradient, il se concentre sur la taille de pas précédemment déterminée pour ce poids. La taille du pas s'adapte au fil du temps, augmentant de manière multiplicative si les signes des deux derniers gradients concordent et diminuant de manière multiplicative s'ils ne sont pas d'accord. En limitant la taille des pas, on évite qu'ils ne deviennent trop grands ou trop petits.

Bien que Rprop fonctionne bien pour l'apprentissage par lots complet, il fait face à des défis lorsqu'il est appliqué à des mini-lots. Cela viole l'idée centrale derrière la descente de gradient stochastique, qui repose sur la moyenne des gradients sur des mini-lots successifs lors de l'utilisation d'un faible taux d'apprentissage. L'orateur explique que Rprop incrémente le poids plusieurs fois avec sa taille de pas actuelle et ne le décrémente qu'une seule fois, ce qui entraîne une augmentation indésirable de l'ampleur du poids.

Pour surmonter cette limitation, l'orateur introduit RMSprop (Root Mean Square propagation) en tant que version mini-batch de Rprop. RMSprop garantit que le nombre utilisé pour diviser le gradient reste cohérent entre les mini-lots à proximité. Il y parvient en maintenant une moyenne mobile des gradients au carré pour chaque poids. Les gradients au carré sont pondérés à l'aide d'un facteur de décroissance (par exemple, 0,9) et combinés avec le carré moyen précédent pour calculer le carré moyen mis à jour. La racine carrée du carré moyen est ensuite utilisée pour normaliser le gradient, permettant un apprentissage plus efficace.

L'orateur mentionne que d'autres développements peuvent être apportés à RMSprop, comme le combiner avec du momentum ou des taux d'apprentissage adaptatifs à chaque connexion. De plus, ils font référence à des méthodes connexes, telles que Nesterov momentum et une méthode proposée par le groupe de Yann LeCun, qui partage des similitudes avec RMSprop.

En résumé, le conférencier recommande différentes méthodes d'apprentissage en fonction des caractéristiques du jeu de données. Pour les petits ensembles de données ou les grands ensembles de données sans trop de redondance, les méthodes par lots complets comme le gradient conjugué non linéaire, LBFGS ou L-BFGS-B conviennent. Les taux d'apprentissage adaptatifs ou Rprop peuvent également être utilisés pour les réseaux de neurones. Dans le cas de grands ensembles de données redondants, les méthodes de mini-batch sont essentielles. La première option à essayer est la descente de gradient standard avec élan. RMSprop est une autre méthode efficace à considérer, car elle combine les avantages de Rprop et de l'apprentissage par mini-lots. L'orateur suggère d'explorer d'autres améliorations, mais il n'existe actuellement aucune recette simple pour former des réseaux de neurones en raison de la nature diversifiée des réseaux et des tâches.

Lecture 6.5 — Rmsprop: normalize the gradient [Neural Networks for Machine Learning]
Lecture 6.5 — Rmsprop: normalize the gradient [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 7.1 — Séquences de modélisation : un bref aperçu



Cours 7.1 — Modélisation de séquences : un bref aperçu [Réseaux de neurones pour l'apprentissage automatique]

Dans cette vidéo, le conférencier donne un aperçu des différents types de modèles utilisés pour les séquences. Ils commencent par discuter des modèles autorégressifs, qui prédisent le terme suivant dans une séquence basée sur les termes précédents. Ils mentionnent ensuite des variations plus complexes de modèles autorégressifs qui incorporent des unités cachées. L'orateur poursuit en introduisant des modèles à état et dynamique cachés, tels que les systèmes dynamiques linéaires et les modèles de Markov cachés. Bien que ces modèles soient complexes, leur but est de montrer la relation entre les réseaux de neurones récurrents et ces types de modèles dans le cadre de la modélisation de séquences.

Lors de la modélisation de séquences à l'aide de l'apprentissage automatique, l'objectif est souvent de transformer une séquence en une autre. Par exemple, convertir des mots anglais en mots français ou transformer des pressions sonores en identités de mots pour la reconnaissance vocale. Dans certains cas, il peut ne pas y avoir de séquence cible distincte, de sorte que le terme suivant dans la séquence d'entrée peut servir de signal d'apprentissage. Cette approche est plus naturelle pour les séquences temporelles, car il existe un ordre naturel pour les prédictions. Cependant, il peut également être appliqué aux images, brouillant la distinction entre apprentissage supervisé et non supervisé.

Le conférencier passe ensuite en revue d'autres modèles de séquences avant de se plonger dans les réseaux de neurones récurrents (RNN). Ils expliquent que les modèles autorégressifs sans mémoire peuvent être étendus en ajoutant des unités cachées dans un réseau neuronal à anticipation. Cependant, ils soulignent que les modèles sans mémoire ne sont qu'une sous-classe de modèles pour les séquences. Une autre approche consiste à utiliser des modèles avec des états cachés et une dynamique interne, qui peuvent stocker des informations plus longtemps. Ces modèles, tels que les systèmes dynamiques linéaires et les modèles de Markov cachés, impliquent des algorithmes d'inférence et d'apprentissage probabilistes.

Les systèmes dynamiques linéaires sont largement utilisés en ingénierie et ont des états cachés à valeurs réelles avec une dynamique linéaire et un bruit gaussien. Les modèles de Markov cachés, quant à eux, utilisent des distributions discrètes et des transitions d'état probabilistes. Ils sont couramment utilisés dans la reconnaissance vocale et disposent d'algorithmes d'apprentissage efficaces basés sur la programmation dynamique.

Le locuteur explique les limites des modèles de Markov cachés lorsqu'il s'agit de transmettre de grandes quantités d'informations entre la première et la seconde moitié d'un énoncé. Cette limitation est due à la capacité de mémoire limitée de l'état masqué. Cela conduit à l'introduction de réseaux de neurones récurrents, qui ont des états cachés distribués et une dynamique non linéaire, ce qui les rend plus efficaces pour se souvenir des informations.

Les réseaux de neurones récurrents peuvent présenter divers comportements, notamment l'oscillation, l'installation sur des attracteurs ponctuels (utiles pour la récupération de la mémoire) et un comportement chaotique (utile dans certaines circonstances). L'idée qu'un RNN peut apprendre à implémenter plusieurs programmes en utilisant différents sous-ensembles de son état caché a été initialement pensé pour les rendre très puissants. Cependant, les RNN sont difficiles à former sur le plan informatique et exploiter leur plein potentiel a été une tâche difficile.

La vidéo donne un aperçu des différents modèles de séquence, introduit le concept de réseaux de neurones récurrents et met en évidence leur puissance de calcul et les défis de la formation.

Lecture 7.1 — Modeling sequences: a brief overview [Neural Networks for Machine Learning]
Lecture 7.1 — Modeling sequences: a brief overview [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...