Apprentissage Automatique et Réseaux Neuronaux - page 48

 

CS480/680 Cours 13 : Machines à vecteurs de support



CS480/680 Cours 13 : Machines à vecteurs de support

Cette conférence est une introduction à la prise en charge des machines vectorielles (SVM) en tant que type de méthode de noyau utilisée pour la classification. Les SVM sont toujours populaires pour les problèmes de données faibles et sont considérées comme rares car elles peuvent fonctionner avec un sous-ensemble de données et ignorer le reste. L'orateur explique le concept de vecteurs de support, qui sont les points de données les plus proches de la limite de décision et l'exemple visuel de SVM trouvant un séparateur linéaire pour séparer les classes tout en maximisant la marge. Les différences entre les SVM et les perceptrons sont discutées, les SVM utilisant un séparateur linéaire à marge maximale unique et étant moins sujets au surajustement. Le problème d'optimisation pour les SVM peut être réécrit à l'aide du lagrangien, résultant en un problème équivalent sans contraintes. La solution obtenue à partir du lagrangien peut être substituée pour obtenir une expression qui implique la fonction noyau, conduisant à une optimisation du problème double. Les avantages de travailler dans l'espace dual avec une fonction noyau qui calcule la similarité entre des paires de points de données sont également expliqués. Les SVM calculent le degré de similitude entre un point de requête et tous les vecteurs de support pour déterminer les plus similaires, et la discussion tourne également autour du nombre de vecteurs de support et de la manière dont il affecte la classification des points.

Cette vidéo traite du concept de machines à vecteurs de support (SVM) dans la catégorisation de texte, où les documents sont représentés comme des vecteurs de nombre de mots. Les SVM sont efficaces pour minimiser la perte dans le pire des cas, ce qui rend le classificateur adapté à tout échantillon possible, même pour différents ensembles de données. Les chercheurs ont utilisé des SVM avec double représentation et mappage du noyau pour mapper les données dans un espace dimensionnel encore plus élevé, sans perdre en précision ni sacrifier l'évolutivité. La conférence couvre également l'utilisation des SVM pour récupérer des documents pertinents à partir d'un ensemble de données et équilibrer la précision et le rappel. La vidéo se termine par une discussion sur la capacité des SVM à fournir des séparateurs linéaires ou non linéaires pour les données et les défis associés à la classification multi-classes et aux données non linéairement séparables.

  • 00: 00: 00 Dans cette section, l'orateur présente les machines à vecteurs de support (SVM), qui sont un type de méthode de noyau utilisée pour la classification. Historiquement, les SVM étaient la technique de classification la plus importante et la plus populaire dans l'apprentissage automatique jusqu'à ce que les réseaux de neurones prennent le relais après 2010. Cependant, les SVM fonctionnent toujours bien pour les problèmes avec peu de données et sont considérés comme rares car ils peuvent fonctionner avec un sous-ensemble de données et ignorer le repos. L'orateur fournit ensuite un exemple visuel de deux classes de données et comment les SVM trouvent un séparateur linéaire pour séparer ces classes tout en maximisant la marge, qui est la plus petite distance au point le plus proche dans chaque classe.\

  • 00:05:00 Dans cette section, le concept de vecteurs de support dans les machines à vecteurs de support (SVM) est expliqué. Les vecteurs de support sont des points de données importants qui sont les plus proches de la frontière de décision, et ils déterminent essentiellement où ira le séparateur linéaire. Le séparateur linéaire final dans les SVM, qui maximise la distance autrement appelée la marge aux points de données les plus proches, est obtenu en résolvant un problème d'optimisation. L'intuition derrière la maximisation de la marge est de s'assurer que les points de données, qui pourraient être bruyants, ne seront pas mal classés par la limite de décision.

  • 00: 10: 00 Dans cette section, le concept de marge maximale dans les machines à vecteurs de support (SVM) est expliqué pour obtenir une meilleure classification. Une marge maximale garantit que la classification est plus robuste au bruit et peut mieux généraliser aux exemples futurs. La distance d'un point au séparateur est calculée à l'aide du produit scalaire entre le vecteur de poids et le vecteur de caractéristique pour ce point de données, qui est ensuite normalisé pour donner la marge maximale. La formule pour calculer la distance de n'importe quel point au séparateur est également donnée et l'objectif qui est optimisé dans les SVM est discuté. Il est mis en évidence qu'il existe une ligne unique qui a une marge maximale et, par conséquent, deux lignes égales en marge ne sont pas la ligne de marge maximale.

  • 00: 15: 00 Dans cette section, les différences entre les machines à vecteurs de support (SVM) et les perceptrons sont discutées. Les perceptrons trouvent un séparateur linéaire mais ce séparateur est dépendant des valeurs de départ utilisées pour l'initialisation des poids. Les perceptrons utilisent également une règle de mise à jour simple pour la formation et s'appuient sur le retournement des étiquettes pour mesurer la distance entre le séparateur linéaire et les points de données. En revanche, les SVM utilisent un problème d'optimisation quadratique pour trouver le séparateur linéaire à marge maximale, qui dépend moins de l'initialisation. Les SVM introduisent également le concept de mou pour permettre une classification de marge souple et ont une astuce de noyau pour la classification non linéaire. Dans l'ensemble, les SVM ont une précision de classification supérieure à celle des perceptrons.

  • 00:20:00 Dans cette section, le conférencier oppose les perceptrons standards aux machines à vecteurs de support (SVM). Alors que le premier manque de robustesse et peut rapidement sur-ajuster, le second utilise un séparateur linéaire à marge maximale unique et est moins sujet au sur-ajustement. Les SVM sont optimisés par une optimisation quadratique convexe pour minimiser les poids, sous la contrainte que tous les points de données sont à au moins une unité de distance du séparateur linéaire. Bien que cette optimisation puisse sembler complexe, elle est en fait assez facile à effectuer par calcul avec de nombreux packages d'optimisation disponibles.

  • 00: 25: 00 Dans cette section, l'orateur présente un problème d'optimisation plus pratique pour les machines à vecteurs de support, où la distance entre les points est fixée à au moins un et l'échelle de W est minimisée. L'orateur démontre que ce problème est équivalent au problème d'optimisation précédent. Cette nouvelle formulation permet une double représentation, où les calculs dans le nouvel espace des caractéristiques peuvent être effectués en termes de produits scalaires qui peuvent être remplacés par une fonction noyau, similaire à ce qui a été fait avec les processus gaussiens.

  • 00:30:00 Dans cette section, l'orateur explique comment le problème d'optimisation pour les machines à vecteurs de support peut être réécrit à l'aide du lagrangien, résultant en un problème équivalent sans contraintes. Ce nouvel objectif inclut un terme de pénalité pour chaque contrainte violée, qui dépend d'une nouvelle variable a qui est nécessairement positive et supérieure à zéro lorsqu'une violation se produit. En fixant cette variable a pour maximiser le minimum du lagrangien, le nouveau problème est mathématiquement équivalent au problème original avec contraintes. Cette technique permet de simplifier le processus d'optimisation et de le rendre plus efficace.

  • 00:35:00 Dans cette section, le conférencier discute de l'utilisation des termes de pénalité et des contraintes dans les problèmes d'optimisation pour les machines à vecteurs de support. Ils expliquent que la contrainte limitant la distance entre les points peut être remplacée par un terme de pénalité, qui est optimisé en choisissant un coefficient. Cependant, ce problème d'optimisation aboutit à un problème maximal qui n'est pas facile à résoudre. Pour résoudre ce problème, le conférencier décrit comment calculer le problème de minimisation interne sous forme fermée, en arrivant à une solution où W est une combinaison linéaire de points de données dans le nouvel espace des caractéristiques. Les coefficients différents de zéro, qui sont les vecteurs supports, déterminent la valeur de W.

  • 00:40:00 Dans cette section, le conférencier explique comment la solution obtenue à partir du Lagrangien peut être substituée pour obtenir une expression qui implique la fonction noyau. Cette fonction noyau nous permet de travailler dans un espace de grande dimension sans nous soucier de la dimensionnalité, car nous pouvons calculer la fonction noyau directement entre chaque paire de points. Cela conduit à une optimisation de problème double, où nous optimisons un ensemble différent de variables pour obtenir les coefficients. La majorité de ces coefficients finiront par être nuls, ce qui rend le problème d'optimisation clairsemé et réduit la complexité de calcul. Une fois que nous avons les coefficients, nous pouvons les utiliser pour classer les points de données en prenant le produit scalaire des caractéristiques et des coefficients, avec un résultat positif ou négatif correspondant à différentes classes.

  • 00:45:00 Dans cette section, l'instructeur explique le concept de machines à vecteurs de support (SVM) dans un cas linéairement séparable. Ils montrent qu'un séparateur linéaire dans un espace à deux dimensions peut être représenté par un produit scalaire d'un vecteur normal et des caractéristiques d'entrée. Les points sur le séparateur linéaire correspondent au produit scalaire égal à 0. Ils expliquent ensuite les avantages de travailler dans l'espace dual, ce qui implique de remplacer les poids par une fonction noyau qui calcule la similarité entre des paires de points de données. La somme résultante ne dépend que du nombre de vecteurs de support et permet une classification basée sur le sinus de la combinaison linéaire des noyaux entre le point de requête et chaque point de l'ensemble de données.

  • 00:50:00 Dans cette section, l'enseignant explique que l'algorithme SVM calcule le degré de similarité entre un point de requête et tous les vecteurs de support afin de déterminer les plus similaires. La classe de ces vecteurs de support les plus similaires "votera" alors pour la classe prédite du point de requête. Ceci est similaire à une approche pondérée du plus proche voisin, avec les poids dictés par la fonction noyau. Cependant, le nombre de vecteurs de support n'est pas nécessairement égal pour chaque classe et peut varier en fonction de la dimensionnalité de l'espace.

  • 00: 55: 00 Dans cette section, la discussion tourne autour du nombre de vecteurs de support et de son incidence sur la classification des points. Bien qu'il y ait plus de vecteurs de support dans une classe, le nombre de vecteurs de support n'influence pas la propension à classer les points dans cette classe. La raison en est que chaque vecteur de support contribue à la somme, qu'il soit positif ou négatif, indiquant si un point appartient à la même classe que le vecteur de support. De plus, les machines à vecteurs de support sont connues pour bien généraliser et sont moins sujettes au surajustement, car maximiser la marge équivaut à minimiser une limite supérieure sur la perte la plus défavorable pour toute distribution d'entrée sous-jacente.

  • 01:00:00 Dans cette section de la conférence, l'orateur explique le concept de machines à vecteurs de support et leur fonctionnement dans la catégorisation de texte. Les machines à vecteurs de support sont efficaces pour minimiser la perte dans le pire des cas et garantir que le classificateur est bon par rapport à tout échantillon possible qui pourrait correspondre à différents ensembles de données. La conférence fournit une étude de cas de catégorisation de texte où les classificateurs sont formés avec une archive d'articles de presse qui ont déjà été classés. Une approche populaire consistait à transformer chaque document en un vecteur de nombre de mots à l'aide du modèle d'espace vectoriel, où l'ordre des mots est ignoré et un vecteur est créé qui est la longueur du dictionnaire. Cette approche a permis d'automatiser la catégorisation des articles et d'améliorer l'évolutivité.

  • 01:05:00 Dans cette section du cours, le professeur explique comment les documents peuvent être représentés comme des vecteurs de grande dimension, chaque caractéristique correspondant à un mot dans le dictionnaire du document. Bien qu'il soit naturel d'essayer de réduire la dimensionnalité de ces vecteurs par l'extraction de caractéristiques, cela peut entraîner une perte d'informations puisque la plupart des mots ont un certain niveau de pertinence. Pour résoudre ce problème, les chercheurs ont utilisé des machines à vecteurs de support avec une double représentation et un mappage du noyau pour mapper les données dans un espace dimensionnel encore plus élevé. Cette approche s'adapte bien au nombre de dimensions, ce qui en fait un outil utile pour analyser des données de grande dimension.

  • 01:10:00 Dans cette section, l'orateur discute de l'utilisation des machines à vecteurs de support pour récupérer des documents à partir d'un ensemble de données. La précision et le rappel sont des mesures utilisées pour estimer le pourcentage de documents pertinents récupérés et le pourcentage de documents pertinents dans l'ensemble de données, respectivement. L'objectif est d'équilibrer précision et rappel, et les machines à vecteurs de support se sont avérées être le meilleur algorithme à cette fin. Ils ont pu conserver toutes les fonctionnalités et les cartographier dans un espace dimensionnel supérieur sans perdre en précision ni sacrifier l'évolutivité. Le nombre de vecteurs de support requis dans un espace de dimension supérieure peut augmenter, mais il n'y a pas de coût supplémentaire associé au travail dans cet espace.

  • 01:15:00 Dans cette section, nous découvrons les machines à vecteurs de support (SVM) et comment elles peuvent nous fournir un séparateur linéaire ou non linéaire pour nos données. Les SVM utilisent un hyperplan unique pour maximiser une marge pour une bonne généralisation, et nous pouvons utiliser l'optimisation quadratique convexe pour assurer l'optimalité globale. Cependant, il y a deux questions importantes à aborder : pouvons-nous faire une classification multi-classes, et que faisons-nous si nos données ne sont pas linéairement séparables ? La prochaine série de diapositives abordera ces questions.
 

CS480/680 Cours 14 : Machines à vecteurs de support (suite)



CS480/680 Cours 14 : Machines à vecteurs de support (suite)

Cette section de la conférence est axée sur la gestion des données non linéairement séparables et des classes qui se chevauchent lors de l'utilisation de machines à vecteurs de support (SVM) en introduisant des variables d'écart et en considérant une marge souple. L'orateur explique comment les variables d'écart permettent de classer les points à l'intérieur de la marge sans introduire d'erreur de classement. Un terme de pénalité est ajouté au problème d'optimisation pour réguler l'utilisation des variables d'écart, contrôlées par le poids C, qui ajuste le compromis entre la minimisation des erreurs et la complexité du modèle. L'orateur discute également des différentes approches d'utilisation des SVM pour les problèmes de classification multi-classes, y compris un contre tous, la comparaison par paires et le classement continu, ce dernier étant l'approche de facto pour les SVM avec plusieurs classes. De plus, le concept de marge multi-classes est introduit, ce qui implique un tampon autour du séparateur linéaire, défini par la différence des vecteurs de poids pour chaque paire de classes.

  • 00:00:00 Dans cette section, le conférencier explique comment traiter les données non linéairement séparables et les classes qui se chevauchent lors de l'utilisation de machines à vecteurs de support (SVM). La solution consiste à introduire des variables d'écart et à considérer ce que l'on appelle une marge souple, qui assouplit l'hypothèse selon laquelle tous les points doivent être éloignés d'au moins une unité du séparateur. Les variables d'écart permettent à la marge d'être inférieure à un, de sorte que même les points à l'intérieur de la marge peuvent être classés sans introduire d'erreur de classification.

  • 00: 05: 00 Dans cette section, le concept de marge souple est introduit comme moyen de permettre des points mal classés et des points dans la marge en introduisant des variables d'écart. Un terme de pénalité est également ajouté au problème d'optimisation pour réguler l'utilisation des variables d'écart et garantir que la pénalité de la variable d'écart est minimisée. Ceci est contrôlé par le poids C, qui contrôle également le compromis entre la minimisation des erreurs et la complexité du modèle. La somme des variables d'écart est généralement une limite supérieure du nombre d'erreurs de classification. Le poids C peut être considéré comme un coefficient de régularisation qui ajuste le compromis entre la minimisation des erreurs et la complexité du modèle, et lorsque C tend vers l'infini, le classificateur de marge dure d'origine est récupéré.

  • 00: 10: 00 Dans cette section, l'orateur continue de discuter des machines à vecteurs de support et de la manière de gérer les erreurs de classification et les valeurs aberrantes. Les marges souples peuvent gérer des erreurs de classification mineures, mais sont toujours sensibles aux valeurs aberrantes. Les vecteurs de support correspondront aux contraintes actives qui ont une égalité, tandis que celles avec une inégalité ne sont pas actives si la distance est déjà supérieure à un, ce qui signifie que toutes les variables d'écart seraient nulles. L'orateur aborde également la manière d'étendre les machines à vecteurs de support pour travailler avec plusieurs classes, où historiquement trois approches ont été envisagées, l'une d'entre elles étant "un contre tous", où chaque machine à vecteurs de support ferait la distinction entre une classe et toutes les autres classes.

  • 00: 15: 00 Dans cette section de la conférence, l'orateur explique différentes approches d'utilisation des machines à vecteurs de support pour classer les données avec plusieurs classes. La première approche, un contre tous, consiste à former une machine à vecteurs de support pour chaque classe par rapport aux autres, mais cela peut entraîner des conflits de classification. La deuxième approche, la comparaison par paires, nécessite la formation de machines vectorielles de support pour chaque paire de classes, ce qui peut être coûteux en calcul. La troisième approche, le classement continu, forme une seule machine à vecteurs de support pour renvoyer une valeur continue pour classer les classes en fonction de ces valeurs. L'orateur illustre ces approches à l'aide d'exemples et conclut que la comparaison par paires n'est pas idéale en raison de son coût de calcul, laissant un contre-tous comme le classement le moins favorable et continu comme approche de facto pour l'utilisation de machines à vecteurs de support avec plusieurs classes.

  • 00: 20: 00 Dans cette section, le conférencier discute de différentes approches d'utilisation des machines à vecteurs de support pour les problèmes de classification multi-classes. Ils expliquent comment l'utilisation de plusieurs séparateurs linéaires pour distinguer différentes classes conduit à des points ambigus et décrivent une approche alternative, le classement continu. L'idée derrière cette approche est d'utiliser des vecteurs de poids séparés pour chaque classe et de comparer l'ampleur des produits scalaires des données d'entrée avec le vecteur de poids de chaque classe, en sélectionnant la classe avec le produit scalaire le plus grand. Cette approche généralise le concept de marge pour comparer les produits scalaires de différentes classes et garantit que la classe correcte a un produit scalaire supérieur d'au moins un à toutes les classes incorrectes.

  • 00:25:00 Dans cette section de la conférence, le présentateur explique le concept de marge multi-classes dans les machines à vecteurs de support (SVM). La marge multi-classe correspond à avoir un tampon autour du séparateur linéaire, qui est défini par la différence des vecteurs de poids pour chaque paire de classes. Le problème d'optimisation reste le même que celui des SVM binaires, seules les contraintes étant remplacées. Avec des classes qui se chevauchent et plusieurs classes, des variables d'écart et un terme de pénalité peuvent être introduits pour gérer la classification multi-classes avec une marge souple. Le SVM multi-classes est maintenant une formulation générale qui fonctionne avec plusieurs classes et des classes qui se chevauchent.
 

CS480/680 Cours 15 : Réseaux de neurones profonds



CS480/680 Cours 15 : Réseaux de neurones profonds

Cette vidéo couvre les bases de l'apprentissage en profondeur, y compris les concepts de réseaux de neurones profonds, le problème du gradient de fuite et l'évolution des réseaux de neurones profonds dans les tâches de reconnaissance d'images. Le conférencier explique comment les réseaux de neurones profonds peuvent être utilisés pour représenter plus succinctement des fonctions et comment ils calculent des caractéristiques qui deviennent de plus en plus de niveau supérieur à mesure que le réseau devient plus profond. Des solutions au problème du gradient de fuite sont abordées, y compris l'utilisation d'unités linéaires rectifiées (ReLU) et la normalisation par lots. La conférence couvre également les unités max-out et leurs avantages en tant que généralisation des ReLU qui permettent plusieurs parties linéaires.

La conférence sur les réseaux de neurones profonds aborde deux problèmes qui doivent être résolus pour un apprentissage en profondeur efficace : le problème du surajustement dû à l'expressivité du réseau à plusieurs couches et la nécessité d'une puissance de calcul élevée pour former des réseaux complexes. L'enseignant propose des solutions telles que la régularisation et le décrochage pendant l'apprentissage, ainsi que le calcul parallèle pendant le calcul. La conférence détaille également comment le décrochage peut être utilisé pendant les tests en mettant à l'échelle les grandeurs des unités d'entrée et cachées. Enfin, la conférence se termine en présentant certaines applications révolutionnaires des réseaux de neurones profonds dans la reconnaissance de la parole, la reconnaissance d'images et la traduction automatique.

  • 00:00:00 Dans cette section, nous apprenons les bases de l'apprentissage en profondeur, en particulier ce qu'est un réseau de neurones profond et en quoi il diffère d'un réseau de neurones ordinaire. Nous découvrons que le terme "apprentissage en profondeur" est principalement utilisé à des fins de marketing, car le concept de réseaux de neurones avec de nombreuses couches cachées a été proposé pour la première fois dans les années 1980. Cependant, l'avantage d'utiliser des réseaux de neurones profonds est qu'ils ont tendance à être très expressifs, ce qui leur permet de bien s'adapter aux données. Le défi consiste à les former efficacement, c'est là qu'intervient le "grand problème en voie de disparition".

  • 00: 05: 00 Dans cette section, le conférencier aborde les problèmes de formation de grands réseaux de neurones et le problème de surajustement dû au nombre élevé de poids et de paramètres. Les chercheurs avaient l'habitude de privilégier les réseaux de neurones à une seule couche cachée, car ils pouvaient approximer n'importe quelle fonction avec suffisamment d'unités cachées. Cependant, les réseaux de neurones à plusieurs couches cachées ont l'avantage de diminuer la taille globale du réseau, qui peut être réduite de manière exponentielle, comme le montre un exemple de la fonction de parité. Le conférencier montre une architecture de réseau de neurones qui encode la fonction de parité, où la couche cachée est un perceptron de seuillage qui encode la fonction logique "et", tandis que l'unité de sortie est une fonction logique "ou".

  • 00:10:00 Dans cette section, le conférencier explique comment un réseau de neurones peut être configuré pour détecter si le nombre d'entrées activées est pair ou impair. Chaque unité cachée dans le réseau entièrement connecté est responsable de la vérification d'un modèle spécifique où les entrées sont impaires et l'unité de sortie est juste le OU des unités cachées. Il y a 8 modèles avec 4 entrées impaires et chaque unité cachée est responsable de l'un de ces modèles. Cependant, le conférencier note qu'en général, avoir n entrées se traduira par un nombre exponentiel d'unités cachées, rendant cette approche non évolutive et suggérant une approche alternative.

  • 00: 15: 00 Dans cette section, le conférencier parle du concept de réseaux de neurones profonds, qui impliquent plusieurs couches et peuvent être utilisés pour représenter plus succinctement des fonctions. Le cours donne un exemple de fonction, la fonction de parité, qui ne peut être représentée que par un réseau exponentiellement plus grand avec une seule couche cachée ou un réseau de taille linéaire avec plusieurs couches cachées. Le conférencier explique ensuite comment les réseaux de neurones profonds peuvent être utilisés dans la pratique pour des tâches de vision par ordinateur, telles que la reconnaissance faciale, où les entrées (telles que les intensités de pixels) sont introduites dans le réseau et les valeurs intermédiaires sont calculées pour produire une classification à la sortie.

  • 00: 20: 00 Dans cette section, la vidéo explique comment les réseaux de neurones profonds calculent des caractéristiques simples au début du réseau et deviennent progressivement de niveau supérieur à mesure que nous approfondissons. En vision par ordinateur, avant l'apprentissage en profondeur, les praticiens concevaient manuellement des fonctionnalités pour leurs tâches. Cependant, l'apprentissage en profondeur permet d'apprendre des fonctionnalités dans le cadre du réseau, ce qui permet de travailler avec des données brutes. Cette percée a été lancée par Geoff Hinton en 2006, qui a conçu le premier réseau neuronal profond efficace.

  • 00:25:00 Dans cette section, l'histoire des réseaux de neurones profonds et leurs percées dans la reconnaissance de la parole et la classification des images sont abordées. La première percée a eu lieu en 2009 lorsque Geoff Hinton a développé un moyen de former des réseaux de neurones profonds couche par couche à l'aide de machines Boltzmann restreintes, ce qui a conduit à une amélioration significative des références de reconnaissance vocale. Les réseaux de neurones récurrents ont ensuite remplacé les machines restreintes de Boltzmann vers 2013, conduisant à des résultats encore meilleurs. La deuxième percée est survenue dans la classification des images lorsque le défi de reconnaissance visuelle à grande échelle ImageNet a été proposé en 2010. Malgré des années de recherche, les ordinateurs ne pouvaient pas classer avec précision les images parmi 1000 catégories. Cependant, en 2012, les algorithmes d'apprentissage en profondeur avaient réduit le taux d'erreur de 26 % à 15 % et en 2016, Microsoft avait atteint un taux d'erreur de 3,1 %, dépassant les performances humaines.

  • 00:30:00 Dans cette section, le conférencier aborde l'histoire et l'évolution des réseaux de neurones profonds, en particulier dans les tâches de reconnaissance d'images. Le taux d'erreur pour les tâches de classification d'images a été considérablement réduit en 2012 avec l'introduction d'un réseau neuronal convolutif appelé AlexNet par le groupe de Jeff Hinton. Cela a conduit à comprendre que les réseaux de neurones peuvent obtenir des résultats remarquables, et des architectures plus sophistiquées ont été conçues pour améliorer encore le taux d'erreur. Au fil du temps, la profondeur des réseaux a augmenté et il y avait une nette tendance vers des réseaux plus profonds. La capacité d'appliquer et d'utiliser des réseaux de neurones profonds pour des tâches de reconnaissance d'images est le résultat de diverses innovations, notamment de meilleures techniques de formation et la prévention du surajustement.

  • 00: 35: 00 Dans cette section, le problème de la disparition des gradients dans les réseaux de neurones profonds est abordé, ce qui se produit lorsque les dérivées partielles des poids associés aux bords des couches précédentes sont plus petites, ce qui entraîne des valeurs négligeables à mesure que le réseau s'approfondit. Il était donc difficile pour les chercheurs de former des réseaux de neurones à plusieurs couches, car les couches inférieures n'étaient pas formées et ne fournissaient donc pas de sortie significative pour améliorer les prédictions du réseau. Cela était dû en partie aux fonctions d'activation utilisées, telles qu'une fonction sigmoïde ou une fonction tangente hyperbolique dont le gradient était toujours inférieur à 1, ce qui rendait difficile l'optimisation des poids et l'ajustement du calcul initial.

  • 00:40:00 Dans cette section, le conférencier explique le problème de la disparition du gradient dans un réseau neuronal profond. Il crée un réseau neuronal jouet avec une unité d'activation sigmoïde et montre comment le gradient se compose de dérivées partielles qui sont des produits de facteurs, chaque facteur étant soit la dérivée partielle du sigmoïde, soit un poids. Comme les dérivées partielles du sigmoïde sont toujours inférieures à un et que les poids sont initialisés à des grandeurs inférieures à un, la multiplication de ces facteurs tend à rendre les dérivées partielles de plus en plus petites. Il en résulte que les poids ont de moins en moins d'impact au fur et à mesure que nous remontons dans les couches, ce qui entraîne le problème de la disparition du gradient. Le conférencier présente ensuite certaines solutions courantes telles que la pré-formation, différentes fonctions d'activation, les connexions de saut et la normalisation par lots, et se concentre sur les unités linéaires rectifiées et les unités maximales comme solutions possibles.

  • 00: 45: 00 Dans cette section, le conférencier discute des solutions au problème des gradients de fuite qui surviennent en raison de fonctions d'activation problématiques. Une solution possible consiste à utiliser des fonctions d'activation qui ont des dérivées supérieures à zéro, telles que l'unité linéaire rectifiée (ReLU), qui renvoie une combinaison linéaire d'entrées ou zéro. Une autre solution est la normalisation par lots, qui garantit que les données se trouvent effectivement dans une plage où le gradient a tendance à être proche de un. Ces solutions autorisent certains chemins avec des gradients de fuite tant qu'un nombre suffisant de chemins ont des gradients de un, ce qui propage le gradient à travers le réseau neuronal.

  • 00: 50: 00 Dans cette section, le conférencier discute des unités linéaires rectifiées (ReLU) et de leurs avantages et inconvénients. Les ReLU ont été initialement critiquées car elles présentent une discontinuité à zéro, ce qui pose des problèmes de calcul des gradients à l'aide de la descente de gradient. Cependant, ce problème n'est pas significatif dans la pratique car les valeurs numériques sont rarement exactement nulles. En revanche, la fonction de perte douce, qui se rapproche des ReLU, est lisse et continue, mais son gradient est inférieur à un partout. Par conséquent, rendre les ReLU lisses n'aide pas à éliminer le problème de disparition du gradient. Bien que les ReLU aient une partie qui aurait pu être ignorée, elles sont toujours utiles car il existe des entrées pour lesquelles chaque unité produira quelque chose dans la partie linéaire.

  • 00: 55: 00 Dans cette section, l'orateur discute des avantages des unités linéaires rectifiées (ReLU) et introduit le concept d'unités max-out. Il explique que les ReLU sont devenus populaires car dans les cas où le gradient ne disparaît pas, ils peuvent être formés plus rapidement, nécessitant moins de descente de gradient. L'orateur présente ensuite les unités de sortie maximale comme une généralisation des ReLU qui permet plusieurs parties linéaires, plutôt qu'une partie nulle et une partie linéaire, et montre comment elles sont construites en prenant le maximum de différentes combinaisons linéaires. La forme d'une unité max-out est illustrée comme ayant plusieurs combinaisons linéaires, chacune correspondant à une ligne, et devient une agrégation d'une couche cachée d'unités d'identité avec une unité max.

  • 01:00:00 Dans cette section de la conférence, le professeur discute de deux problèmes qui doivent être résolus pour que l'apprentissage en profondeur soit efficace. Le premier problème est la question du surajustement, qui se pose en raison de la forte expressivité des réseaux multicouches. La régularisation est une solution qui consiste à minimiser l'ampleur des poids pour les garder petits et contraints. Une autre solution est l'abandon, où certaines unités du réseau sont abandonnées au hasard pendant la formation pour forcer le réseau à être robuste et éviter le surajustement. Le deuxième problème est le besoin d'une puissance de calcul élevée pour former des réseaux complexes, ce qui peut être réalisé grâce au calcul parallèle utilisant des GPU ou au calcul distribué.

  • 01:05:00 Dans cette section, l'orateur discute de l'utilisation de l'abandon pendant le temps de test pour les réseaux de neurones profonds. Pendant la formation, l'abandon est une technique dans laquelle certaines des unités d'entrée ou cachées sont supprimées au hasard du réseau pour éviter le surajustement. Cependant, lors des tests, l'ensemble du réseau est utilisé, ce qui peut entraîner une augmentation des amplitudes des combinaisons linéaires. Pour résoudre ce problème, les unités d'entrée sont remises à l'échelle en les multipliant par 1 moins la probabilité de les supprimer, et la même chose est faite pour les unités cachées. L'orateur donne un exemple de réseau entièrement connecté avec trois entrées, quatre unités cachées et une sortie, et explique l'utilisation d'un générateur de nombres aléatoires pour supprimer certaines des entrées et des unités cachées pendant la formation.

  • 01:10:00 Dans cette section, l'instructeur explique ce qui se passe si toutes les unités d'entrée ou cachées sont supprimées dans un réseau de neurones et comment la régularisation de l'abandon peut résoudre ce problème. Bien qu'il soit peu probable que toutes les unités soient supprimées, cela pourrait avoir un impact sur la précision si elles le sont. La régularisation de l'abandon aide à prévenir le surajustement et force le réseau à devenir robuste par rapport aux fonctionnalités abandonnées. L'algorithme de régularisation des abandons consiste à échantillonner des variables de Bernoulli pour créer un réseau mutilé où certaines unités sont supprimées et à multiplier les grandeurs des unités restantes par 1 moins la probabilité d'être supprimées. Lors de l'apprentissage, le gradient est calculé par rapport au réseau mutilé.

  • 01:15:00 Dans cette section, le présentateur discute de la technique d'abandon utilisée dans les réseaux de neurones profonds pour rendre le réseau robuste et éviter le surajustement. L'abandon est une forme d'apprentissage approximatif et d'échantillon, où chaque itération calcule un réseau mutilé en abandonnant des nœuds spécifiques, ce qui donne une hypothèse ou une fonction qui pourrait coder ce qui est appris. Le réseau entier peut être considéré comme la moyenne de tous les réseaux mutilés, avec l'ajustement de ce qui est calculé. Cette méthode est similaire à l'apprentissage bayésien et s'est avérée approximer certains calculs par rapport à un processus gaussien profond. Cela aide à justifier pourquoi l'abandon peut bien fonctionner dans la pratique. Le présentateur conclut en présentant certaines applications où les réseaux de neurones profonds ont connu des percées, notamment la reconnaissance vocale, la reconnaissance d'images et la traduction automatique.

  • 01:20:00 Dans cette section, l'orateur décrit la méthode historique de pointe pour la reconnaissance vocale, qui était un modèle de Markov caché qui utilisait un mélange de gaussiennes. Cependant, en 2009, Geoff Hinton et son groupe de recherche ont proposé de remplacer le mélange gaussien par un réseau neuronal profond qui utilisait une machine de Boltzmann restreinte empilée. Ce modèle hybride entre un modèle probabiliste et un réseau de neurones profonds a conduit à une réduction significative du taux d'erreur, qui a été observée sur plusieurs benchmarks. En raison de cette percée, plusieurs entreprises, dont Google et Microsoft, ont commencé à tirer parti des réseaux de neurones profonds, ce qui a finalement conduit à une renaissance dans le domaine de l'apprentissage en profondeur.

  • 01:25:00 Dans cette section, le conférencier discute des percées dans les réseaux de neurones, en commençant par la percée de la reconnaissance d'image qui s'est produite en 2012. La percée était due au développement de réseaux de neurones convolutifs qui prennent en entrée des tableaux 2D d'intensités de pixels, ont des couches de convolution qui calculent des entités à différentes granularités et des couches denses qui sont entièrement connectées. L'augmentation des données a également été utilisée pour améliorer la reconnaissance en la rendant invariante à la rotation et à d'autres facteurs. Le résultat a été une réduction significative du taux d'erreur de 26,2 % à 16,4 % pour la meilleure candidature à un concours. Bien que 16 % soit encore relativement élevé, il est difficile de classer avec précision les images parmi des milliers de classes, et les cinq premières précisions de prédiction ont été mesurées plutôt que la première.

  • 01:30:00 Dans cette section, le conférencier discute des performances d'un algorithme de réseau neuronal profond en utilisant une image d'une puissance comme exemple. L'algorithme renvoie cinq classes potentielles et attribue un score de confiance à chacune pour déterminer la probabilité qu'il s'agisse de la bonne classe. Le réseau fonctionne généralement bien, reconnaissant correctement des objets tels qu'un porte-conteneurs et un scooter avec une grande confiance, mais il existe des cas où il classe mal un objet.
 

CS480/680 Cours 16 : Réseaux de neurones convolutifs



CS480/680 Cours 16 : Réseaux de neurones convolutifs

Cette vidéo présente les réseaux de neurones convolutifs (CNN) et explique leur importance dans le traitement d'images en tant que type spécifique de réseau de neurones doté de propriétés clés. Le conférencier explique comment la convolution peut être utilisée pour le traitement d'image, comme dans la détection des contours, et comment les CNN peuvent détecter des caractéristiques de la même manière. Le concept de couches convolutionnelles et leurs paramètres sont expliqués, ainsi que le processus de formation des CNN utilisant la rétropropagation et la descente de gradient avec des poids partagés. Le conférencier fournit également des principes de conception pour créer des architectures CNN efficaces, telles que l'utilisation de filtres plus petits et l'activation non linéaire après chaque convolution.

Dans cette conférence sur les réseaux de neurones convolutifs (CNN), l'orateur discute du concept de connexions résiduelles comme solution au problème du gradient de fuite auquel sont confrontés les réseaux de neurones profonds. Ces connexions de saut permettent de raccourcir les chemins réseau et d'ignorer les couches inutiles tout en pouvant les utiliser si nécessaire pour éviter de produire des sorties proches de zéro. L'utilisation de techniques de normalisation par lots est également introduite pour atténuer le problème des gradients de fuite. De plus, l'orateur note que les CNN peuvent être appliqués à des données séquentielles et des tenseurs à plus de deux dimensions, comme dans les séquences vidéo, et que les CNN 3D sont également une possibilité pour certaines applications. Le framework TensorFlow est mis en évidence comme étant conçu pour le calcul avec des tableaux multidimensionnels.

  • 00:00:00 Dans cette section, le présentateur présente les réseaux de neurones convolutifs (CNN) et explique leur importance dans le traitement d'images en tant que type spécifique de réseau de neurones doté de propriétés clés. La conférence se poursuit pour discuter de la façon dont les CNN peuvent évoluer pour gérer de grands ensembles de données et des séquences. Le présentateur explique que les CNN sont nommés d'après l'opération mathématique de convolution, qui modifie deux fonctions pour produire une troisième fonction, avec un exemple d'utilisation de la convolution pour le lissage. Les notes de cours utilisent également les gaussiennes comme fonctions de pondération pour l'opération de convolution.

  • 00: 05: 00 Dans cette section, le concept de convolution dans les cas continus et discrets est discuté, où la sortie, Y, est une combinaison pondérée de X dans un voisinage. Lorsqu'elle est appliquée aux images, il s'agit d'une fonction bidimensionnelle, où chaque pixel est une mesure de cette fonction à une coordonnée spécifique dans les directions x et y. Les poids appliqués à chaque intensité de pixel peuvent produire une nouvelle image, Y. Par exemple, une simple convolution peut être utilisée pour la détection des contours dans une image en niveaux de gris afin de détecter les contours verticaux.

  • 00: 10: 00 Dans cette section, l'orateur explique comment les convolutions peuvent être utilisées pour détecter des caractéristiques dans les réseaux de neurones. Une convolution est essentiellement une combinaison linéaire d'un sous-ensemble d'unités basée sur un modèle spécifique de poids, ce qui peut aider à détecter des caractéristiques telles que des arêtes ou d'autres modèles qui pourraient être importants pour une tâche donnée. L'orateur explique également qu'un modèle de poids détermine le filtre pour détecter une caractéristique dans un voisinage, et une fonction d'activation non linéaire amplifie la sortie. Le gab ou les filtres sont une classe populaire de filtres qui correspondent à des cartes de caractéristiques communes inspirées du fonctionnement du cortex visuel humain.

  • 00:15:00 Dans cette section, le conférencier explique le fonctionnement des réseaux de neurones convolutifs. L'idée est de détecter de petits bords dans une image en appliquant des patchs de poids qui correspondent à une caractéristique particulière, et la magnitude de chaque patch est déterminée par sa couleur. Ces correctifs sont appliqués à une image en alternant entre des couches de convolution et de mise en commun. La couche convolutive fonctionne en calculant une convolution qui correspond à un autre vecteur en utilisant un filtre d'une taille spécifique avec les mêmes poids. Les éléments clés d'un réseau neuronal convolutif sont ces couches de convolution et de mise en commun qui alternent pour détecter différentes caractéristiques dans une image.

  • 00:20:00 Dans cette section, le concept de couches convolutionnelles dans les réseaux de neurones est expliqué. Les couches convolutives utilisent une fenêtre de taille fixe, ou patch, avec un ensemble de poids, ou filtre, qui lui est appliqué. Ce filtre est réutilisé dans chaque fenêtre de la couche, générant une représentation beaucoup plus clairsemée des connexions entre les entrées et les sorties par rapport à une couche entièrement connectée. Dans un exemple 1D, un patch de taille 3 par 1 est pris et un filtre est appliqué à chaque fenêtre d'entrées. De même, dans un exemple 2D, un patch de taille 3 par 3 est pris, avec le même ensemble de pondérations appliquées sur des fenêtres glissantes pour détecter des caractéristiques spécifiques telles que des bords. En réutilisant le même filtre sur toutes les instances de la fenêtre, les couches convolutives permettent une conception de réseau plus compacte et efficace.

  • 00: 25: 00 Dans cette section, le conférencier explique les réseaux de neurones convolutifs et leur fonctionnement avec les signaux d'image et audio en utilisant le même ensemble de poids pour chaque patch de l'image ou du signal. Le réseau détecte les entités en appliquant un filtre de regroupement, qui calcule une variance égale locale, permettant au réseau de reconnaître les entités indépendamment de leur emplacement. Cette méthode peut être utilisée pour la reconnaissance de chiffres, avec une image bitmap en entrée, et produisant une étiquette de 0 à 9 en sortie. Le conférencier note que la rétropropagation et la différenciation automatique gèrent les poids partagés, en mettant à jour les poids des arêtes qui ont le même poids.

  • 00:30:00 Dans cette section de la vidéo, le conférencier explique le fonctionnement des réseaux de neurones convolutifs (CNN). La première étape consiste à appliquer une convolution 5x5 à l'image d'entrée à l'aide d'un filtre, ce qui permet de détecter des caractéristiques plus grandes que des filtres plus petits. Cela produit une carte d'entités de taille 28x28, qui peut être utilisée pour vérifier la présence ou l'absence d'entités à différents endroits. Ensuite, une couche de regroupement maximum est appliquée pour réduire la taille de la carte des fonctionnalités à 14x14 en prenant le maximum de chaque patch 2x2. Une autre convolution est ensuite appliquée à l'aide d'un filtre 5x5 pour détecter les caractéristiques de niveau supérieur, ce qui produit 12 cartes de caractéristiques qui subissent à nouveau une mise en commun maximale. L'intuition derrière la mise en commun maximale est que l'emplacement exact de certaines caractéristiques, telles que les yeux ou le nez dans la reconnaissance faciale, peut varier légèrement.

  • 00: 35: 00 cette section, le conférencier discute de la deuxième partie d'un réseau de neurones conçu pour la classification. L'approche courante consiste à prendre une couche entièrement connectée, à aplatir les entités et à construire un vecteur de nœuds pour calculer les classes avec les poids ajustés par rétropropagation. La beauté des réseaux de neurones convolutifs est que les poids des filtres convolutifs ne sont pas conçus par des humains, mais ils sont initialisés de manière aléatoire et mis à jour au fur et à mesure que le réseau est formé, permettant au réseau d'apprendre à extraire les caractéristiques pertinentes. Le réseau est capable d'optimiser et de proposer des fonctionnalités qui fonctionnent mieux dans la pratique grâce à une solution basée sur les données.

  • 00: 40: 00 Dans cette section, le conférencier discute du concept de connexions clairsemées dans les réseaux de neurones convolutifs, qui fait référence au fait que les nœuds n'ont que quelques connexions plutôt que d'être entièrement connectés. Cela permet un nombre beaucoup plus petit de poids et un calcul moins dense. Le conférencier explique également comment des paramètres tels que le nombre de filtres, la taille du noyau, la foulée et le rembourrage sont spécifiés dans la couche convolutive d'un réseau de neurones. Les exemples fournis aident à clarifier davantage la façon dont ces paramètres sont utilisés dans la définition des couches convolutives.

  • 00:45:00 Dans cette section, le conférencier explique le fonctionnement des réseaux de neurones convolutifs. Le conférencier montre comment une couche convolutive traite une image d'entrée en lui appliquant un noyau. La taille du noyau détermine la taille de la sortie et la foulée détermine le déplacement du noyau sur l'entrée. Le rembourrage peut également être utilisé pour conserver la taille d'origine de l'entrée. Le conférencier fournit des exemples de la façon dont les différentes tailles de noyau et les pas affectent la taille de sortie de la couche convolutive.

  • 00: 50: 00 Dans cette section, le conférencier discute du processus de formation des réseaux de neurones convolutifs (CNN) à l'aide de la rétropropagation et de la descente de gradient, les poids étant partagés entre les variables. Le processus de calcul de la dérivée partielle n'est pas différent si une variable apparaît plusieurs fois dans la fonction, et des algorithmes tels qu'Adam et RMSprop peuvent être utilisés pour la formation. Lorsqu'il s'agit de concevoir une architecture de réseau de neurones, cela dépend du problème et constitue un art plus qu'une science. Cependant, certaines règles empiriques ont montré de bons résultats, comme l'utilisation d'une pile de petits filtres au lieu d'un seul grand filtre pour moins de paramètres et un réseau plus profond.

  • 00: 55: 00 Dans cette section de la vidéo, l'instructeur explique une règle empirique pour la conception d'architectures de réseaux neuronaux convolutifs (CNN). Il suggère que l'utilisation de filtres plus petits a tendance à mieux fonctionner et produit moins de paramètres par rapport aux filtres plus grands. En utilisant une pile de filtres plus petits à la place d'un filtre plus grand, le champ récepteur reste le même tout en réduisant le nombre de paramètres nécessaires. De plus, l'ajout d'une activation non linéaire après chaque convolution peut améliorer les performances des CNN. Ces principes de conception peuvent être utiles pour créer des architectures efficaces pour diverses applications.

  • 01:00:00 Dans cette section, l'utilisation des couches résiduelles dans les réseaux de neurones convolutifs est discutée. Les couches résiduelles ont été proposées en 2015 comme un moyen d'éviter la dégradation de la qualité des réseaux causée par l'ajout de trop de couches. L'idée est de créer des connexions de saut pour raccourcir les chemins dans le réseau, réduisant efficacement la profondeur et propageant le gradient plus efficacement. La connexion résiduelle saute certaines couches et ajoute l'entrée X à la sortie des couches sautées. De cette façon, si les couches supplémentaires ne sont pas utiles, elles peuvent être ignorées sans nuire aux performances du réseau.

  • 01:05:00 Dans cette section, l'orateur introduit le concept de connexions résiduelles dans les réseaux de neurones convolutifs (CNN) et explique comment ils peuvent résoudre le problème des gradients de fuite. En utilisant des connexions de saut, qui ajoutent essentiellement la fonction d'identité à la sortie d'une couche, le réseau a la possibilité d'ignorer certaines couches qui ne sont pas utiles, tout en pouvant les utiliser s'il le souhaite. Cela évite le problème des couches produisant des sorties proches de zéro, ce qui peut amener le réseau à ignorer complètement ces couches. L'orateur mentionne également que les connexions de saut n'affectent pas la taille du gradient et suggère l'utilisation de la normalisation par lots comme une autre approche pour atténuer le problème de la disparition des gradients.

  • 01:10:00 Dans cette section de la vidéo, l'orateur discute des techniques pour traiter des problèmes tels que le problème du gradient de fuite et la normalisation dans les réseaux de neurones convolutifs. La normalisation par lots est une heuristique couramment utilisée dans laquelle les valeurs sont normalisées en fonction du lot de données utilisé avec une variance de 1 et centrée sur 0, séparément pour chaque dimension. De plus, les connexions ignorées peuvent aider à propager les gradients plus rapidement, car elles fournissent des chemins plus courts pour la rétropropagation. Enfin, le conférencier note que les réseaux de neurones convolutifs peuvent être utilisés pour plus que la vision par ordinateur, y compris les données séquentielles et les tenseurs à plus de deux dimensions, comme on le voit dans des applications comme les séquences vidéo. Le framework TensorFlow est conçu pour effectuer des calculs par rapport à des tableaux multidimensionnels, plutôt que d'être limité aux seuls vecteurs ou matrices.

  • 01:15:00 Dans cette section, il est mentionné que les réseaux de neurones convolutifs 3D existent et bien qu'ils ne soient pas aussi courants, il existe certaines applications où ils peuvent être utilisés.
 

CS480/680 Cours 17 : Modèles de Markov cachés


CS480/680 Cours 17 : Modèles de Markov cachés

La conférence présente les modèles de Markov cachés (HMM), un type de modèle graphique probabiliste utilisé pour exploiter les corrélations dans les données de séquence qui peuvent améliorer la précision. Les hypothèses du modèle impliquent un processus stationnaire et un processus markovien dans lequel un état caché ne dépend que de l'état précédent. Les trois distributions dans HMM sont la distribution d'état initial, la distribution de transition et la distribution d'émission, ce dernier type étant utilisé en fonction du type de données. L'algorithme peut être utilisé pour la surveillance, la prédiction, le filtrage, le lissage et les tâches d'explication les plus probables. HMM a été utilisé pour la reconnaissance vocale et l'apprentissage automatique, par exemple pour prédire la séquence de sorties la plus probable en fonction d'une séquence d'entrées et d'états cachés pour les personnes âgées utilisant des déambulateurs pour la corrélation de stabilité. Une expérience impliquant des capteurs et des caméras modifiés sur un déambulateur a été menée pour reconnaître automatiquement les activités effectuées par les personnes âgées sur la base de la collecte de données sur les activités des personnes âgées dans une maison de retraite. La démonstration en apprentissage supervisé et non supervisé dans le contexte de la reconnaissance d'activités a également été discutée.

La conférence se concentre sur l'utilisation des distributions d'émission gaussiennes dans les modèles de Markov cachés (HMM), qui sont couramment utilisés dans des applications pratiques où les données collectées sont continues. Le professeur explique que cette méthode consiste à calculer des paramètres de moyenne et de variance qui correspondent à la moyenne et à la variance empiriques des données et à les utiliser pour calculer la solution des distributions initiale et de transition. La distribution de transition correspond aux comptages de fréquence relative, et le maximum de vraisemblance est utilisé pour obtenir les solutions. Cette approche est similaire à la solution pour les mélanges de gaussiennes, où une distribution initiale et d'émission sont également utilisées.

  • 00:00:00 Dans cette section, le conférencier introduit le concept de modèles de Markov cachés (HMM) qui sont différents des réseaux de neurones qui ont été discutés jusqu'à présent. Le conférencier explique que HMM peut être utilisé lorsque les données proviennent de séquences par opposition à des points de données indépendants, et les prédictions pour un point de données sont corrélées avec les prédictions pour le point de données suivant. L'enseignant donne l'exemple de la reconnaissance vocale où la prédiction d'un phonème ou d'un mot est corrélée avec le phonème ou le mot suivant. L'exploitation de ces corrélations peut améliorer la précision des prédictions. Le conférencier explique également que HMM peut être généralisé dans un réseau de neurones récurrent (RNN) qui peut traiter des données de séquence et propager des informations entre différents points d'une séquence, ce qui sera discuté plus tard.

  • 00:05:00 Dans cette partie du cours, l'orateur introduit les modèles de Markov cachés comme une généralisation des mélanges de gaussiennes. Il explique que les modèles de Markov cachés exploitent les corrélations dans les données séquentielles pour améliorer la précision et sont utilisés pour exprimer une distribution sur y, qui suit la distribution de probabilité conditionnelle x étant donné y. Ceci est différent d'un mélange de gaussiennes, où une distribution conditionnelle de classe pour l'entrée x est exprimée après que y est échantillonné à partir d'une distribution multinomiale. L'intervenant établit également une comparaison entre ce modèle et le champ aléatoire conditionnel et les réseaux de neurones récurrents.

  • 00:10:00 Dans cette section, le conférencier explique les hypothèses faites lors de la conception d'un modèle de Markov caché. La première hypothèse est que le processus est stationnaire, ce qui signifie que les distributions de transition et d'émission sont indépendantes du temps. La deuxième hypothèse est que le processus est Markovien, ce qui signifie qu'un état caché donné ne dépend que de l'état caché précédent. Ces hypothèses créent un modèle graphique probabiliste avec une distribution initiale, une distribution de transition et une distribution d'émission, qui forment ensemble une distribution conjointe. La distribution initiale décrit la distribution du premier état caché et est généralement un multinomial.

  • 00: 15: 00 Dans cette section, nous découvrons les trois distributions des modèles de Markov cachés : la distribution de l'état initial, la distribution de transition et la distribution des émissions. La distribution d'émission gaussienne est utilisée pour les données continues, tandis que la distribution d'émission multinomiale est utile pour les données discrètes, telles que les séquences de mots pour le traitement du langage naturel. En multipliant ces distributions ensemble, nous pouvons dériver la distribution conjointe, qui peut être utilisée pour diverses applications comme la localisation de robots.

  • 00: 20: 00 Dans cette section, nous apprenons le problème d'un robot qui se perd en raison de la dérive et des inexactitudes dans les relevés du compteur kilométrique. Une solution à ce problème est l'utilisation d'un modèle de Markov caché, où les Y, l'état caché, correspondent aux coordonnées de localisation du robot et les entrées correspondent à certaines mesures par des capteurs. La distribution de transition capture la probabilité que le robot se retrouve à différents endroits en raison d'incertitudes de mouvement, tandis que la distribution d'émission a une distribution sur les mesures obtenues par les capteurs pour tenir compte des inexactitudes de mesure. Le modèle de Markov caché peut être utilisé pour la localisation, ce qui implique de calculer la probabilité de l'emplacement du robot à un pas de temps donné.

  • 00:25:00 Dans cette section, l'orateur explique les quatre grandes catégories dans lesquelles les tâches liées aux modèles de Markov cachés (HMM) peuvent être classées. Ces catégories comprennent la surveillance, la prédiction, la désambiguïsation et l'explication la plus probable. Pour la tâche de surveillance, l'algorithme utilisé est appelé algorithme direct. Cela implique la décomposition récursive de la requête en termes de probabilité de l'état caché précédent étant donné toutes les mesures précédentes, ce qui permet de calculer la probabilité de Y pour X donné. L'algorithme fonctionne en calculant le premier état caché étant donné le premier mesure, puis calcule l'état caché suivant en fonction des mesures jusqu'à ce pas de temps et continue d'augmenter la séquence en avançant dans le temps.

  • 00: 30: 00 Dans cette section, le conférencier discute de la tâche de prédiction à l'aide de modèles de Markov cachés (HMM), qui consiste à prédire l'état futur d'un système compte tenu de l'état actuel. Des exemples de cette tâche incluent les prévisions météorologiques et boursières. Le calcul est effectué de manière similaire à la surveillance, en utilisant un algorithme direct à deux phases : surveillance et prédiction. Dans l'exemple fourni, l'enseignant montre comment calculer la probabilité de Y4 étant donné X1 et X2 uniquement. Le conférencier mentionne également que les HMM avec prédiction pourraient être utilisés pour la génération de texte, où le modèle prédit le prochain texte observable compte tenu du texte actuel.

  • 00:35:00 Dans cette section, le conférencier discute des tâches des modèles de Markov cachés (HMM) qui incluent le filtrage, le lissage et le raisonnement rétrospectif. Le filtrage fait référence à la prédiction de l'état actuel d'un système sur la base d'observations passées, tandis que le lissage fait référence à la prédiction d'états antérieurs à l'aide d'observations avant et après cet état. Le raisonnement rétrospectif consiste à calculer la propriété d'un état dans le passé à partir d'observations données avant et après cet état. Le conférencier souligne que les HMM ne sont plus à la pointe de la technologie pour ces tâches, mais qu'ils sont un précurseur des réseaux de neurones récurrents qui ont tendance à être plus efficaces. Le calcul de ces tâches se fait de manière récursive, conduisant à la création de l'algorithme avant-arrière.

  • 00:40:00 Dans cette section, l'orateur discute de l'utilisation des modèles de Markov cachés (HMM) pour la reconnaissance vocale et la traduction automatique. Les HMM sont utilisés pour calculer la séquence de sorties la plus probable en fonction d'une séquence d'entrées et d'états cachés. L'algorithme de Viterbi est appliqué à cette procédure de programmation dynamique pour effectuer la maximisation. Une application de reconnaissance d'activité à l'aide de mesures de capteurs et d'appareils Walker que les personnes âgées utilisent pour marcher est également discutée. Déduire les activités d'une personne avec un déambulateur aide à déterminer les manœuvres les plus probables qui pourraient entraîner une chute ou déclencher une chute, ce qui a été observé dans certaines situations malgré l'utilisation des déambulateurs pour la stabilité.

  • 00:45:00 Dans cette section, l'orateur discute d'une étude où un déambulateur modifié avec des capteurs et des caméras a été utilisé pour collecter des données sur les activités des personnes âgées dans une maison de retraite. Le déambulateur avait des capteurs tels qu'un accéléromètre 3D et des capteurs de charge qui mesuraient le poids sur chaque jambe du déambulateur, et une caméra qui regardait les jambes en arrière. L'expérience consistait à faire passer les participants par un parcours d'obstacles simulant des activités quotidiennes courantes. Les données recueillies ont été utilisées pour développer un modèle de Markov caché qui reconnaissait automatiquement les activités réalisées par les participants. Le modèle comportait huit canaux pour les capteurs et utilisait l'apprentissage automatique pour estimer les paramètres de la transition initiale et les distributions d'émission.

  • 00: 50: 00 Dans cette section, l'orateur discute d'une démonstration d'un algorithme qui prédit l'activité d'une personne sur la base de mesures de capteurs. L'algorithme utilise un modèle de Markov caché ou un champ aléatoire conditionnel pour suivre l'activité de la personne et les prédictions de sortie, qui sont ensuite comparées aux comportements corrects étiquetés manuellement. L'activité de la personne est représentée visuellement sous forme de courbes fluctuantes, et le panneau de droite de la vidéo affiche 13 activités distinctes indiquées par un carré rouge pour le comportement correct et un carré bleu pour la prédiction de l'algorithme. L'orateur explique que, bien que théoriquement possible, demander à la personne portant les capteurs d'indiquer son activité n'est pas pratique car la personne peut ne pas toujours être un juge fiable de ses propres mouvements, et il peut être gênant que quelqu'un annonce continuellement ses actions. De plus, si l'apprentissage non supervisé était utilisé, l'algorithme déduirait une activité mais ne serait pas en mesure de la nommer avec précision.

  • 00: 55: 00 Dans cette section, l'orateur discute de l'approche adoptée pour l'apprentissage supervisé et non supervisé dans le contexte de la reconnaissance des activités. Pour l'apprentissage supervisé, les Y sont connus et l'objectif est de maximiser la vraisemblance des données. Une approche discutée consiste à calculer la dérivée, à la mettre à zéro, à isoler les paramètres et à obtenir des valeurs et des estimations pour pi thêta et phi. Dans le cas de deux activités et de mesures binaires, il est possible d'étendre la distribution conjointe du modèle et de définir la dérivée sur zéro. Les réponses obtenues sont naturelles et impliquent le rapport du nombre de classes dans les données.

  • 01:00:00 Dans cette section, le conférencier discute de l'utilisation des distributions d'émission gaussiennes, qui est une pratique courante dans les applications pratiques car les données collectées sont souvent continues. Cette méthode consiste à utiliser des paramètres de moyenne et de variance qui correspondent à la moyenne et à la variance empiriques des données collectées. La solution pour les distributions initiales et de transition est la même que précédemment, tandis que la distribution de transition correspond aux comptages de fréquence relative. Le maximum de vraisemblance est ensuite utilisé pour obtenir ces solutions. Cette technique est similaire à la solution pour les mélanges de gaussiennes, où nous avons également une distribution initiale et d'émission.
 

CS480/680 Cours 18 : Réseaux de neurones récurrents et récursifs



CS480/680 Cours 18 : Réseaux de neurones récurrents et récursifs

Dans cette conférence, le conférencier présente les réseaux de neurones récurrents et récursifs comme modèles adaptés aux données séquentielles sans longueur fixe. Les réseaux de neurones récurrents peuvent gérer des séquences de n'importe quelle longueur en raison de certains nœuds avec des sorties renvoyées en tant qu'entrées, et la façon dont le H à chaque pas de temps est calculé se fait par l'utilisation de la même fonction f, qui implique un partage de poids. Cependant, ils peuvent souffrir de limitations telles que la non-mémorisation des informations des premières entrées et la dérive des prédictions. Le conférencier explique également l'architecture du réseau neuronal récurrent bidirectionnel (BRNN) et le modèle d'encodeur-décodeur, qui utilise deux RNN - un encodeur et un décodeur, pour les applications où les séquences d'entrée et de sortie ne correspondent pas naturellement. De plus, le conférencier décrit les avantages des unités de mémoire longue à court terme (LSTM), qui peuvent atténuer le problème du gradient de fuite, faciliter les dépendances à longue portée et autoriser ou bloquer de manière sélective le flux d'informations.

Cette conférence sur les réseaux de neurones récurrents et récursifs couvre une gamme de sujets, y compris l'utilisation des unités de mémoire à long court terme (LSTM) et Gated Recurrent Unit (GRU) pour prévenir les problèmes de gradient, ainsi que l'importance des mécanismes d'attention dans la traduction automatique. pour préserver le sens des phrases et l'alignement des mots. Le conférencier explique également comment les réseaux de neurones récurrents peuvent être généralisés aux réseaux de neurones récursifs pour les séquences, les graphiques et les arbres, et comment analyser des phrases et produire des incorporations de phrases à l'aide d'arbres d'analyse.

  • 00:00:00 Dans cette section de la vidéo, l'intervenant présente les réseaux de neurones récurrents et récursifs comme modèles adaptés aux données séquentielles sans longueur fixe. Les réseaux de neurones à anticipation, discutés précédemment, supposent une entrée de longueur fixe, ce qui pose des problèmes lorsqu'il s'agit de données de longueur variable, telles que les données de séries chronologiques ou la traduction automatique. Les réseaux de neurones récurrents, qui ont certains nœuds avec des sorties renvoyées comme entrées, peuvent gérer des séquences de n'importe quelle longueur. L'orateur explique cela à l'aide d'un modèle et d'une version déroulée du réseau. Les réseaux de neurones récursifs, qui se généralisent aux arbres ou aux graphes, sont également discutés.

  • 00: 05: 00 Dans cette section, l'orateur explique comment les réseaux de neurones récurrents se connectent à différentes étapes de temps et comment ils sont entraînés. Pour former les RNN, l'orateur explique que la descente de gradient est utilisée avec une technique connue sous le nom de rétropropagation dans le temps, qui consiste à dérouler le réseau au fil du temps et à créer un réseau de neurones à anticipation. L'orateur note également que la façon dont le H à chaque pas de temps est calculé se fait par l'utilisation de la même fonction f, ce qui implique un partage de poids. La fonction f prend en entrée à la fois le H précédent et le X actuel et les poids utilisés pour cela sont les mêmes à chaque pas de temps.

  • 00:10:00 Dans cette section, le conférencier explique les réseaux de neurones récurrents (RNN) et le partage de poids. Les RNN sont des réseaux qui utilisent la même fonction de manière répétée à chaque pas de temps, partageant les mêmes poids. Cela signifie qu'il y a un certain partage de poids, ce qui peut rendre différente la dérivation du gradient lors de la rétropropagation. Le conférencier mentionne également que H est généralement un vecteur, F étant une fonction qui produit un vecteur. Cet effet crée des défis pour la formation, y compris le problème de disparition et d'explosion du gradient, où la multiplication de facteurs inférieurs ou supérieurs à un peut conduire à un gradient de disparition ou d'explosion.

  • 00: 15: 00 Dans cette section de la conférence, l'orateur discute des limites des réseaux de neurones récurrents (RNN) et de la façon dont ils peuvent ne pas se souvenir des informations des premières entrées. Cela peut être problématique pour des applications telles que la traduction automatique, où le premier mot est tout aussi important que le dernier mot. Cependant, pour des activités telles que la reconnaissance d'activité, il peut être acceptable que le RNN oublie les mesures de capteur qui se sont produites il y a quelque temps, car les mesures récentes sont plus importantes. Un autre problème avec les RNN est la dérive des prédictions, où les erreurs de prédiction s'accumulent au fil du temps, entraînant une dérive des prédictions. L'orateur compare également les RNN aux modèles de Markov cachés (HMM) et explique comment les RNN peuvent être utilisés pour généraliser les HMM.

  • 00:20:00 Dans cette section, l'intervenant explique la différence entre un modèle de Markov caché et un réseau neuronal récurrent. Dans un modèle de Markov caché, les flèches indiquent des dépendances probabilistes, tandis que dans un réseau neuronal récurrent, les flèches indiquent des dépendances fonctionnelles. L'orateur introduit les états cachés et les sorties dans un réseau neuronal récurrent et explique que le graphe correspond au calcul
    en train de se faire. L'état caché est calculé à l'aide d'une fonction qui prend l'état caché précédent et l'entrée, et la sortie est obtenue à l'aide d'une autre fonction qui prend l'état caché comme entrée. En fin de compte, l'objectif est d'utiliser ce calcul pour calculer des probabilités ou reconnaître des activités.

  • 00: 25: 00 Dans cette section, le concept d'utilisation des réseaux de neurones récurrents pour émuler un modèle de Markov caché dans le contexte de la classification, en particulier la reconnaissance d'activité, est discuté. Le RNN est utilisé pour découpler l'état caché de la sortie, ce qui signifie que la sortie dépend uniquement de l'état caché transformé par une fonction. Un exemple de ceci est illustré en utilisant une fonction d'activation non linéaire appliquée à HT et différents ensembles de poids pour transformer la sortie. L'algorithme direct du RNN peut calculer y1 basé sur X1, y2 basé sur X1 et X2, et ainsi de suite, similaire au modèle de Markov caché, cependant, le RNN a un problème lors du calcul de y2, qui est abordé plus tard dans la conférence.

  • 00: 30: 00 Dans cette section, le conférencier discute des limites de l'architecture de réseau neuronal récurrent unidirectionnel qui ne permet que le calcul direct et présente l'architecture de réseau neuronal récurrent bidirectionnel (BRNN) comme solution à ce problème. Le conférencier dessine un schéma de l'architecture BRNN, qui comprend les états cachés avant et arrière, les entrées et les sorties. En agrégeant les informations avant et après via les états cachés avant et arrière, l'architecture BRNN permet un calcul bidirectionnel et peut calculer des prédictions basées sur des entrées dans les deux sens.

  • 00:35:00 Dans cette section de la vidéo, le conférencier explique comment les réseaux de neurones récurrents peuvent être utilisés dans des applications où les séquences d'entrée et de sortie ne correspondent pas naturellement, telles que la traduction automatique, la réponse aux questions et les agents conversationnels. Pour résoudre ces problèmes, une architecture différente connue sous le nom de modèle codeur-décodeur, ou modèle séquence à séquence, est souvent utilisée. Cette architecture utilise deux RNN - un encodeur et un décodeur. Le codeur code la séquence d'entrée dans un vecteur de contexte, qui est une incorporation de l'entrée, et le décodeur utilise le vecteur de contexte pour produire la séquence de sortie correspondante. Cette approche permet des séquences d'entrée et de sortie de longueurs différentes et aucune synchronisation entre les mots dans l'entrée et la sortie.

  • 00: 40: 00 Dans cette section du cours, l'instructeur décrit l'architecture d'un modèle séquence à séquence en traduction automatique, qui utilise un réseau neuronal récurrent pour résumer les phrases d'entrée dans un vecteur de contexte (C) qui sert de mémoire du modèle. Le vecteur de contexte est utilisé pour décoder et produire une séquence de mots traduits, chaque mot correspondant à une sortie différente. Le modèle utilise également des états cachés pour suivre la progression de la traduction et pour s'assurer que les informations du vecteur de contexte ne sont pas oubliées au fil du temps. L'instructeur explique qu'il est utile d'alimenter à la fois le vecteur de contexte et l'état caché précédent à chaque étape du processus de décodage pour assurer la cohérence de la phrase traduite.

  • 00:45:00 Dans cette section de la vidéo, le professeur discute de l'utilisation de la redondance dans le flux d'informations dans les réseaux de neurones. Le vecteur utilisé pour coder les informations est généralement de grande dimension et peut avoir de 500 à 1 000 valeurs, ce qui le rend idéal pour coder des phrases entières. La vidéo montre également des exemples de traductions réalisées à l'aide d'un modèle utilisant un réseau de neurones récurrent. Le modèle a été formé sur un grand corpus de données et a pu correspondre à l'état de l'art de la traduction automatique sans avoir besoin de beaucoup de connaissances sur la linguistique ou les subtilités de la traduction automatique, ce qui en fait une avancée significative. De plus, l'unité de mémoire longue à court terme (LSTM) a été proposée dans les années 1990 pour améliorer les dépendances à longue portée dans les réseaux de neurones.

  • 00: 50: 00 Dans cette section, le conférencier discute des avantages des unités de mémoire longue à court terme (LSTM), qui peuvent atténuer le problème du gradient de fuite et faciliter l'apprentissage des dépendances à longue portée en raison de leur capacité à se souvenir des informations pendant de longues périodes. périodes. La clé de l'unité LSTM est l'introduction de portes, y compris les portes d'entrée, d'oubli et de sortie. Ces portes régulent le flux d'informations en prenant une valeur entre 0 et 1 et en la multipliant par l'entrée, l'état caché ou la sortie. Le conférencier déroule également l'architecture des cellules LSTM et introduit des portes sur chaque lien pour réguler les connexions entre eux. Ces modifications permettent à l'unité LSTM d'autoriser ou de bloquer sélectivement le flux d'informations et de faciliter la mémoire à long terme dans des tâches telles que la traduction automatique.

  • 00:55:00 Dans cette section, le conférencier explique la structure et les variations des unités de mémoire longue à court terme (LSTM), un type de réseau neuronal récurrent. Les unités LSTM sont construites en utilisant une combinaison de plusieurs portes qui régulent le flux d'informations, telles que la porte d'entrée, la porte de sortie, la porte d'oubli et la porte de mémoire. Ces portes prennent à la fois le X actuel et l'état caché précédent comme entrée et sortent une valeur entre 0 et 1 qui décide de laisser entrer de nouvelles informations ou d'oublier les anciennes informations. Le conférencier mentionne également que les nouvelles unités LSTM utilisent des états de cellule au lieu d'états cachés pour le stockage en mémoire et ont H comme sortie au lieu de Y. La conférence se termine en décrivant des équations spécifiques qui régissent les différentes portes de l'unité LSTM.

  • 01:00:00 Dans cette section, l'instructeur explique comment fonctionnent les unités de mémoire à court terme (LSTM) et comment elles sont utiles pour prévenir les problèmes de gradient tels que la disparition et l'explosion des gradients. Il est expliqué que les portes sont utilisées pour déterminer ce qui peut influencer l'état de la cellule, qui porte la mémoire du réseau. L'instructeur note également que des unités fermées appelées Gated Recurrent Unit (GRU) ont été proposées en 2014 comme une version simplifiée des unités LSTM. Le GRU supprime l'une des portes utilisées dans les unités LSTM.

  • 01:05:00 Dans cette section, l'orateur présente l'unité récurrente fermée (GRU), qui simplifie l'unité de mémoire longue à court terme (LSTM) en n'ayant que deux portes : la porte de réinitialisation et la porte de mise à jour. La porte de mise à jour détermine si la nouvelle entrée passe à l'état masqué ou conserve ce qui s'y trouvait déjà. Cela réduit la complexité de l'unité et la rend plus efficace, ce qui se traduit par de meilleures performances. Cependant, même avec l'utilisation de GRU, il y a encore de la mémoire qui est perturbée à chaque étape, donc des mécanismes d'attention ont été développés, particulièrement utiles dans la traduction automatique, pour aligner chaque mot de sortie avec certains mots de la séquence d'entrée, permettant au modèle de conserver le sens de la phrase originale et vérifier l'alignement mot à mot.

  • 01:10:00 Dans cette section, l'idée de vecteurs de contexte a été introduite pour décoder une séquence de mots. Le vecteur de contexte est basé sur une combinaison pondérée de tous les états cachés associés à chaque pas de temps du processus de codage. Les poids sont obtenus par un softmax qui produit une probabilité plus élevée lorsqu'il y a un alignement entre la sortie prévue et un mot d'entrée. L'alignement est calculé à l'aide d'un produit scalaire et transformé en probabilité via un softmax qui permet de calculer une combinaison pondérée d'entrées possibles. Ce faisant, nous créons un vecteur de contexte qui résume le contexte qui compte pour les quelques mots suivants que nous voulons produire, plutôt que de résumer la phrase entière.

  • 01:15:00 Dans cette section, le conférencier discute de l'utilisation des mécanismes d'attention dans la traduction automatique. Le mécanisme d'attention consiste à prendre une combinaison convexe d'états cachés calculés à chaque pas de temps, au lieu d'utiliser simplement le dernier état caché comme vecteur de contexte. Les poids utilisés pour la combinaison sont des probabilités obtenues à partir d'un softmax, et ils sont utilisés pour calculer les alignements entre l'état caché précédent et toutes les entrées précédentes. Cela permet au modèle de traduction automatique d'aligner les concepts qu'il est sur le point de traduire avec la bonne partie de l'entrée. L'utilisation de l'attention a amélioré la traduction automatique, et le conférencier présente quelques résultats obtenus par des auteurs qui l'ont utilisée en 2015.

  • 01:20:00 Dans cette section de la conférence, l'orateur aborde la question des longues phrases dans la traduction automatique et l'importance d'avoir un mécanisme qui permet de regarder en arrière pendant le processus de traduction. Le chercheur compare la précision d'un réseau neuronal récurrent avec et sans attention, et mesure les différences de précision à l'aide du score d'évaluation bilingue à l'étude (BLEU). La courbe supérieure, qui utilise l'attention, montre un niveau constant de précision même lorsque la longueur de la phrase augmente. Cela peut être attribué au mécanisme d'attention permettant à tous les mots de la séquence d'entrée d'influencer le vecteur de contexte pour l'étape suivante du décodage, quelle que soit leur position.

  • 01:25:00 Dans cette section, le conférencier discute des limites des réseaux de neurones récurrents lors du travail avec de longues phrases et de l'importance des mécanismes d'attention pour résoudre ce problème. Les réseaux de neurones récurrents ont tendance à écraser les premiers mots par les mots suivants, ce qui entraîne une dégradation de la qualité de la traduction lorsqu'il s'agit de longues séquences. Les mécanismes d'attention résolvent ce problème en se concentrant sur des mots spécifiques, permettant au réseau de neurones de traiter des séquences plus longues de longueur arbitraire. Les mécanismes d'attention aident également au traitement de différentes langues, où l'alignement des mots n'est pas nécessairement un à un. Le conférencier fournit des exemples de la façon dont les mécanismes d'attention fonctionnent dans la production de cartes de traduction qui montrent l'alignement des mots dans différentes langues.

  • 01:30:00 Dans cette section, l'orateur explique comment les réseaux de neurones récurrents peuvent être généralisés aux réseaux de neurones récursifs, qui peuvent être utilisés pour les séquences, les graphiques et les arbres. La clé est de transformer les entrées et de les combiner de manière récursive de manière à produire une sortie ou une intégration qui capture la signification de l'entrée. Pour faire face aux différentes longueurs d'entrées, l'orateur insiste sur l'importance du partage des poids entre les différentes applications des règles de combinaison des différents nœuds du graphe. L'orateur suggère également d'utiliser des arbres d'analyse ou des graphes de dépendance pour construire un graphe qui reflète la syntaxe et peut être utile dans le calcul et l'intégration.

  • 01:35:00 Dans cette section, le conférencier explique comment analyser une phrase à l'aide d'arbres d'analyse de circonscription et comment produire des incorporations pour des phrases entières. L'idée est de trouver des parties de balises vocales et de les combiner en phrases et en arbres d'analyse pour comprendre la structure de la phrase. En associant des règles à chaque transformation et en partageant les poids entre toutes les applications de la même règle, nous pouvons produire des intégrations plus prometteuses et cohérentes avec la façon dont les humains comprennent les phrases. Certains chercheurs ont montré qu'en construisant des plongements de cette manière, on peut obtenir de très bons résultats.

  • 01:40:00 Dans cette section de la vidéo, l'orateur discute de la possibilité d'obtenir une meilleure incorporation de phrase grâce à l'utilisation d'un arbre d'analyse correct. Ils concluent la série de diapositives précédente et passent à la suivante.
 

CS480/680 Cours 19 : Réseaux d'attention et de transformateurs



CS480/680 Cours 19 : Réseaux d'attention et de transformateurs

Dans cette conférence, le concept d'attention dans les réseaux de neurones est introduit et son rôle dans le développement des réseaux de transformateurs est discuté. L'attention a été initialement étudiée dans la vision par ordinateur, permettant l'identification de régions cruciales similaires à la façon dont les humains se concentrent naturellement sur des zones spécifiques. L'application de l'attention à la traduction automatique a conduit à la création de réseaux de transformateurs, qui utilisent uniquement des mécanismes d'attention et produisent des résultats aussi bons que les réseaux de neurones traditionnels. Les réseaux de transformateurs présentent des avantages par rapport aux réseaux de neurones récurrents, résolvant les problèmes associés aux dépendances à longue portée, aux gradients de disparition et d'explosion et au calcul parallèle. La conférence explore l'attention multi-têtes dans les réseaux de transformateurs, qui garantit que chaque position de sortie s'occupe de l'entrée. L'utilisation de masques, de couches de normalisation et de la couche Donora dans les réseaux de transformateurs est discutée, et le concept d'utilisation de l'attention en tant que bloc de construction est exploré.

Dans cette conférence sur l'attention et les réseaux de transformateurs, l'orateur explique l'importance de la normalisation pour découpler les gradients dans différentes couches, ainsi que l'importance de l'intégration positionnelle pour conserver l'ordre des mots dans les phrases. L'orateur compare les estimations de complexité des réseaux de transformateurs aux réseaux de neurones récurrents et convolutifs, soulignant la capacité du réseau de transformateurs à capturer les dépendances à longue portée et à traiter les mots simultanément. Les avantages des réseaux de transformateurs pour améliorer l'évolutivité et réduire la concurrence sont également abordés, ainsi que l'introduction de réseaux de transformateurs tels que GPT, BERT et XLNet, qui ont montré des performances impressionnantes en termes de précision et de vitesse, soulevant des questions sur l'avenir des réseaux de neurones récurrents.

  • 00:00:00 Dans cette section, le conférencier introduit le concept d'attention dans les réseaux de neurones et son rôle dans le développement des réseaux de transformateurs. L'attention a d'abord été étudiée en vision par ordinateur, avec l'idée qu'un mécanisme d'attention pourrait identifier des régions d'intérêt dans une image similaire à la façon dont les humains se concentrent naturellement sur des régions spécifiques. Ce concept a ensuite été appliqué à la traduction automatique et a finalement conduit à la création de réseaux de transformateurs, qui consistent uniquement en des mécanismes d'attention et ont montré qu'ils produisaient des résultats au moins aussi bons que ceux des réseaux de neurones traditionnels. L'attention peut également être utilisée pour mettre en évidence des caractéristiques importantes d'une image qui contribuent à la sortie souhaitée, telles que l'emplacement des objets dans la détection d'objets.

  • 00: 05: 00 Dans cette section, le conférencier explique comment l'attention peut être utilisée comme élément de base dans le processus de reconnaissance, comme on l'a vu dans le travail révolutionnaire de traduction automatique de 2015, où le décodeur a pu revenir sur la phrase d'entrée. En 2017, des chercheurs ont démontré l'utilisation de l'attention pour développer des techniques générales de modélisation du langage, permettant la prédiction et la récupération des mots manquants dans une séquence. Le réseau de transformateurs, qui utilise exclusivement des blocs d'attention, devient l'état de l'art pour le traitement du langage naturel et surpasse les réseaux de neurones récurrents en raison de sa capacité à gérer les dépendances à longue portée et à optimiser le calcul parallèle sur les GPU. Les réseaux de transformation sont donc un choix efficace pour les tâches de traitement du langage naturel.

  • 00: 10: 00 Dans cette section, l'orateur explique les avantages des réseaux d'attention et de transformateur par rapport aux réseaux de neurones récurrents traditionnels. Les blocs d'attention aident à établir des connexions entre n'importe quelle partie de la séquence, évitant ainsi le problème des dépendances à longue portée. De plus, les réseaux de transformateurs effectuent des calculs simultanément pour toute la séquence, ce qui permet une plus grande parallélisation et moins d'étapes d'entraînement, et résout le problème de la disparition et de l'explosion des gradients. L'orateur examine également l'attention comme une forme d'approximation pour la récupération de bases de données et présente l'équation utilisée dans les mécanismes d'attention pour les réseaux de neurones.

  • 00:15:00 Dans cette section, l'intervenant explique comment la fonction de similarité calcule une distribution et comment le mécanisme d'attention peut être généralisé à une architecture neuronale. L'orateur suggère diverses fonctions qui pourraient être utilisées pour mesurer la similarité, y compris le produit scalaire et le produit scalaire mis à l'échelle, et explique comment elles pourraient être appliquées pour calculer la similarité entre les clés et la requête. L'orateur introduit également l'idée d'une combinaison pondérée de valeurs à forte similarité dans le processus de récupération, ce qui correspond au mécanisme d'attention.

  • 00:20:00 Dans cette section du cours, le professeur explique en détail la première couche du mécanisme de l'attention. La couche calcule la similarité entre une requête et chaque clé de la mémoire. La façon la plus courante de calculer la similarité consiste à utiliser un produit scalaire ou à mettre à l'échelle le produit scalaire en le divisant par la racine carrée de la dimensionnalité. Une autre méthode consiste à projeter la requête dans un nouvel espace à l'aide d'une matrice de pondération, puis à prendre un produit scalaire. Cette étape va permettre au réseau de neurones d'apprendre un mapping W pour comparer plus directement la similarité entre la requête et la clé.

  • 00:25:00 Dans cette section, nous expliquons comment les valeurs d'attention sont calculées dans un réseau entièrement connecté qui utilise la fonction softmax. Les poids sont calculés à l'aide d'une expression qui compare une requête à différentes clés pour obtenir une mesure de similarité, et ceci est utilisé pour attribuer un poids à chaque clé. La valeur d'attention est ensuite calculée à l'aide d'une combinaison linéaire des valeurs associées à chaque touche. Les poids, représentés par la matrice W, sont appris par le réseau de neurones par rétropropagation, optimisant la projection de Q dans l'espace couvert par W. Les poids résultants sont utilisés pour produire une sortie, avec un poids par mot de sortie et les vecteurs cachés associé à chaque mot d'entrée utilisé comme VI.

  • 00:30:00 Dans cette section, la conférence traite du mécanisme d'attention et des réseaux de transformateurs. Le mécanisme d'attention est un moyen de combiner des vecteurs cachés pour un mot de sortie avec des vecteurs cachés pour des mots d'entrée, permettant la production d'un vecteur de contexte. Le réseau de transformateurs, présenté en 2017, élimine la récurrence des données séquentielles, ce qui accélère l'optimisation et parallélise les opérations. Le réseau de transformateurs en traduction automatique comporte deux parties : un encodeur et un décodeur. L'encodeur traite l'intégralité de la séquence de mots en parallèle via une attention multi-tête et un réseau neuronal à anticipation, avec l'ajout d'un codage positionnel pour tenir compte du positionnement des mots.

  • 00:35:00 Dans cette section, la conférence décrit le mécanisme d'attention multi-tête, qui calcule l'attention entre chaque position et toutes les autres positions. L'attention multi-tête prend chaque mot et le combine avec certains des autres mots de la phrase grâce à un mécanisme d'attention, produisant une meilleure intégration qui fusionne les informations des paires de mots. La conférence traite également d'une couche Donora qui ajoute une connexion résiduelle, qui prend l'entrée d'origine à ce qui sort de l'attention multi-têtes, puis la normalise. Le bloc est répété plusieurs fois afin que le modèle puisse combiner des paires de mots, des paires de paires, etc. La sortie de ce processus est une séquence d'intégrations, et il y a une intégration par position dans la phrase. La conférence explore ensuite le décodeur, qui produit une sortie à l'aide d'un softmax qui produit des probabilités pour la sortie d'une étiquette dans chaque position. Le décodeur comprend également deux couches d'attention, dont la première est l'auto-attention entre les mots de sortie, et la seconde combine des mots de sortie avec des mots d'entrée.

  • 00: 40: 00 Dans cette section, l'orateur discute du mécanisme d'attention multi-têtes dans Transformer Networks, qui est utilisé pour s'assurer que chaque position dans la sortie s'occupe des positions dans l'entrée. L'attention multi-tête fonctionne en décomposant les paires clé-valeur avec des requêtes, en les comparant aux clés pour trouver les poids les plus élevés et en prenant une combinaison pondérée des valeurs correspondantes pour produire la sortie. Ce processus est répété plusieurs fois avec différentes combinaisons linéaires pour calculer différentes projections et améliorer les incorporations jusqu'à ce qu'une distribution sur les mots du dictionnaire soit produite.

  • 00:45:00 Dans cette section de la conférence, le professeur discute du concept d'attention multi-tête et comment il peut être comparé aux cartes de caractéristiques dans les réseaux de neurones convolutifs. Les différentes combinaisons linéaires de l'attention multi-têtes peuvent être considérées comme différents filtres, projetant ou modifiant l'espace dans lequel résident les valeurs. Cela se traduit par des attentions de produits scalaires à plusieurs échelles, qui correspondent à plusieurs cartes de caractéristiques dans les CNN. La couche de contact concatène ces différentes attentions, et au final, une combinaison linéaire de celles-ci aboutit à une attention multi-tête. De plus, le professeur explique le masque d'attention multi-têtes, qui annule ou supprime les liens qui créeraient des dépendances sur les mots futurs, ce qui le rend adapté aux tâches de traduction automatique.

  • 00: 50: 00 Cette section de la vidéo traite de l'utilisation des masques dans le contexte du réseau Transformer. Le présentateur explique comment les masques sont utilisés pour annuler certaines connexions dans la fonction softmax et comment l'utilisation de masques avec des valeurs de moins l'infini garantit le maintien d'une distribution appropriée. Le présentateur explique également comment l'utilisation de masques permet un calcul parallèle pendant la formation et comment la technique de forçage de l'enseignant découple l'entrée et la sortie pendant la formation.

  • 00: 55: 00 Dans cette section de la vidéo, l'importance de la couche de normalisation dans Transformer Networks est discutée. La couche de normalisation aide à réduire le nombre d'étapes nécessaires à la descente de gradient pour optimiser le réseau, car elle garantit que la sortie de chaque couche, quelle que soit la façon dont les poids sont définis, aura une moyenne de 0 et une variance de 1. En faisant cela , l'échelle des sorties est la même, ce qui réduit la compétition de gradient entre les couches et accélère la convergence. Il est à noter que la normalisation de couche est différente de la normalisation par lots car elle se normalise au niveau d'une couche plutôt qu'une seule unité cachée, ce qui la rend adaptée à des lots plus petits ou même à un point de données à la fois dans un environnement en ligne ou en streaming.

  • 01:00:00 Dans cette section de la vidéo, l'intervenant discute de l'importance de la normalisation pour découpler l'évolution des gradients dans différentes couches. Ils approfondissent également le sujet de l'intégration positionnelle, qui est ajoutée après l'intégration de l'entrée dans le réseau du transformateur. L'intégration positionnelle garantit que le mécanisme d'attention peut capturer des informations de position, ce qui est important pour conserver l'ordre des mots dans une phrase. L'orateur explique que l'intégration positionnelle est un hack d'ingénierie et discute de la formule utilisée pour le calculer, bien qu'il note qu'il peut y avoir différentes façons d'aborder cet aspect du réseau.

  • 01:05:00 Dans cette partie du cours, l'orateur compare les estimations de complexité d'un réseau de transformateurs avec celles d'un réseau neuronal récurrent ou d'un réseau neuronal convolutif. Le réseau de transformateurs, également connu sous le nom de réseau d'auto-attention, a une complexité d'ordre n au carré car le mécanisme d'attention s'occupe de toutes les autres positions pour chaque position dans une couche, tout en calculant également leurs incorporations. Cependant, le réseau de transformateurs ne perd pas les informations du premier mot et permet aux informations de circuler immédiatement entre les paires de mots, ce qui le rend efficace pour capturer les dépendances à longue portée. De plus, il n'y a pas d'opérations séquentielles dans un réseau de transformateurs, ce qui signifie que tous les mots peuvent être traités simultanément et en parallèle. En revanche, un réseau neuronal récurrent a des opérations séquentielles et une longueur de chemin pouvant aller jusqu'à n.

  • 01:10:00 Dans cette section de la conférence, l'orateur discute des avantages des réseaux de transformateurs, en particulier de leur capacité à réduire la concurrence et à améliorer l'évolutivité. L'orateur compare ensuite différents modèles de traduction automatique, en particulier de l'anglais vers l'allemand et de l'anglais vers le français, et montre que même si les modèles de transformateur n'ont pas nécessairement produit des résultats exceptionnels, ils ont considérablement réduit le temps de calcul, ce qui en fait une option plus efficace pour la formation. . L'orateur discute également d'autres types de réseaux de transformateurs, comme GPT et GPT-2, qui ont été proposés en 2018 pour la modélisation de langage non supervisée.

  • 01:15:00 Dans cette section, la vidéo présente deux types de réseaux de transformateurs appelés GPT et BERT. GPT est un modèle de langage qui peut être utilisé pour une variété de tâches, notamment la compréhension de la lecture, la traduction, la synthèse et la réponse aux questions. Le modèle s'occupe des sorties précédentes pour générer une séquence de mots sans s'occuper de la sortie future. Les chercheurs ont appliqué cela à différentes tâches sans adapter le réseau à la tâche spécifique et ont constaté que, de manière totalement non supervisée, ils parvenaient à se rapprocher de l'état de l'art. BERT signifie représentations codées bidirectionnelles à partir de transformateurs et sa principale avancée est qu'il prédit un mot basé à la fois sur le mot précédent et sur les mots futurs, ce qui le rend meilleur que GPT.

  • 01:20:00 Dans cette section, le conférencier discute des progrès réalisés dans les réseaux de transformateurs, en particulier BERT et XLNet. Le BERT a la capacité d'affiner les modèles avec des données spécifiques aux tâches, ce qui se traduit par une amélioration majeure de l'état de l'art sur onze tâches. Cependant, XLNet a présenté une performance encore plus impressionnante, battant BERT dans la plupart des tâches en raison de sa tolérance aux entrées manquantes et de meilleures performances conséquentes lors de la généralisation. Ces réseaux de transformateurs se sont avérés performants en termes de précision et de vitesse, ce qui pose des questions sur l'avenir des réseaux de neurones récurrents.
 

CS480/680 Cours 20 : Auto-encodeurs



CS480/680 Cours 20 : Auto-encodeurs

Les auto-encodeurs font référence à une famille de réseaux étroitement liés aux encodeurs-décodeurs, la différence étant que les auto-encodeurs prennent une entrée et produisent la même sortie. Ils sont importants pour la compression, le débruitage, l'obtention d'une représentation parcimonieuse et la génération de données. Les auto-encodeurs linéaires réalisent la compression en mappant des vecteurs de grande dimension sur des représentations plus petites, tout en garantissant qu'aucune information n'est perdue, et utilisent des matrices de pondération pour calculer une transformation linéaire de l'entrée à la représentation compressée et inversement. De plus, les auto-encodeurs profonds permettent des mappages sophistiqués, tandis que les auto-encodeurs probabilistes produisent des distributions conditionnelles sur la représentation et l'entrée intermédiaires, qui peuvent être utilisées pour la génération de données. L'utilisation de fonctions non linéaires par les auto-encodeurs tire parti de la variété non linéaire, une projection sur un espace de dimension inférieure qui capture la dimensionnalité intrinsèque des données, conduisant à une compression sans perte de l'entrée.

  • 00:00:00 Dans cette section de la conférence sur les auto-encodeurs, le présentateur explique qu'il s'agit d'une famille de réseaux étroitement liés aux encodeurs-décodeurs, à la différence que les auto-encodeurs prennent une entrée et produisent la même sortie. Les encodeurs automatiques sont importants pour des tâches telles que la compression, le débruitage, l'obtention d'une représentation parcimonieuse et la génération de données. La compression consiste à mapper des vecteurs de grande dimension sur des représentations plus petites, tout en garantissant qu'aucune information n'est perdue. Pour ce faire, l'entrée est envoyée à un encodeur qui produit une représentation plus petite, qui est ensuite décodée vers l'entrée pour garantir que la représentation compressée contient toutes les informations de l'entrée. Les auto-encodeurs linéaires utilisent des matrices de pondération pour calculer une transformation linéaire de l'entrée à la représentation compressée et de retour à l'entrée.

  • 00:05:00 Dans cette section, le conférencier explique le lien entre les auto-encodeurs et l'analyse en composantes principales (ACP). Il note que l'utilisation typique de l'ACP est de projeter des données dans un hyperplan de dimension inférieure tout en préservant la variation des données. Cependant, il explique également que lorsqu'un auto-encodeur (avec des mappages linéaires) est utilisé pour minimiser la distance euclidienne, il donne la même solution que l'ACP, ce qui en fait un outil utile pour la réduction de la dimensionnalité. Le conférencier souligne que les matrices WF et WG dans l'auto-encodeur sont essentiellement les inverses (ou pseudo-inverses) l'une de l'autre puisque WG x WF donne X.

  • 00:10:00 Dans cette section, le conférencier explique la beauté des auto-encodeurs, c'est-à-dire qu'ils ne se limitent pas aux mappages linéaires contrairement à l'ACP. Au lieu de cela, les auto-encodeurs peuvent utiliser des fonctions non linéaires pour trouver la représentation cachée des données, qui peuvent être projetées sur un espace de dimension inférieure via une variété non linéaire. Ce collecteur peut capturer la dimensionnalité intrinsèque des données, ce qui peut conduire à une compression sans perte de l'entrée. Cependant, la détermination de la dimensionnalité optimale de H nécessiterait des techniques spécifiques pour l'apprentissage de la structure.

  • 00:15:00 Dans cette section, la vidéo présente les encodeurs automatiques profonds et les représentations clairsemées. Les auto-encodeurs profonds ont plusieurs couches avant d'atteindre la couche cachée, permettant des mappages sophistiqués, tandis que les représentations clairsemées imposent une structure aux représentations intermédiaires en minimisant le nombre d'entrées non nulles dans le vecteur produit par F. Cela peut être fait par une optimisation non convexe ou en utilisant la régularisation l1 pour minimiser la norme l1 de la sortie. De plus, la vidéo fournit un exemple d'utilisation d'un encodeur automatique pour le débruitage en alimentant une version corrompue de l'entrée et en essayant de récupérer le X d'origine.

  • 00:20:00 Dans cette section, l'enseignant décrit les auto-encodeurs probabilistes ou stochastiques, qui sont différents des déterministes car ils se concentrent sur les distributions conditionnelles. Dans un auto-encodeur déterministe, l'encodeur produit une représentation intermédiaire que le décodeur peut utiliser directement pour reconstruire l'entrée, tandis qu'un auto-encodeur probabiliste produit des distributions conditionnelles sur la représentation intermédiaire et l'entrée. En concevant un réseau neuronal avec des fonctions de dernière activation appropriées, la dernière couche peut être utilisée pour produire des modèles qui peuvent être interprétés comme des distributions. Les unités linéaires dans la couche de sortie peuvent être utilisées pour coder des distributions conditionnelles pour des données réelles, tandis que les unités sigmoïdes peuvent fonctionner avec des données binaires. L'enseignant souligne que ces auto-encodeurs probabilistes permettent la génération de données, ce qui est une différence significative par rapport aux auto-encodeurs déterministes.

  • 00:25:00 Dans cette partie du cours, l'orateur explique le modèle graphique probabiliste d'un auto-encodeur. L'entrée X est considérée comme une variable aléatoire et la sortie X tilde est une version approximative de l'entrée. H est une autre variable aléatoire représentant la couche cachée et les flèches indiquent les dépendances conditionnelles. Les poids sont représentés par des distributions conditionnelles et le décodeur est une distribution conditionnelle. Différentes fonctions d'activation sont utilisées pour produire différents types de sortie. L'orateur explique également comment calculer une distribution sur X basée sur une distribution sur H pour les vecteurs binaires et gaussiens.

  • 00:30:00 Dans cette section, le conférencier explique comment une architecture comme un auto-encodeur probabiliste peut être utilisée pour générer des données. Avec un auto-encodeur déterministe, le décodeur prend une certaine intégration et génère un point de données. Cependant, en ayant une distribution, nous pourrions échantillonner à partir d'une certaine distribution sur la représentation intermédiaire et l'utiliser pour générer un point de données. Par exemple, si nous entraînons l'auto-encodeur probabiliste avec des visages, nous pourrions facilement échantillonner à partir de la représentation cachée, puis produire un nouveau visage différent mais similaire à ceux de l'ensemble de données. En échantillonnant à partir de la distribution sur les images, on obtient une image.

  • 00:35:00 Dans cette section, le conférencier discute de la génération de nouvelles images à l'aide d'auto-encodeurs probabilistes. L'orateur explique comment l'auto-encodeur peut générer de nouvelles images en mappant des points de données d'entrée dans des intégrations dans un espace où des points proches peuvent être décodés en de nouvelles images. Cependant, l'orateur note que pour générer de véritables nouvelles images, il doit y avoir une distribution qui permette l'échantillonnage des incorporations appropriées. La distribution utilisée dans l'auto-encodeur est conditionnée par le point de données d'entrée X, ce qui peut conduire à la génération d'images similaires. Pour surmonter cette limitation, la prochaine série de diapositives discutera des mécanismes d'échantillonnage directement avec un H et de génération de nouvelles images.
 

CS480/680 Cours 21 : Réseaux génératifs (auto-encodeurs variationnels et GAN)



CS480/680 Cours 21 : Réseaux génératifs (auto-encodeurs variationnels et GAN)

Cette conférence se concentre sur les réseaux génératifs, qui permettent la production de données en sortie via des réseaux tels que les auto-encodeurs variationnels (VAE) et les réseaux antagonistes génératifs (GAN). Les VAE utilisent un encodeur pour mapper les données de l'espace d'origine vers un nouvel espace, puis un décodeur pour récupérer l'espace d'origine. L'enseignant explique le concept des VAE et les enjeux du calcul de l'intégrale des distributions nécessaires à la formation. Les GAN se composent de deux réseaux - un générateur et un discriminateur - où le réseau générateur crée de nouveaux points de données, et le réseau discriminateur tente de faire la distinction entre ceux générés et réels. Les défis de la mise en œuvre du GAN sont discutés, y compris la garantie d'un équilibre entre les forces des réseaux et la réalisation de la convergence mondiale. La conférence se termine par des exemples d'images générées et un aperçu de la prochaine conférence.

  • 00:00:00 Dans cette section de la conférence, l'accent est mis sur les réseaux génératifs et sur la manière dont ils peuvent être utilisés pour la génération de données. Alors que la classification et la régression ont été les principales techniques abordées dans le cours jusqu'à présent, les réseaux génératifs permettent la production de données en sortie. Ceci est particulièrement utile pour la génération de langage naturel, la synthèse vocale et la génération d'images et de vidéos. Les encodeurs automatiques variationnels et les réseaux antagonistes génératifs sont parmi les réseaux les plus populaires actuellement utilisés pour la génération de données. Ces réseaux sont utilisés pour produire des données réalistes similaires à celles trouvées dans un jeu de données.

  • 00: 05: 00 Dans cette section, le conférencier discute de l'idée des auto-encodeurs probabilistes, où au lieu d'un encodeur déterministe, nous avons un encodeur probabiliste qui encode une distribution conditionnelle. De même, le décodeur est également une distribution conditionnelle et peut être considéré comme un générateur qui crée une distribution sur les données, permettant de générer de nouveaux points de données. Un auto-encodeur variationnel est utilisé pour échantillonner un vecteur caché, H, à partir d'une distribution fixe, une gaussienne de moyenne 0 et de variance 1, puis construire un objectif qui tente de rendre la distribution de l'encodeur sur H conditionnée sur X aussi proche que possible de cette distribution fixe, garantissant de bons résultats d'échantillonnage.

  • 00:10:00 Dans cette section, le conférencier explique le concept des auto-encodeurs variationnels (VAE). Les VAE utilisent un encodeur pour mapper les données de l'espace d'origine vers un nouvel espace, puis un décodeur pour récupérer l'espace d'origine. L'encodeur produit une distribution qui peut être utilisée pour échantillonner de nouveaux points, qui peuvent être ramenés à l'espace d'origine par le décodeur. Cependant, la distribution du codeur doit être aussi proche que possible d'une distribution fixe pour garantir que les points de données générés sont du même type que les données d'origine. Le cours aborde la fonction objectif des VAE et comment optimiser le réseau pour atteindre cet objectif.

  • 00: 15: 00 Dans cette section, le conférencier discute des défis liés au calcul de l'intégrale de la distribution de l'encodeur sur H et de la distribution sur X pour chaque H. Cette intégrale ne peut pas être calculée sous forme fermée car l'encodeur et le décodeur sont complexes les réseaux de neurones. Pour résoudre ce problème, l'enseignant propose l'utilisation d'un échantillon unique pour approximer l'intégrale et produire un H en échantillonnant à partir du codeur, puis approximer la distribution résultante par la distribution du décodeur. L'approximation est faite dans la formation, et le conférencier souligne que cela est différent des auto-encodeurs réguliers car il y a une étape d'échantillonnage qui nécessite une attention particulière pour toujours calculer un gradient.

  • 00:20:00 Dans cette section de la vidéo, l'orateur explique l'astuce de repriorisation utilisée dans la formation de réseaux génératifs comme les auto-encodeurs variationnels. Les architectures de réseau codeur et décodeur impliquent des étapes d'échantillonnage, ce qui rend difficile le calcul des gradients lors de l'optimisation. Pour résoudre ce problème, une distribution gaussienne fixe est introduite pour permettre l'échantillonnage d'une nouvelle variable, H tilde, qui est multipliée par la sortie de l'encodeur, H, pour obtenir la distribution avec la moyenne et la variance optimales pour la variable latente. Le H transformé est ensuite utilisé dans le réseau décodeur pour générer le tilde X de sortie reconstruit.

  • 00:25:00 Dans cette section, l'orateur explique une astuce appelée "reparamétrisation" qui permet aux réseaux de neurones de générer des échantillons à partir d'une distribution de données sans entraver la rétropropagation des gradients. L'astuce consiste à échantillonner à partir d'une distribution différente mais réparable (telle qu'une gaussienne), puis à utiliser certaines opérations mathématiques pour transformer l'échantillon en un échantillon de la distribution souhaitée. De cette façon, l'échantillon est une entrée du réseau, ce qui permet aux gradients de le traverser pendant la rétropropagation. L'orateur explique ensuite comment cette astuce est utilisée pour former un réseau génératif et générer de nouveaux points de données à partir du réseau formé.

  • 00:30:00 Dans cette section, l'orateur discute de l'utilisation de la divergence de bibliothèque de retour, une mesure de distance utilisée pour minimiser la différence entre une distribution fixe et une distribution d'encodeur dans les réseaux génératifs. Le locuteur utilise Gaussian avec une variance unitaire moyenne nulle comme distribution fixe et a formé l'encodeur pour produire une distribution proche de celle-ci. En utilisant le terme de régularisation, le décodeur peut générer un point de données similaire à ce qui se trouve dans l'ensemble d'apprentissage, qui dans ce cas sont des images de visages. Des exemples d'images générées par un auto-encodeur variationnel sont présentés, qui sont légèrement floues en raison de la nature probabiliste de l'auto-encodeur. L'orateur présente ensuite les réseaux antagonistes génératifs (GAN), qui utilisent deux réseaux - un générateur et un discriminateur - pour produire des images plus nettes et plus réalistes qui ne sont pas construites de manière probabiliste.

  • 00:35:00 Dans cette section, le conférencier explique le fonctionnement des réseaux antagonistes génératifs (GAN). Les GAN sont constitués de deux réseaux : un réseau générateur et un réseau discriminateur. Le réseau générateur crée de nouveaux points de données, tandis que le réseau discriminateur essaie de faire la distinction entre les points de données générés et les vrais. Le discriminateur agit comme un tuteur en fournissant une rétroaction au générateur, l'aidant à générer des points de données plus réalistes. L'entraînement se fait en optimisant une fonction objectif, où le réseau discriminateur essaie de maximiser la probabilité de reconnaître les vrais points de données et les faux, tandis que le réseau générateur essaie de minimiser ces probabilités et de tromper le discriminateur. La fonction objective peut être réécrite comme la probabilité qu'un point de données soit faux.

  • 00: 40: 00 Dans cette section, l'instructeur explique l'architecture des réseaux antagonistes génératifs (GAN) qui consistent en un générateur et un discriminateur. Le générateur prend un vecteur échantillon et produit des données simulées tandis que le discriminateur est un classificateur qui prend à la fois des données réelles et générées afin de les classer comme réelles ou fausses. L'objectif du GAN est d'optimiser ces deux réseaux en utilisant la rétropropagation avec différents ensembles de poids pour le générateur (WG) et le discriminateur (WD). L'instructeur poursuit en expliquant que les poids sont mis à jour en prenant des mesures dans le sens du gradient afin de minimiser l'objectif GAN.

  • 00:45:00 Dans cette section, l'orateur discute d'un algorithme de formation d'un réseau antagoniste génératif. L'algorithme implique une boucle externe où les poids sont optimisés pour le discriminateur, puis K étapes sont prises pour optimiser l'objectif. Après cela, une seule étape est franchie pour optimiser le générateur. L'objectif est que le générateur apprenne la distribution utilisée pour générer l'ensemble d'apprentissage afin qu'il puisse produire des données réelles indiscernables de l'environnement réel. En cas de succès, le discriminateur aura un taux d'erreur de 50 % et il sera impossible de dire si un point de données est réel ou faux.

  • 00: 50: 00 Dans cette section de la vidéo, le conférencier discute des défis qui se posent dans la mise en œuvre des réseaux antagonistes génératifs (GAN), une approche de la modélisation générative qui utilise deux réseaux appelés générateur et discriminateur qui fonctionnent dans un cadre contradictoire pour générer de nouvelles données. L'un des principaux enjeux est d'assurer un équilibre entre les forces des deux réseaux, car l'un pourrait dominer l'autre. Une autre difficulté est d'obtenir une convergence globale lors de l'optimisation, car une optimisation non convexe peut conduire à des optima locaux qui ne sont pas optimaux. Malgré ces défis, certains aspects des GAN fonctionnent bien dans la pratique, car les images générées des chiffres et des visages ressemblent à de vrais points de données dans leur ensemble de formation, bien que certains ajustements puissent encore être nécessaires.

  • 00: 55: 00 Dans cette section de la vidéo, l'orateur parle des réseaux antagonistes génératifs (GAN) et de la manière dont ils peuvent générer des visages similaires mais différents. Il fournit des exemples d'images générées, notamment un cheval, un chien et une image floue. L'orateur mentionne également que le prochain cours couvrira un sujet différent en apprentissage automatique.
 

CS480/680 Cours 22 : Apprentissage d'ensemble (mise en sac et boost)



CS480/680 Cours 22 : Apprentissage d'ensemble (mise en sac et boost)

La conférence traite de l'apprentissage d'ensemble, où plusieurs algorithmes se combinent pour améliorer les résultats d'apprentissage. Les deux principales techniques passées en revue sont le bagging et le boosting, et le conférencier souligne l'importance de combiner les hypothèses pour obtenir une hypothèse plus riche. La conférence décompose le processus de vote à la majorité pondérée et sa probabilité d'erreur, ainsi que la façon dont le renforcement fonctionne pour améliorer la précision de la classification. Le conférencier couvre également les avantages de l'amplification et de l'apprentissage d'ensemble, notant l'applicabilité de l'apprentissage d'ensemble à de nombreux types de problèmes. Enfin, la vidéo suit l'exemple du défi Netflix pour démontrer l'utilisation de l'apprentissage d'ensemble dans les compétitions de science des données.

Dans cette conférence sur l'apprentissage d'ensemble, le conférencier souligne l'intérêt de combiner les hypothèses de différents modèles pour obtenir un gain de précision, une approche qui peut être particulièrement utile lorsqu'on démarre avec des solutions déjà assez bonnes. Il discute de l'importance de prendre une combinaison pondérée de prédictions, notant qu'il faut faire attention car la moyenne de deux hypothèses peut parfois être pire que les hypothèses individuelles seules. Le conférencier explique également qu'une normalisation des poids peut être nécessaire, selon qu'il s'agit d'une tâche de classification ou de régression.

  • 00:00:00 L'importance de l'apprentissage d'ensemble est introduite, qui consiste à combiner plusieurs algorithmes et hypothèses pour améliorer les résultats d'apprentissage. La conférence traite des techniques de bagging et de boosting et met en évidence la difficulté de déterminer quel algorithme individuel est le mieux adapté à un problème spécifique. C'est souvent une question d'essais et d'erreurs, mais la combinaison d'hypothèses imparfaites peut conduire à un meilleur résultat global, similaire à la façon dont les élections combinent les choix des électeurs ou les comités combinent les avis d'experts. En combinant plusieurs algorithmes, l'objectif est d'obtenir une prédiction ou une classification plus robuste et plus précise.

  • 00: 05: 00 Le conférencier discute de l'apprentissage d'ensemble et de la manière dont il peut être utilisé pour améliorer la précision des modèles d'apprentissage automatique. L'apprentissage d'ensemble consiste à combiner plusieurs hypothèses imparfaites pour obtenir une hypothèse plus riche et potentiellement meilleure. Le cours mentionne deux méthodes d'apprentissage d'ensemble : le bagging et le boosting. La technique de mise en sac consiste à prendre un sac d'hypothèses produites par différents algorithmes et à les combiner par vote, tandis que le renforcement consiste à ajuster les poids des hypothèses pour donner plus de poids à celles qui fonctionnent bien. L'enseignant explique comment ces techniques sont utilisées pour généraliser les séparateurs linéaires afin d'obtenir des frontières non linéaires et donne un exemple de polytope.

  • 00: 10: 00 Le concept de vote majoritaire pour la classification est introduit, dans lequel plusieurs hypothèses font des prédictions et la classe qui obtient le plus de votes est choisie. Plus le nombre d'hypothèses est grand, plus il est peu probable que la majorité soit incorrecte. Lorsque les hypothèses sont indépendantes, le vote majoritaire devient plus robuste. Une équation mathématique est introduite pour calculer la probabilité que la majorité fasse une erreur en fonction du nombre d'hypothèses et de la probabilité d'erreur. Un exemple est fourni où cinq hypothèses qui font 10 % d'erreurs fournissent une probabilité inférieure à 1 % que le vote majoritaire soit incorrect, démontrant la robustesse de la méthode de vote majoritaire.

  • 00: 15: 00 La vidéo discute des limites des techniques d'apprentissage d'ensemble de base, telles que l'hypothèse d'hypothèses indépendantes. Pour remédier à ces limitations, un vote à la majorité pondérée peut être utilisé pour ajuster les corrélations et donner des poids plus élevés aux meilleures hypothèses. Cette technique est connue sous le nom de boosting et est réalisée en utilisant un apprenant de base qui produit des classificateurs, qui sont ensuite regroupés pour obtenir une plus grande précision. Le cadre de renforcement a été en mesure de surmonter la croyance selon laquelle les mauvais algorithmes devraient être abandonnés au profit de la conception de meilleurs en combinant leurs hypothèses pour améliorer la précision globale.

  • 00: 20: 00 Le conférencier discute du concept de renforcement de l'apprentissage d'ensemble, qui consiste à utiliser un apprenant de base pour produire des hypothèses, puis à perturber les poids de l'ensemble de formation pour obtenir une hypothèse différente. En augmentant les poids des instances mal classées, il y a une meilleure chance d'obtenir une hypothèse plus précise. Le conférencier explique que les techniques d'apprentissage supervisé peuvent être ajustées pour fonctionner avec un ensemble d'entraînement pondéré, et cela peut être fait simplement en modifiant l'objectif et en introduisant un poids pour chaque point de données. Cette méthode permet de créer une combinaison pondérée de la fonction de perte de chaque point de données.

  • 00:25:00 Le conférencier explique le concept de boosting dans l'apprentissage d'ensemble. Le boosting implique l'apprentissage avec un ensemble d'entraînement pondéré où les instances avec des poids élevés sont biaisées vers une classification correcte. Le cadre de renforcement comprend une boucle où une hypothèse est apprise à plusieurs reprises à partir de l'ensemble de données avec des poids correspondants, les instances sont vérifiées pour une mauvaise classification et leurs poids sont augmentés, et à la fin, l'hypothèse dans l'échantillon est une majorité pondérée des hypothèses générées en utilisant des poids qui sont proportionnels à leur précision. Il existe deux types de poids, ceux pour les points de données et ceux pour les hypothèses. Le conférencier souligne que l'idée est d'améliorer la précision de la classification et que tout algorithme qui fonctionne avec des ensembles de données pondérés peut être utilisé comme apprenant de base pour le boosting.

  • 00:30:00 L'orateur discute du concept d'augmentation des poids des points de données mal classés dans les algorithmes de boosting. Ils expliquent que cela a pour effet de diminuer implicitement les poids des points de données correctement classés, mais c'est l'ampleur relative des poids qui compte. L'algorithme minimise ensuite les pertes et essaie de classer correctement pour éviter de payer un prix plus élevé pour une mauvaise classification. L'orateur note également que si l'ensemble d'apprentissage ne suit pas la même distribution que l'ensemble de test, des poids peuvent être utilisés pour perturber la distribution. Cependant, le renforcement n'est généralement pas utilisé à cette fin, car l'augmentation du poids des hypothèses imparfaites peut empêcher le surajustement et améliorer la généralisation.

  • 00:35:00 L'instructeur explique le fonctionnement de l'algorithme de renforcement adaptatif avec un exemple visuel de génération d'hypothèses multiples à l'aide d'un ensemble de données simple. À l'aide de votes majoritaires pondérés, l'algorithme attribue des poids proportionnels à la précision de chaque hypothèse, et ceux-ci sont utilisés pour calculer une combinaison pondérée des hypothèses les plus performantes. L'ensemble formé à partir de cette combinaison est ensuite utilisé pour faire des prédictions.

  • 00:40:00 Le conférencier explique le concept de combinaison de plusieurs hypothèses pour éviter le surajustement. Ils soutiennent que même si nous avons une hypothèse parfaite, il est toujours préférable de combiner plusieurs hypothèses pour éviter le surajustement. Le conférencier note qu'un réseau neuronal profond peut conduire à une précision parfaite sur l'ensemble de formation, mais ce n'est pas simple et rapide, ce que nous voulons dans un apprenant de base utilisé en conjonction avec l'apprentissage d'ensemble. Le conférencier décrit également l'algorithme Adaboost et son fonctionnement pour attribuer des poids aux hypothèses et aux instances de données.

  • 00:45:00 L'orateur explique la théorie du boosting et ses avantages. Le boost fonctionne bien avec les apprenants faibles, qui sont des algorithmes qui produisent des hypothèses au moins aussi bonnes qu'un classifieur aléatoire. L'objectif est d'améliorer la précision et les performances. Le conférencier explique comment calculer les poids des instances de données et des hypothèses, et comment les normaliser. Le boosting a tendance à être robuste au surajustement et est simple à mettre en œuvre, ce qui le rend applicable à de nombreux problèmes. De plus, le boosting génère plusieurs hypothèses, pas une seule, ce qui conduit à une meilleure précision.

  • 00:50:00 Nous en apprenons davantage sur le boosting et l'apprentissage d'ensemble, qui est une technique utilisée pour combiner les prédictions de plusieurs modèles. Le boosting est une méthode permettant de générer plusieurs hypothèses avec des poids différents, de les combiner toutes et de sélectionner la meilleure. En tant qu'approximation de l'apprentissage bayésien, il s'agit d'un moyen traitable de générer une hypothèse à la fois tout en étant sélectif dans la combinaison de plusieurs hypothèses pour la généralisation. Le boosting a plusieurs applications industrielles, dont le Kinect produit par Microsoft et le défi Netflix, où il a été utilisé pour améliorer leur système de recommandation de 10 %. Le boosting est généralement très bon pour combiner des prédictions d'experts, contrairement à d'autres heuristiques, qui peuvent ne pas toujours fonctionner et venir sans aucune théorie.

  • 00:55:00 L'orateur discute des origines de Kaggle et comment ils ont commencé à organiser des compétitions de science des données. Il remonte à 2006 lorsque Netflix a lancé un concours pour améliorer la précision de 10 %. La première équipe, Bellcore, a réalisé une amélioration de 8,43% mais n'a pas atteint le seuil. Le conférencier décrit ensuite comment, au fil des ans, les équipes ont commencé à collaborer, en utilisant l'apprentissage d'ensemble, et comment l'équipe du grand prix a été formée. Les équipes ont uni leurs forces pour se partager un million de dollars du grand prix, proportionnel à l'amélioration du score d'équipe que chaque algorithme apporte. L'équipe du grand prix a réussi à atteindre 9,46 % en formant un grand exemple de nombreux chercheurs, et le dernier jour, Bellcore, pragmatique et chaotique, a remporté le prix.

  • 01:00:00 Le conférencier discute de l'importance et de la valeur de l'apprentissage d'ensemble, en particulier dans le contexte de concours gagnants. Il utilise l'exemple de l'équipe Pragmatic Chaos de BellKor qui a remporté le prix Netflix en utilisant des techniques d'apprentissage d'ensemble pour améliorer leur précision de quelques points de pourcentage. Il note que l'apprentissage d'ensemble est particulièrement utile lorsqu'on commence avec des solutions déjà assez bonnes plutôt qu'avec des apprenants faibles et qu'en combinant des hypothèses de différents modèles, il est possible d'obtenir un gain de précision. De plus, il mentionne que l'apprentissage d'ensemble se prête bien à l'informatique distribuée et peut être réalisé via plusieurs machines ou cœurs.

  • 01:05:00 L'instructeur explique le concept de prendre une combinaison pondérée de prédictions plutôt que d'hypothèses afin d'éviter d'encourir un coût plus élevé. L'idée est que chaque hypothèse fera une prédiction et ces prédictions seront combinées en fonction de poids. Cependant, des précautions doivent être prises lors de la combinaison d'hypothèses, car parfois la moyenne de deux hypothèses peut en fait être pire que les hypothèses individuelles prises isolément. L'instructeur mentionne également qu'il peut être nécessaire de normaliser les poids selon qu'il s'agit d'une tâche de classification ou de régression.
Raison: