Em 2015, a sabedoria convencional dizia que as redes neurais recorrentes eram difíceis de treinar, e os artigos que as utilizavam eram de leitura pesada, com equações e tabelas de benchmark que davam ao leitor pouca noção do que a rede havia de fato aprendido. Andrej Karpathy havia encontrado o oposto em seu próprio trabalho sobre legendagem de imagens, no qual um modelo pequeno, configurado de forma arbitrária, produzia legendas surpreendentemente boas em poucos minutos, e ele se propôs a mostrar por que os modelos mereciam atenção.

Seu ensaio ensinava a RNN como uma única função de passo com estado, e depois construía sobre ela um modelo de linguagem em nível de caractere que prevê o próximo caractere de um texto. O artigo incluía uma implementação mínima de 100 linhas em numpy e uma base de código Torch/Lua com licença MIT, a char-rnn, para que o leitor pudesse reproduzir cada experimento alimentando um único arquivo de texto grande.

As demonstrações tornaram o aprendizado legível. A amostragem após o treinamento mostrava diálogos shakespearianos, markdown de Wikipédia com XML e colchetes corretamente aninhados, LaTeX que quase compilava em uma falsa geometria algébrica e código C do kernel Linux com chaves balanceadas e comentários plausíveis. Um modelo de Guerra e Paz melhorou de amontoados aleatórios na iteração 100 para frases corretamente escritas na iteração 2000, e as visualizações de neurônios encontraram células que haviam aprendido a rastrear se o texto estava dentro de uma URL, de uma citação ou de um link de wiki, em vez de memorizar strings.

A lista de edições anexada ao post documenta a resposta: discussões no Reddit, uma palestra no meetup London Deep Learning, uma comparação com baselines de n-gramas feita por Yoav Goldberg e replicações da comunidade treinando a char-rnn com receitas de culinária, letras do Eminem, discursos de Obama, música folclórica irlandesa, música em notação ABC e a Bíblia. O ensaio ressurgiu no Hacker News em 3 de fevereiro de 2019, atraindo 161 pontos e 51 comentários.

Mostrar o aprendizado conforme acontece: um modelo de caractere por corpus, com código e mapas de neurônios

Uma implementação de 100 linhas em numpy mais um repositório publicado tornaram a afirmação falseável: qualquer leitor podia treinar os mesmos modelos em vez de confiar nas capturas de tela do autor.

Corpora familiares fizeram a explicação de graça, Shakespeare, Wikipédia, LaTeX e código-fonte do Linux, porque os leitores podiam julgar se a saída amostrada parecia correta sem precisar de nenhuma expertise em ML.

Mostrar amostras nas iterações 100, 300, 700 e 2000 substituiu a afirmação abstrata de que as redes aprendem pelo processo visível de estrutura emergindo, do espaçamento à ortografia e à gramática.

Mapas de disparo de neurônios responderam ao ceticismo sobre caixas-pretas, exibindo células que aprenderam a detectar citações, rastrear URLs e contar colchetes apenas a partir de caracteres brutos.

A licença MIT permitiu que projetos derivados espalhassem a técnica para receitas, música e discursos políticos, e é assim que um único post de blog semeou um ecossistema visível.

Quando uma técnica é desconfiada porque seu interior é invisível, entregue a menor versão funcional e mostre o aprendizado conforme acontece; evidências que os leitores podem reexecutar superam afirmações de que é difícil demais.

A lista de edições anexada ao post registra desdobramentos imediatos: discussões em r/machinelearning e r/programming, uma palestra no London Deep Learning meetup, a comparação com baseline de n-gramas de Yoav Goldberg e modelos da comunidade treinados com receitas de culinária, letras do Eminem, discursos de Obama, música folclórica irlandesa e a Bíblia, além de um snapshot do Terminal.com com a char-rnn pré-instalada. O ensaio ressurgiu no Hacker News em 3 de fevereiro de 2019, atraindo 161 pontos e 51 comentários, anos depois de o trabalho subjacente sobre LSTMs que ele popularizou ter sido publicado.

CONFIRA AS EVIDÊNCIAS

As fontes

  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 ·