En 2015, la sagesse commune voulait que les réseaux de neurones récurrents soient difficiles à entraîner, et les articles qui les utilisaient étaient ardus, avec des équations et des tableaux de résultats comparatifs qui donnaient au lecteur peu d'idée de ce que le réseau avait réellement appris. Andrej Karpathy avait constaté le contraire dans ses propres travaux sur le sous-titrage d'images, où un petit modèle configuré arbitrairement produisait des légendes étonnamment bonnes en quelques minutes, et il entreprit de montrer pourquoi ces modèles méritaient l'attention.
Son essai présentait le RNN comme une unique fonction à état, puis l'enrichissait d'un modèle de langage au niveau des caractères qui prédit le caractère suivant d'un texte. L'article incluait une implémentation minimale de 100 lignes en numpy et une base de code Torch/Lua sous licence MIT, char-rnn, afin que le lecteur puisse reproduire chaque expérience en fournissant un seul grand fichier texte.
Les démonstrations rendaient l'apprentissage lisible. L'échantillonnage après entraînement montrait des dialogues shakespeariens, du markdown Wikipédia avec des XML et des crochets correctement imbriqués, du LaTeX qui compilait presque en fausse géométrie algébrique, et du code C du noyau Linux avec des accolades équilibrées et des commentaires plausibles. Un modèle entraîné sur Guerre et Paix est passé de charabias aléatoires à l'itération 100 à des phrases correctement orthographiées à l'itération 2000, et les visualisations de neurones ont révélé des cellules qui avaient appris à suivre si le texte se trouvait à l'intérieur d'une URL, d'une citation ou d'un lien wiki, plutôt qu'à mémoriser des chaînes.
La liste de mises à jour ajoutée à l'article documente les réactions : des discussions sur Reddit, une conférence au meetup London Deep Learning, une comparaison avec des baselines n-gram par Yoav Goldberg, et des réplications communautaires entraînant char-rnn sur des recettes de cuisine, des paroles d'Eminem, des discours d'Obama, de la musique folk irlandaise, de la musique en notation ABC et la Bible. L'essai est réapparu sur Hacker News le 3 février 2019, recueillant 161 points et 51 commentaires.
Montrer l'apprentissage en train de se faire : un modèle de caractères par corpus, avec le code et les cartes de neurones
Une implémentation numpy de 100 lignes plus un dépôt publié rendaient l'affirmation réfutable : tout lecteur pouvait entraîner les mêmes modèles au lieu de faire confiance aux captures d'écran de l'auteur.
Des corpus familiers faisaient l'explication gratuitement, Shakespeare, Wikipédia, LaTeX et le code source de Linux, car les lecteurs pouvaient juger si l'échantillon de sortie semblait correct sans aucune expertise en ML.
Montrer des échantillons aux itérations 100, 300, 700 et 2000 remplaçait l'affirmation abstraite que les réseaux apprennent par le processus visible d'une structure qui émerge, de l'espacement à l'orthographe puis à la grammaire.
Les cartes d'activation des neurones répondaient au scepticisme sur les boîtes noires, en montrant des cellules qui avaient appris la détection de citations, le suivi d'URL et le comptage de crochets à partir des seuls caractères bruts.
La licence MIT permettait aux projets dérivés de diffuser la technique dans les recettes, la musique et les discours politiques, ce qui explique comment un simple billet de blog a semé un écosystème visible.
Quand une technique est mise en doute parce que ses rouages internes sont invisibles, livrez la plus petite version fonctionnelle et montrez l'apprentissage en train de se faire ; des preuves que les lecteurs peuvent réexécuter valent mieux que des affirmations selon lesquelles c'est trop difficile.
Suites
La liste de mises à jour ajoutée à l'article consigne les suites immédiates : des discussions sur r/machinelearning et r/programming, une conférence au meetup London Deep Learning, la comparaison avec des baselines n-gram de Yoav Goldberg, et des modèles communautaires entraînés sur des recettes de cuisine, des paroles d'Eminem, des discours d'Obama, de la musique folk irlandaise et la Bible, ainsi qu'un instantané Terminal.com avec char-rnn préinstallé. L'essai est réapparu sur Hacker News le 3 février 2019, recueillant 161 points et 51 commentaires, des années après la publication des travaux sur les LSTM qu'il a popularisés.
VÉRIFIEZ LES SOURCES
Les sources
- The Unreasonable Effectiveness of Recurrent Neural Networks Andrej Karpathy · karpathy.github.io ·
- The Unreasonable Effectiveness of Recurrent Neural Networks — Hacker News discussion Hacker News · news.ycombinator.com ·