“Catastrophic Failure” em Aprendizado de Máquina…que é isso?
Existem alguns fenômenos em sistemas de ML que muitas vezes passam desapercebidos nas discussões sobre o tema, principalmente quando deixamos contaminar nossa tendência à antropomorfização dominar nossa mente. Isso é muito comum quando falamos em uma hipotética AGI. Um bom exemplo é o “catastrophic forgetting”.
Em 1989 neurocientistas estavam pesquisando como redes neurais computacionais (reparem que antes desse tema estar na mídia, ele já estava ativo nas pesquisas) armazenavam e mantinham memória. Para isso estavam usando matemática simples, como adição (soma). Eles converteram números em padrões de neurônios, treinaram uma rede neural para fazer adições transformando dois números de entrada (por exemplo, 1 e 3) na saída correta, que seria 4. Eles treinaram a rede na adição de 1 (1+2, 1+3, 1+4, etc.) até que ela ficou boa nisso. Então eles treinaram a rede para adição de 2 (2+1, 2+2, 2+3, etc.) até que ela também ficou boa nessa adição.
Aí se depararam com um problema. Depois que a rede foi treinada com adição de 2, ela esqueceu como fazer a adição de 1! Quando eles propagaram os erros de volta para a rede (back propagation) e atualizaram os pesos dos parâmetros para treinar na adição de 2, a rede simplesmente os sobrepunha sobre como adicionar os 1. A rede neural aprendeu a nova tarefa às custas da tarefa aprendida anteriormente. Assim, se uma rede for treinada para ser muito assertiva em reconhecer gatos, vendo milhões de imagens de gatos, e depois começar a treiná-la para reconhecer cachorros, só passando imagens de cachorros, até que ela muito boa nisso, quando você jogar como input uma imagem de gato, ela não vai reconhecer o bicho. Eles batizaram o fenômeno de “catastrophic failure”. É um fenômeno natural das redes neurais computacionais.
Ainda não resolvemos este problema nas tecnologias atuais de ML. O que fazemos? Treinamos os algoritmos com uma determinada base de dados e o “congelamos” nesse estágio. A rede neural não aprende continuamente. Eles aprendem de uma vez, e é congelada nesse contexto. Uma rede neural que faz reconhecimento facial, ou analisa imagens de radiologia ou mesmo dirige carros usa a base de treinamento adquirida durante a fase de treinamento. Não é alimentada com novos dados continuamente. Os novos dados são coletados e depois em custosos retreinamentos são incorporados à base anterior para retreinar a rede. Não é um aprendizado contínuo e em tempo real.
Assim, recapitulado, o esquecimento catastrófico ocorre devido à natureza do processo de otimização durante o treinamento. Quando um modelo é treinado para minimizar a perda da tarefa atual, ele ajusta seus parâmetros para melhor se adequar aos novos dados. No entanto, este ajuste resulta muitas vezes no desvio do modelo do seu estado original, levando a uma perda de conhecimento codificado nos seus pesos.
Para entender por que acontece o esquecimento catastrófico, devemos nos aprofundar em que como é feito o treinamento das redes neurais. As redes neurais consistem em numerosos pesos interconectados que definem seu comportamento. O treinamento envolve o ajuste desses pesos para minimizar uma função de perda e o alinhamento das previsões do modelo com a verdade básica.
Quando um modelo é inicialmente treinado em uma tarefa, seus pesos são ajustados para capturar padrões relevantes nos dados. Porém, quando introduzimos novos dados ou tarefas, o modelo é obrigado a ajustar novamente seus pesos. Este novo ajustamento, se não for gerido cuidadosamente, pode levar à erosão dos padrões aprendidos durante tarefas anteriores.
Embora não resolvido, algumas técnicas começam a serem usadas para mitigar o problema. Aqui uma lista de algumas delas.
1) Regularização: Incorporar técnicas de regularização, como perda de peso ou abandono durante o treinamento. Estas técnicas desencorajam o modelo de se adaptar excessivamente a novas tarefas e ajudam-no a reter mais do seu conhecimento original.
2) Elastic Weight Consolidation (EWC): atribuir penalidades a pesos importantes aprendidos durante tarefas anteriores. Isso incentiva o modelo a proteger esses pesos durante os treinos subsequentes, evitando mudanças drásticas.
3) Destilação de Conhecimento: Transferir conhecimento de um modelo mais antigo e de bom desempenho para um modelo mais novo. Esse processo minimiza o esquecimento ao transmitir insights aprendidos anteriormente.
4) Aprendizagem Progressiva: Introduzir gradualmente novas tarefas no modelo, garantindo ao mesmo tempo que ele mantém seu desempenho em tarefas mais antigas. Essa exposição gradual ajuda a reter o conhecimento.
5) Treinamento multitarefa: treinar o modelo em uma variedade de tarefas simultaneamente. Essa abordagem incentiva o modelo a generalizar entre as tarefas, tornando-o menos sujeito ao overfitting.
6) Taxas de aprendizagem adaptativas: implementar estratégias de taxa de aprendizagem que priorizem a manutenção do desempenho em tarefas mais antigas durante o ajuste fino.
7) Aprendizagem contínua: Os métodos de aprendizagem contínua envolvem o treinamento incremental do modelo em novas tarefas, ao mesmo tempo em que gerencia cuidadosamente o impacto no conhecimento anterior.
O esquecimento catastrófico representa um desafio único na evolução das redes neurais. À medida que estes modelos crescem em complexidade e importância, abordar esta questão torna-se fundamental para manter as suas capacidades. Ao compreender as razões subjacentes ao esquecimento catastrófico e ao adotar estratégias de mitigação eficazes, a comunidade de IA estará mais bem equipada para eventualmente construir novos modelos linguísticos resilientes, adaptáveis e em constante melhoria. E reconhecer as limitações atuais e evitar as manchetes sensacionalistas que vemos por aí.
No mundo acelerado da IA, para permanecer à frente requer não apenas proeza técnica, mas também uma compreensão profunda dos desafios que acompanham a inovação. O esquecimento catastrófico é um desses desafios, um quebra-cabeça que pesquisadores trabalham para resolver.
Essa ainda é uma barreira para uma hipotética AGI. Os cérebros biológicos não desaprendem quando novos conhecimentos são adquiridos. Nós aprendemos continuamente. Por exemplo, treine um peixe para escapar de uma rede (de pesca!) através de um pequeno buraco, por um ano inteiro e ele aprenderá a fazer isso. Deixe o peixe em outro local por outro ano. Nesse período ele aprenderá novas coisas. E quando você o recolocar diante da rede de pesca anterior, ele vai se lembrar de como escapar dela. Os novos conhecimentos adquiridos não afetaram sua memória. Ainda não sabemos exatamente como nosso cérebro biológico faz isso e, portanto, se não sabemos como nós aprendemos, fica difícil fazer algo computacionalmente que simule o que não conhecemos. Por isso não acredito nas teorias que estamos à beira de uma AGI…ainda temos muito chão para percorrer.