Das Redes Recorrentes Aos Transformers: O Desafio De Projetar Máquinas Que Leiam Como Humanos

https://miro.medium.com/max/803/0*eyFE1XVolhs_QKCm

Original Source Here

Das Redes Recorrentes Aos Transformers: O Desafio De Projetar Máquinas Que Leiam Como Humanos

A vida com pouca memória

Quando comparada com os resultados de reconhecimento de imagens obtidos por redes neurais convolucionais (CNN), a área de processamento de linguagem natural se mostra um tanto atrasada. Em grande medida isso ocorreu devido à dificuldade de se desenvolver uma arquitetura de rede neural que pudesse se valer da paralelização de processos em GPUs e na qual a transferência de aprendizado (transfer learning) realmente funcionasse.

No caso da linguagem, há ainda dois complicadores: a ordem das palavras importa (muito!) e tanto os inputs quanto os outputs podem ter tamanhos variados. Até poucos anos atrás, algumas das melhores arquiteturas neurais para problemas desse tipo eram redes neurais recorrentes (RNN), em particular as LSTM [1], que, no caso de sistemas encoder-decoder (“seq2seq”), como os de tradução, está esquematizada na figura seguinte, onde x pode ser uma string em inglês e y, uma em francês; f1 (encoder) e f2 (decoder) correspondem, neste caso, à aplicação recorrente de uma sequência de LSTMs:

Figura 1. Ilustração de uma rede sequence-to-sequence: x e y são as strings de input e output, respectivamente, c é o vetor de contexto e f1 é o encoder e f2, o decoder. Imagem extraída de [2].

Embora as LSTMs lidem muito melhor com frases longas do que as RNNs tradicionais, um gargalo desse tipo de sistema é o vetor fixo c, usado pelo encoder para representar o contexto da sentença x: as últimas palavras de x vão “pesar” mais do que as primeiras — e isso não tem nada a ver com a semântica das frases.

Atenção ao que importa

A solução para o problema do vetor fixo c foi criar uma espécie de correlação entre as palavras do input e do output: em vez de ter apenas um vetor c condensando de modo obscuro todo o contexto da entrada, agora cada palavra do output dependerá de um contexto que será uma combinação linear (CL) das palavras do input, como descreve a fórmula seguinte, onde os alphas são os coeficientes da CL e os h’s são os estados ocultos da rede neural:

A Figura 2a ilustra o processo: cada estado oculto st, associado à palavra yt de saída, depende da CL acima, de forma que todos os x’s de entrada contribuem com seu “peso” específico na escolha de cada y.

Figura 2. a) Esquema de um sistema de atenção com uma RNN bidirecional. Os x’s correspondem às palavras em inglês e os y’s às palavras em francês; h’s e s’s são os estados ocultos e os alphas são os pesos da combinação linear de cada contexto. b) Resultado do alinhamento com atenção entre uma sentença de entrada em inglês e a sua tradução em francês: não apenas a diagonal principal foi destacada, o que indica que a rede capturou relações não-óbvias entre input e output. Imagens extraídas do artigo seminal [3].

Essa abordagem nos permite plotar uma espécie de gráfico de correlação entre a string de entrada e a de saída, como mostra a Figura 2b: quanto mais claro o quadrado, mais associada está uma palavra a outra. É de se esperar, portanto, que a diagonal principal seja a mais “iluminada”, já que a frase traduzida imita a sequência da frase original: agreement está fortemente ligado (é a tradução de) accord. Mas note que isto não acontece no trecho European Economic Area: enquanto uma abordagem simplista alinharia European-zone e Area-européenne, o sistema de atenção associou corretamente os dois pares European-européenne e Area-zone.

Transformers: empacotando os novos conceitos

A arquitetura Transformer publicada no final de 2017 em [4] é um empacotamento funcional do que discutimos até este momento que dispensa totalmente o uso de qualquer tipo de RNN e utiliza tão somente mecanismos de atenção no lugar. Isto resolve dois gargalos das RNNs: o esquecimento de palavras “afastadas” (por conta do mecanismo de atenção) e treinamento sequencial (porque elas agora podem rodar em GPUs).

Figura 3. Transformer original, com um encoder (módulo da esquerda) e um decoder (módulo da direita). Extraído do artigo original [4].

A Figura 3, apresenta o modelo Transformer original. De partida se nota que é um modelo complicado. Nós não faríamos um trabalho mais detalhado e didático do que o descrito aqui, referência que indicamos ao leitor interessado em entender os pormenores da arquitetura. No entanto, vamos a algumas observações gerais pertinentes sobre esse sistema. Primeiro, o Transformer original é composto de dois módulos, um encoder (à esquerda da Figura 3) e um decoder (à direita) — as tecnologias construídas sobre ele podem usar só o encoder (BERT [5]) , ou só o decoder (GPT [6]) ou ambos (T5 [7]). Em aplicações, é comum se empilhar múltiplos desses módulos (N na figura). Como as arquiteturas do encoder e do decoder são semelhantes, vamos focar no encoder a seguir.

Conforme mencionamos, as RNNs resolveram o desafio de lidar com a natureza sequencial das frases com um sistema também recorrente e sequencial de leitura. No entanto, uma vez que as palavras são consumidas simultaneamente no Transformer, foi necessário criar uma camada de “Positional Encoding” que basicamente usa funções senóides e cossenóides associadas a cada token para inserir no sistema uma noção de ordem entre as palavras. Outra inovação importante da arquitetura é a camada de “Multi-head attention” que replica os mecanismos de atenção múltiplas vezes; isto permite que cada “cabeça” se especialize em uma característica do texto, como a gramática, a conjugação, etc., de modo semelhante ao qual os filtros das nas CNNs permitem à rede focar em cada “conjunto de contornos” da imagem. Finalmente, a etapa seguinte de cada bloco do encoder é uma rede neural feed forward, com a qual já estamos acostumados.

Essa arquitetura foi posteriormente adaptada em diversos algoritmos ultrapoderosos, com milhões ou bilhões de parâmetros, como o BERT e o GPT, e treinada de forma auto-supervisionada (sem necessidade de anotação prévia) sobre bases de texto imensas, como a Wikipedia ou Reddit inteiros. Bônus: transfer learning agora funciona! Isto abriu caminho para a popularização de sistemas de processamento de linguagem de altíssima qualidade, capazes de bater baselines humanos em tarefas de perguntas e respostas, como no desafio de Stanford SQuAD, mas essa história fica para outro artigo…

Conclusão

Neste artigo, mostramos em que se baseia e como funciona o modelo Transformer. A arquitetura se popularizou porque resolveu os maiores gargalos enfrentados pelas RNNs: a incapacidade de lidar de forma adequada com sentenças longas e de paralelizar o treinamento. Essas superações em conjunto com o treinamento auto-supervisionado, permitiram que os Transformers pudessem ser pré-treinados usando virtualmente qualquer conteúdo textual da internet, como a Wikipedia inteira, sem qualquer necessidade de anotação humana prévia, e posteriormente usados com eficiência para fine-tunings em datasets menores via transfer learning. Isto permitiu que redes enormes treinadas uma única vez pudessem ser reutilizadas por qualquer sistema menor, abrindo espaço para a popularização de algoritmos de processamento de linguagem muito mais poderosos do que os tradicionais baseados em RNNs e suas variantes.

Autores

Este artigo foi escrito em parceria com Marcos Menon, também pesquisador do Centro de Ciência de Dados (C²D) da USP.

Referências

  1. HOCHREITER, S.; SCHMIDHUBER, J. Long Short-Term Memory. Neural Computation, v. 9, n. 8, p. 1735–1780, 1997.
  2. GAO, J.; GALLEY, M.; LI, L. Neural approaches to conversational AI. ACL 2018–56th Annual Meeting of the Association for Computational Linguistics, Proceedings of the Conference Tutorial Abstracts, p. 2–7, 2018.
  3. BAHDANAU, D.; CHO, K. H.; BENGIO, Y. Neural machine translation by jointly learning to align and translate. 3rd International Conference on Learning Representations, ICLR 2015 — Conference Track Proceedings, p. 1–15, 2015.
  4. VASWANI, A. et al. Attention is all you need. Advances in Neural Information Processing Systems, v. 2017-Decem, n. Nips, p. 5999–6009, 2017.
  5. Devlin, J., Chang, M. W., Lee, K., & Toutanova, K. (2019). BERT: Pre-training of deep bidirectional transformers for language understanding. NAACL HLT 2019–2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies — Proceedings of the Conference, 1(Mlm), 4171–4186.
  6. BROWN, T. et al. Language Models are Few-Shot Learners. (H. Larochelle et al., Eds.)Advances in Neural Information Processing Systems. Anais…Curran Associates, Inc., 2020.
  7. Raffel, C., Shazeer, N., Roberts, A., Lee, K., Narang, S., Matena, M., Zhou, Y., Peter, W. L., & Liu, J. (2019). Exploring the limits of transfer learning with a unified text-to-text transformer. ArXiv, 21, 1–67.

AI/ML

Trending AI/ML Article Identified & Digested via Granola by Ramsey Elbasheer; a Machine-Driven RSS Bot

%d bloggers like this: