Como evitar o 'esquecimento catastrófico'?

8

Li este artigo de Michael Honiball (criador de Spacy), no qual ele fala sobre o problema do 'Esquecimento Catastrófico' .

Aqui, ele diz que, quando queremos ajustar um modelo pré-treinado para adicionar um novo rótulo ou corrigir alguns erros específicos, ele pode introduzir o problema do 'Esquecimento Catastrófico' (perde sua generalidade). Para combater isso, ele propõe uma técnica chamada Pseudo-ensaio. Ele diz para prever vários exemplos com o modelo inicial e misturá-los através dos dados de ajuste fino e os usa como um objetivo para o modelo.

Isso significa que eu uso vez de gerado pelo modelo inicial, misturo-o com os novos valores dos pontos de dados recém-obtidos e o uso para treinar meus modelo?Y^(ThePredictedValue)Y(TheGroundTruth)Y

Estou correcto? Alguém pode elaborar?

Souraj Adhikary
fonte
11
Todas as funções exponenciais são de ordem zero. Em outras palavras, eles não têm memória. As causas do 'esquecimento catastrófico' estão nas premissas básicas do modelo. Dado que, eventos 'catastróficos' não são apenas prováveis, são inevitáveis ​​através de longas cadeias iterativas. * Pseudo-ensaio 'é uma solução bandaid e não uma solução real. A reversão para suposições de ordem diferente de zero que vão além da família exponencial seria uma abordagem. As sugestões para isso incluem premissas robustas, não paramétricas e sem distribuição, alavancando distribuições de valor extremo e assim por diante.
Mike Hunter

Respostas:

6

O esquecimento catastrófico é um problema inerente às redes neurais. Na Wikipedia,

(Esquecimento catastrófico) é uma manifestação radical do dilema "sensibilidade-estabilidade" ou do dilema "estabilidade-plasticidade". Especificamente, esses problemas se referem à questão de poder criar uma rede neural artificial que seja sensível a, mas não interrompida por, novas informações. As tabelas de pesquisa e as redes conexionistas estão do lado oposto do espectro da plasticidade da estabilidade. O primeiro permanece completamente estável na presença de novas informações, mas carece da capacidade de generalizar, isto é, inferir princípios gerais, a partir de novos insumos.

O que é o esquecimento catastrófico? Vamos considerar duas tarefas: Tarefa A e tarefa B. Agora, suponha que estamos usando um modelo pré-treinado que já é bastante bom na tarefa A (pesos aprendidos ) e queremos "ajustá-lo" para também ajustar a tarefa B. A prática comum é pegar os pesos de um modelo treinado na tarefa A e usá-los como inicialização para o treinamento na tarefa B. Isso funciona bemθUMAem aplicações nas quais a tarefa B é uma "subtarefa" da tarefa A (por exemplo, a tarefa B está detectando óculos e a tarefa A está detectando rostos). Quando B não é uma subtarefa de A, existe o medo de que o esquecimento catastrófico ocorra: essencialmente, a rede usará os mesmos neurônios que antes eram otimizados para a tarefa A, para prever a tarefa B. Ao fazer isso, perde completamente sua capacidade de classificar instâncias da tarefa A corretamente. Na verdade, você pode experimentar isso: você pode criar uma pequena rede que possa dizer se uma imagem MNIST é 5 ou não 5 e mede sua precisão nessa tarefa; Se você depois ajustar o modelo com a tarefa de determinar se uma imagem MNIST é 4 ou não, notará que a precisão do modelo final na tarefa original (reconhecimento 5) piorou.

Uma solução ingênua. A solução ingênua para o esquecimento catastrófico seria não apenas inicializar os pesos do modelo com para , mas também adicionar regularização: penalizar a solução do modelo com quando ele estiver longe de . Essencialmente, isso significa que o objetivo será encontrar a melhor solução para a tarefa B que ainda seja semelhante a , a solução para a tarefa A. A razão pela qual chamamos isso de uma abordagem ingênua é que muitas vezes não funciona bem. As funções aprendidas pelas redes neurais costumam ser muito complicadas e longe de lineares; portanto, uma pequena alteração nos valores dos parâmetros (por exemplo, estando próximo de ) ainda pode levar a resultados muito diferentes (por exemplo,θUMAθUMAθUMAθBθUMAfθUMA é muito diferente de ). Como são os resultados com os quais nos preocupamos, isso é ruim para nós.fθB

Pseudo-ensaio . Uma abordagem melhor seria tentar ser bom na tarefa B e, ao mesmo tempo, dar respostas semelhantes às respostas dadas por . O bom é que essa abordagem é muito fácil de implementar: Depois de aprender , podemos usar esse modelo para gerar um número infinito de exemplos "rotulados" . Então, ao treinar o modelo ajustado, alternaremos entre exemplos rotulados para a tarefa B e exemplos do formulário . Você pode pensar sobre este último como "exercícios de revisão" que se certificar que a nossa rede não perde a sua capacidade de alça tarefa Um tempo aprendendo a tarefa alça B .fθUMAθUMA(x,fθUMA(x))(x,fθUMA(x))

Uma abordagem ainda melhor: adicione memória . Como seres humanos, somos bons em generalizar (plasticidade) usando novos exemplos e em lembrar eventos muito raros, ou em manter habilidades que não usamos por um tempo (estabilidade). De muitas maneiras, o único método para alcançar algo semelhante com as redes neurais profundas, como as conhecemos, é incorporar alguma forma de "memória" nelas. Isso está fora do escopo da sua pergunta, mas é um campo de pesquisa interessante e ativo, então eu gostaria de mencioná-lo. Veja este exemplo de trabalho recente: APRENDENDO A LEMBRAR EVENTOS RAROS .

galoosh33
fonte