As redes neurais são propensas ao esquecimento catastrófico?


38

Imagine que você mostre a uma rede neural a imagem de um leão 100 vezes e rotule com "perigoso", para descobrir que os leões são perigosos.

Agora imagine que anteriormente você mostrou milhões de imagens de leões e o rotulou como "perigoso" e "não perigoso", de tal forma que a probabilidade de um leão ser perigoso é de 50%.

Mas essas últimas cem vezes levaram a rede neural a ser muito positiva em considerar o leão como "perigoso", ignorando assim o último milhão de lições.

Portanto, parece que há uma falha nas redes neurais, pois elas podem mudar de idéia muito rapidamente com base em evidências recentes. Especialmente se a evidência anterior estivesse no meio.

Existe um modelo de rede neural que controla quantas evidências ele viu? (Ou isso seria equivalente a deixar a taxa de aprendizado diminuir em onde é o número de tentativas?)1/TT


Estou falando de aprendizado supervisionado, em que o usuário diz ao NN que o leão é perigoso.
zooby 10/07

Isso meio que acontece com as pessoas também. É realmente assustador o quão fácil alguém pode "desaprender" que algo é perigoso depois de fazê-lo várias vezes sem conseqüências, o que é quase igual ao cenário que você descreveu com a IA.
Tomáš Zato 11/07

2
Sinalizado como muito amplo. Isso depende muito de quais técnicas de reconhecimento estão sendo usadas pela rede. Obviamente, claro, em alguns casos a rede "esquece", mas em outros casos não. Deve ficar extremamente claro que qualquer resposta a essa pergunta deve começar e terminar com "Depende".
8protons 11/07

3
Para ser justo, essa é uma daquelas ofertas do tipo "escolha seu veneno". Um NN que favorece experiências recentes em detrimento das históricas é propenso a ignorar o passado, mas é capaz de responder a desenvolvimentos recentes. Por exemplo, suponha que todos os leões repentinamente se tornem assassinos durante a noite, então o seu NN que favorece experiências recentes será muito mais rápido ao captar a nova ameaça, em oposição ao NN mais lento, que basicamente diz que "os leões nem sempre eram perigosos no passado, eu conclua que nada de novo está acontecendo "até que os leões sejam 100% perigosos por mais tempo do que você gostaria (e muitas mortes humanas depois)"
Flater

11
Além disso, a AGI teria uma ponderação de erro relevante - os dois erros não são igualmente ruins no resultado.
MSalters 12/07

Respostas:


39

Sim, de fato, as redes neurais são muito propensas ao esquecimento catastrófico (ou interferência) . Atualmente, esse problema é frequentemente ignorado porque as redes neurais são treinadas principalmente offline (às vezes chamadas de treinamento em lote ), onde esse problema nem sempre ocorre, e não online ou incrementalmente , o que é fundamental para o desenvolvimento da inteligência geral artificial .

Existem algumas pessoas que trabalham na aprendizagem contínua ao longo da vida em redes neurais, que tentam adaptar redes neurais à aprendizagem contínua ao longo da vida, que é a capacidade de um modelo para aprender continuamente a partir de um fluxo de dados, para que não esqueçam completamente os adquiridos anteriormente. conhecimento enquanto aprende novas informações. Veja, por exemplo, o artigo Aprendizado contínuo ao longo da vida com redes neurais: uma revisão (2019), do alemão I. Parisi, Ronald Kemker, Jose L. Part, Christopher Kanan, Stefan Wermter, que resume os problemas e as soluções existentes relacionadas a catástrofes esquecimento de redes neurais.


11
Obrigado! Vou ler o artigo que você sugere.
zooby 10/07

7
A infame corrupção do chat "Tay" da Microsoft foi um exemplo de esquecimento catastrófico?
Não U

4
@TKK Acho que essa seria uma boa pergunta nova no site!
nbro 10/07

2
@TKK Você vai perguntar ? Caso contrário, alguém mais poderia fazê-lo? Eu realmente quero saber a resposta.
wizzwizz4 11/07

3
Tenho certeza de que a frase "Há pessoas que trabalham na aprendizagem contínua ao longo da vida em redes neurais, que tentam adaptar redes neurais à aprendizagem contínua ao longo da vida" foi escrita por uma rede neural.
Moyli 12/07

16

Sim, o problema de esquecer exemplos de treinamento mais antigos é uma característica das redes neurais. Eu não chamaria isso de "falha", porque os ajuda a serem mais adaptáveis ​​e permite aplicativos interessantes, como transferência de aprendizado (se uma rede lembrasse muito bem o treinamento antigo, ajustá-lo com novos dados não faria sentido).

Na prática, o que você deseja fazer é misturar os exemplos de treinamento para perigosos e não perigosos, para que não haja uma categoria no começo e outra no final.

Um procedimento de treinamento padrão funcionaria assim:

for e in epochs:
    shuffle dataset
    for x_batch, y_batch in dataset:
        train neural_network on x_batxh, y_batch

Observe que o embaralhamento em todas as épocas garante que a rede não veja os mesmos exemplos de treinamento na mesma ordem a cada época e que as classes serão misturadas

Agora, para responder à sua pergunta, sim, diminuir a taxa de aprendizado tornaria a rede menos propensa a esquecer o treinamento anterior, mas como isso funcionaria em um ambiente não on-line? Para uma rede convergir, ela precisa de várias épocas de treinamento (por exemplo, ver cada amostra no conjunto de dados várias vezes).


4

O que você está descrevendo parece que pode ser um caso deliberado de ajuste fino .

Há uma suposição fundamental que faz com que a descida do gradiente de minibatch funcione para problemas de aprendizado: Supõe-se que qualquer lote ou janela temporal de lotes consecutivos forme uma aproximação decente da verdadeira globalgradiente da função de erro em relação a qualquer parametrização do modelo. Se a própria superfície de erro estiver se movendo bastante, isso frustraria os propósitos da descida do gradiente - como a descida do gradiente é um algoritmo de refinamento local, todas as apostas serão desativadas quando você mudar repentinamente a distribuição subjacente. No exemplo que você citou, o esquecimento catastrófico parece ser um efeito secundário de ter "esquecido" pontos de dados vistos anteriormente e é um sintoma da alteração da distribuição ou de sub-representação nos dados de algum fenômeno importante , de modo que raramente é visto em relação à sua importância.

A repetição da experiência do aprendizado por reforço é um conceito relevante que se transfere bem para esse domínio. Aqui está um artigo que explora esse conceito com relação ao esquecimento catastrófico. Desde que a amostragem represente os gradientes verdadeiros suficientemente bem (observe o equilíbrio da amostra de treinamento para isso) e o modelo tenha parâmetros suficientes, é improvável que ocorra o problema de esquecimento catastrófico. Em conjuntos de dados aleatoriamente embaralhados com substituição, é mais provável que ocorram pontos de dados de uma classe específica que são tão raros que dificilmente serão incluídos por um longo período de tempo durante o treinamento, ajustando efetivamente o modelo para um problema diferente até uma amostra correspondente é visto novamente.


1

Para responder à sua pergunta, eu diria: Talvez na teoria, mas não na prática.


O problema é que você considera apenas um treinamento cronológico / seqüencial.

Somente uma vez eu usei esse método de treinamento seqüencial chamado treinamento on-line ou aprendizado de máquina on- line . Isso estava usando a biblioteca woppal wabbit . É um recurso (e não um problema que você considera) desta biblioteca para se adaptar cronologicamente à entrada com a qual é alimentada.

Eu insisto : no caso de que a biblioteca Woppal Wabbit, é uma característica de se adaptar cronologicamente. Quer-se que, quando você começar a dizer apenas que os leões são perigosos, ele se adaptará consequentemente.


Mas em todos os outros casos, desde exercícios de cursos até competições de kaggle, usei um subconjunto aleatório de meus dados de entrada como conjunto de treinamento. E isso é realmente crucial :

É uma parte importante do Machine Learning, chamada Validação Cruzada . É a maneira de estimar quão boa é a Rede Neural treinada.

Para ter uma boa estimativa da validade da sua rede neural, você pega um subconjunto aleatório dos seus dados de treinamento. Em resumo, você usa 80% dos seus dados para treinamento, e com os 20% restantes você avalia com que freqüência o Rede Neural treinada fornece boas previsões.

E também não se pode simplesmente desaparecer sem a Validação Cruzada, devido à necessidade de detectar o Sobreajuste (que é outra preocupação).

Pode parecer um possível problema teórico, mas costumo dizer que o uso atual dos métodos de validação cruzada torna sua preocupação irrelevante.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.