Termo do glossário · · 3 min de leitura
Continual Learning
Um modelo encaminha as mensagens dos clientes para os setores “pedidos” e “devoluções”. Ele sabe reconhecer “Onde está a minha encomenda?”. Agora a empresa abre um setor de reclamações. Você continua treinando o modelo com mensagens sobre produtos danificados. As reclamações são encaminhadas cada vez melhor, mas parte das perguntas sobre entrega também começa a cair no novo setor. Verificar apenas as reclamações daria uma falsa sensação de progresso.
Você precisa ensinar coisas novas ao modelo preservando as habilidades anteriores. Esse é o objetivo do Continual Learning: o aprendizado a partir de dados ou tarefas que chegam em sequência, levando em conta o que o modelo aprendeu antes. O nome designa um problema e uma família de abordagens; não garante que não haverá esquecimento. Essa necessidade é descrita por Kirkpatrick et al., Overcoming catastrophic forgetting in neural networks, §1.

O que mudamos no treinamento e na verificação
Suponhamos que o arquivo completo dos exemplos usados no treinamento anterior já não esteja disponível. Antes de apagá-lo, guardamos uma pequena amostra: 20 mensagens com os setores corretos conhecidos. Um dos métodos possíveis consiste em misturar essa amostra aos novos exemplos de reclamações. Assim, o treinamento seguinte recebe também o sinal de que deve continuar tratando corretamente “Onde está a minha encomenda?”. Reutilizar exemplos antigos é uma das estratégias descritas por van de Ven e Tolias, Three scenarios for continual learning, §3.3.
Veja também: Experience Replay — guardar uma pequena amostra de exemplos antigos e misturá-la ao novo treinamento.
A equipe de avaliação mantém um teste separado com mensagens antigas, que não usamos no treinamento. Depois de cada atualização, verificamos as categorias antigas e as novas. Os números abaixo são um exemplo inventado, não o resultado de um estudo; cada teste contém 100 mensagens.
| Variante do modelo | Mensagens antigas corretas | Reclamações corretas |
|---|---|---|
| Antes do novo treinamento | 90/100 | 0/100 — a categoria não existe |
| Depois de treinar apenas com reclamações | 40/100 | 92/100 |
| Depois de treinar com a amostra de mensagens antigas | 89/100 | 87/100 |
A última variante preserva melhor a habilidade anterior, embora reconheça as reclamações pior do que a segunda. A tabela mostra o que comparar; não promete esse resultado depois de acrescentar 20 exemplos.
As condições mudam a dificuldade
No nosso exemplo, o próprio modelo escolhe entre todos os setores que conhece. Uma dica como “esta é uma mensagem da nova categoria” facilitaria o teste. A disponibilidade dessas dicas e das fronteiras entre as tarefas é importante na comparação de métodos (van de Ven e Tolias, §2–2.3). Uma amostra pequena pode deixar de fora perguntas raras; uma boa média não prova que cada habilidade foi preservada.
- Catastrophic Forgetting [Polski] descreve uma piora acentuada das habilidades antigas; a demonstração daquela nota mostra como um novo treinamento altera ajustes compartilhados.
- Fine-tuning [Polski] é a continuação do treinamento de um modelo com exemplos selecionados. Depois de cada novo treinamento, verificamos também as capacidades anteriores.
- Knowledge Distillation [Polski] pode transmitir orientações de um modelo mais antigo para o que está sendo atualizado; é uma estratégia diferente de guardar as mensagens originais (§3.3 do trabalho de van de Ven e Tolias).
O texto e a ilustração foram preparados com a ajuda de IA; as mensagens, o tamanho da amostra e os resultados da tabela são um exemplo didático próprio. A ilustração mostra o objetivo de preservar as habilidades anteriores, não a estrutura do modelo.