Transformer est né en 2017 et a été présenté par Google dans le document "L'attention est tout ce dont vous avez besoin". Cet article abandonne les CNN et RNN utilisés dans les tâches précédentes d'apprentissage en profondeur. Cette recherche révolutionnaire a renversé l’idée précédente d’assimiler la modélisation de séquences et le RNN, et est désormais largement utilisée en PNL. Les populaires GPT, BERT, etc. sont tous construits sur Transformer.
Transformer Depuis son introduction, les chercheurs ont proposé de nombreuses variantes. Mais toutes les descriptions de Transformer semblent présenter l'architecture sous forme verbale, d'explications graphiques, etc. Il existe très peu d’informations disponibles sur les descriptions de pseudocode de Transformer.
Comme l'exprime le passage suivant : Un chercheur très célèbre dans le domaine de l'IA a envoyé un jour un article qu'il trouvait très bien écrit à un célèbre théoricien de la complexité. Et la réponse du théoricien est : je ne trouve aucun théorème dans l'article, je ne sais pas de quoi parle l'article.
Pour les praticiens, les articles peuvent être suffisamment détaillés, mais les théoriciens exigent généralement plus de précision. Pour une raison quelconque, la communauté DL semble réticente à fournir un pseudocode pour ses modèles de réseaux neuronaux.
Actuellement, il semble que la communauté DL ait les problèmes suivants :
Les publications DL manquent de précision et de détails scientifiques. L’apprentissage profond a connu un grand succès au cours des 5 à 10 dernières années, avec des milliers d’articles publiés chaque année. De nombreux chercheurs ne décrivent que de manière informelle comment ils ont modifié les modèles précédents, avec des articles de plus de 100 pages ne contenant que quelques lignes de descriptions informelles de modèles. Au mieux, quelques diagrammes de haut niveau, pas de pseudocode, pas d'équations, aucune mention d'une interprétation précise du modèle. Personne ne fournit même de pseudocode pour le célèbre Transformer et ses variantes encodeurs/décodeurs.
Code source et pseudo code. Le code source open source est très utile, mais comparé aux milliers de lignes de code source réel, un pseudocode bien conçu fait généralement moins d'une page et reste essentiellement complet. Cela semblait être un travail difficile que personne ne voulait faire.
Expliquer le processus de formation est tout aussi important, mais parfois le document ne mentionne même pas quelles sont les entrées et les sorties du modèle et quels sont les effets secondaires potentiels. Les sections expérimentales des articles n’expliquent souvent pas ce qui est introduit dans l’algorithme et comment. Si la section Méthodes contient quelques explications, elle est souvent déconnectée de ce qui est décrit dans la section Expérimentale, probablement parce que différents auteurs ont écrit des sections différentes.
Certaines personnes peuvent se demander : le pseudocode est-il vraiment nécessaire ? À quoi sert le pseudocode ?
Les chercheurs de DeepMind pensent que fournir un pseudocode a de nombreuses utilisations Par rapport à la lecture d'un article ou au défilement de 1 000 lignes de code réel, le pseudocode condense tout le contenu important sur une seule page, ce qui facilite le développement de nouvelles variantes. À cette fin, ils ont récemment publié un article "Formal Algorithms for Transformers", qui décrit l'architecture du Transformer de manière complète et mathématiquement précise.
Cet article explique ce qu'est Transformer, comment Transformer est formé, à quoi sert Transformer, les composants architecturaux clés de Transformer et un aperçu des modèles les plus célèbres.
Adresse papier : https://arxiv.org/pdf/2207.09238.pdf
Cependant, pour lire cet article, les lecteurs doivent se familiariser avec la terminologie de base du ML et les architectures simples de réseaux neuronaux. (comme les MLP) ). Pour les lecteurs, après avoir compris le contenu de l'article, ils auront une solide compréhension de Transformer et pourront utiliser le pseudocode pour implémenter leurs propres variantes de Transformer.
La partie principale de cet article est le chapitre 3-8, qui présente Transformer et ses tâches typiques, la tokenisation, la composition architecturale de Transformer, la formation et l'inférence de Transformer, ainsi que les applications pratiques.
Le pseudocode fondamentalement complet dans le document compte environ 50 lignes, tandis que le code source réel compte des milliers de lignes. Le pseudocode décrivant l'algorithme dans l'article convient aux chercheurs théoriques qui ont besoin de formules compactes, complètes et précises, aux chercheurs expérimentaux qui implémentent Transformer à partir de zéro, et est également utile pour étendre des articles ou des manuels utilisant l'algorithme formel de Transformer.
Exemples de pseudocode dans l'article
Pour les débutants qui connaissent la terminologie de base du ML et les architectures de réseaux neuronaux simples (telles que MLP), cet article vous aidera à maîtriser une base solide de Transformer et à utiliser modèles de pseudocode pour implémenter votre propre modèle Transformer.
Introduction à l'auteur
La première auteure de cet article est Mary Phuong, une chercheuse qui a officiellement rejoint DeepMind en mars de cette année. Elle est titulaire d'un doctorat de l'Institut autrichien des sciences et technologies, principalement engagée dans la recherche théorique sur l'apprentissage automatique.
Un autre auteur de l'article est Marcus Hutter, chercheur principal à DeepMind et professeur honoraire à l'Institut de recherche en informatique (RSCS) de l'Université nationale australienne (ANU).
Marcus Hutter est engagé dans des recherches sur la théorie mathématique de l'intelligence artificielle depuis de nombreuses années. Ce domaine de recherche est basé sur plusieurs concepts mathématiques et informatiques, notamment l'apprentissage par renforcement, la théorie des probabilités, la théorie algorithmique de l'information, l'optimisation, la recherche et la théorie informatique. Son livre, General Artificial Intelligence: Sequential Decision-Making Based on Algorithmic Probability, a été publié en 2005 et est un livre très technique et mathématique.
En 2002, Marcus Hutter, avec Jürgen Schmidhuber et Shane Legg, ont proposé la théorie mathématique de l'intelligence artificielle AIXI basée sur des agents idéalisés et un apprentissage par renforcement des récompenses. En 2009, Marcus Hutter a proposé la théorie de l’apprentissage par renforcement des fonctionnalités.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!