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?)
Respostas:
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.
fonte
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:
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).
fonte
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.
fonte
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.
fonte