Aprenda para Crescer: um novo framework para aprendizado continuado em redes neurais

Quando nós aprendemos novas tarefas, não nos esquecemos de tarefas aprendidas anteriormente. Pelo contrário: novos conhecimentos podem aumentar a eficiência de conhecimentos anteriores, ainda que eles sejam pouco relacionados. Pense num motorista que aprendeu conceitos de estatística. O fato de ele agora compreender como os semáforos são calibrados pode ter um impacto no seu estilo de dirigir.

Com as máquinas não é assim. Redes neurais são especializadas em aprender a tarefa atual, mas nesse processo, elas atualizam seus parâmetros internos e acabam esquecendo das características de tarefas anteriores. Esse é um problema tão bem conhecido que tem um nome específico: esquecimento catastrófico. Uma rede primeiro treinada para reconhecer rostos logo vai ser incapaz de fazê-lo se for treinada para a nova tarefa de reconhecer flores.

Os autores de um trabalho publicado em abril apresentaram uma solução. Ao invés de usar uma rede neural com uma estrutura fixa (número de camadas, número de neurônios, tipo de ligação entre camadas, tipo de ativação etc.) onde os parâmetros (os pesos) são atualizados no treinamento, eles propuseram que a rede deveria aprender estruturas específicas para a tarefa em questão junto com seus parâmetros. Assim, apenas as características em comum entre duas tarefas usam componentes comuns da rede; as partes específicas ficam sob responsabilidade de estruturas próprias. Como as partes comuns acabam sendo treinadas numa variedade maior de contextos, a eficiência da rede como um todo tende a ser ainda maior. Assim como acontece com o motorista que aprende estatística.

O que acontece na prática é que o método aplica uma “busca de arquitetura” para cada tarefa sequencial, para encontrar a estrutura ótima para a tarefa atual. Essa busca considera várias opções, como compartilhar (e atualizar) os parâmetros de camadas anteriores ou usar novos parâmetros. Assim a rede decide, passo a passo, se o melhor caminho para o aprendizado é usar uma estrutura existente ou criar um ramo paralelo.

Para avaliar a metodologia apresentada, os autores usaram dois datasets clássicos. O primeiro é o MNIST, conjunto de imagens contendo dígitos escritos a mão. Esse dataset foi dividido para ser usado como tarefas individuais, e o elemento que caracterizava cada tarefa como diferente da anterior foi o embaralhamento dos pixels que compunham as imagens. O segundo é o chamado dataset decathlon de domínio visual, que contém 10 tarefas de classificação de imagens originárias de outros datasets particulares, como o ImageNet (1 milhão de imagens pertencentes a 1 000 categorias diferentes) ou o CIFAR100 (60 000 imagens de 100 categorias diferentes). O modelo foi treinado sequencialmente com as 10 tarefas, e depois foi usado para fazer predições de classe na primeira tarefa novamente. Para o dataset MNIST, enquanto que o método padrão perdeu desempenho (a precisão caiu de 98 para 63%), o que caracteriza esquecimento catastrófico, o método Aprenda para Crescer manteve níveis similares de precisão, na faixa de 98%. No dataset decathlon, o método padrão perdeu desempenho em todos os tipos de tarefa, em níveis diferentes, mas o método Aprenda para Crescer novamente manteve níveis de precisão similares àqueles obtidos após a primeira tarefa, na faixa de 78%. O desempenho do método também foi melhor quando comparado com outros métodos propostos para contornar o problema do esquecimento catastrófico.

Incorporar o aprendizado continuado aos modelos atuais de machine learning é essencial para uma maior generalização de suas utilizações. Imagine um dia poder usar uma mesma macroestrutura genérica para tarefas tão diversas quanto reconhecer imagens, sons ou padrões de comportamento. Avanços como esse nos deixam mais perto desse cenário, que é ideal para uma explosão de inovação baseada em inteligência artificial.