Por Que RNNs e CNNs São Insuficientes em PLN
Deslize para mostrar o menu
Ao trabalhar com processamento de linguagem natural, a estrutura e o significado da linguagem frequentemente se estendem por longos trechos de texto. Modelos de deep learning iniciais como as redes neurais recorrentes (RNNs) e as redes neurais convolucionais (CNNs) foram adaptados de outros domínios para lidar com dados sequenciais, mas ambas as abordagens enfrentam gargalos críticos quando aplicadas à linguagem.
As RNNs processam sequências de entrada um token por vez, mantendo um estado oculto que é atualizado passo a passo. Essa natureza sequencial impossibilita a paralelização dos cálculos entre os passos temporais, o que desacelera o treinamento e a inferência. Além disso, à medida que a sequência se torna mais longa, os gradientes retropropagados por muitos passos tendem a diminuir exponencialmente – um fenômeno conhecido como problema do gradiente desaparecendo. Isso dificulta que as RNNs aprendam dependências de partes distantes de uma sequência, o que é especialmente problemático para tarefas como classificação de documentos ou tradução automática, onde o contexto do início do texto pode ser crucial.
As CNNs, por outro lado, aplicam filtros convolucionais sobre janelas de tamanho fixo da entrada. Embora as CNNs permitam certa paralelização e possam capturar padrões locais de forma eficiente, seus campos receptivos locais fazem com que cada saída seja influenciada apenas por uma janela de contexto limitada. Para capturar dependências mais longas, é necessário empilhar muitas camadas convolucionais ou aumentar o tamanho dos filtros, o que rapidamente se torna ineficiente e ainda assim apresenta dificuldades para modelar relações entre palavras distantes em uma sentença.
Esses gargalos tornam-se especialmente evidentes em tarefas reais de classificação de texto ou predição de sequência. Por exemplo, em análise de sentimento, o sentimento de uma frase pode depender de uma palavra no início e outra no final. As RNNs podem ter dificuldade em conectar essas palavras devido ao gradiente desaparecendo, enquanto as CNNs podem não captar a conexão de longo alcance se ela estiver fora do seu campo receptivo.
Os Transformers superam essas limitações utilizando um mecanismo de autoatenção que permite que cada token da entrada atenda diretamente a todos os outros tokens, independentemente de sua posição na sequência. Isso possibilita ao modelo capturar dependências de longo alcance de forma eficiente e permite a paralelização dos cálculos em todas as posições da sequência, acelerando significativamente o treinamento e a inferência.
A tabela a seguir resume as principais diferenças entre RNNs, CNNs e Transformers em propriedades relevantes para tarefas de PLN:
Esta comparação destaca por que os Transformers se tornaram a arquitetura preferida para aplicações modernas de PLN.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo