En 2015, la sabiduría convencional decía que las redes neuronales recurrentes eran difíciles de entrenar, y los artículos que las usaban eran pesados de leer, con ecuaciones y tablas de resultados que daban al lector poca idea de lo que la red había aprendido realmente. Andrej Karpathy había encontrado lo contrario en su propio trabajo sobre subtitulado de imágenes, donde un modelo pequeño, configurado de forma arbitraria, producía subtítulos sorprendentemente buenos en cuestión de minutos, y se propuso mostrar por qué los modelos merecían atención.

Su ensayo enseñaba la RNN como una única función de paso con estado, y luego construía sobre ella un modelo de lenguaje a nivel de carácter que predice el siguiente carácter de un texto. El artículo incluía una implementación mínima de 100 líneas en numpy y una base de código Torch/Lua con licencia MIT, char-rnn, para que el lector pudiera reproducir cada experimento alimentándola con un único archivo de texto grande.

Las demostraciones hacían legible el aprendizaje. El muestreo tras el entrenamiento mostraba diálogo shakespeariano, markdown de Wikipedia con XML y corchetes correctamente anidados, LaTeX que casi compilaba en geometría algebraica falsa, y código C del kernel de Linux con llaves equilibradas y comentarios verosímiles. Un modelo de Guerra y paz mejoró desde revoltijos aleatorios en la iteración 100 hasta oraciones correctamente escritas en la iteración 2000, y las visualizaciones de neuronas encontraron células que habían aprendido a rastrear si el texto estaba dentro de una URL, una cita o un enlace wiki, en lugar de memorizar cadenas.

La lista de ediciones añadida al final de la entrada documenta la respuesta: debates en Reddit, una charla en el meetup London Deep Learning, una comparación con líneas base de n-gramas por Yoav Goldberg, y replicaciones de la comunidad que entrenaron char-rnn con recetas de cocina, letras de Eminem, discursos de Obama, música folclórica irlandesa, música en notación ABC y la Biblia. El ensayo resurgió en Hacker News el 3 de febrero de 2019, atrayendo 161 puntos y 51 comentarios.

Mostrar el aprendizaje a medida que ocurre: un modelo de caracteres por corpus, con código y mapas de neuronas

Una implementación de 100 líneas en numpy más un repositorio publicado hacían falsable la afirmación: cualquier lector podía entrenar los mismos modelos en lugar de confiar en las capturas de pantalla del autor.

Corpus familiares hicieron la explicación por sí solos, Shakespeare, Wikipedia, LaTeX y el código fuente de Linux, porque los lectores podían juzgar si la salida muestreada parecía correcta sin necesidad de ningún conocimiento de ML.

Mostrar muestras en las iteraciones 100, 300, 700 y 2000 reemplazaba la afirmación abstracta de que las redes aprenden con el proceso visible de la estructura emergiendo, desde el espaciado hasta la ortografía y la gramática.

Los mapas de activación de neuronas respondían al escepticismo sobre las cajas negras, mostrando células que aprendieron a detectar comillas, rastrear URL y contar corchetes solo a partir de caracteres sin procesar.

La licencia MIT permitió que proyectos derivados difundieran la técnica en recetas, música y discursos políticos, que es cómo una sola entrada de blog sembró un ecosistema visible.

Cuando se desconfía de una técnica porque su funcionamiento interno es invisible, publica la versión funcional más pequeña y muestra el aprendizaje a medida que ocurre; las pruebas que los lectores pueden volver a ejecutar superan a las afirmaciones de que es demasiado difícil.

La lista de ediciones añadida al final de la entrada registra seguimientos inmediatos: debates en r/machinelearning y r/programming, una charla en el meetup London Deep Learning, la comparación con líneas base de n-gramas de Yoav Goldberg, y modelos de la comunidad entrenados con recetas de cocina, letras de Eminem, discursos de Obama, música folclórica irlandesa y la Biblia, además de una instantánea de Terminal.com con char-rnn preinstalado. El ensayo resurgió en Hacker News el 3 de febrero de 2019, atrayendo 161 puntos y 51 comentarios, años después de que se publicara el trabajo subyacente sobre LSTM que popularizó.

CONSULTA LAS PRUEBAS

Las fuentes

  1. The Unreasonable Effectiveness of Recurrent Neural Networks Andrej Karpathy · karpathy.github.io ·
  2. The Unreasonable Effectiveness of Recurrent Neural Networks — Hacker News discussion Hacker News · news.ycombinator.com ·