Apprentissage Automatique et Réseaux Neuronaux - page 21

 

AlphaZero à partir de zéro - Tutoriel d'apprentissage automatique



AlphaZero à partir de zéro - Tutoriel d'apprentissage automatique

00:00:00 - 01:00:00 La vidéo "AlphaZero from Scratch - Machine Learning Tutorial" enseigne aux utilisateurs comment construire et former l'algorithme AlphaZero en utilisant Python et PyTorch pour jouer à des jeux de société complexes à des niveaux surhumains, avec des exemples donnés pour Tic -tac-toe et Connect 4. L'un des composants clés de l'algorithme est la recherche arborescente de Monte Carlo, qui consiste à sélectionner l'action la plus prometteuse, à développer l'arbre et à simuler le jeu, avec les résultats rétropropagés pour la formation. Le didacticiel montre l'expansion des nœuds au cours de l'algorithme de recherche de Monte Carlo, le processus d'auto-jeu et comment former le modèle à l'aide de fonctions de perte qui minimisent la différence entre la politique et la distribution MCTS, ainsi que la valeur et la récompense finale. La vidéo se termine par la création d'un jeu Tic-tac-toe et le teste à travers une boucle while.

01:00:00 - 02:00:00 Dans cette section du didacticiel sur la construction d'AlphaZero à partir de zéro, l'instructeur démontre la mise en œuvre de l'algorithme Monte Carlo Tree Search (MCTS) pour le jeu Tic-tac-toe. L'algorithme est implémenté via une nouvelle classe pour MCTS qui comprend une méthode de recherche définissant une boucle d'itérations répétées pour les phases de sélection, d'expansion, de simulation et de rétropropagation. La vidéo couvre également la mise en œuvre de l'architecture du réseau de neurones AlphaZero, qui comprend deux têtes, une pour la politique et une pour la valeur, et utilise un réseau résiduel avec des connexions de saut. L'en-tête de politique utilise une fonction softmax pour indiquer l'action la plus prometteuse, tandis que l'en-tête de valeur donne une estimation de la qualité de l'état actuel. L'orateur discute également de l'implémentation du bloc de démarrage et de la dorsale pour la classe ResNet et explique comment utiliser le modèle AlphaZero pour obtenir une politique et une valeur pour un état donné dans Tic-Tac-Toe.

02:00:00 - 03:00:00 Le didacticiel "AlphaZero from Scratch" montre comment créer l'algorithme AlphaZero grâce à l'apprentissage automatique. Le présentateur couvre un large éventail de sujets allant de la mise à jour de l'algorithme MCTS, des méthodes d'auto-jeu et de formation, à des améliorations telles que l'ajout de température à la distribution de probabilité, la décroissance du poids et la prise en charge du GPU dans le modèle, et l'ajout de bruit au nœud racine. Le didacticiel guide le spectateur étape par étape dans la mise en œuvre de ces fonctionnalités en montrant comment coder l'état du nœud, obtenir des sorties de politique et de valeur, et ajuster la politique à l'aide de softmax, de mouvements valides et du bruit aléatoire Dirichlet pour ajouter de l'exploration tout en garantissant les actions prometteuses ne manquent pas.

03:00:00 - 04:05:00 Dans ce didacticiel YouTube sur la création d'AlphaZero à partir de zéro à l'aide de l'apprentissage automatique, l'instructeur couvre divers sujets tels que l'ajout d'exploration à la stratégie avec un facteur de bruit, l'intégration de la prise en charge du CPU et du GPU pour les modèles de formation sur jeux plus complexes, mise à jour du code source pour créer un jeu Connect Four, augmentation de l'efficacité de l'implémentation d'AlphaZero grâce à la parallélisation, création de deux nouvelles classes en Python pour les jeux autonomes, codage des états pour augmenter l'efficacité, implémentation de l'algorithme Monte Carlo Tree Search pour AlphaZero et la formation d'un modèle pour Connect Four à l'aide de fs0 parallélisé. Le didacticiel fournit des conseils étape par étape sur chaque sujet en mettant l'accent sur la création d'une implémentation AlphaZero efficace et efficiente. Le présentateur montre comment créer un environnement Connect Four à l'aide du package d'environnements Kegel, puis exécute et visualise le jeu avec deux agents qui utilisent l'algorithme de recherche MCTS basé sur un modèle AlphaZero formé. Le présentateur apporte également des corrections mineures au code et définit le joueur un comme l'agent utilisant l'algorithme MCTS pour les prédictions basées sur le modèle entraîné. Le didacticiel se termine avec le présentateur fournissant un référentiel GitHub avec des cahiers jupyter pour chaque point de contrôle et un dossier de poids avec le dernier modèle pour Tic-tac-toe et Connect Four, exprimant son intérêt à faire une vidéo de suivi sur Mu Zero s'il y en a s'y intéresser.


Partie 1

  • 00:00:00 Dans cette section, le didacticiel présente le concept d'AlphaZero, un algorithme d'IA qui utilise des techniques d'apprentissage automatique pour apprendre à jouer à des jeux de société complexes à des niveaux surhumains. L'algorithme a été initialement développé par DeepMind et peut obtenir des résultats impressionnants dans des jeux comme Go et même inventer de nouveaux algorithmes en mathématiques. Le didacticiel apprendra aux utilisateurs comment créer AlphaZero à partir de zéro en utilisant Python et PyTorch et l'entraîner et l'évaluer sur des jeux comme Tic-tac-toe et Connect 4. L'algorithme a deux composants, l'auto-jeu et la formation, et utilise un réseau de neurones pour produire une politique et une valeur basée sur l'état d'entrée. En répétant ce cycle, l'algorithme peut s'optimiser pour jouer le jeu mieux que les humains.

  • 00:05:00 Dans cette section, la vidéo explique la recherche arborescente de Monte Carlo, un algorithme de recherche utilisé pour l'auto-lecture et l'algorithme général. Il prend dans un état, dans ce cas, une position de bloc, et trouve l'action la plus prometteuse en construisant un arbre dans le futur. Chaque nœud stocke un état et un nombre total de victoires obtenues en jouant dans cette direction à l'avenir, ainsi que le nombre total de visites. Le ratio gagnant des enfants de chaque nœud est utilisé pour déterminer l'action la plus prometteuse, et cette information peut être utilisée dans un jeu réel comme le tic-tac-toe. Les données pour les nœuds sont générées en parcourant l'arbre dans la phase de sélection jusqu'à atteindre un nœud feuille qui peut être développé davantage.

  • 00:10:00 Dans cette section, l'orateur discute des différentes phases impliquées dans Monte Carlo Tree Search (MCTS) pour le jeu. La phase de sélection consiste à choisir un nœud enfant qui a une formule UCB plus élevée et qui a été visité relativement peu de fois. La phase d'expansion consiste à créer un nouveau nœud et à l'ajouter à l'arbre, tandis que la phase de simulation consiste à jouer au jeu de manière aléatoire jusqu'à ce qu'un nœud terminal soit atteint. Dans la phase de rétropropagation, les résultats obtenus à partir de la phase de simulation sont propagés vers le haut de l'arbre, mettant à jour le nombre de victoires et de visites pour chaque nœud.

  • 00:15:00 Dans cette section de la vidéo, l'instructeur passe en revue un exemple du processus Monte Carlo Tree Search (MCTS), en commençant par la phase de sélection où l'algorithme parcourt l'arbre pour choisir le nœud suivant. Ils passent ensuite à la phase d'expansion où un nouveau nœud est créé, suivie de la phase de simulation où des actions aléatoires sont entreprises pour atteindre un nœud terminal. L'algorithme vérifie ensuite si le jeu a été gagné, perdu ou si une règle a été violée. Depuis que le jeu a été gagné, la rétro-propagation est effectuée, mettant à jour le nombre de victoires et de visites pour les nœuds traversés pendant le processus MCTS. Le processus est réitéré avec une nouvelle phase de sélection, et une phase d'expansion, avec un nouveau nœud créé et la phase de simulation effectuée à nouveau.

  • 00:20:00 Dans cette section, le didacticiel passe en revue le processus de simulation et de rétro-propagation dans l'algorithme MCTS à l'aide d'AlphaZero. L'exemple présenté dans ce tutoriel montre une perte lors de la phase de simulation. Lors de la rétro-propagation, seul le nombre de visites est augmenté et le nombre total de victoires reste le même puisque l'IA a perdu la partie pendant la simulation. Le didacticiel passe ensuite à l'explication des processus de sélection et d'expansion de MCTS à l'aide d'AlphaZero. Le tutoriel montre comment calculer le score UCB pour chaque enfant et comment sélectionner l'enfant avec le score le plus élevé. Le processus se répète ensuite avec l'IA calculant la formule UCB pour chaque nœud jusqu'à atteindre un nœud feuille, où l'expansion a lieu.

  • 00:25:00 Dans cette section du didacticiel, l'accent est mis sur la façon dont la technique de recherche de Monte Carlo change lorsqu'elle est adaptée à l'algorithme général AlphaZero. Deux changements critiques sont apportés à l'algorithme. Tout d'abord, la politique obtenue à partir du modèle est intégrée à la phase de sélection en mettant à jour la formule UCB avec les informations sur la politique. Deuxièmement, la phase de simulation est éliminée et la valeur obtenue à partir du réseau de neurones est utilisée pour la rétropropagation, ainsi que la politique pour la phase de sélection. Avec ces changements, la technique de recherche de Monte Carlo peut s'améliorer considérablement lorsqu'il existe un modèle qui comprend comment jouer au jeu.

  • 00:30:00 Dans cette section de la vidéo "AlphaZero from Scratch - Machine Learning Tutorial", le présentateur apporte une modification mineure pour étendre les directions possibles de l'huile pendant la phase d'expansion, afin que tous les nœuds possibles puissent être créés plutôt qu'un seul nouveau nœud. Ils parcourent ensuite des itérations sur un tableau blanc pour montrer comment la recherche multicolore est adaptée. Pendant la phase d'expansion, de nouveaux nœuds sont créés en appelant le réseau de neurones pour obtenir la politique et la valeur, et en ajoutant le nombre de victoires, le nombre de visites et les informations de politique aux nœuds. Ensuite, dans l'étape de rétropropagation, la valeur est rétropropagée. Le présentateur mentionne la formule UCB et note que la probabilité de gain ne peut pas être calculée pour les nœuds avec un nombre de visites de zéro, ce qui doit être résolu pour éviter une erreur de division par zéro.

  • 00:35:00 Dans cette section du didacticiel, l'orateur explique le processus d'expansion des nœuds au cours de l'algorithme de recherche Monte Carlo. L'algorithme est utilisé pour déterminer le meilleur coup pour un état donné dans une partie. L'orateur présente un exemple de la manière dont les nœuds sont développés et dont la politique et la valeur sont calculées pour chaque nœud enfant. Le processus de rétropropagation de la valeur du nouveau nœud enfant vers le nœud racine est également expliqué. Le didacticiel explique ensuite le processus d'auto-jeu, où un jeu est joué par un algorithme contre lui-même, en commençant par un état vide, et en utilisant la recherche de Monte Carlo pour déterminer le meilleur coup en fonction de la distribution du nombre de visites des enfants de le nœud racine.

  • 00:40:00 Dans cette section, nous voyons comment entraîner le modèle à l'aide de Monte Carlo Tree Search (MCTS). L'objectif est de stocker toutes les informations acquises en jouant, y compris la distribution MCTS et la récompense pour chaque état. La récompense dépend du résultat final du jeu pour le joueur dans cet état. Une fois que nous avons collecté les données, nous les utilisons pour former le modèle à l'aide d'une fonction de perte qui minimise la différence entre la politique et la distribution MCTS et la valeur V et la récompense finale Z. Nous le faisons en utilisant la rétropropagation pour mettre à jour les poids de la modèle Thêta. Dans l'ensemble, ce processus aide le modèle à mieux comprendre comment jouer au jeu et à s'optimiser.

  • 00:45:00 Dans cette section, le didacticiel vidéo sur la création d'AlphaZero à partir de zéro à l'aide de l'apprentissage automatique commence par la création d'un Jupyter Notebook et la création d'un jeu simple de tic-tac-toe avec un nombre de lignes et de colonnes, ainsi qu'une taille d'action . Le didacticiel écrit ensuite des méthodes pour obtenir l'état initial, l'état suivant après qu'une action a été entreprise et les mouvements légaux. L'entrée d'action est codée dans un format de ligne et de colonne à utiliser dans un tableau NumPy. Le code est écrit pour être flexible pour résoudre différents environnements ou jeux de société, avec des plans d'extension à Connect Four.

  • 00:50:00 Dans cette section, le YouTuber écrit une méthode qui vérifiera si un joueur a gagné ou non après son coup. Ils commencent par obtenir la ligne et la colonne du mouvement, puis déterminent le joueur qui a effectué ce mouvement. Ensuite, ils vérifient toutes les façons possibles de gagner le jeu de tic-tac-toe, qui sont trois dans une rangée, trois dans une colonne et deux diagonales, en utilisant les méthodes np.sum et np.diac. De plus, ils vérifient s'il y a un match nul en calculant la somme des coups valides et en vérifiant si c'est zéro. Enfin, ils créent une nouvelle méthode appelée get value et la terminent qui renvoie la valeur et true si le jeu est terminé.

  • 00:55:00 Dans cette section, l'auteur écrit un jeu de tic-tac-toe et une méthode d'adversaire pour changer de joueur. Ils testent le jeu en l'exécutant et utilisent une boucle while. Dans la boucle, l'état et les mouvements valides sont imprimés et l'utilisateur est invité à saisir son mouvement. Le jeu vérifie si l'action est valide et si le jeu est terminé. Si le jeu continue, le joueur est retourné. Si la valeur est égale à un, le joueur gagne, et s'il y a eu un match nul, il sera imprimé.

Partie 2

  • 01:00:00 Dans cette section du didacticiel sur la construction d'AlphaZero à partir de zéro à l'aide de l'apprentissage automatique, l'instructeur commence par choisir le tic-tac-toe comme jeu à utiliser à des fins de démonstration. Une nouvelle classe pour la recherche multicolore (MCTS) est créée, qui s'initialise avec le jeu et les hyperparamètres comme arguments. Dans cette classe, une méthode de recherche est définie avec une boucle pour les itérations répétées des phases de sélection, d'expansion, de simulation et de rétropropagation, renvoyant finalement la distribution du nombre de visites des enfants du nœud racine. Ensuite, une classe pour un nœud est définie avec des attributs tels que l'état du jeu, le parent, l'action entreprise, les enfants et le nombre de visites. Le nœud racine est également défini avec le jeu, les hyperparamètres, l'état initial et Aucun pour les espaces réservés parent et action entreprise.

  • 01:05:00 Dans cette section, la vidéo décrit le processus de sélection des nœuds dans l'arborescence pendant le jeu dans l'algorithme AlphaZero. Le procédé pour déterminer si un nœud est complètement étendu est défini, en utilisant des informations sur le nombre de mouvements extensibles et si le nœud n'est pas terminé. Pendant la phase de sélection, l'algorithme sélectionne vers le bas tandis que le nœud est complètement développé. Pour la sélection, l'algorithme boucle sur tous les enfants du nœud, calcule le score UCB pour chaque enfant, puis choisit l'enfant avec le score UCB le plus élevé. Le score UCB est calculé à l'aide de la valeur Q, d'une constante C pour l'exploration ou l'exploitation et d'une fonction logarithmique. La valeur Q est définie comme la somme des visites de l'enfant divisée par son nombre de visites, avec des ajustements effectués pour s'assurer que la valeur Q se situe entre 0 et 1.

  • 01:10:00 Dans cette section, le didacticiel vidéo couvre le processus de sélection d'AlphaZero. Le code sélectionne un enfant qui a une valeur très négative ou faible, car choisir cela mettra l'adversaire dans une mauvaise situation. La valeur Q de l'enfant est ensuite inversée pour donner au parent une valeur Q proche de 1. De cette façon, l'arbre est travaillé de telle manière que l'enfant est en mauvaise position. La vidéo passe en revue les étapes pour implémenter ces changements dans le code et explique l'importance de vérifier si le nœud finalement sélectionné est terminal ou non. De plus, une nouvelle méthode est ajoutée pour tenir compte de la perspective du jeu dans l'attribut get value.

  • 01:15:00 Dans cette section du didacticiel sur la création d'AlphaZero à partir de zéro à l'aide de l'apprentissage automatique, l'instructeur explique comment vérifier si un nœud est terminal, rétropropager et effectuer une expansion et une simulation. En échantillonnant un déplacement extensible parmi ceux définis, un nouvel état pour un enfant est créé et un nouveau nœud est ajouté à la liste des enfants pour référence ultérieure dans la méthode select. L'instructeur discute également de l'idée d'inverser l'état pour changer de joueur plutôt que de définir explicitement les joueurs, ce qui simplifie la logique pour les jeux à un joueur et garantit que le code est valide.

  • 01:20:00 Dans cette section, l'orateur crée un nœud enfant pour le jeu Tic-Tac-Toe et explique la méthode de changement de perspective. Ils définissent le joueur comme -1 pour l'adversaire et utilisent la multiplication pour inverser la perspective. Après avoir créé le nœud enfant, ils l'ajoutent à la liste des enfants et le renvoient. Ensuite, l'orateur passe à la discussion du processus de simulation, où il utilise des déploiements pour effectuer des actions aléatoires jusqu'à ce qu'un nœud terminal soit atteint et que la valeur soit obtenue. Ils utilisent la valeur obtenue pour rétropropager les nœuds où le joueur du nœud a gagné pour être plus prometteur.

  • 01:25:00 Dans cette section de la vidéo, le présentateur poursuit la construction de l'algorithme Monte Carlo Tree Search (MCTS) pour le programme de jeu AlphaZero. Ils montrent comment utiliser l'état brut actuel pour choisir une action, obtenir l'état suivant et vérifier si cet état est terminal. Le présentateur écrit une instruction if pour différencier le joueur un ou le joueur deux recevant une valeur positive lorsque le jeu est gagné par eux, puis procède à l'écriture de la méthode de rétro-propagation pour mettre à jour la valeur et le nombre de visites pour chaque nœud. Enfin, le présentateur crée une variable qui calcule la probabilité des actions les plus prometteuses, action_props.

  • 01:30:00 Dans cette section, le didacticiel vidéo montre comment implémenter un algorithme Monte Carlo Tree Search (MCTS) autonome pour le jeu Tic-tac-toe. Le didacticiel montre comment boucler sur tous les enfants et écrire des accessoires d'action pour chaque enfant. Le nombre de visites de chaque enfant est utilisé pour les transformer en probabilités. La somme des probabilités est ensuite divisée par 1 pour les convertir en probabilités. L'objet MCTS est ensuite créé et la racine carrée de 2 est utilisée pour la valeur C dans la formule UCB. Le script est testé par rapport au jeu et l'algorithme est testé avec l'état neutre. L'arborescence MCTS est ensuite utilisée, avec la meilleure fonction enfant, pour renvoyer l'enfant qui a été visité le plus de fois.

  • 01:35:00 Dans cette section, l'architecture du réseau de neurones pour l'algorithme AlphaZero est discutée. L'état donné en entrée au réseau neuronal est une position de carte codée dans trois plans différents pour le joueur positif un, le joueur négatif un et les champs vides. Cet encodage permet de reconnaître des modèles et de comprendre comment jouer au jeu. L'architecture de réseau neuronal utilisée est un réseau résiduel avec des connexions de saut pour stocker la valeur X initiale et donner la sortie comme la somme de la sortie des blocs convolutionnels et de la valeur X initiale. Le modèle est divisé en deux parties, la tête de politique et la tête de valeur, et pour le cas du tic-tac-toe, il y a neuf neurones dans la tête de politique, un pour chaque action potentielle.

  • 01:40:00 Dans cette section, l'orateur explique l'architecture du réseau de neurones AlphaZero à partir de zéro. Le réseau a deux "têtes", une pour la politique et une pour la valeur. La tête de politique a neuf neurones, et la sortie est appliquée avec une fonction soft-max pour la transformer en une distribution de probabilités indiquant à quel point une certaine action est prometteuse. La tête de valeur n'a qu'un seul neurone et utilise la fonction d'activation 10h pour écraser toutes les valeurs potentielles dans la plage de moins un à positif, donnant une estimation de la qualité de l'état actuel. Le code est construit dans un cahier Jupyter à l'aide du cadre d'apprentissage en profondeur PyTorch. Le modèle comprend un bloc de départ et un squelette de blocs résiduels convolutifs, et chaque bloc contient une couche convolutive suivie de deux couches de normalisation par lots et d'une fonction d'activation ReLU.

  • 01:45:00 Dans cette section, l'orateur discute de la création du bloc de départ pour le modèle AlphaZero, qui implique la création d'un bloc conf 2D, d'un bloc de norme de lot et d'un bloc de valeur. Ils ont également mis en place une colonne vertébrale pour le modèle à l'aide d'un tableau de blocs de repos et créé une classe pour les blocs de repos. Les blocs de repos se composent d'un bloc conf, d'un bloc de norme de lot et d'un autre bloc conf, qui sont utilisés pour mettre à jour l'entrée à l'aide de connexions ignorées. La méthode directe est définie pour alimenter l'entrée via les blocs conf et ajouter la sortie résultante au résidu.

  • 01:50:00 Dans cette section, l'orateur passe en revue le code de création d'un réseau résiduel (ResNet) pour l'algorithme AlphaZero à partir de zéro. Ils montrent comment créer l'épine dorsale du ResNet en bouclant sur les blocs résiduels pour le nombre spécifié de couches cachées. Ils créent ensuite l'en-tête de stratégie et l'en-tête de valeur en utilisant nn.sequential et en définissant les couches dans la séquence. Enfin, l'orateur montre comment définir la méthode directe pour la classe ResNet en faisant passer l'entrée par le bloc de départ, en bouclant sur les blocs résiduels et en retournant la somme à la fin.

  • 01:55:00 Dans cette section, l'orateur explique comment utiliser le modèle AlphaZero pour obtenir une politique et une valeur pour un état donné en Tic-Tac-Toe. Il écrit du code pour obtenir la politique et la valeur en passant un état de tenseur à travers le modèle, puis aplatit la politique et obtient l'élément de valeur. Il explique également l'importance d'encoder l'état dans le bon format et d'ajouter une dimension de lot au tenseur.

Partie 3

  • 02:00:00 Dans cette section, l'orateur montre comment convertir un tenseur de politique en flottant à l'aide de la méthode d'élément de point, puis applique la fonction softmax pour choisir les actions avec la probabilité la plus élevée. L'orateur visualise ensuite la distribution de la politique à l'aide de Matplotlib pour montrer où jouer. Ensuite, l'orateur définit une graine pour Torch pour assurer la reproductibilité et met à jour l'algorithme MCTS en donnant une entrée de modèle ResNet pour prédire une valeur et une politique basée sur l'état du nœud feuille. La partie simulation est supprimée et la valeur obtenue à partir du modèle est utilisée pour la rétropropagation.

  • 02:05:00 Dans cette section de la vidéo, le présentateur montre comment coder l'état du nœud d'un jeu de tic-tac-toe et le transformer en tenseur à l'aide de torch.tensor afin de le donner comme entrée au modèle. La politique, qui consiste en logits, doit être transformée en une distribution de probabilités à l'aide de torch.softmax. Le présentateur explique également comment masquer les mouvements illégaux à l'aide de la politique et des mouvements valides, et comment redimensionner les politiques afin qu'elles représentent des pourcentages. La valeur est extraite de la valeur head en appelant value.item(). De plus, le présentateur montre comment utiliser la politique d'expansion et la valeur de rétropropagation dans le cas où le nœud est un nœud feuille.

  • 02:10:00 Dans cette section du didacticiel vidéo sur la création d'AlphaZero à partir de zéro à l'aide de l'apprentissage automatique, l'intervenant explique comment mettre à jour les méthodes d'expansion et de formule UCB. La méthode de développement est mise à jour pour se développer immédiatement dans toutes les directions possibles et pour stocker la probabilité à l'intérieur de l'objet nœud pour une utilisation ultérieure dans la formule UCB lors de la sélection. La nouvelle formule UCB utilise une formule différente de celle de la recherche multicolore standard et l'orateur montre comment supprimer le math.log et en ajouter un au nombre de visites de l'enfant. Ces mises à jour permettent l'utilisation de la méthode UCB sur un enfant qui n'a pas été visité auparavant.

  • 02:15:00 Dans cette section, l'instructeur met à jour le MCTS avec une politique de droit de l'enfant pour la sélection des mouvements et le teste en exécutant un jeu. Ils passent ensuite à la construction de l'algorithme AlphaZero principal en définissant une classe AlphaZero qui prend en compte un modèle, un optimiseur, un jeu et d'autres arguments. Ils définissent également les méthodes d'auto-jeu et d'entraînement et créent une boucle qui itère à travers plusieurs cycles de jeu, de collecte de données, d'entraînement du modèle et de test à nouveau. L'instructeur crée également une classe de mémoire pour stocker des données d'entraînement et des boucles sur chaque jeu d'auto-jeu dans le cycle d'entraînement.

  • 02:20:00 Dans cette section du didacticiel vidéo, le présentateur passe en revue le code de la boucle d'auto-jeu et d'entraînement pour AlphaZero. Ils expliquent comment étendre les nouvelles données obtenues à partir de la méthode de lecture automatique dans la liste de mémoire et comment changer le mode du modèle en mode d'évaluation pour éviter les boutons de lot pendant la lecture. La boucle de formation est également détaillée avec la façon d'appeler la méthode d'entraînement et de stocker les poids du modèle. Enfin, la méthode d'auto-jeu est expliquée, y compris la définition d'une nouvelle mémoire, la création d'un état initial et le bouclage du gameplay tout en vérifiant les états terminaux et en renvoyant les données à la mémoire au format Tuple.

  • 02:25:00 Dans cette section, le didacticiel vidéo explique comment stocker l'état neutre, les accessoires d'action et les informations sur les joueurs en mémoire afin de les utiliser ultérieurement pour collecter des données d'entraînement. Le didacticiel montre comment échantillonner une action à partir des accessoires d'action à l'aide de la fonction random.choice de NumPy, puis jouer en fonction de cette action. La vidéo explique également comment vérifier si l'état est terminé ou non, et si c'est le cas, comment renvoyer le résultat final pour chaque instance dans laquelle un joueur a joué. Enfin, le didacticiel montre comment ajouter l'état neutre, les accessoires d'action et le résultat à la variable de mémoire et comment récupérer ces données ultérieurement pour la formation.

  • 02:30:00 Dans cette section du didacticiel "AlphaZero from Scratch", le code est mis à jour pour le rendre plus général en remplaçant les valeurs négatives par des valeurs perçues par l'adversaire pour différents jeux. La visualisation des boucles est améliorée en utilisant le package tqdm et les chemins de progression. L'implémentation d'AlphaZero est testée en créant une instance de la classe avec un modèle resnet, un optimiseur Adam et des arguments spécifiques. Le jeu Tic-Tac-Toe est utilisé comme exemple avec 4 blocs de repos et une dimension cachée de 64. La constante d'exploration, le nombre de recherches, les itérations, les jeux d'auto-jeu et les époques sont définis et le modèle est enregistré pour une utilisation future. .

  • 02:35:00 Dans cette section du didacticiel, la méthode de formation est implémentée dans l'implémentation AlphaZero en mélangeant les données de formation et en boucle sur toute la mémoire par lots pour échantillonner un lot d'échantillons différents pour la formation. Les états, les accessoires MCTS et les récompenses finales sont obtenus à partir de l'échantillon en appelant la méthode zip pour transposer la liste des tuples en listes de tableaux MP. Celles-ci sont ensuite remplacées par des tableaux NP et les valeurs cibles sont remodelées de sorte que chaque valeur se trouve dans son propre sous-tableau pour une meilleure comparaison avec la sortie du modèle.

  • 02:40:00 Dans cette section du didacticiel, le créateur de la vidéo explique comment transformer l'état, les cibles de politique et les cibles de valeur en tenseurs, à l'aide de torch.float32, afin d'obtenir la politique de sortie et la valeur de sortie du modèle en lui permettant de prédire l'état. Ils définissent ensuite la perte de police et la perte de valeur, qu'ils utilisent pour calculer la somme des deux pertes afin de minimiser la perte globale par rétropropagation. Ils démontrent ensuite le processus de formation en utilisant une taille de lot par défaut de 64, avec des barres de progression qui montrent les itérations du processus de formation. Après avoir entraîné le modèle pendant 3 itérations, ils chargent le modèle statique pour tester ce que le réseau de neurones a appris sur le jeu.

  • 02:45:00 Dans cette section du didacticiel vidéo, le présentateur montre comment utiliser le modèle de réseau neuronal pour jouer à un jeu et tester sa capacité à prédire où effectuer des mouvements. En exécutant une simulation dans la recherche MCTS, le modèle est capable de fournir une distribution de l'endroit où jouer et une prédiction de valeur pour l'état donné. Le présentateur ajoute également la prise en charge du GPU à l'algorithme pour le rendre plus rapide pendant la formation et les tests. Le présentateur montre comment déclarer le périphérique et le passer au modèle en tant qu'argument afin d'utiliser un GPU Nvidia si disponible. De plus, le modèle est déplacé vers l'appareil pendant l'auto-jeu et l'entraînement pour optimiser la vitesse.

  • 02:50:00 Dans cette section, l'orateur discute de plusieurs ajustements qui peuvent être ajoutés à AlphaZero pour améliorer ses performances. Tout d'abord, ils ajoutent la décroissance du poids et la prise en charge du GPU au modèle. Ensuite, ils introduisent le concept de température, qui permet une distribution plus flexible des probabilités lors de l'échantillonnage des actions. Une température plus élevée conduit à plus d'exploration, tandis qu'une température plus basse conduit à plus d'exploitation. Enfin, l'orateur suggère d'ajouter du bruit à la politique initiale donnée au nœud racine lors de la recherche de Monte Carlo. Ces ajustements peuvent améliorer considérablement les résultats de l'algorithme AlphaZero.

  • 02:55:00 Dans cette section du didacticiel sur la création d'AlphaZero à partir de zéro grâce à l'apprentissage automatique, l'accent est mis sur l'ajout de bruit au nœud racine pour incorporer le caractère aléatoire et explorer davantage tout en garantissant qu'aucune action prometteuse n'est manquée. Ceci est accompli en obtenant d'abord une stratégie et une valeur en appelant save.model et en utilisant torch.tensor et le périphérique du modèle pour l'état. La politique est ensuite modifiée à l'aide de softmax et multipliée par des mouvements valides pour masquer les mouvements illégaux. Le bruit aléatoire de Dirichlet est ajouté à la politique en multipliant l'ancienne politique par un coefficient inférieur à un et en ajoutant ce coefficient par un autre coefficient multiplié par le bruit aléatoire. De cette façon, la politique est modifiée pour permettre plus d'exploration, en particulier au début lorsque le modèle ne connaît pas grand-chose au jeu.

Partie 4

  • 03:00:00 Dans cette section, le didacticiel vidéo se concentre sur l'ajout d'exploration à la stratégie à l'aide d'un facteur de bruit. En modifiant la politique, le bot peut prioriser les actions qui n'ont pas été sélectionnées souvent en augmentant l'exploration. La vidéo explique comment ajuster l'équation pour la politique et utiliser la valeur Alpha comme entrée de la fonction dirichlet de points aléatoires NP dot, qui modifie l'apparence de la distribution aléatoire en fonction du nombre d'actions différentes dans le jeu, de sorte que l'Alpha pourrait changer en fonction de l'environnement. La politique d'expansion du nœud racine est également décrite, garantissant que le nœud est rétropropagé (nombre de visites défini sur un) lors de l'expansion afin que le précédent soit d'accord avec la sélection de l'enfant au début de la recherche de Monte Carlo.

  • 03:05:00 Dans cette section du didacticiel, l'instructeur ajoute la prise en charge du CPU et du GPU pour la formation de modèles sur des jeux plus complexes comme Connect Four. Ils définissent un périphérique à l'aide de torch.device() et vérifient si torch.cuda.is_available() pour décider d'utiliser un processeur ou un périphérique CUDA. Ils ajoutent également le périphérique à la pile d'états du tenseur et au chargement du fichier statique. L'instructeur entraîne et teste le modèle sur Tic-Tac-Toe et montre que le modèle a appris à reconnaître les mouvements illégaux. Ils définissent ensuite le jeu de Connect Four avec le nombre de lignes, le nombre de colonnes et la taille de l'action.

  • 03:10:00 Dans cette section, le didacticiel vidéo décrit la mise à jour du code source pour créer un jeu Connect Four. Le jeu est initialisé avec un tableau vide et un point enregistré dans une rangée variable de quatre pour le nombre de pierres nécessaires pour gagner. La méthode get next state est mise à jour pour récupérer une ligne en regardant une colonne donnée, puis en trouvant le champ vide le plus profond dans cette colonne pour placer une pierre. La méthode d'obtention de mouvements valides est mise à jour pour vérifier la ligne du haut pour les mouvements disponibles. La méthode de vérification d'une victoire est copiée du jeu Tic Tac Toe avec des ajustements pour vérifier les deux diagonales, et la méthode d'obtention de l'état suivant est mise à jour pour utiliser la variable d'action au lieu de la variable de la colonne. Le code mis à jour est testé pour s'assurer qu'il fonctionne.

  • 03:15:00 Dans cette rubrique, l'intervenant remplace Tic-tac-toe par le jeu Connect Four et fixe le nombre de recherches à 20 afin de valider. La taille du modèle est également modifiée à 9 pour le nombre de blocs de repos et à 128 pour la dimension cachée pour permettre au modèle d'apprendre mieux. L'efficacité de la formation est alors augmentée afin qu'elle prenne moins de temps pour les environnements complexes. Le modèle est ensuite formé pour une itération, qui prend plusieurs heures. L'ensemble d'évaluation est ensuite utilisé pour tester si le modèle a appris quelque chose ou non.

  • 03:20:00 Dans cette section du didacticiel, l'accent est mis sur l'augmentation de l'efficacité de l'implémentation d'AlphaZero grâce à la parallélisation. Le plan est de paralléliser autant que possible la mise en œuvre en regroupant les états pour obtenir des prédictions parallèles pour la politique et la valeur. De cette façon, le nombre de fois que le modèle est appelé est considérablement réduit, utilisant ainsi pleinement les capacités du GPU et augmentant la vitesse. Le didacticiel explique comment implémenter la version parallélisée à l'aide de Python sans utiliser de packages tels que Ray, et une nouvelle classe appelée "AlphaZeroParallel" et "MCTSParallel" est créée en copiant les classes d'origine.

  • 03:25:00 Dans cette section, l'orateur discute de la création de deux nouvelles classes en Python : `SPG` pour stocker des informations sur les jeux auto-jouables, et `ParallelMCD`, qui implémente les méthodes `save_play` et `search` en utilisant la nouvelle classe `SPG`. La classe `SPG` stocke l'état initial du jeu, une liste de mémoire vide et les variables `root` et `note` définies sur `None`. La classe `ParallelMCD` met également à jour la méthode `set_play` pour créer une liste d'instances `SPG` en utilisant le `game` et le nombre de jeux parallèles comme entrées. La boucle `while` exécute ensuite la méthode `set_play` jusqu'à ce que tous les jeux auto-joués soient terminés, ce qui permet une parallélisation efficace.

  • 03:30:00 Dans cette section, l'orateur explique comment obtenir une liste de tous les états et les transformer en un tableau numérique pour augmenter l'efficacité. Ils montrent également comment changer la perspective pour tous les états en utilisant un appel de fonction pour multiplier les valeurs par moins un pour le joueur réglé sur moins un. Ensuite, l'orateur montre comment transmettre les états neutres à la recherche de Monte Carlo, mettre à jour la méthode de recherche de recherche de Monte Carlo et obtenir des politiques sur la vidéo en utilisant tous les états de lot. Enfin, ils expliquent comment permuter l'ordre de l'état encodé pour travailler avec plusieurs états et pas un seul lors de l'appel de la méthode obtenir l'état encodé, et comment copier ce processus dans le jeu de tic-tac-toe.

  • 03:35:00 cette boucle dans un tableau numpy et en utilisant la vectorisation de numpy à la place. Ensuite, nous pouvons appliquer le modèle à tous les états du tableau numpy sans avoir à parcourir chacun d'eux, ce qui fait gagner beaucoup de temps. Nous pouvons ensuite remodeler la sortie dans sa forme d'origine et poursuivre le reste de la recherche MCTS comme d'habitude. Enfin, nous mettons à jour les statistiques pour chaque jeu en self-play et renvoyons le nœud racine pour l'action choisie. Ceci termine la mise en œuvre de la recherche MCTS avec le réseau de politique et de valeur utilisant l'algorithme AlphaZero.

  • 03:40:00 Dans cette section de la vidéo, l'instructeur apporte quelques modifications au code pour stocker tous les nœuds extensibles au lieu des classes SPG. Ensuite, l'accent est mis sur la recherche des jeux de jeu sécurisés extensibles ou non en créant une liste pour les stocker et en obtenant l'index de cartographie pour chaque jeu de jeu sécurisé. L'instructeur vérifie s'il existe des jeux extensibles et s'il y en a, les états sont empilés et encodés afin que la politique et la valeur puissent être obtenues ultérieurement.

  • 03:45:00 Dans cette section du didacticiel, l'instructeur explique l'implémentation du code pour l'algorithme Monte Carlo Tree Search pour AlphaZero. Ils montrent comment utiliser les états extensibles et n'ont pas besoin de décompresser, de presser ou d'ajouter du bruit, ainsi que de créer un index pour obtenir la politique et les index de mappage pour allouer des politiques dans l'index de jeu en auto-apprentissage. Les nœuds sont développés à l'aide de la politique SPG, rétropropagés à l'aide de la valeur de point SPG, puis les accessoires d'action sont obtenus au lieu d'utiliser la méthode OSF Planet. L'instructeur copie le code de parallélisation et apporte des modifications pour travailler avec les accessoires d'action au lieu de la méthode OSF Planet dans le cadre de la mise en œuvre de l'algorithme Monte Carlo Tree Search pour AlphaZero.

  • 03:50:00 Dans cette section, le didacticiel vidéo se concentre sur la mise à jour du code pour la mise en œuvre parallèle de la recherche MCTS. L'instructeur insiste sur l'importance de supprimer les jeux auto-jouables de la liste s'ils sont terminaux et de mettre à jour l'état en appelant `spg.state` au lieu de `SPG class`. Le code est également modifié pour ajouter la mémoire à la mémoire régionale générale et retourner le joueur une fois la boucle sur tous les jeux auto-joués terminée. L'objectif est de créer une boucle fluide qui fonctionne efficacement et supprime le cercle de la liste des jeux auto-joués au moment opportun.

  • 03:55:00 Dans cette section, l'intervenant discute de la formation d'un modèle pour Connect Four à l'aide de l'implémentation fs0 parallélisée. Le modèle est formé pour huit itérations et évalue les résultats à l'aide d'une carte Connect Four. L'orateur note que le nombre de recherches est assez faible par rapport aux autres algorithmes de recherche utilisés dans la pratique, mais les résultats sont satisfaisants. Ils jouent contre le modèle et font quelques mouvements, et le modèle répond en conséquence. Dans l'ensemble, la formation a duré quelques heures, mais le modèle final a une bonne compréhension de la façon de jouer au jeu.
  • 04:00:00 Dans cette section du didacticiel, le présentateur montre comment créer un environnement Connect Four à l'aide du package d'environnements Kegel et jouer au jeu avec deux agents. Les agents utilisent l'algorithme de recherche MCTS pour faire des prédictions basées sur un modèle AlphaZero entraîné. Le présentateur apporte également quelques corrections mineures au code, telles que l'incorporation des accessoires d'action de température dans fs03 et l'utilisation de save.optimizer au lieu de l'optimiseur ordinaire. De plus, le présentateur définit la température à zéro pour toujours obtenir l'arc Max de la politique et définit l'epsilon de réflexion sur un pour ajouter un peu d'aléatoire au jeu. Enfin, le présentateur définit le joueur un comme un agent calculé qui utilise l'algorithme MCTS pour faire des prédictions basées sur le modèle formé.

  • 04:05:00 Dans cette section de "AlphaZero from Scratch - Machine Learning Tutorial", l'orateur modélise le jeu et les arguments en écrivant des codes pour le joueur 1 et le joueur 2, ce qui offre plus de flexibilité pour essayer différents joueurs. Ils dirigent ensuite la cellule et obtiennent des visualisations des modèles jouant les uns contre les autres, ce qui a abouti à un match nul car le modèle peut défendre toutes les attaques. Ils ont également montré comment modifier le code de Tic-tac-toe en changeant le jeu et les arguments et en mettant à jour le chemin, ce qui a conduit les modèles à jouer les uns contre les autres pour un nouveau match nul. Le didacticiel a été terminé et l'orateur a fourni un référentiel GitHub avec des blocs-notes jupyter pour chaque point de contrôle et un dossier de poids avec le dernier modèle pour Tic-tac-toe et Connect Four. L'orateur a également exprimé son intérêt à faire une vidéo de suivi sur Mu Zero s'il y a un intérêt.
AlphaZero from Scratch – Machine Learning Tutorial
AlphaZero from Scratch – Machine Learning Tutorial
  • 2023.02.28
  • www.youtube.com
In this machine learning course, you will learn how to build AlphaZero from scratch. AlphaZero is a game-playing algorithm that uses artificial intelligence ...
 

Google Panics Over ChatGPT [Les guerres de l'IA ont commencé]



Google Panics Over ChatGPT [Les guerres de l'IA ont commencé]

La vidéo explique comment Google se prépare à ce que les chatbots deviennent plus puissants et comment cela pourrait avoir un impact sur leur modèle commercial. Microsoft travaillerait sur un chatbot qui permettrait aux utilisateurs de communiquer avec Bing d'une manière plus humaine, et cette fonctionnalité sera bénéfique pour les recherches où les images n'existent pas actuellement. Microsoft a déclaré qu'il travaillait en étroite collaboration avec l'IA ouverte afin que cette fonctionnalité ne génère pas de visuels explicites ou inappropriés. Il semble donc que Bing fasse l'objet d'une refonte majeure avec les fonctionnalités de chat GPT et Dali 2 intégrées.

  • 00:00:00 Google, en 1998, louait une maison à côté d'une autre maison. La table de ping-pong était dans l'autre maison.

  • 00:05:00 La vidéo explique à quel point Google s'inquiète du potentiel de croissance des chatbots et comment cela pourrait nuire à leur modèle commercial. Google aurait travaillé sur un plan pour lutter contre cela, et leurs co-fondateurs, Larry Page et Sergey Brin, ont été invités à une réunion pour discuter de la question.

  • 00:10:00 Dans cette vidéo, Google est vu comme étant en concurrence avec Microsoft, puisque ce dernier investit 10 milliards de dollars supplémentaires dans l'IA ouverte. Cependant, cela n'est peut-être pas dans le meilleur intérêt du mouvement de l'IA ouverte, car cela peut entraîner la mort de l'IA avant qu'elle n'ait vraiment la chance de démarrer. Google travaillerait également sur 20 projets d'IA, dont certains sont similaires au chat GPT, ce qui a conduit Microsoft à investir 300 millions dans l'entreprise. On ne sait pas comment cela se déroulera, mais il semble que Google sera obligé de mettre les problèmes de sécurité au second plan et de libérer ses produits d'IA.

  • 00:15:00 La vidéo parle des rumeurs selon lesquelles Microsoft travaille sur un chatbot qui permettrait aux utilisateurs de communiquer avec Bing d'une manière plus humaine. Il mentionne également que cette fonctionnalité sera bénéfique pour les recherches où les images n'existent pas actuellement. Enfin, la vidéo explique comment cette intégration permettra aux utilisateurs de saisir du texte et de générer des images, ce qui sera particulièrement bénéfique pour les recherches où les images n'existent pas actuellement. Microsoft a déclaré qu'il travaillait en étroite collaboration avec l'IA ouverte afin que cette fonctionnalité ne génère pas de visuels explicites ou inappropriés. Il semble donc que Bing fasse l'objet d'une refonte majeure avec les fonctionnalités de chat GPT et Dali 2 intégrées. Il va certainement attirer l'attention de tout le monde lors de son lancement.
Google Panics Over ChatGPT [The AI Wars Have Begun]
Google Panics Over ChatGPT [The AI Wars Have Begun]
  • 2023.02.06
  • www.youtube.com
Google's newly announced BARD AI system is mentioned at 12:25In this episode we see why Google has called a code red because of ChatGPT but why? Why is ChatG...
 

CONFÉRENCE JENSEN HUANG (NVIDIA) et ILYA SUTSKEVER (OPEN AI).AI AUJOURD'HUI ET VISION DU FUTUR



CONFÉRENCE JENSEN HUANG (NVIDIA) et ILYA SUTSKEVER (OPEN AI).AI AUJOURD'HUI ET VISION DU FUTUR

Le PDG de NVIDIA, Jensen Huang, et le co-fondateur d'OpenAI, Ilya Sutskever, discutent des origines et des avancées de l'intelligence artificielle (IA) lors d'une conférence. Sutskever explique comment l'apprentissage en profondeur est devenu clair pour lui, comment l'apprentissage non supervisé par compression a conduit à la découverte d'un neurone correspondant au sentiment, et comment la pré-formation d'un réseau neuronal a conduit à instruire et à affiner avec la collaboration humaine et IA. Ils discutent également des avancées et des limites du GPT-4 et de l'apprentissage multimodal, ainsi que du rôle de la génération de données synthétiques et de l'amélioration de la fiabilité des systèmes d'IA. Bien qu'il s'agisse du même concept d'il y a 20 ans, ils s'émerveillent tous les deux des progrès réalisés dans la recherche sur l'IA.

  • 00:00:00 Dans cette section, Jensen Huang, le PDG de NVIDIA, fait l'éloge d'Ilia Sutskever, le co-fondateur d'OpenAI, pour ses réalisations dans le domaine de l'intelligence artificielle. Il interroge Ilia sur son intuition concernant l'apprentissage en profondeur et comment il savait que cela allait fonctionner. Ilia explique qu'il s'intéressait à l'intelligence artificielle en raison de sa curiosité pour la conscience et son impact, et il semblait que les progrès de l'IA aideraient vraiment à cela. Il ajoute qu'en 2002-2003, les ordinateurs ne pouvaient rien apprendre et qu'il n'était même pas clair si c'était possible en théorie, mais trouver Jeff Hinton, qui travaillait dans les réseaux de neurones, a donné de l'espoir à Ilia.

  • 00:05:00 Dans cette section, Sutskever discute des origines d'AlexNet et comment l'idée d'utiliser l'apprentissage supervisé pour construire un réseau de neurones profond et étendu lui est apparue clairement. Il explique que le domaine de l'apprentissage automatique ne s'intéressait pas aux réseaux de neurones à l'époque et utilisait d'autres méthodes qui étaient théoriquement élégantes mais ne pouvaient pas représenter une bonne solution. Sutskever mentionne également la méthode d'optimisation révolutionnaire d'un autre étudiant diplômé qui a prouvé que de grands réseaux de neurones pouvaient être entraînés. Il était alors clair que si un grand réseau de neurones convolutifs était formé sur l'ensemble de données ImageNet, il devait réussir. Sutskever parle également de l'apparition du GPU dans le laboratoire et de la façon dont Alex Krizhevsky a pu programmer des noyaux convolutionnels rapides et former l'ensemble de données du réseau neuronal, ce qui a permis de battre le record d'une vision par ordinateur d'une si grande marge. L'importance de cette percée était que l'ensemble de données était si évidemment difficile et hors de portée des techniques classiques.

  • 00:10:00 Dans cette section, Jensen Huang et Ilya Sutskever discutent des premiers jours d'OpenAI et de leurs idées initiales sur la façon d'aborder l'intelligence. En 2015-2016, le domaine en était encore à ses balbutiements, avec beaucoup moins de chercheurs et beaucoup moins compris. La première grande idée d'OpenAI était le concept d'apprentissage non supervisé par compression, qui était un problème non résolu dans l'apprentissage automatique à l'époque. Sutskever pensait qu'une très bonne compression des données conduirait à un apprentissage non supervisé, permettant l'extraction de tous les secrets cachés qui s'y trouvent. Cela a conduit à plusieurs travaux chez OpenAI, dont le neurone sentiment, qui a découvert un neurone à l'intérieur d'un LSTM qui correspondait à son sentiment.

  • 00:15:00 Dans cette section, Ilya Sutskever discute du concept d'apprentissage non supervisé et de l'importance de prédire le jeton suivant dans une séquence comme objectif valable pour apprendre une représentation. Il mentionne que la partie la plus difficile de l'apprentissage supervisé n'est pas de savoir où obtenir les données, mais plutôt pourquoi s'embêter à former des réseaux de neurones pour prédire le prochain jeton. La mise à l'échelle pour l'amélioration des performances était également un facteur important dans leur travail, et l'apprentissage par renforcement était un autre domaine d'intérêt crucial, en particulier lors de la formation d'un agent d'apprentissage par renforcement pour jouer au jeu de stratégie en temps réel, DotA 2, afin de rivaliser avec les meilleurs joueurs. dans le monde.

  • 00:20:00 Dans cette section, Ilya Sutskever explique le processus de pré-formation d'un grand réseau de neurones pour prédire le mot suivant dans différents textes d'Internet, ce qui conduit à l'apprentissage d'une représentation abstraite utilisable compressée du monde. Cependant, la pré-formation ne précise pas le comportement souhaité que nous attendons du réseau de neurones, et c'est là qu'intervient la deuxième étape d'ajustement et d'apprentissage par renforcement de la collaboration humaine et IA. La deuxième étape est essentielle car c'est là que nous communiquons avec le réseau neuronal et lui indiquons ce qu'il faut faire et ne pas faire.

  • 00:25:00 Dans cette section, les conférenciers discutent des avancées de la technologie de l'IA telles que GPT-4, qui est devenue l'application à la croissance la plus rapide de l'histoire de l'humanité quelques mois seulement après son lancement. GPT-4 est une amélioration par rapport à Chat GPT, avec une meilleure précision dans la prédiction du mot suivant dans le texte, ce qui améliore la compréhension du texte. En recherchant et en innovant constamment la fidélité, l'IA est devenue plus fiable et précise dans le suivi des instructions prévues. De plus, la conversation peut affiner l'ambiguïté jusqu'à ce que l'IA comprenne l'intention de l'utilisateur. En outre, l'amélioration des performances de GPT-4 dans de nombreux domaines tels que les scores SAT, les scores GRE et les examens du barreau, entre autres, est remarquable et digne de mention.

  • 00:30:00 Dans cette section, les intervenants discutent des limites actuelles et du potentiel d'amélioration des capacités de raisonnement des réseaux de neurones, en particulier du GPT4. Alors que les réseaux de neurones démontrent certaines capacités de raisonnement, la fiabilité reste un obstacle majeur à leur utilité. Les conférenciers suggèrent que demander au réseau de neurones de réfléchir à voix haute et introduire des plans de recherche ambitieux pourrait améliorer la fiabilité et la précision. Actuellement, GPT4 n'a pas de capacité de récupération intégrée, mais il excelle en tant que prédicteur du mot suivant et peut consommer des images.

  • 00:35:00 Dans cette section, Jensen Huang et Ilya Sutskever discutent de l'apprentissage multimodal et de son importance. Ils expliquent que l'apprentissage multimodal, qui consiste à apprendre à la fois du texte et des images, est utile aux réseaux de neurones pour mieux comprendre le monde, car les humains sont des animaux visuels. L'apprentissage multimodal permet également aux réseaux de neurones d'en savoir plus sur le monde en fournissant des sources d'informations supplémentaires. Ils soutiennent que s'il est important de voir pour comprendre des choses comme la couleur, les réseaux de neurones textuels peuvent toujours apprendre des informations difficiles à apprendre à partir du texte seul en étant exposés à des milliards de mots.

  • 00:40:00 Dans cette section, Sutskever et Huang discutent de l'importance des différentes sources de données dans l'apprentissage de l'IA, y compris les visuels et l'audio. Ils abordent l'idée de multimodalité et la façon dont la combinaison de différentes sources de données peut être extrêmement utile pour découvrir le monde et communiquer visuellement. Sutskever mentionne également un article qui suggère que le monde finira par manquer de jetons pour s'entraîner et comment l'IA générant ses propres données pourrait être une solution possible à ce problème.

  • 00:45:00 Dans cette section, les conférenciers discutent du rôle de la génération de données synthétiques dans la formation et l'auto-apprentissage de l'IA. S'il ne faut pas sous-estimer la disponibilité des données existantes, la possibilité que l'IA génère ses propres données pour l'apprentissage et la résolution de problèmes est une possibilité future. Dans un avenir proche, l'accent sera mis sur l'amélioration de la fiabilité des systèmes d'IA, afin qu'ils puissent être fiables pour la prise de décision importante. Le potentiel des modèles d'IA, tels que GPT-4, pour résoudre de manière fiable des problèmes mathématiques et produire du contenu créatif est passionnant, mais il reste encore du travail à faire pour améliorer leur précision et leur clarté dans la compréhension et la réponse à l'intention de l'utilisateur.

  • 00:50:00 Dans cette section, Jensen Huang et Ilya Sutskever discutent du succès surprenant des réseaux de neurones dans l'IA aujourd'hui. Bien qu'il s'agisse du même concept de réseau de neurones qu'il y a 20 ans, il est devenu plus sérieux et intense car il est entraîné sur des ensembles de données plus volumineux de différentes manières avec le même algorithme d'entraînement fondamental. Les travaux fondateurs de Sutskever sur Alexnet et GPT à Open AI sont des réalisations remarquables, et Huang admire sa capacité à décomposer le problème et à décrire l'état de l'art des grands modèles de langage. Les deux se rattrapent et s'émerveillent des progrès réalisés dans le domaine de l'IA.
CONFERENCE JENSEN HUANG (NVIDIA) and ILYA SUTSKEVER (OPEN AI).AI TODAY AND VISION OF THE FUTURE
CONFERENCE JENSEN HUANG (NVIDIA) and ILYA SUTSKEVER (OPEN AI).AI TODAY AND VISION OF THE FUTURE
  • 2023.03.23
  • www.youtube.com
#chatgpt,#ai#chatbot,#openai,#nvidia,#artificialintelligence,@ilyasutskever
 

Il est temps de prêter attention à l'IA (ChatGPT et au-delà)



Il est temps de prêter attention à l'IA (ChatGPT et au-delà)

La vidéo traite du développement de l'intelligence artificielle (IA) et de la façon dont elle change notre façon de travailler et de vivre. Certaines personnes sont enthousiasmées par le potentiel de l'IA, tandis que d'autres s'inquiètent de ses implications potentielles. Le conférencier fournit également un bref résumé d'un récent épisode de podcast.

  • 00:00:00 ChatGPT est un programme d'intelligence artificielle sorti en 2022, capable de générer du texte qui tente de prédire quel sera le prochain mot d'une phrase en fonction de ce qu'il a vu dans son énorme ensemble de données Internet. ChatGPT est une version améliorée de gpt3, que l'IA ouverte appelle GPT 3.5. La principale différence entre GPT 3.5 et GPT est qu'ils ont ajouté un retour humain pendant le processus de formation, appelé apprentissage par renforcement supervisé. Essentiellement, pendant la formation, plusieurs versions des réponses de l'IA ont été classées par qualité du meilleur au pire par les humains et l'IA est récompensée numériquement lorsqu'elle améliore le modèle. ChatGPT est utilisé par les entrepreneurs en herbe pour se demander quelle est la prochaine grande chose, car le PDG de l'IA ouverte a des idées intéressantes sur l'avenir de toute l'industrie.

  • 00:05:00 ChatGPT est une startup conçue pour permettre aux clients de déposer plus facilement des plaintes, d'annuler des abonnements, etc. De plus, ChatGPT peut se forger une opinion sur des sujets très spécifiques, ce qu'aucun moteur de recherche ne peut faire. On dit également que ChatGPT est doué pour le codage, ce qui n'est généralement pas considéré comme une compétence pouvant être améliorée avec l'IA. Bien que ChatGPT ait de nombreuses applications utiles, il en est encore à ses débuts et a encore un long chemin à parcourir avant de pouvoir être considéré comme une technologie véritablement révolutionnaire. Néanmoins, les implications potentielles de ChatGPT valent la peine d'être prises en compte, et il est probable qu'elles ne deviendront que plus importantes à l'avenir.

  • 00:10:00 ChatGPT est un chatbot capable de "parler" d'une manière humaine et a été utilisé pour remettre en question les limites éthiques fixées par l'IA ouverte. Il est à noter que ChatGPT peut être imprévisible et instable, ce qui le rend difficile à contrôler. Il est également à noter que ChatGPT a le potentiel de réduire le nombre de travailleurs nécessaires dans plusieurs domaines.

  • 00:15:00 L'auteur discute des impacts potentiels de l'automatisation sur la main-d'œuvre et de la manière de s'y préparer. Il explique également comment l'IA progresse rapidement, avec quelques prévisions à court terme qui devraient être gardées à l'esprit par les entrepreneurs.

  • 00:20:00 ChatGPT est une nouvelle plateforme technologique qui servira à créer des modèles du futur, comme des modèles de médecine ou d'ordinateurs. Il y aura un nouvel ensemble de startups qui utiliseront la plate-forme pour ajuster les grands modèles existants afin de créer des modèles spécifiques à une industrie ou à un cas d'utilisation.

  • 00:25:00 La vidéo traite du développement de l'intelligence artificielle (IA) et de la façon dont elle change notre façon de travailler et de vivre. Certaines personnes sont enthousiasmées par le potentiel de l'IA, tandis que d'autres s'inquiètent de ses implications potentielles. Le conférencier fournit également un bref résumé d'un récent épisode de podcast.
It’s Time to Pay Attention to A.I. (ChatGPT and Beyond)
It’s Time to Pay Attention to A.I. (ChatGPT and Beyond)
  • 2022.12.15
  • www.youtube.com
Imagine being able to have a language conversation about anything with a computer. This is now possible and available to many people for the first time with ...
 

L'histoire intérieure du potentiel étonnant de ChatGPT | Greg Brockman | TED



L'histoire intérieure du potentiel étonnant de ChatGPT | Greg Brockman | TED

Dans cette section de la vidéo, Greg Brockman discute du rôle de l'IA dans l'amélioration de l'éducation. Il soutient que les méthodes d'enseignement traditionnelles sont souvent inefficaces et inefficaces, les élèves ayant du mal à conserver leurs connaissances et les enseignants ayant du mal à enseigner d'une manière qui engage chaque élève. Brockman suggère que l'IA pourrait aider à résoudre ces problèmes en offrant des expériences d'apprentissage personnalisées à chaque élève. Grâce aux outils d'IA, il est possible de suivre les progrès des élèves en temps réel, en ajustant le programme à leurs besoins et préférences. Cela pourrait conduire à des expériences d'apprentissage plus engageantes et efficaces, permettant aux étudiants de conserver plus de connaissances et aux enseignants de se concentrer sur des tâches plus importantes. Brockman souligne également l'importance de concevoir des outils d'IA en gardant à l'esprit la confidentialité, en veillant à ce que les données des élèves soient protégées et utilisées uniquement à des fins éducatives.

  • 00:00:00 Dans cette section, Greg Brockman, PDG d'OpenAI, a démontré les capacités d'un outil d'IA appelé Dolly qui crée des outils pour les IA. En utilisant cet outil avec ChatGPT, les utilisateurs peuvent générer des images et du texte pour réaliser leur intention avec une interface de langage unifiée, leur permettant de supprimer de petits détails et de les vérifier en les incorporant à d'autres applications. Cette nouvelle façon de penser à une interface utilisateur élargira les capacités de ce que l'IA peut faire au nom de l'utilisateur et portera la technologie vers de nouveaux sommets.

  • 00:05:00 Dans cette section, Greg Brockman explique comment l'IA est formée pour utiliser les outils et produire le résultat souhaité grâce à la rétroaction. Le processus comporte deux étapes - d'abord, un processus d'apprentissage non supervisé est utilisé où l'IA est montrée au monde entier et invitée à prédire ce qui vient ensuite dans un texte qu'elle n'a jamais vu auparavant. La deuxième étape implique une rétroaction humaine où l'IA apprend quoi faire avec ces compétences en essayant plusieurs choses, et une rétroaction humaine est fournie pour renforcer l'ensemble du processus utilisé pour produire la réponse. Cette rétroaction lui permet de généraliser et d'appliquer l'apprentissage à de nouvelles situations. L'IA est également utilisée pour vérifier les faits et peut émettre des requêtes de recherche et écrire toute sa chaîne de pensée, ce qui la rend plus efficace pour vérifier n'importe quel élément de la chaîne de raisonnement.

  • 00:10:00 Dans cette section de la vidéo, Greg Brockman discute du potentiel de collaboration entre les humains et l'IA pour résoudre des problèmes complexes. Il montre un exemple d'outil de vérification des faits qui nécessite une intervention humaine pour produire des données utiles pour une autre IA, démontrant comment les humains peuvent assurer la gestion, la surveillance et la rétroaction tandis que les machines fonctionnent de manière fiable et inspectable. Brockman pense que cela conduira à résoudre des problèmes auparavant impossibles, notamment à repenser la façon dont nous interagissons avec les ordinateurs. Il démontre comment ChatGPT, un puissant modèle de langage d'IA, peut être utilisé pour analyser une feuille de calcul de 167 000 articles sur l'IA et fournir des informations via des graphiques exploratoires, montrant le potentiel de l'IA pour aider à l'analyse des données et à la prise de décision.

  • 00:15:00 Dans cette section, Greg Brockman discute du potentiel de l'IA, déclarant que pour bien faire les choses, il faudra la participation de chacun à l'établissement des règles et des lignes directrices pour son intégration dans notre vie quotidienne. Il pense que la réalisation de la mission d'OpenAI consistant à garantir que l'intelligence artificielle générale profite à toute l'humanité est possible grâce à l'alphabétisation et à la volonté de repenser notre façon de faire les choses. Brockman reconnaît que si la technologie est incroyable, elle est aussi effrayante, car elle nécessite de repenser tout ce que nous faisons actuellement. Le succès du modèle chatGPT d'OpenAI est dû en partie à leurs choix délibérés, à confronter la réalité et à encourager la collaboration entre diverses équipes. Brockman attribue également l'émergence de nouvelles possibilités à la croissance des modèles de langage et au principe d'émergence, où de nombreux composants simples peuvent conduire à des comportements émergents complexes.

  • 00:20:00 Dans cette section de la vidéo, Greg Brockman discute du potentiel étonnant de la capacité d'apprentissage et de prédiction de ChatGPT, même dans des domaines qui n'ont pas été explicitement enseignés à la machine. Cependant, il note que même si la machine peut gérer l'ajout de nombres à 40 chiffres, elle rencontre souvent un problème d'addition lorsqu'elle est présentée avec un nombre à 40 chiffres et un nombre à 35 chiffres. Brockman souligne également l'importance de la qualité de l'ingénierie avec l'apprentissage automatique, en reconstruisant l'ensemble de la pile pour s'assurer que chaque pièce est correctement conçue avant de faire des prédictions. Il reconnaît que la mise à l'échelle d'une telle technologie pourrait conduire à des résultats imprévisibles, mais croit au déploiement de changements incrémentiels pour superviser et aligner correctement l'intention de la machine sur la nôtre. En fin de compte, Brockman pense qu'avec une rétroaction et une intégration appropriées avec les humains, le voyage vers la vérité et la sagesse avec l'IA est possible.

  • 00:25:00 Dans cette section, Greg Brockman aborde les préoccupations concernant la responsabilité et les implications en matière de sécurité de la diffusion de l'intelligence artificielle (IA) comme GPT sans garde-fous appropriés. Il explique que le plan par défaut consistant à construire en secret puis à espérer que la sécurité est correctement exécutée est terrifiant et ne semble pas correct. Au lieu de cela, il soutient que l'approche alternative consiste à libérer l'IA et à permettre aux gens de donner leur avis avant qu'ils ne deviennent trop puissants. Brockman raconte qu'il se demande s'il voudrait que la technologie soit dans 5 ans ou 500 ans, concluant qu'il est préférable d'aborder ce droit avec une responsabilité collective et de fournir des garde-fous pour que l'IA soit sage plutôt que téméraire.
The Inside Story of ChatGPT’s Astonishing Potential | Greg Brockman | TED
The Inside Story of ChatGPT’s Astonishing Potential | Greg Brockman | TED
  • 2023.04.20
  • www.youtube.com
In a talk from the cutting edge of technology, OpenAI cofounder Greg Brockman explores the underlying design principles of ChatGPT and demos some mind-blowin...
 

MIT Deep Learning en sciences de la vie - Printemps 2021



MIT Deep Learning en sciences de la vie - Printemps 2021

Le cours "Deep Learning in Life Sciences" applique l'apprentissage automatique à diverses tâches des sciences de la vie et est enseigné par un chercheur en apprentissage automatique et en génomique avec une équipe pédagogique de doctorants et d'étudiants de premier cycle du MIT. Le cours couvre les fondements de l'apprentissage automatique, les circuits de régulation des gènes, la variation de la maladie, les interactions et le repliement des protéines, et l'imagerie à l'aide de TensorFlow via Python dans une plate-forme Google Cloud. Le cours consistera en quatre ensembles de problèmes, un quiz et un projet d'équipe, avec des séances de mentorat entrecoupées pour aider les étudiants à concevoir leurs propres projets. L'instructeur insiste sur l'importance de constituer une équipe avec des compétences et des intérêts complémentaires et fournit divers jalons et livrables tout au long du trimestre. Le cours vise à fournir une expérience du monde réel, y compris la rédaction de propositions de subventions et de bourses, l'examen par les pairs, les rapports annuels et le développement des compétences de communication et de collaboration. Le conférencier discute des différences entre l'IA traditionnelle et l'apprentissage en profondeur, qui construit une représentation interne d'une scène basée sur des stimuli observables, et souligne l'importance de l'apprentissage en profondeur dans les sciences de la vie en raison de la convergence des données d'apprentissage, de la puissance de calcul et des nouveaux algorithmes. .

La vidéo est une conférence d'introduction sur l'apprentissage en profondeur dans les sciences de la vie, expliquant l'importance de l'apprentissage automatique et de l'apprentissage en profondeur dans l'exploration de la complexité du monde. L'exposé se concentre sur le concept d'inférence bayésienne et sur la façon dont il joue un rôle crucial dans l'apprentissage automatique classique et profond, ainsi que sur les différences entre les approches génératives et discriminatives de l'apprentissage. La conférence met également en évidence la puissance des machines à vecteurs de support, les performances de classification et l'algèbre linéaire pour comprendre les réseaux à travers les systèmes biologiques. L'orateur note que le cours couvrira divers sujets d'apprentissage en profondeur, notamment la régularisation, la prévention du surapprentissage et les ensembles d'entraînement. La conférence se termine en abordant des questions liées à l'interprétabilité des neurones artificiels et des réseaux profonds pour les futures conférences.

  • 00: 00: 00 Dans cette section, l'orateur présente le cours, Apprentissage en profondeur dans les sciences de la vie, et explique son objectif d'appliquer l'apprentissage automatique aux tâches des sciences de la vie, y compris la régulation des gènes, la maladie, la conception thérapeutique, l'imagerie médicale et le calcul la biologie. Le cours se réunit deux fois par semaine avec des séances de mentorat facultatives le vendredi et est enseigné par l'orateur, qui est un chercheur en apprentissage automatique et en génomique, et un personnel enseignant composé de doctorants et d'étudiants de premier cycle du MIT. L'orateur fournit également des liens vers les pages de cours de l'année dernière avec des enregistrements de toutes les conférences.

  • 00: 05: 00 Dans cette section de la transcription, l'instructeur présente les bases sur lesquelles le cours s'appuiera, telles que le calcul différentiel, l'algèbre linéaire, les probabilités et les statistiques et la programmation. Le cours aura également une base d'introduction à la biologie sur laquelle les étudiants pourront s'appuyer. L'instructeur détaille ensuite la répartition des notes pour le cours, qui comprend des ensembles de problèmes, un quiz, un projet final et la participation. La section se termine par une explication de l'importance de l'apprentissage en profondeur dans les sciences de la vie en raison de la convergence de grands ensembles de données peu coûteux, des avancées fondamentales dans les méthodes d'apprentissage automatique et du calcul haute performance, qui a complètement transformé le domaine scientifique.

  • 00:10:00 Dans cette section, l'orateur discute de l'importance et des avantages de la biologie computationnelle. Les étudiants fournissent des réponses à la question de savoir pourquoi la biologie computationnelle est importante, y compris la gestion de grandes quantités de données, la capacité d'accélérer la découverte, la création de modèles mathématiques pour des processus complexes, la compréhension des modèles à partir de données biologiques et l'utilisation de la visualisation pour extraire des données significatives. motifs. Le conférencier souligne l'existence de modèles et de principes sous-jacents en biologie qui peuvent être compris par le calcul et encourage les étudiants à explorer les différents cours offerts dans le département et entre les départements.

  • 00: 15: 00 Dans cette section, l'orateur explique comment les méthodes informatiques peuvent aider non seulement à la recherche appliquée, mais également à générer une nouvelle compréhension fondamentale de la recherche biologique fondamentale. Ils soulignent que même si les méthodes de calcul utilisées ne donnent pas toujours des résultats parfaits, elles peuvent fournir des approximations importantes qui peuvent être encore plus intéressantes. De plus, le conférencier montre comment la biologie computationnelle permet l'intégration de divers domaines de recherche dans une compréhension plus complète des maladies complexes qui affectent plusieurs organes. Enfin, ils mentionnent l'utilisation d'outils informatiques pour simuler des processus temporels à long terme comme la transmission et la progression de la maladie.

  • 00: 20: 00 Dans cette section de la vidéo, l'orateur discute du rôle du calcul dans les sciences de la vie, en particulier de la façon dont il peut simuler la progression des processus dans le temps, raccourcissant le temps de découverte et de développement des médicaments et des traitements. L'utilisation de l'apprentissage en profondeur devient également plus répandue pour la conception de médicaments et la création de données de test synthétiques. L'orateur souligne également l'importance d'étudier la diversité génétique à travers la démographie pour une véritable équité dans les ensembles de données génétiques. La vie elle-même est numérique et le défi pour comprendre la biologie consiste à extraire des signaux du bruit et à reconnaître des modèles significatifs dans des ensembles de données.

  • 00: 25: 00 Dans cette section, l'instructeur du cours décrit les principales tâches et défis qui seront couverts dans le cours, y compris les fondements de l'apprentissage automatique, les circuits de régulation des gènes, la variation de la maladie, les interactions et le repliement des protéines et l'imagerie. Le cours utilisera des ensembles de problèmes pour présenter aux étudiants chacune de ces frontières, et les étudiants utiliseront TensorFlow via Python dans un environnement de programmation au sein de la plate-forme Google Cloud. Le premier ensemble de problèmes se concentrera sur la reconnaissance de caractères, suivi de l'utilisation de ces techniques pour analyser les données génomiques et reconnaître les modèles de séquence associés aux événements de régulation des gènes.

  • 00:30:00 Dans cette section, l'instructeur discute de la structure et des objectifs du cours, qui consistera en quatre ensembles de problèmes, un quiz et un projet d'équipe pendant toute la durée du cours. Les instructeurs soulignent que le cours sera interactif et encouragent les étudiants à s'inscrire pour être scribes pour les conférences qui les intéressent, leur permettant d'investir dans ce domaine particulier. Les étudiants auront également la possibilité d'interagir avec des conférenciers invités qui sont actifs dans le domaine de l'apprentissage en profondeur dans les sciences de la vie, et des projets d'équipe seront construits sur des discussions pour les directions de projets de recherche, donnant aux étudiants la possibilité d'appliquer leurs nouvelles compétences pour résoudre des problèmes pratiques. . De plus, les instructeurs mentionnent que le domaine de l'apprentissage en profondeur dans les sciences de la vie n'a que dix ans, et des conférenciers invités présenteront des articles clés dans le domaine, rendant le cours assez excitant et interactif pour les étudiants.

  • 00:35:00 Dans cette section, l'instructeur du cours explique comment le cours comportera des sessions de mentorat entrecoupées de modules pour aider les étudiants à concevoir leurs propres projets, à proposer des idées et à les équilibrer avec leurs partenaires et mentors. Ces séances de mentorat mettront en vedette des membres du personnel ou des chercheurs actifs dans les domaines pertinents, permettant aux étudiants de faire rebondir leurs idées et de se préparer à devenir des chercheurs actifs en biologie computationnelle. L'instructeur met également l'accent sur les aspects intangibles de l'éducation auxquels le cours contribuera, notamment l'élaboration d'une proposition de recherche, le travail dans des ensembles de compétences complémentaires, la réception des commentaires des pairs et l'identification des défauts potentiels dans les propositions des pairs. Le cours aura un projet de terme reflétant ces tâches intangibles dans la vie réelle. Les étudiants sont également encouragés à rencontrer leurs pairs, à former tôt des équipes avec des expertises complémentaires et à soumettre un profil et une vidéo de présentation.

  • 00: 40: 00 Dans cette section, l'instructeur discute des différentes étapes établies pour le cours afin d'assurer une planification, une rétroaction et une recherche suffisantes de projets qui correspondent aux compétences et aux intérêts des étudiants. Il mentionne l'importance de constituer une équipe avec des compétences et des intérêts complémentaires, de fournir des liens vers les projets de l'année dernière et des articles récents pour s'inspirer, et d'établir des séances de mentorat périodiques avec les étudiants seniors, les postdoctorants et le personnel du cours. Le cours comprendra également des discussions de groupe sur divers sujets et aspects de l'examen par les pairs afin d'encourager la réflexion critique sur les propositions et de fournir des commentaires et des suggestions. L'instructeur met l'accent sur l'expérience du monde réel qui sera acquise grâce à ce cours, y compris la rédaction de propositions de subventions et de bourses, l'examen par les pairs, les rapports annuels et le développement des compétences de communication et de collaboration. L'instructeur invite les étudiants à se rencontrer lors de diverses séances en petits groupes tout au long du cours et donne un aperçu des jalons et des livrables qui seront dus tout au long du trimestre.

  • 00:45:00 structure du cours et des projets, l'instructeur donne un aperçu des différents modules et documents disponibles pour chaque sujet. En outre, le calendrier du cours est décrit, y compris la date d'échéance pour les propositions de projet et les démonstrations de pipeline de bout en bout. L'instructeur insiste sur l'importance d'avoir des données et des outils dès le début du cours pour éviter les problèmes plus tard. Les rapports de mi-parcours et une conférence sur la présentation sont également mentionnés, ainsi que la date limite pour les projets finaux et les présentations. Des conférenciers invités qui ont rédigé certains des articles peuvent également être invités.

  • 00:50:00 Dans cette section, l'orateur présente les ressources et le soutien disponibles pour le cours, y compris le mentorat et les laboratoires de rétroaction. Ils partagent également les résultats d'une enquête d'introduction révélant les divers horizons des étudiants qui suivent le cours, avec une majorité de majors six et 20. L'orateur passe environ 10 minutes à présenter certains des sujets d'apprentissage automatique et de la biologie qui seront couverts dans le cours. cours, soulignant l'importance de l'apprentissage en profondeur et de ses diverses applications. Ils expliquent également la différence entre l'intelligence artificielle, l'apprentissage en profondeur et l'apprentissage automatique.

  • 00:55:00 Dans cette section, le conférencier discute des différences entre les approches traditionnelles de l'intelligence artificielle (IA) et l'apprentissage en profondeur. Alors que l'IA traditionnelle s'appuie sur des experts humains pour coder les règles et les fonctions de notation, l'apprentissage en profondeur vise à apprendre l'intuition et les règles par lui-même, sans conseils humains explicites. Le conférencier utilise l'exemple des échecs pour illustrer ces différences et note que l'apprentissage en profondeur a révolutionné l'IA en permettant aux machines de naviguer dans des environnements complexes tels que des scènes naturelles et des situations du monde réel. Le conférencier identifie la convergence des données de formation, la puissance de calcul et les nouveaux algorithmes comme les trois piliers clés de l'apprentissage en profondeur, et explique que les machines construisent une représentation interne d'une scène basée sur des stimuli observables.

  • 01:00:00 Dans cette section, le conférencier explique que le machine learning et le deep learning impliquent de construire des représentations de la complexité du monde en analysant des observations et des données. L'apprentissage automatique traditionnel utilise des représentations simples, tandis que l'apprentissage en profondeur utilise des représentations hiérarchiques. Les modèles génératifs permettent d'exprimer la probabilité directe d'un événement compte tenu de l'état caché du monde, tandis que la règle de Bayes permet d'estimer la probabilité postérieure qu'il s'agisse d'une saison particulière compte tenu de l'observation. Cela implique de passer de la probabilité des données compte tenu d'une hypothèse à la probabilité d'une hypothèse compte tenu des données en passant par un produit de vraisemblance et de probabilités a priori. La probabilité marginale des données est utilisée pour additionner toutes les hypothèses afin d'obtenir la probabilité globale des données.

  • 01:05:00 Dans cette section, l'orateur explique le concept d'inférence bayésienne et son rôle dans l'apprentissage automatique classique et profond. L'inférence bayésienne implique d'avoir un modèle génératif pour le monde, puis de déduire quelque chose à propos de ce modèle, ce qui est particulièrement utile dans l'apprentissage supervisé où des étiquettes pour certains points existent, et une classification des objets basée sur des caractéristiques peut être réalisée. Dans l'apprentissage automatique traditionnel, une tâche majeure était l'ingénierie des caractéristiques, ou la sélection des bonnes caractéristiques dans un ensemble de données, tandis que dans l'apprentissage en profondeur, les caractéristiques sont apprises automatiquement. Le clustering est une forme d'apprentissage non supervisé où des ensembles de données peuvent être appris et représentés, et l'inférence bayésienne peut être utilisée pour estimer de manière itérative les paramètres d'un modèle génératif pour l'ensemble de données afin d'améliorer les caractéristiques des données.

  • 01:10:00 Dans cette section de la vidéo, l'instructeur discute des différences entre les approches génératives et discriminatives de l'apprentissage, soulignant comment l'apprentissage discriminatoire est axé sur l'apprentissage du meilleur séparateur entre les éléments de données au lieu d'essayer de capturer toute la distribution des données. La conférence aborde également la puissance des machines à vecteurs de support, les performances de classification et l'algèbre linéaire pour comprendre les réseaux à travers les systèmes biologiques. L'instructeur note que la classe se concentrera sur l'apprentissage en profondeur, en particulier la construction de fonctionnalités simples et plus abstraites à travers des couches pour classer divers objets et concepts sur le monde. Enfin, la conférence souligne que tout apprentissage n'est pas profond et passe en revue les approches historiques de l'intelligence artificielle et de l'apprentissage automatique.

  • 01:15:00 Dans cette section, l'orateur explique comment le cerveau humain traite les images et reconnaît les objets, en utilisant des couches de neurones qui apprennent des couches abstraites d'inférences. Il compare ce processus à l'architecture des réseaux de neurones utilisés dans l'apprentissage en profondeur et l'IA, qui ont été portés de l'espace biologique à l'espace informatique. Le cours couvrira divers sujets d'apprentissage en profondeur, y compris la régularisation, la prévention du surapprentissage, les ensembles d'entraînement et les ensembles de test. L'orateur mentionne également les auto-encodeurs pour réduire les représentations à des représentations plus simples et les algorithmes supervisés fonctionnant comme des méthodes non supervisées. De plus, il souhaite la bienvenue aux participants au cours et souligne l'importance des aspects biologiques du cours.

  • 01:20:00 Dans cette section, le conférencier aborde plusieurs questions liées à l'interprétabilité des neurones artificiels et des réseaux profonds, qui seront abordées en détail dans une prochaine conférence. Ils rappellent également aux étudiants de remplir leurs profils et de télécharger leurs présentations vidéo.
Deep Learning in Life Sciences - Lecture 01 - Course Intro, AI, ML (Spring 2021)
Deep Learning in Life Sciences - Lecture 01 - Course Intro, AI, ML (Spring 2021)
  • 2021.02.17
  • www.youtube.com
6.874/6.802/20.390/20.490/HST.506 Spring 2021 Prof. Manolis KellisDeep Learning in the Life Sciences / Computational Systems BiologyPlaylist: https://youtube...
 

CNNs Convolutional Neural Networks - Conférence 03 (printemps 2021)



CNNs Convolutional Neural Networks - Deep Learning in Life Sciences - Conférence 03 (printemps 2021)

Cette conférence vidéo couvre le sujet des réseaux de neurones convolutifs (CNN) dans l'apprentissage en profondeur pour les sciences de la vie. L'orateur discute des principes du cortex visuel et de leur relation avec les CNN, y compris les éléments constitutifs des systèmes visuels humains et animaux, tels que les éléments constitutifs de base de la sommation et de la pesée et le seuil d'activation du biais d'un neurone. Ils expliquent que les CNN utilisent des neurones spécialisés pour les opérations de détection de bas niveau et des couches d'unités cachées pour l'apprentissage de concepts abstraits. Le cours couvre également le rôle des couches de convolution et de regroupement, l'utilisation de plusieurs filtres pour extraire plusieurs caractéristiques et le concept d'apprentissage par transfert. Enfin, les non-linéarités et l'utilisation du rembourrage pour traiter les cas de bord en convolution sont également discutés. Dans l'ensemble, la conférence met en évidence la puissance et le potentiel des CNN dans une variété d'applications des sciences de la vie.

La deuxième partie du cours couvre divers concepts liés aux réseaux de neurones convolutifs (CNN). Dans la conférence, l'orateur parle de l'importance de maintenir la taille d'entrée dans les CNN, de l'augmentation des données comme moyen d'obtenir l'invariance aux transformations, et des différentes architectures CNN et de leurs applications. La conférence couvre également les défis associés à l'apprentissage dans les CNN profonds, les hyperparamètres et leur impact sur les performances globales, et les approches de réglage des hyperparamètres. Le conférencier souligne l'importance de comprendre les principes fondamentaux des CNN et souligne leur polyvalence en tant que technique applicable dans de multiples contextes.

  • 00:00:00 Dans cette section, le conférencier présente le sujet des réseaux de neurones convolutifs (CNN) et souligne leur importance dans l'apprentissage en profondeur dans divers domaines. L'orateur attribue au cours 6s191 et aux notes Coursera de Tess Fernandez d'excellentes ressources pour étudier les CNN. L'orateur explique comment les CNN ont été inspirés par les propres réseaux neuronaux du cerveau humain et les résultats d'études neuroscientifiques sur le cortex visuel animal dans les années 50 et 60. Le conférencier poursuit en expliquant certains des principes clés découverts par les études fondamentales des neurosciences, y compris le concept de n'avoir que des champs et des cellules réceptifs limités répondant aux bords à angle droit. Ces concepts forment la base des filtres convolutifs et des CNN utilisés aujourd'hui.

  • 00: 05: 00 Dans cette section, l'orateur discute des principes du cortex visuel et de leur relation avec les réseaux de neurones convolutifs (CNN). Le cortex visuel contient des opérations primitives simples comme la détection des contours, qui sont construites à partir de neurones individuels détectant la lumière et l'obscurité à différents endroits et seuillant ce signal. Il existe des neurones d'ordre supérieur qui sont invariants à la position du bord ou de l'objet détecté, ce qui a conduit au concept d'invariance de position dans les couches de regroupement des CNN. Le conférencier discute également des éléments constitutifs des systèmes visuels humains et animaux, qui contiennent des principes similaires trouvés dans les réseaux neuronaux, tels que les éléments constitutifs de base de la sommation et de la pesée et le seuil d'activation du biais d'un neurone.

  • 00: 10: 00 Dans cette section de la conférence, l'orateur discute des fonctions d'activation dans les neurones, qui déterminent si un neurone se déclenche ou non en fonction d'une entrée au-dessus d'un certain seuil. La non-linéarité de ce processus permet d'apprendre des fonctions plus complexes, puisque les transformations linéaires d'informations linéaires sont toujours des transformations linéaires. Les neurones sont connectés en réseaux qui ont des propriétés émergentes et permettent l'apprentissage et la mémoire. Le cerveau humain est extrêmement puissant, contenant 86 milliards de neurones et des quadrillions de connexions qui sont organisés en réseaux simples, larges et profonds qui permettent l'abstraction et la reconnaissance de concepts complexes comme les bords et les lignes. Un exemple est donné de la façon dont un détecteur de bord peut être créé à un niveau inférieur de neurones sur la base d'une signalisation positive et négative en réponse aux zones claires et sombres.

  • 00: 15: 00 Dans cette section, l'orateur explique comment les connexions neuronales du cerveau détectent des primitives linéaires et circulaires très basiques, telles que des bords et des barres, et les utilisent pour détecter des caractéristiques plus complexes telles que la couleur, la courbure et l'orientation. Les couches supérieures du cortex visuel du cerveau correspondent aux couches d'abstraction dans l'apprentissage en profondeur, qui construisent des concepts complexes à partir de parties plus simples. La malléabilité du cerveau lui permet également d'utiliser différentes parties du cerveau pour détecter les signaux correspondants, et des expériences sur des animaux ont montré que les circuits du cerveau sont interchangeables et peuvent être recâblés en cas de blessure. De plus, l'orateur note l'énorme différence de taille entre les cerveaux des humains et des souris, et comment l'expansion du néocortex chez les mammifères, en particulier chez les primates, a donné lieu à des niveaux plus élevés d'abstraction et d'intelligence sociale.

  • 00:20:00 Dans cette section, le conférencier explique comment les réseaux de neurones peuvent apprendre une immense gamme de fonctions bien adaptées au monde physique dans lequel nous vivons, bien qu'ils ne soient pas capables d'apprendre toutes les fonctions mathématiques. La conférence explore également comment les illusions visuelles peuvent révéler les primitives et les éléments constitutifs des calculs en cours dans le cerveau, qui peuvent être exploités par un apprentissage en profondeur pour créer des expériences comme voir une personne se transformer en une combinaison monstrueuse d'animaux. La conférence passe ensuite à la discussion des ingrédients clés des réseaux de neurones convolutifs, tels que la localité et le calcul des filtres convolutifs, qui sont calculés localement plutôt que dans un réseau entièrement connecté.

  • 00: 25: 00 Dans cette section de la conférence sur les CNN et l'apprentissage en profondeur dans les sciences de la vie, l'orateur discute de plusieurs caractéristiques clés des réseaux de neurones convolutifs. Celles-ci incluent l'utilisation de neurones spécialisés qui effectuent des opérations de détection de bas niveau, des couches d'unités cachées où des concepts abstraits sont appris à partir de parties plus simples, des fonctions d'activation qui introduisent des non-linéarités, des couches de regroupement pour l'invariance de position et un temps de calcul réduit, des filtres multiples qui capturer différents aspects de l'image d'origine et les moyens de limiter le poids des unités cachées individuelles pour la régularisation. Ces fonctionnalités sont toutes importantes pour créer des CNN efficaces capables d'apprendre et de reconnaître des modèles dans des images complexes ou des données génomiques.

  • 00:30:00 Dans cette section, le conférencier explique que le cerveau humain utilise également divers mécanismes pour renforcer les connexions utiles tout en limitant la dépendance excessive à une seule connexion pour une tâche particulière. Il mentionne les exemples de réduction de la décharge des neurones au fil du temps et d'utilisation de l'apprentissage par renforcement pour améliorer les tâches motrices. Il établit également des parallèles entre ces mécanismes d'apprentissage primitifs dans le cerveau humain et l'algorithme de rétropropagation utilisé dans les réseaux de neurones convolutifs. Le conférencier encourage les étudiants à penser au-delà des architectures actuelles et à envisager de nouvelles architectures informatiques qui pourraient être dérivées de primitives individuelles. Enfin, il répond à une question du chat sur la façon de penser aux applications qui ont ou n'ont pas besoin de localité au sein d'un réseau entièrement connecté.

  • 00:35:00 Dans cette section, le conférencier aborde les deux parties des réseaux de neurones profonds : l'apprentissage de la représentation et la classification. En ayant des couches hiérarchiques d'apprentissage, les combinaisons de pixels se transforment en extraction de caractéristiques, et la détection des caractéristiques suit. Cela permet au réseau d'apprendre une fonction non linéaire complexe grâce au couplage des deux tâches de rétropropagation et d'extraction de caractéristiques. L'orateur mentionne que ce paradigme est très puissant et généralisable à travers différents domaines d'application. Le domaine en est encore à ses balbutiements et il y a beaucoup de place pour la créativité et l'exploration, en particulier dans la génomique, la biologie, les neurosciences, l'imagerie et les dossiers de santé électroniques. Par conséquent, ces domaines d'application peuvent conduire au développement de nouvelles architectures qui pourraient avoir une large applicabilité à la science des données dans différents domaines.

  • 00: 40: 00 Dans cette section, l'orateur explique le concept de réseaux de neurones convolutifs et le rôle des convolutions dans l'exploitation de la structure spatiale, la réalisation de calculs locaux et le partage de paramètres sur l'ensemble de l'image. En appliquant un filtre ou un noyau à chaque patch d'une image, la convolution est utilisée pour calculer une carte de caractéristiques qui nous indique à quel point une fonctionnalité était présente dans chaque patch de l'image, effectuant ainsi une extraction de caractéristiques. L'orateur met l'accent sur l'utilisation de plusieurs filtres pour extraire plusieurs caractéristiques, telles que les bords et les moustaches, et sur le partage spatial des paramètres de chaque filtre pour apprendre à partir de moins de paramètres.

  • 00: 45: 00 Dans cette section sur les CNN, l'orateur explique que les paramètres de chaque processus d'extraction de caractéristiques, tels que la détection des contours, sont partagés et appliqués à l'ensemble de l'image à la fois. Chaque neurone d'une couche cachée prend l'entrée d'un patch, calcule une somme pondérée et applique un biais afin de s'activer avec une fonction non linéaire. Les filtres convolutifs sont utilisés pour extraire des caractéristiques de l'image et apprendre des représentations, qui peuvent être apprises grâce à des filtres spécifiques à une tâche. Différentes espèces ont développé des filtres convolutionnels codés en dur dès la naissance, qui peuvent être réutilisés pour les tâches les plus utiles.

  • 00:50:00 Dans cette section, le conférencier parle du processus d'apprentissage des filtres par le biais de réseaux de neurones convolutifs, qui extraient des caractéristiques communes des images et identifient des caractéristiques spécifiques pour différentes tâches. Alors que certains filtres sont codés en dur, tels que ceux spécifiques à une espèce particulière, d'autres, comme la détection des contours et des visages, sont utiles pour diverses applications. Le concept d'apprentissage par transfert est discuté, où les filtres convolutifs précédents peuvent être appliqués à de nouvelles données, pour pré-apprendre des représentations de niveau intermédiaire et de haut niveau avant de se recycler pour de nouvelles fonctionnalités. La hiérarchie des fonctionnalités de bas niveau à haut niveau est adaptée à la tâche de classification en cours. Le conférencier explique également que la convolution fait référence à l'effet de tordre une chose dans une autre, après quoi la détection entre en jeu avec l'utilisation de non-linéarités.

  • 00: 55: 00 Dans cette section, l'orateur discute du concept de non-linéarités et de la manière dont elles permettent la détection en introduisant du silence jusqu'à ce qu'une caractéristique spécifique soit observée. Ils discutent également de l'utilisation des couches de regroupement, qui trouvent la valeur maximale dans une certaine section et réduisent la taille de la représentation, rendant certaines caractéristiques détectées plus robustes. La couche entièrement connectée apprend alors des fonctions beaucoup plus complexes et capture des combinaisons des caractéristiques extraites du réseau, permettant finalement la classification. L'orateur aborde également les cas extrêmes en convolution et comment le remplissage des images avec des zéros avant la convolution résout ce problème.

  • 01:00:00 Dans cette section, l'orateur discute de l'importance de maintenir la taille d'entrée dans les réseaux de neurones convolutifs et des différentes façons d'y parvenir, y compris le zéro padding et la convolution dilatée. Le concept d'augmentation des données est présenté comme un moyen d'obtenir une invariance aux transformations dans le monde réel, telles que les changements d'orientation ou de forme. En transformant les images en premier lieu, le réseau peut apprendre à reconnaître les objets indépendamment de leur emplacement ou de leur orientation. L'orateur souligne l'importance d'apprendre des millions de caractéristiques de bas en haut et de transformer des images pour atteindre l'invariance.

  • 01:05:00 Dans cette section, l'orateur résume les concepts abordés dans les sections précédentes de la conférence, y compris la localité, les filtres et les fonctionnalités, les fonctions d'activation, la mise en commun et la multimodalité. Il montre ensuite un exemple de réseau de neurones à convolution profonde, composé d'un volume d'entrée d'une image RVB, suivi de 20 filtres avec une foulée de 2, ce qui crée un volume de 10. L'orateur souligne que le nombre de filtres calculés crée un volume correspondant, qui change à chaque couche du réseau. Il montre également comment mettre en œuvre ces concepts dans TensorFlow à l'aide du moteur Keras pour l'apprentissage en profondeur, y compris différentes tailles de filtre, fonctions d'activation, regroupement et taille de foulée.

  • 01:10:00 Dans cette section, l'orateur aborde différentes architectures de réseaux de neurones convolutifs et leurs applications, à commencer par LeNet-5 pour la reconnaissance de documents qui a permis d'établir la série de filtres convolutifs, de sous-échantillonnage et de couches entièrement connectées qui composent CNN aujourd'hui. L'orateur explique que la formation des CNN est un art, car elle nécessite beaucoup plus de données de formation en raison du nombre plus élevé de paramètres et de couches. L'importance de la normalisation dans la formation est également soulignée, car les données asymétriques peuvent avoir un impact sur les performances du modèle. Dans l'ensemble, l'orateur met en évidence la manière naturelle et efficace dont les CNN sont capables d'accomplir les tâches de classification.

  • 01:15:00 Dans cette section, le conférencier discute de plusieurs défis associés à l'apprentissage dans les réseaux de neurones à convolution profonde. L'un des défis est la disparition ou l'explosion des gradients, qui peuvent être atténués en choisissant soigneusement les valeurs initiales et en normalisant les données. Le conférencier explique également comment choisir la taille du lot, où vous pouvez vous entraîner sur l'ensemble de données ou utiliser des mini-lots, et parle de différentes techniques de formation, telles que l'accessoire RMS et le recuit simulé. Le cours couvre également les hyperparamètres, qui sont les paramètres d'architecture et de formation, et leur impact sur les performances globales. Enfin, le conférencier présente deux approches de réglage des hyperparamètres, la recherche de grille et la recherche aléatoire, et discute de leurs avantages et inconvénients.

  • 01:20:00 Dans cette section, le conférencier met l'accent sur l'importance des principes fondamentaux derrière les réseaux de neurones convolutionnels plutôt que de se concentrer sur la logistique et les approches traditionnelles. La conférence couvre les principales caractéristiques des CNN, y compris les convolutions, les représentations d'apprentissage, la détection, les non-linéarités et les couches de regroupement. L'orateur met également en évidence les problèmes pratiques de rendre la formation invariante aux petites perturbations et d'aborder différents types d'architectures. De plus, la classe discutera de l'art des modèles de formation dans les sessions futures. Dans l'ensemble, la conférence présente les CNN comme une technique extrêmement polyvalente applicable dans de multiples contextes.
CNNs Convolutional Neural Networks - Deep Learning in Life Sciences - Lecture 03 (Spring 2021)
CNNs Convolutional Neural Networks - Deep Learning in Life Sciences - Lecture 03 (Spring 2021)
  • 2021.03.02
  • www.youtube.com
6.874/6.802/20.390/20.490/HST.506 Spring 2021 Prof. Manolis KellisDeep Learning in the Life Sciences / Computational Systems BiologyPlaylist: https://youtube...
 

Fondements de l'apprentissage automatique - Conférence 02 (printemps 2021)



Machine Learning Foundations - Deep Learning in Life Sciences Conférence 02 (printemps 2021)

Cette conférence couvre les fondements de l'apprentissage automatique, introduisant des concepts tels que les ensembles d'entraînement et de test, les types de modèles tels que discriminatifs et génératifs, l'évaluation des fonctions de perte, la régularisation et le surajustement, et les réseaux de neurones. Le conférencier poursuit en expliquant l'importance des hyperparamètres, l'évaluation de la précision dans les sciences de la vie, les tests de corrélation et les calculs de probabilité pour les tests de modèles. Enfin, les bases des réseaux de neurones profonds et la structure d'un neurone sont abordées, mettant en évidence le rôle de la non-linéarité dans l'apprentissage de fonctions complexes.

Dans la deuxième section de la conférence, le concept des fonctions d'activation dans l'apprentissage en profondeur est expliqué, ainsi que le processus d'apprentissage consistant à ajuster les poids pour correspondre à la fonction de sortie en utilisant des dérivées partielles dans le réglage des mises à jour des poids pour minimiser les erreurs, qui est le fondement du gradient. -apprentissage basé sur. Le concept de rétropropagation est introduit en tant que méthode de propagation des dérivés à travers un réseau de neurones afin d'ajuster les poids. Les différentes méthodes d'optimisation des poids dans plusieurs couches de modèles d'apprentissage en profondeur sont discutées, y compris la descente de gradient stochastique et le concept de capacité du modèle et la dimension VC. L'efficacité de la capacité d'un modèle sur un graphique et le biais et la variance sont également discutés, ainsi que diverses techniques de régularisation telles que l'arrêt précoce et la décroissance du poids. L'importance de trouver le bon équilibre de complexité est soulignée et les étudiants sont encouragés à se présenter positivement à leurs camarades de classe.

  • 00:00:00 Dans cette section, le conférencier présente les fondements de l'apprentissage automatique et sa définition. L'apprentissage automatique est le processus de conversion de l'expérience en expertise ou en connaissances, et il utilise des méthodes de calcul pour prédire avec précision les résultats futurs en utilisant les modèles découverts dans les données. L'objectif de l'apprentissage automatique est de développer des méthodes capables de détecter automatiquement des modèles dans les données et de les utiliser pour faire de bonnes prédictions de la sortie. L'enseignant explique également le concept de l'ensemble d'apprentissage, qui est utilisé pour ajuster les paramètres et l'architecture du modèle, et l'ensemble de test, qui évalue les performances et la puissance de généralisation du modèle. Enfin, l'enseignant aborde l'importance de la régularisation dans le contrôle des paramètres et la complexité du modèle pour éviter le surajustement.

  • 00:05:00 Dans cette section du cours, l'instructeur présente les différents types d'objets utilisés dans l'apprentissage automatique, tels que les scalaires, les vecteurs, les matrices et les tenseurs. L'espace d'entrée est défini comme des exemples individuels de ces objets, où un ensemble de données particulier est utilisé avec des indices et des caractéristiques spécifiques. L'espace d'étiquette est également introduit, avec l'étiquette prédite notée y hat. L'objectif de l'apprentissage automatique est d'évaluer les caractéristiques extraites des données d'entrée et de calculer un résultat de sortie à l'aide d'une fonction qui traduit l'entrée en sortie. L'instructeur explique également la différence entre les ensembles d'entraînement et de test et comment la fonction prend en compte les paramètres d'entrée et calcule une sortie à l'aide de vecteurs de poids et de biais.

  • 00: 10: 00 Dans cette section, l'orateur explique comment les poids et les biais sont utilisés pour optimiser la sortie d'une fonction linéaire lorsqu'il n'y a pas d'axe. La fonction de transformation peut être considérée comme le modèle du monde, qui fait des inférences et des classifications sur le monde. Il existe deux types de modèles : les modèles discriminatifs qui différencient deux classes et les modèles génératifs qui tentent de modéliser la distribution conjointe de plusieurs classes. La régression linéaire n'est qu'un type d'apprentissage automatique, la régression étant une tâche courante en plus de la classification.

  • 00:15:00 Dans cette section, le conférencier aborde les différents types d'apprentissage automatique, y compris l'apprentissage supervisé, semi-supervisé, non supervisé et par renforcement. L'accent est mis sur l'apprentissage supervisé et les différents types de résultats, tels que la régression multivariée, la classification binaire et multi-classes et la classification multi-étiquettes. Le conférencier parle également des fonctions objectives, qui sont utilisées pour optimiser les modèles d'apprentissage automatique pendant la formation, et peuvent être sous la forme de fonctions de perte, de coût ou d'erreur. Différents types de fonctions de perte sont présentés, y compris la perte nulle, la perte d'entropie croisée et la perte de charnière, et la conférence se termine par une discussion sur l'erreur quadratique moyenne et l'erreur absolue moyenne pour la régression.

  • 00: 20: 00 Dans cette section, le conférencier introduit les concepts de régularisation L1 et L2, qui sont respectivement des pénalités linéaires et quadratiques pour s'écarter d'une valeur prédite. Ils discutent de la manière dont ceux-ci peuvent être utilisés pour pénaliser les valeurs aberrantes et éviter le surajustement en attribuant des contraintes aux paramètres. Le conférencier explore ensuite différentes fonctions de perte pour les tâches de classification telles que la perte d'entropie croisée binaire, qui pèse tout par la probabilité d'occurrence d'une valeur, et la perte d'entropie croisée catégorique, qui utilise une approche basée sur l'information. De plus, ils touchent à la fonction soft max pour mapper les données sur une plage de zéro à un. Ces concepts sont tous pris en compte dans l'estimateur du maximum de vraisemblance et les probabilités a posteriori dans un cadre bayésien.

  • 00: 25: 00 Dans cette section, la conférence explique le résultat de l'utilisation d'une formule particulière dans toute la classe, qui est un si elle appartient à une classe spécifiée et zéro sinon. La conférence traite également de la structure du problème, y compris les données d'entrée, les poids et un terme de biais. L'optimiseur est construit sur la base des écarts entre les pondérations, et ces pondérations sont formées à l'aide d'une fonction de perte, telle que l'erreur quadratique moyenne ou l'erreur absolue moyenne. Le cours introduit également l'idée de risque, qui représente le coût associé à des prédictions particulières, et explique comment utiliser le risque pour optimiser la fonction objectif. Le cours décrit ensuite comment mettre à jour les pondérations en fonction de la fonction de perte et comment utiliser des ensembles d'apprentissage et de test pour évaluer le modèle.

  • 00:30:00 Dans cette section, l'instructeur explique le concept de surajustement et de sous-ajustement dans l'apprentissage automatique. Il décrit comment, à mesure que l'ensemble d'apprentissage s'améliore, le modèle améliore également la prédiction des données dans l'ensemble de validation. Cependant, après un certain point, le modèle commence à sur-ajuster l'ensemble d'apprentissage et l'erreur sur l'ensemble de validation commence à augmenter. Par conséquent, l'instructeur insiste sur l'importance de diviser les données en ensembles d'entraînement, de validation et de test, de sorte que l'ensemble de validation soit utilisé pour régler les hyperparamètres et l'ensemble de test pour évaluer les performances du modèle entièrement formé.

  • 00:35:00 Dans cette section, l'orateur explique comment évaluer la précision des modèles d'apprentissage automatique dans le contexte des sciences de la vie. Ils expliquent différentes méthodes d'évaluation telles que le vrai pouvoir positif, qui se concentre sur les vrais positifs et les vrais négatifs, et les faux positifs et les faux négatifs. Le conférencier discute également d'autres techniques d'évaluation telles que la précision, la spécificité, le rappel et l'exactitude, ainsi que l'importance de tenir compte de l'équilibre de l'ensemble de données. Ils présentent ensuite la courbe des caractéristiques de fonctionnement du récepteur (ROC) et comment elle aide à évaluer le compromis entre sensibilité et spécificité d'un classifieur. De plus, la courbe de rappel de précision est mentionnée comme une meilleure option pour les ensembles de données très déséquilibrés pour certains paramètres de régression. Les deux courbes sont complémentaires et capturent différents aspects de la performance d'un modèle.

  • 00: 40: 00 Dans cette section, l'orateur discute du concept de corrélation et de la manière dont il peut être utilisé pour évaluer les prédicteurs de régression. Ils expliquent que la corrélation mesure la relation entre les valeurs prédites et les valeurs réelles, et qu'il existe différents types de tests de corrélation, tels que la corrélation de Pearson et la corrélation de rang de Spearman. Le conférencier mentionne également l'importance des tests de corrélation et comment ils peuvent être utilisés pour évaluer l'exactitude du prédicteur. Ils expliquent l'utilisation de tests statistiques tels que la distribution t de Student et les tests binomiaux pour déterminer la probabilité d'obtenir une certaine valeur de corrélation et si elle s'écarte de manière significative de la valeur attendue.

  • 00: 45: 00 Dans cette section, l'orateur discute de la probabilité que le classificateur fasse le bon choix au hasard en calculant la probabilité que k observations soient correctement classées par hasard en utilisant la distribution hypergéométrique. Il souligne également que si vous testez plusieurs hypothèses, vous devez ajuster la probabilité du zéro et pouvez utiliser une correction stricte de Bonferroni ou une correction moins stricte de Benjamin Hofberg pour ajuster votre seuil. L'orateur met en garde contre les dangers de trouver des corrélations presque n'importe où avec suffisamment de données et souligne que l'absence de corrélation n'implique pas un manque de relations. La section se termine par une pause d'étirement avant que l'orateur ne passe à la discussion sur les réseaux de neurones.

  • 00:50:00 Dans cette section du cours, l'instructeur présente le concept de réseaux de neurones profonds et leurs racines dans la hiérarchie de l'abstraction dans l'apprentissage. L'instructeur décrit les couches du réseau, en commençant par la couche d'entrée et en progressant à travers plusieurs couches cachées qui apprennent des fonctionnalités de plus en plus complexes. Le concept de filtres convolutifs est brièvement mentionné mais sera traité plus en profondeur dans une conférence ultérieure. Le professeur note également que ces réseaux s'inspirent de la structure biologique des neurones du cerveau humain.

  • 00:55:00 Dans cette section, le conférencier explique les bases d'un réseau neuronal d'apprentissage en profondeur. Il décrit la structure d'un neurone comme une construction informatique qui reçoit des entrées pondérées, franchit un seuil, puis envoie des sorties identiques à ses descendants. L'apprentissage dans un réseau de neurones est intégré dans ces poids, et la fonction calculée est une probabilité transformée basée sur les entrées reçues. Le conférencier souligne que les réseaux de neurones sont devenus puissants lorsqu'ils sont allés au-delà des fonctions linéaires et ont introduit une non-linéarité qui peut apprendre presque n'importe quelle fonction. La non-linéarité d'origine était l'unité sigmoïde, représentant un neurone tirant sur un ou restant à zéro jusqu'à ce qu'un seuil soit franchi. Au-delà de cela, l'unité soft plus a été introduite pour se rapprocher de fonctions plus complexes.

  • 01:00:00 Dans cette section de la conférence, l'orateur explique le concept des fonctions d'activation dans l'apprentissage en profondeur et comment elles aident les neurones à se déclencher en réponse aux entrées. Il introduit diverses fonctions d'activation telles que le soft plus, le sigmoïde et l'unité linéaire rectifiée (ReLU), entre autres. L'orateur discute également du processus d'apprentissage consistant à ajuster les poids pour correspondre à la fonction de sortie, et du rôle des dérivées partielles dans le réglage des mises à jour des poids pour minimiser les erreurs. Ceci, explique-t-il, est le fondement de l'apprentissage basé sur les gradients.

  • 01:05:00 Dans cette section de la conférence, le concept de rétropropagation est introduit en tant que méthode de propagation des dérivés à travers un réseau de neurones afin d'ajuster les poids. La règle de la chaîne est utilisée pour calculer la dérivée de chaque couche en fonction de la couche précédente, ce qui permet d'effectuer des ajustements à chaque niveau. Des cloches et des sifflets supplémentaires peuvent être ajoutés à ce processus, comme un taux d'apprentissage pour mettre à l'échelle le gradient, une décroissance du poids pour éviter les poids importants et la prise en compte du delta à l'étape précédente pour déterminer la direction et la quantité de changement nécessaire.

  • 01:10:00 Dans cette section, l'orateur explique les différentes méthodes d'optimisation des poids dans plusieurs couches de modèles d'apprentissage en profondeur. Ces méthodes incluent l'utilisation de la règle de chaîne pour calculer les dérivées de la sortie par rapport à chaque poids, ainsi que la descente de gradient stochastique qui échantillonne de manière aléatoire un sous-ensemble de données d'apprentissage pour mettre à jour les poids. De plus, l'orateur discute du concept de capacité du modèle et de la dimension VC qui décrit la capacité de modélisation globale d'un modèle d'apprentissage en profondeur en fonction à la fois de ses paramètres et des types de fonctions qu'il peut calculer. La capacité d'un modèle non paramétrique est définie par la taille de l'ensemble d'apprentissage.

  • 01:15:00 Dans cette section, le concept de k-plus proche voisin et sa généralisabilité sont introduits. Bien que le k-plus proche voisin soit une bonne méthode de base, il peut avoir un faible pouvoir de généralisation car il n'apprend pas la fonction qui sépare les ensembles de données, ce qui rend difficile une bonne performance sur des entrées inédites. L'efficacité de la capacité d'un modèle sur un graphique est également discutée, où l'axe des x affiche le nombre effectif de paramètres ou de dimensions, et l'augmentation de ce nombre peut conduire à de meilleures correspondances avec les données, mais avec une erreur de généralisation plus élevée. Le biais ou la façon dont on correspond à des données données, et la variance ou la façon dont on peut faire correspondre les futurs ensembles de données, sont également introduits. Enfin, les modèles peuvent être régularisés en échangeant la régularisation des paramètres et la régularisation de la complexité du modèle, ce qui peut être démontré en comparant des ensembles de données avec différents niveaux de complexité neuronale.

  • 01:20:00 Dans cette section de la conférence, l'instructeur discute de diverses techniques pour ajouter une régularisation aux réseaux de neurones, telles que l'arrêt précoce, la décroissance du poids, l'ajout de bruit comme régularisateur et les a priori bayésiens. Le concept de capacité est également discuté, qui dépend des fonctions d'activation et du nombre de poids. L'instructeur souligne que le compromis entre plus de couches, des couches plus larges et plus de connexions est un art plutôt qu'une théorie, et il est essentiel de trouver le bon équilibre de complexité. L'instructeur encourage les étudiants à se présenter positivement à leurs camarades de classe et à prendre le temps de se rencontrer et de se renseigner sur leurs profils et leurs vidéos.
Machine Learning Foundations - Deep Learning in Life Sciences Lecture 02 (Spring 2021)
Machine Learning Foundations - Deep Learning in Life Sciences Lecture 02 (Spring 2021)
  • 2021.02.23
  • www.youtube.com
6.874/6.802/20.390/20.490/HST.506 Spring 2021 Prof. Manolis KellisDeep Learning in the Life Sciences / Computational Systems BiologyPlaylist: https://youtube...
 

CNNs Convolutional Neural Networks - Conférence 03 (printemps 2021)



CNNs Convolutional Neural Networks - Deep Learning in Life Sciences - Conférence 03 (printemps 2021)

Cette conférence vidéo couvre le sujet des réseaux de neurones convolutifs (CNN) dans l'apprentissage en profondeur pour les sciences de la vie. L'orateur discute des principes du cortex visuel et de leur relation avec les CNN, y compris les éléments constitutifs des systèmes visuels humains et animaux, tels que les éléments constitutifs de base de la sommation et de la pesée et le seuil d'activation du biais d'un neurone. Ils expliquent que les CNN utilisent des neurones spécialisés pour les opérations de détection de bas niveau et des couches d'unités cachées pour l'apprentissage de concepts abstraits. Le cours couvre également le rôle des couches de convolution et de regroupement, l'utilisation de plusieurs filtres pour extraire plusieurs caractéristiques et le concept d'apprentissage par transfert. Enfin, les non-linéarités et l'utilisation du rembourrage pour traiter les cas de bord en convolution sont également discutés. Dans l'ensemble, la conférence met en évidence la puissance et le potentiel des CNN dans une variété d'applications des sciences de la vie.

La deuxième partie du cours couvre divers concepts liés aux réseaux de neurones convolutifs (CNN). Dans la conférence, l'orateur parle de l'importance de maintenir la taille d'entrée dans les CNN, de l'augmentation des données comme moyen d'obtenir l'invariance aux transformations, et des différentes architectures CNN et de leurs applications. La conférence couvre également les défis associés à l'apprentissage dans les CNN profonds, les hyperparamètres et leur impact sur les performances globales, et les approches de réglage des hyperparamètres. Le conférencier souligne l'importance de comprendre les principes fondamentaux des CNN et souligne leur polyvalence en tant que technique applicable dans de multiples contextes.

  • 00:00:00 Dans cette section, le conférencier présente le sujet des réseaux de neurones convolutifs (CNN) et souligne leur importance dans l'apprentissage en profondeur dans divers domaines. L'orateur attribue au cours 6s191 et aux notes Coursera de Tess Fernandez d'excellentes ressources pour étudier les CNN. L'orateur explique comment les CNN ont été inspirés par les propres réseaux neuronaux du cerveau humain et les résultats d'études neuroscientifiques sur le cortex visuel animal dans les années 50 et 60. Le conférencier poursuit en expliquant certains des principes clés découverts par les études fondamentales des neurosciences, y compris le concept de n'avoir que des champs et des cellules réceptifs limités répondant aux bords à angle droit. Ces concepts forment la base des filtres convolutifs et des CNN utilisés aujourd'hui.

  • 00: 05: 00 Dans cette section, l'orateur discute des principes du cortex visuel et de leur relation avec les réseaux de neurones convolutifs (CNN). Le cortex visuel contient des opérations primitives simples comme la détection des contours, qui sont construites à partir de neurones individuels détectant la lumière et l'obscurité à différents endroits et seuillant ce signal. Il existe des neurones d'ordre supérieur qui sont invariants à la position du bord ou de l'objet détecté, ce qui a conduit au concept d'invariance de position dans les couches de regroupement des CNN. Le conférencier discute également des éléments constitutifs des systèmes visuels humains et animaux, qui contiennent des principes similaires trouvés dans les réseaux neuronaux, tels que les éléments constitutifs de base de la sommation et de la pesée et le seuil d'activation du biais d'un neurone.

  • 00: 10: 00 Dans cette section de la conférence, l'orateur discute des fonctions d'activation dans les neurones, qui déterminent si un neurone se déclenche ou non en fonction d'une entrée au-dessus d'un certain seuil. La non-linéarité de ce processus permet d'apprendre des fonctions plus complexes, puisque les transformations linéaires d'informations linéaires sont toujours des transformations linéaires. Les neurones sont connectés en réseaux qui ont des propriétés émergentes et permettent l'apprentissage et la mémoire. Le cerveau humain est extrêmement puissant, contenant 86 milliards de neurones et des quadrillions de connexions qui sont organisés en réseaux simples, larges et profonds qui permettent l'abstraction et la reconnaissance de concepts complexes comme les bords et les lignes. Un exemple est donné de la façon dont un détecteur de bord peut être créé à un niveau inférieur de neurones sur la base d'une signalisation positive et négative en réponse aux zones claires et sombres.

  • 00: 15: 00 Dans cette section, l'orateur explique comment les connexions neuronales du cerveau détectent des primitives linéaires et circulaires très basiques, telles que des bords et des barres, et les utilisent pour détecter des caractéristiques plus complexes telles que la couleur, la courbure et l'orientation. Les couches supérieures du cortex visuel du cerveau correspondent aux couches d'abstraction dans l'apprentissage en profondeur, qui construisent des concepts complexes à partir de parties plus simples. La malléabilité du cerveau lui permet également d'utiliser différentes parties du cerveau pour détecter les signaux correspondants, et des expériences sur des animaux ont montré que les circuits du cerveau sont interchangeables et peuvent être recâblés en cas de blessure. De plus, l'orateur note l'énorme différence de taille entre les cerveaux des humains et des souris, et comment l'expansion du néocortex chez les mammifères, en particulier chez les primates, a donné lieu à des niveaux plus élevés d'abstraction et d'intelligence sociale.

  • 00:20:00 Dans cette section, le conférencier explique comment les réseaux de neurones peuvent apprendre une immense gamme de fonctions bien adaptées au monde physique dans lequel nous vivons, bien qu'ils ne soient pas capables d'apprendre toutes les fonctions mathématiques. La conférence explore également comment les illusions visuelles peuvent révéler les primitives et les éléments constitutifs des calculs en cours dans le cerveau, qui peuvent être exploités par un apprentissage en profondeur pour créer des expériences comme voir une personne se transformer en une combinaison monstrueuse d'animaux. La conférence passe ensuite à la discussion des ingrédients clés des réseaux de neurones convolutifs, tels que la localité et le calcul des filtres convolutifs, qui sont calculés localement plutôt que dans un réseau entièrement connecté.

  • 00: 25: 00 Dans cette section de la conférence sur les CNN et l'apprentissage en profondeur dans les sciences de la vie, l'orateur discute de plusieurs caractéristiques clés des réseaux de neurones convolutifs. Celles-ci incluent l'utilisation de neurones spécialisés qui effectuent des opérations de détection de bas niveau, des couches d'unités cachées où des concepts abstraits sont appris à partir de parties plus simples, des fonctions d'activation qui introduisent des non-linéarités, des couches de regroupement pour l'invariance de position et un temps de calcul réduit, des filtres multiples qui capturer différents aspects de l'image d'origine et les moyens de limiter le poids des unités cachées individuelles pour la régularisation. Ces fonctionnalités sont toutes importantes pour créer des CNN efficaces capables d'apprendre et de reconnaître des modèles dans des images complexes ou des données génomiques.

  • 00:30:00 Dans cette section, le conférencier explique que le cerveau humain utilise également divers mécanismes pour renforcer les connexions utiles tout en limitant la dépendance excessive à une seule connexion pour une tâche particulière. Il mentionne les exemples de réduction de la décharge des neurones au fil du temps et d'utilisation de l'apprentissage par renforcement pour améliorer les tâches motrices. Il établit également des parallèles entre ces mécanismes d'apprentissage primitifs dans le cerveau humain et l'algorithme de rétropropagation utilisé dans les réseaux de neurones convolutifs. Le conférencier encourage les étudiants à penser au-delà des architectures actuelles et à envisager de nouvelles architectures informatiques qui pourraient être dérivées de primitives individuelles. Enfin, il répond à une question du chat sur la façon de penser aux applications qui ont ou n'ont pas besoin de localité au sein d'un réseau entièrement connecté.

  • 00:35:00 Dans cette section, le conférencier aborde les deux parties des réseaux de neurones profonds : l'apprentissage de la représentation et la classification. En ayant des couches hiérarchiques d'apprentissage, les combinaisons de pixels se transforment en extraction de caractéristiques, et la détection des caractéristiques suit. Cela permet au réseau d'apprendre une fonction non linéaire complexe grâce au couplage des deux tâches de rétropropagation et d'extraction de caractéristiques. L'orateur mentionne que ce paradigme est très puissant et généralisable à travers différents domaines d'application. Le domaine en est encore à ses balbutiements et il y a beaucoup de place pour la créativité et l'exploration, en particulier dans la génomique, la biologie, les neurosciences, l'imagerie et les dossiers de santé électroniques. Par conséquent, ces domaines d'application peuvent conduire au développement de nouvelles architectures qui pourraient avoir une large applicabilité à la science des données dans différents domaines.

  • 00: 40: 00 Dans cette section, l'orateur explique le concept de réseaux de neurones convolutifs et le rôle des convolutions dans l'exploitation de la structure spatiale, la réalisation de calculs locaux et le partage de paramètres sur l'ensemble de l'image. En appliquant un filtre ou un noyau à chaque patch d'une image, la convolution est utilisée pour calculer une carte de caractéristiques qui nous indique à quel point une fonctionnalité était présente dans chaque patch de l'image, effectuant ainsi une extraction de caractéristiques. L'orateur met l'accent sur l'utilisation de plusieurs filtres pour extraire plusieurs caractéristiques, telles que les bords et les moustaches, et sur le partage spatial des paramètres de chaque filtre pour apprendre à partir de moins de paramètres.

  • 00: 45: 00 Dans cette section sur les CNN, l'orateur explique que les paramètres de chaque processus d'extraction de caractéristiques, tels que la détection des contours, sont partagés et appliqués à l'ensemble de l'image à la fois. Chaque neurone d'une couche cachée prend l'entrée d'un patch, calcule une somme pondérée et applique un biais afin de s'activer avec une fonction non linéaire. Les filtres convolutifs sont utilisés pour extraire des caractéristiques de l'image et apprendre des représentations, qui peuvent être apprises grâce à des filtres spécifiques à une tâche. Différentes espèces ont développé des filtres convolutionnels codés en dur dès la naissance, qui peuvent être réutilisés pour les tâches les plus utiles.

  • 00:50:00 Dans cette section, le conférencier parle du processus d'apprentissage des filtres par le biais de réseaux de neurones convolutifs, qui extraient des caractéristiques communes des images et identifient des caractéristiques spécifiques pour différentes tâches. Alors que certains filtres sont codés en dur, tels que ceux spécifiques à une espèce particulière, d'autres, comme la détection des contours et des visages, sont utiles pour diverses applications. Le concept d'apprentissage par transfert est discuté, où les filtres convolutifs précédents peuvent être appliqués à de nouvelles données, pour pré-apprendre des représentations de niveau intermédiaire et de haut niveau avant de se recycler pour de nouvelles fonctionnalités. La hiérarchie des fonctionnalités de bas niveau à haut niveau est adaptée à la tâche de classification en cours. Le conférencier explique également que la convolution fait référence à l'effet de tordre une chose dans une autre, après quoi la détection entre en jeu avec l'utilisation de non-linéarités.

  • 00: 55: 00 Dans cette section, l'orateur discute du concept de non-linéarités et de la manière dont elles permettent la détection en introduisant du silence jusqu'à ce qu'une caractéristique spécifique soit observée. Ils discutent également de l'utilisation des couches de regroupement, qui trouvent la valeur maximale dans une certaine section et réduisent la taille de la représentation, rendant certaines caractéristiques détectées plus robustes. La couche entièrement connectée apprend alors des fonctions beaucoup plus complexes et capture des combinaisons des caractéristiques extraites du réseau, permettant finalement la classification. L'orateur aborde également les cas extrêmes en convolution et comment le remplissage des images avec des zéros avant la convolution résout ce problème.

  • 01:00:00 Dans cette section, l'orateur discute de l'importance de maintenir la taille d'entrée dans les réseaux de neurones convolutifs et des différentes façons d'y parvenir, y compris le zéro padding et la convolution dilatée. Le concept d'augmentation des données est présenté comme un moyen d'obtenir une invariance aux transformations dans le monde réel, telles que les changements d'orientation ou de forme. En transformant les images en premier lieu, le réseau peut apprendre à reconnaître les objets indépendamment de leur emplacement ou de leur orientation. L'orateur souligne l'importance d'apprendre des millions de caractéristiques de bas en haut et de transformer des images pour atteindre l'invariance.

  • 01:05:00 Dans cette section, l'orateur résume les concepts abordés dans les sections précédentes de la conférence, y compris la localité, les filtres et les fonctionnalités, les fonctions d'activation, la mise en commun et la multimodalité. Il montre ensuite un exemple de réseau de neurones à convolution profonde, composé d'un volume d'entrée d'une image RVB, suivi de 20 filtres avec une foulée de 2, ce qui crée un volume de 10. L'orateur souligne que le nombre de filtres calculés crée un volume correspondant, qui change à chaque couche du réseau. Il montre également comment mettre en œuvre ces concepts dans TensorFlow à l'aide du moteur Keras pour l'apprentissage en profondeur, y compris différentes tailles de filtre, fonctions d'activation, regroupement et taille de foulée.

  • 01:10:00 Dans cette section, l'orateur aborde différentes architectures de réseaux de neurones convolutifs et leurs applications, à commencer par LeNet-5 pour la reconnaissance de documents qui a permis d'établir la série de filtres convolutifs, de sous-échantillonnage et de couches entièrement connectées qui composent CNN aujourd'hui. L'orateur explique que la formation des CNN est un art, car elle nécessite beaucoup plus de données de formation en raison du nombre plus élevé de paramètres et de couches. L'importance de la normalisation dans la formation est également soulignée, car les données asymétriques peuvent avoir un impact sur les performances du modèle. Dans l'ensemble, l'orateur met en évidence la manière naturelle et efficace dont les CNN sont capables d'accomplir les tâches de classification.

  • 01:15:00 Dans cette section, le conférencier discute de plusieurs défis associés à l'apprentissage dans les réseaux de neurones à convolution profonde. L'un des défis est la disparition ou l'explosion des gradients, qui peuvent être atténués en choisissant soigneusement les valeurs initiales et en normalisant les données. Le conférencier explique également comment choisir la taille du lot, où vous pouvez vous entraîner sur l'ensemble de données ou utiliser des mini-lots, et parle de différentes techniques de formation, telles que l'accessoire RMS et le recuit simulé. Le cours couvre également les hyperparamètres, qui sont les paramètres d'architecture et de formation, et leur impact sur les performances globales. Enfin, le conférencier présente deux approches de réglage des hyperparamètres, la recherche de grille et la recherche aléatoire, et discute de leurs avantages et inconvénients.

  • 01:20:00 Dans cette section, le conférencier met l'accent sur l'importance des principes fondamentaux derrière les réseaux de neurones convolutionnels plutôt que de se concentrer sur la logistique et les approches traditionnelles. La conférence couvre les principales caractéristiques des CNN, y compris les convolutions, les représentations d'apprentissage, la détection, les non-linéarités et les couches de regroupement. L'orateur met également en évidence les problèmes pratiques de rendre la formation invariante aux petites perturbations et d'aborder différents types d'architectures. De plus, la classe discutera de l'art des modèles de formation dans les sessions futures. Dans l'ensemble, la conférence présente les CNN comme une technique extrêmement polyvalente applicable dans de multiples contextes.
CNNs Convolutional Neural Networks - Deep Learning in Life Sciences - Lecture 03 (Spring 2021)
CNNs Convolutional Neural Networks - Deep Learning in Life Sciences - Lecture 03 (Spring 2021)
  • 2021.03.02
  • www.youtube.com
6.874/6.802/20.390/20.490/HST.506 Spring 2021 Prof. Manolis KellisDeep Learning in the Life Sciences / Computational Systems BiologyPlaylist: https://youtube...
 

Recurrent Neural Networks RNNs, Graph Neural Networks GNNs, Long Short Term Memory LSTMs - Conférence 04 (printemps 2021)



RNN de réseaux de neurones récurrents, GNN de réseaux de neurones graphiques, LSTM de mémoire à long et à court terme

Cette vidéo couvre une gamme de sujets commençant par les réseaux de neurones récurrents (RNN) et leur capacité à coder le contexte temporel, ce qui est essentiel pour l'apprentissage des séquences. L'orateur introduit le concept de modèles de Markov cachés et leurs limites, ce qui conduit à la discussion des modules de mémoire longue à court terme (LSTM) comme une approche puissante pour traiter les longues séquences. La vidéo traite également du module de transformateur, qui apprend les relations temporelles sans dérouler ni utiliser de RNN. Les réseaux de neurones de graphes sont introduits et leurs applications potentielles dans la résolution de problèmes de réseau classiques et en biologie computationnelle. L'exposé se termine par une discussion sur les frontières de la recherche dans les réseaux de neurones de graphes, telles que leur application dans les modèles de graphes dégénératifs et l'inférence de graphes latents.

Cette deuxième partie de la vidéo traite des modules Recurrent Neural Networks (RNN), Graph Neural Networks (GNN) et Long Short Term Memory (LSTM). Il explique comment les réseaux de neurones feedforward traditionnels ont des limites lorsqu'ils traitent des données basées sur des graphes, mais les GNN peuvent gérer un large éventail d'invariances et propager des informations sur le graphe. Les conférenciers discutent également des réseaux convolutifs de graphes (GCN) et de leurs avantages et défis. De plus, la vidéo décrit l'importance des fonctions d'attention pour rendre les GNN plus puissants et flexibles.

  • 00:00:00 Dans cette section, le conférencier présente les sujets qui seront abordés en classe, y compris les réseaux de neurones récurrents et les modules de mémoire à long terme. Le conférencier explique comment les machines peuvent comprendre le contexte et l'attention et coder le contexte temporel à l'aide de modèles de Markov cachés et de réseaux de neurones récurrents. La conférence explique également comment éviter la disparition des gradients en utilisant des modules de mémoire et présente le module Transformer qui peut apprendre des relations temporelles sans dérouler la séquence. La conférence aborde également les réseaux de neurones de graphes et la manière dont ils utilisent les modèles de connectivité de graphes pour guider la formation. Le conférencier discute ensuite de la capacité du cerveau humain à lire et à comprendre le contexte et présente des exemples de restauration phonémique et de remplissage des mots manquants en fonction du contexte.

  • 00:05:00 Dans cette section de la vidéo, l'orateur explique comment le cerveau traite le langage et le son en prédisant ce qui vient ensuite, ce qui est à la base de la compréhension. Les réseaux de neurones récurrents sont utilisés pour coder le contexte temporel lors de l'application de l'apprentissage automatique aux séquences afin de transformer une séquence d'entrée en une séquence de sortie qui vit dans un domaine différent, comme transformer une séquence de pressions sonores en une séquence d'identités de mots. L'orateur donne également des exemples d'effets cognitifs liés aux informations de contexte auditif et visuel, comme l'effet McGurk et la rétroaction auditive retardée, et explique comment ils fonctionnent.

  • 00: 10: 00 Dans cette section de la vidéo, l'orateur discute de la puissance de l'utilisation d'un modèle de prédiction de séquence pour en savoir plus sur le monde. En prédisant le terme suivant dans une séquence, le processus d'apprentissage non supervisé peut être transformé en un processus d'apprentissage supervisé. Cela permet l'utilisation de méthodes conçues pour l'apprentissage supervisé sans avoir besoin d'annotation. L'orateur explique qu'une seule fonction commune peut être apprise et appliquée à l'ensemble de la séquence, permettant la prédiction d'événements futurs. En incorporant des nœuds cachés et une dynamique interne, des modèles plus complexes peuvent être construits et les informations peuvent être stockées pendant une longue période. L'orateur décrit comment les distributions de probabilité sur les vecteurs d'état cachés peuvent être déduites et comment l'entrée peut être utilisée pour piloter les nœuds cachés directement ou indirectement en donnant des informations au nœud caché actuel.

  • 00: 15: 00 Dans cette section, l'orateur discute des modèles de Markov cachés (HMM) et de leurs limites. Les HMM ont deux types de paramètres : une matrice d'émission qui représente la probabilité d'observer chaque sortie compte tenu de l'état caché, et une matrice de transition qui représente la probabilité de transition vers un autre état caché compte tenu de l'état actuel. Cependant, à chaque pas de temps, un seul des états cachés peut être sélectionné, et avec n états, seuls log n bits d'information peuvent être mémorisés. Pour coder plus d'informations antérieures, un nombre énorme d'états serait nécessaire. Cette limitation est résolue par les réseaux de neurones récurrents (RNN) qui permettent un codage explicite des informations.

  • 00: 20: 00 Dans cette section, nous découvrons les propriétés des réseaux de neurones récurrents (RNN), qui nous permettent de stocker efficacement de nombreuses informations en utilisant un état caché distribué, mis à jour de manière plus compliquée avec une dynamique non linéaire. Alors que la distribution de probabilité postérieure des états cachés dans un système dynamique linéaire ou un modèle de Markov caché (HMM) est stochastique, l'état caché d'un RNN est déterministe. Contrairement aux HMM ou aux systèmes dynamiques linéaires, qui sont stochastiques par nature, les RNN peuvent avoir toutes sortes de comportements tels que l'oscillation ou se comporter de manière chaotique, permettant des décisions imprévisibles. Les réseaux feedforward et les RNN sont les mêmes lorsque le temps est déroulé, ce qui le rend équivalent à un réseau feedforward avec un nombre infini de piles, avec les mêmes poids partagés utilisés pour calculer chaque caractère du réseau.

  • 00:25:00 Dans cette section, l'orateur explique les architectures spécifiques qui peuvent être utilisées pour les réseaux de neurones récurrents (RNN) et comment ils peuvent être entraînés à l'aide de la rétropropagation. Une façon consiste à avoir des entrées alimentant des unités cachées, puis à avoir une seule sortie après toute la séquence. Une autre façon consiste à avoir une prédiction de sortie à chaque pas de temps, permettant aux informations de circuler entre les unités cachées et permettant la prédiction des variables de sortie. Le même algorithme de rétropropagation peut être utilisé pour mettre à jour les poids de ces architectures. L'orateur souligne que les poids sont partagés entre les différents niveaux du réseau, ce qui permet un apprentissage plus efficace.

  • 00: 30: 00 Dans cette section, l'orateur discute du concept de rétropropagation dans le temps dans les réseaux de neurones récurrents (RNN) et comment il permet l'encodage de la mémoire à partir d'étapes de temps précédentes. Ils expliquent que cela peut être accompli en transférant la sortie du pas de temps précédent dans l'unité cachée actuelle ou en fournissant l'étiquette de sortie correcte pour l'énoncé précédent au modèle actuel pendant la formation. Le processus de formation consiste à prendre la dérivée de la fonction de perte par rapport à chaque poids et à l'utiliser pour mettre à jour les poids sous des contraintes linéaires. L'orateur note que même si les RNN peuvent sembler complexes, ils peuvent être entraînés en utilisant les mêmes procédures que les autres réseaux de neurones.

  • 00: 35: 00 Dans cette section, l'orateur discute du concept de modélisation de séquences avec des outils d'apprentissage automatique et de la manière de gérer les longues séquences. Il explique que dans des cas comme la traduction de phrases ou la transcription de mots prononcés, les séquences d'entrée doivent être transformées en séquences de sortie. Cependant, lorsqu'il n'y a pas de séquence cible séparée, un signal d'apprentissage peut être obtenu en essayant de prédire le terme suivant de la séquence d'entrée. Le défi de cette approche se pose lorsqu'il s'agit de très longues séquences où l'influence d'un mot particulier décroît avec le temps. Pour y faire face, l'orateur explique diverses méthodes, telles que les réseaux d'état d'écho et l'utilisation de l'élan, mais met en évidence les modules de mémoire à long terme comme l'approche la plus puissante. Ces modules utilisent des unités logistiques et linéaires avec des interactions multiplicatives pour concevoir une cellule mémoire capable de mémoriser des valeurs pour des centaines de pas de temps.

  • 00:40:00 Dans cette section, le conférencier explique le concept d'une cellule de mémoire analogique dans les réseaux de neurones à mémoire longue et à court terme (LSTM). La cellule mémoire est une unité linéaire avec une auto-liaison qui a un poids de un, garantissant que les informations restent inchangées et non diluées par tout type de perte de poids. La cellule est contrôlée par des portes qui maintiennent une chambre d'écho où l'information est répétée constamment jusqu'à ce qu'elle soit nécessaire, et le réseau décide quand se souvenir ou oublier une information. L'activation des portes de lecture et de conservation permet respectivement la récupération et la maintenance des informations. Le réseau est doté de capacités de mémorisation, d'oubli, de stockage et de récupération d'un souvenir, et il décide quand il est utile de se souvenir ou d'oublier une information particulière. La mise en place de ces portes permet de conserver longtemps l'information dans des réseaux de neurones récurrents.

  • 00: 45: 00 Dans cette section, l'orateur discute de l'application des réseaux de neurones récurrents (RNN) à la lecture de l'écriture cursive. Les RNN avec de longs modules de mémoire à court terme se sont avérés être le meilleur système pour cette tâche en 2009. Une séquence de petites images a été utilisée comme substitut aux coordonnées du stylo pour former le réseau. L'orateur montre une démonstration de reconnaissance d'écriture manuscrite en ligne, où les caractères sont déduits de l'écriture manuscrite au fil du temps, et les probabilités a posteriori pour chacun de ces caractères sont accessibles. L'état du système est maintenu et différents points reçoivent des poids différents. L'orateur explique comment les caractères sont appris et quelles parties du système sont importantes. L'orateur discute également de l'initialisation des unités cachées et de sortie des RNN et de la manière dont leur état initial peut être traité comme des paramètres d'apprentissage au lieu de les coder explicitement.

  • 00:50:00 Dans cette section, la vidéo décrit un nouveau développement dans les réseaux de neurones appelé le module transformateur, qui apprend les relations temporelles sans déroulement et sans utiliser de réseaux de neurones récurrents. Le module transformateur utilise une entrée avec un codage de position pour indiquer où se trouve le réseau dans la séquence sans qu'il soit nécessaire de dérouler le réseau dans le temps. L'encodeur décale l'incorporation de sortie d'un par rapport à l'entrée pour prédire l'élément suivant dans la phrase tandis que les modules d'attention déterminent les points les plus vitaux de la phrase. Le module utilise une représentation de requête d'un mot dans la séquence, des représentations clés de tous les mots de la séquence et des représentations de valeur de tous les mots de la séquence pour obtenir les relations temporelles.

  • 00: 55: 00 Dans cette section, l'orateur discute du transformateur, un type de réseau de neurones utile pour la traduction de séquences ou tout type de tâche séquentielle. Il encode les informations de contexte de la phrase entière à chaque fois lors de la production de chaque mot, et les relations entre les mots consécutifs sont encodées dans cette relation entrée-sortie, qui est décalée de un. Le conférencier présente également les réseaux de neurones graphiques et décrit comment ils peuvent être utilisés pour résoudre des problèmes de réseau classiques, ainsi que l'application potentielle en biologie computationnelle. L'exposé se termine par une discussion sur les frontières de la recherche des réseaux de neurones de graphes, telles que leur application dans les modèles de graphes dégénératifs et l'inférence de graphes latents.

  • 01:00:00 Dans cette section, le conférencier parle des avantages de l'utilisation des réseaux de neurones convolutifs (CNN) sur des données structurées en grille comme des images et du potentiel d'utilisation des réseaux de neurones graphiques (GNN) sur des données hors grille comme les réseaux sociaux, cartes de connectivité cérébrale et molécules chimiques. L'orateur aborde également les trois différents types de fonctionnalités qui peuvent être présentes dans les GNN : les fonctionnalités de nœud, les fonctionnalités de bord et les fonctionnalités au niveau du graphique. De plus, le conférencier souligne les problèmes liés à l'utilisation d'un réseau entièrement connecté pour les prédictions de graphes, y compris le nombre de paramètres mis à l'échelle avec le nombre de nœuds, ce qui le rend peu pratique dans de nombreuses situations.

  • 01:05:00 Dans cette section, l'orateur discute de certaines des limites de l'utilisation des réseaux de neurones à anticipation traditionnels pour les données basées sur des graphes, y compris la question de la taille des graphes et le manque d'invariance à l'ordre des nœuds. Ils introduisent ensuite les réseaux de neurones de graphes (GNN), qui peuvent gérer une large classe d'invariances et propager des informations sur un graphe pour calculer les caractéristiques des nœuds et faire des prédictions en aval. La formule de base des GNN consiste à échantillonner des informations à partir du voisinage environnant du nœud et à mettre à jour la représentation du nœud en fonction de ces informations. L'orateur note que ce processus est similaire au processus utilisé dans les réseaux de neurones convolutifs (CNN) pour les données d'image.

  • 01:10:00 Dans cette section, l'orateur discute du concept de réseaux neuronaux de graphes à deux couches et de la façon dont ils sont mis à jour pour différents nœuds dans un graphe. Ils expliquent que les réseaux de neurones graphiques sont différents des autres types de réseaux car ils permettent globalement plus d'informations, au lieu de simplement des interactions d'ordre supérieur entre différentes parties de l'espace d'entrée. L'orateur parle également des réseaux convolutifs de graphes (GCN) et de la façon dont ils considèrent les graphes non orientés, avec une règle de mise à jour qui applique une matrice de poids à chaque représentation cachée des voisins d'un nœud. L'évolutivité des réseaux de neurones graphiques est également discutée, avec la suggestion de sous-échantillonner le nombre de contributeurs aux mises à jour des nœuds pour éviter que le réseau n'explose.

  • 01:15:00 Dans cette section, l'orateur explique les réseaux de neurones graphiques (GNN), qui sont un type de réseau neuronal utilisé pour les données graphiques. Les GNN dépendent moins du poids que les réseaux entièrement connectés et sont invariants aux permutations, ce qui permet une classification sur de grands graphiques. Les GNN ont une prise en charge indirecte des fonctionnalités de périphérie, et une adaptation consiste à utiliser des intégrations de périphérie pour faire passer entièrement les messages à travers le réseau. L'orateur utilise les réseaux de citations comme exemple et explique comment le mécanisme de mise à jour fonctionne dans les GNN.

  • 01:20:00 Dans cette section de la vidéo, l'orateur explique comment un réseau de neurones de graphe fonctionne pour la mise à jour bord à sommet, et comment la fonction d'attention joue un rôle vital pour rendre le réseau flexible et puissant. L'objectif de la mise à jour bord à sommet des GNN est d'obtenir l'état de l'un des bords, ce qui peut être réalisé en prenant une agrégation des représentations des nœuds incidents et en appliquant une fonction non linéaire spécifique aux mises à jour des bords. De même, les mises à jour des sommets impliquent des informations provenant des arêtes incidentes d'un nœud. Cependant, les activations basées sur les bords deviennent énormes, ce qui rend impossible la gestion de grands graphiques. La fonction d'attention fournit une représentation vectorielle explicite sans inclure toutes les informations des bords, réduisant les exigences de calcul des modèles tout en conservant leur flexibilité et leur puissance. L'orateur décrit comment les scores d'attention peuvent montrer à quel point chaque voisin contribue à la mise à jour du nœud central, ce qui permet de déduire certaines relations ou de contribuer des propriétés.

  • 01:25:00 Dans cette section, les conférenciers discutent des réseaux convolutifs de graphes (GCN) et de leurs avantages et défis. Les GCN permettent d'appliquer plusieurs couches dans le graphique, et chaque mise à jour a la même forme. Ils sont utiles pour la classification des nœuds, la classification des graphes et la prédiction des liens. Cependant, il existe encore des problèmes d'optimisation dus aux mises à jour parallèles dans tout le graphique, et les constantes de normalisation peuvent devoir être corrigées pour éviter la déstabilisation. De plus, les GCN peuvent souffrir de problèmes d'expressivité par rapport à d'autres méthodes telles que les réseaux d'attention graphique (GAT). Néanmoins, les GCN sont toujours plus rapides que les méthodes qui nécessitent des intégrations de bord ou la transmission de messages neuronaux.

  • 01:30:00 Dans cette section, l'orateur discute des réseaux de neurones graphiques (GNN), qui sont un type de modèle pouvant être appliqué aux graphiques ou aux réseaux de données. Les GNN impliquent de prendre le produit scalaire entre les représentations de deux nœuds quelconques du graphique, d'appliquer une fonction non linéaire telle qu'une sigmoïde, puis de produire une probabilité de l'existence de cette arête. Les GNN permettent également la modélisation prédictive dans des domaines tels que l'interaction des gènes en biologie. Le conférencier conclut en résumant les différents types de réseaux discutés, y compris les réseaux de neurones convolutifs (CNN), les réseaux de neurones récurrents (RNN), les modules de mémoire à long court terme et les modules de transformateur.
Recurrent Neural Networks RNNs, Graph Neural Networks GNNs, Long Short Term Memory LSTMs
Recurrent Neural Networks RNNs, Graph Neural Networks GNNs, Long Short Term Memory LSTMs
  • 2021.03.02
  • www.youtube.com
Deep Learning in Life Sciences - Lecture 04 - RNNs, LSTMs, Transformers, GNNs (Spring 2021)6.874/6.802/20.390/20.490/HST.506 Spring 2021 Prof. Manolis Kellis...