Essencial
RNNs e o vanishing gradient
RNNs reutilizam uma transição no tempo, mas produtos repetidos de Jacobianos apagam ou amplificam sinais distantes.
Atualizada em
1
Conceito
Uma recurrent neural network simples atualiza um hidden state ao ler a sequência:
As mesmas matrizes são reutilizadas em toda posição. Desenrolar as equações revela uma rede profunda com parâmetros compartilhados, onde o tempo da sequência atua como profundidade.
O hidden state oferece memória, mas cada update transforma o estado anterior. Para aprender que um token inicial causou erro muito depois, o treino usa backpropagation through time. O grafo é desenrolado, e contribuições de cada uso dos parâmetros são acumuladas. Unroll completo exato custa memória proporcional ao comprimento.
A derivada de um estado posterior para um anterior contém produto de Jacobianos recorrentes. Numa recorrência linear simplificada, aparecem potências de . Se direções relevantes contraem repetidamente por fatores abaixo de um, o produto tende a zero: vanishing gradient. Se expandem acima de um, cresce rapidamente: exploding gradient. Derivadas das não linearidades entram na mesma cadeia.
Sigmoid e tanh saturam quando pre-activations têm magnitude grande. Nessas regiões, derivadas pequenas acrescentam outro fator de encolhimento por passo. Um gradiente que desaparece significa que estados iniciais recebem quase nenhuma informação sobre como mudar para reduzir loss distante. O forward ainda pode transportar sinal; a falha crítica é o treino não atribuir crédito de longo alcance.
Gradientes que explodem causam updates enormes, instabilidade e valores não finitos. Gradient clipping reescala ou limita o gradiente quando a norma ultrapassa um threshold. Isso protege a otimização, mas trata a magnitude depois da diferenciação. Não cria sinal onde derivadas repetidas já o apagaram.
Truncated backpropagation limita a janela desenrolada, economizando memória e compute. O estado pode continuar entre chunks enquanto gradientes param nas fronteiras. Isso limita explicitamente credit assignment e pode introduzir viés, embora seja prático quando dependências são locais. Política de chunk e detach faz parte do modelo reportado.
Inicialização mantém dinâmicas perto de escala estável, e matrizes ortogonais preservam normas em casos simplificados. Normalização e residuals melhoram caminhos. LSTM e GRU introduzem rotas aditivas com gates para conservar informação e gradientes. Attention cria arestas diretas entre posições distantes e encurta muito o caminho.
RNNs continuam úteis quando streaming, memória limitada ou compute baixo por passo importam. Seu limite não é esquecer categoricamente tudo, mas tornar frágil o aprendizado de dependências longas, enquanto a execução sequencial restringe paralelismo. A visão desenrolada une os fatos: uma transição compartilhada elegante vira cadeia muito profunda, e a geometria dos Jacobianos controla o que o passado ensina ao futuro.
Uma tarefa sintética pode colocar um marcador relevante a distâncias crescentes da previsão. Plote accuracy e norma do gradiente naquele marcador contra a distância. Isso transforma “memória longa” em degradação mensurável. Rode o protocolo com e sem clipping: clipping estabiliza explosões, mas uma curva que cai até chance mostra que o sinal distante não foi restaurado. Compare ainda comprimentos nunca vistos no treino para separar memorização do range e generalização recorrente.
Registre também tempo por passo, porque a dependência sequencial pode ser o limite mesmo quando a accuracy permanece aceitável.
2
Como explicar para uma criança de cinco anos
Uma mensagem atravessa cinquenta pessoas num telefone sem fio. Cada uma aplica o mesmo hábito: suaviza palavras fortes, destaca conhecidas e passa um resumo. Se cada entrega preserva 80% de um detalhe, depois de muitos passos ele quase some; se amplifica, explode. O sinal backward de uma RNN cruza transformações repetidas do mesmo jeito, e o crédito a longa distância depende de um produto de sensibilidades locais.
3
Ensine de volta
Desenrole conceitualmente uma RNN e explique vanishing e exploding gradients por produtos de Jacobianos, além de mitigações.
Mínimo: 80 caracteres e 15 palavras. Seu texto fica somente neste navegador.
Salvo somente neste dispositivo.
Ver uma resposta-modelo
Uma RNN calcula h_t=φ(W_hh h_{t−1}+W_xh x_t+b) com pesos compartilhados. Backpropagation through time multiplica derivadas em todos os passos. Se efeitos típicos ficam abaixo de um, gradientes distantes encolhem; acima de um, crescem. Activations saturadas pioram o encolhimento. Gradient clipping limita explosões, mas não recupera sinal apagado. Inicialização, unroll curto, normalização, gates, residuals e attention tratam partes diferentes.
4
Teste seu entendimento
Conclua o teach-back e acerte o quiz para finalizar a aula.
Fontes
- Yoshua Bengio, Patrice Simard e Paolo Frasconi (1994). Learning long-term dependencies with gradient descent is difficult.