Uma RNN, ou rede neural recorrente, é uma rede neural feita para sequências como texto, fala ou séries temporais. Em cada passo, ela combina a entrada atual com um estado oculto do passo anterior, de modo que a saída possa depender do que veio antes.
Essa é a ideia principal: uma RNN tem uma memória em andamento. Uma LSTM é um tipo de RNN com portas que gerencia essa memória com mais cuidado quando informações importantes precisam sobreviver por muitos passos.
O que uma RNN faz em cada passo de tempo
No passo de tempo , uma RNN simples atualiza seu estado oculto com uma regra como
Aqui, é a entrada atual, é o estado oculto anterior e é o novo estado oculto. As matrizes e e o viés são aprendidos durante o treinamento.
Se o modelo também produz uma saída em cada passo, uma forma comum é
A regra exata da saída depende da tarefa. Alguns problemas precisam de uma saída por passo, enquanto outros usam apenas o estado oculto final.
Por que o estado oculto importa
Uma rede feedforward vê uma entrada e segue em frente. Uma RNN reutiliza parte do seu cálculo anterior. É essa reutilização que a torna útil para texto, fala, séries temporais e outros dados ordenados.
Você pode pensar no estado oculto como uma anotação compacta que o modelo escreve para si mesmo após cada passo. O passo seguinte lê essa anotação, a atualiza e passa a versão revisada adiante.
Se você mudar a ordem das mesmas entradas, os estados ocultos geralmente também mudam. A ordem da sequência importa.
Exemplo resolvido de RNN
RNNs reais normalmente usam vetores e ativações não lineares. Para manter as contas fáceis de ler, use um estado de brinquedo com um único número:
Agora processe a sequência , , .
Primeiro passo:
Segundo passo:
Terceiro passo:
O que importa aqui não é a fórmula exata. É a dependência do estado anterior. No passo 2, a atualização não usa apenas ; ela também usa o que foi carregado do passo 1. Essa é a ideia central de uma RNN.
Se você trocar a ordem e usar , , , então
O estado final é diferente, mesmo com os mesmos números aparecendo. É exatamente por isso que RNNs são modelos de sequência, e não modelos do tipo bag-of-inputs.
Por que RNNs básicas têm dificuldade com sequências longas
Em uma RNN básica, informações antigas precisam sobreviver a muitas atualizações repetidas. Se a sequência for longa, isso pode ser difícil. Sinais úteis podem desaparecer e, durante o treinamento, os gradientes também podem encolher ou explodir ao longo de muitos passos.
É por isso que RNNs simples costumam ter dificuldade quando a tarefa depende de informações de muito antes na sequência. O problema não é que a recorrência esteja errada. O problema é que memória de longo alcance é difícil de manter com uma atualização simples do estado oculto.
Como a LSTM melhora a memória da RNN
Uma LSTM, sigla para long short-term memory, é uma RNN com portas. Ela introduz um caminho de memória mais estruturado, geralmente chamado de estado da célula, além de portas que controlam quais informações são esquecidas, quais novas informações são escritas e qual parte é exposta como saída.
Você não precisa das equações completas das portas para entender a ideia. O projeto dá ao modelo mais controle sobre a memória. Se um detalhe precisa sobreviver por muitos passos, uma LSTM está mais preparada para mantê-lo do que uma RNN simples.
Isso não significa que uma LSTM se lembre de tudo para sempre. Significa que a arquitetura é melhor em aprender quando preservar informações e quando descartá-las.
RNN vs. LSTM em linguagem simples
Uma RNN básica tem um único estado em andamento e o atualiza repetidamente. Uma LSTM adiciona um mecanismo de memória mais forte em torno dessa ideia.
Se a sequência for curta e a dependência for local, uma RNN simples pode ser suficiente. Se a tarefa depender de informações de muito antes na sequência, uma LSTM costuma ser a escolha mais segura.
Erros comuns sobre RNN e LSTM
Achar que uma RNN vê a sequência inteira de uma vez
Geralmente não. A visão padrão é de processamento passo a passo, com o estado sendo carregado adiante.
Supor que a LSTM resolve a memória perfeitamente
Ela ajuda com dependências de longo alcance, mas ainda é um modelo treinado com capacidade finita e limites práticos.
Ignorar a ordem da sequência
RNNs são feitas para dados ordenados. Embaralhar os elementos da sequência muda o cálculo.
Tratar o estado oculto como uma memória legível por humanos
O estado oculto é uma representação numérica aprendida, não um resumo limpo em forma de frase.
Quando RNNs e LSTMs são usadas
Elas são usadas em problemas de sequência como modelagem de linguagem, fala, escrita à mão, fluxos de sensores e previsão de séries temporais. Hoje, muitas tarefas de linguagem usam transformers no lugar delas, mas RNNs e LSTMs ainda importam porque ensinam memória de sequência com clareza e ainda podem ser úteis em contextos menores ou especializados.
Tente sua própria versão
Escreva uma sequência de quatro passos e aplique a regra de brinquedo . Depois troque a ordem de duas entradas e compare o estado final. Esse pequeno experimento deixa o papel da recorrência muito mais claro do que a sigla sozinha.
Se quiser explorar outro caso, compare esta página com uma explicação sobre transformer ou cadeia de Markov e observe o que cada modelo faz com informações passadas.
Precisa de ajuda com um problema?
Envie sua pergunta e receba uma solução verificada, passo a passo, em segundos.
Abrir GPAI Solver →