Por que a regularização não resolve a fome das redes neurais profundas por dados?

37

Um problema que eu vi com frequência levantado no contexto das redes neurais em geral, e das redes neurais profundas em particular, é que elas têm "fome de dados" - ou seja, elas não têm um bom desempenho, a menos que tenhamos um grande conjunto de dados com o qual treinar a rede.

Meu entendimento é que isso se deve ao fato de as NNets, especialmente as Deep NNets, terem um grande número de graus de liberdade. Portanto, como modelo, uma NNet tem um número muito grande de parâmetros e, se o número de parâmetros do modelo for grande em relação ao número de pontos de dados de treinamento, há uma tendência maior ao ajuste excessivo.

Mas por que esse problema não é resolvido pela regularização? Até onde eu sei, as NNets podem usar a regularização L1 e L2 e também ter seus próprios métodos de regularização, como o dropout, que pode reduzir o número de parâmetros na rede.

Podemos escolher nossos métodos de regularização de modo a impor parcimônia e limitar o tamanho da rede?


Para esclarecer meu pensamento: digamos que estamos usando uma Deep NNet grande para tentar modelar nossos dados, mas o conjunto de dados é pequeno e pode realmente ser modelado por um modelo linear. Então, por que os pesos da rede não convergem de tal maneira que um neurônio simula a regressão linear e todos os outros convergem para zeros? Por que a regularização não ajuda nisso?

Restabelecer Monica
fonte
7
"Então, por que os pesos da rede não convergem de tal maneira que um neurônio simula a regressão linear e todos os outros convergem para zeros? Por que a regularização não ajuda nisso?" Na verdade, acho que isso seria um artigo realmente interessante: crie essa rede e esse problema e avalie o que acontece.
Sycorax diz Restabelecer Monica
Bem, você tem o problema de diminuir gradientes posteriormente em camadas mais profundas das redes, mesmo quando se regulariza. É por isso que as pessoas usam a normalização em lote para efetivamente fazer o que você descreve. Outras abordagens já são responsáveis ​​por isso (como o LSTM) e existem coisas que podem ajudar a lidar com a fome, como o abandono.
Benjamin Gruenbaum
Discussão no Reddit: reddit.com/r/MachineLearning/comments/8izegs/…
Benjamin Crouzier
Como o @cliffab responde abaixo, a regularização não é o que você precisa para melhorar o desempenho. Para simplificar, várias imagens de gatos rotacionadas não são iguais a uma única imagem de gato com regularização.
Seanv507
1
Não estou surpreso. Com o tipo de série de tempo que eu lidar com no trabalho eu ainda estou para encontrar um método que bate métodos de séries temporais Skool velho, mas eu continuo tentando :)
Aksakal

Respostas:

43

A maneira mais simples de explicar é que a regularização ajuda a não se ajustar ao ruído, e não faz muito em termos de determinar a forma do sinal. Se você pensa no aprendizado profundo como um aproximador gigante de funções gloriosas, percebe que ele precisa de muitos dados para definir a forma do sinal complexo.

Se não houvesse ruído, o aumento da complexidade da NN produziria uma melhor aproximação. Não haveria nenhuma penalidade no tamanho do NN, maior teria sido melhor em todos os casos. Considere uma aproximação de Taylor, mais termos são sempre melhores para a função não polinomial (ignorando problemas de precisão numérica).

Isso quebra na presença de um ruído, porque você começa a se ajustar ao ruído. Então, aqui vem a regularização para ajudar: isso pode reduzir a adaptação ao ruído, permitindo assim construir maiores NN para atender a problemas não-lineares.

A discussão a seguir não é essencial para minha resposta, mas adicionei em parte para responder a alguns comentários e motivar o corpo principal da resposta acima. Basicamente, o resto da minha resposta é como incêndios franceses que vêm com uma refeição de hambúrguer, você pode pular.

(Ir) Caso relevante: Regressão polinomial

pecado(x)x(-3,3)

insira a descrição da imagem aqui

Em seguida, ajustaremos polinômios com ordem progressivamente mais alta a um pequeno conjunto de dados muito barulhento com 7 observações:

insira a descrição da imagem aqui

Podemos observar o que nos disseram sobre polinômios por muitas pessoas conhecidas: são instáveis ​​e começam a oscilar descontroladamente com o aumento da ordem dos polinômios.

No entanto, o problema não são os próprios polinômios. O problema é o barulho. Quando ajustamos polinômios a dados ruidosos, parte do ajuste é ao ruído, não ao sinal. Aqui estão os mesmos polinômios exatos que se ajustam ao mesmo conjunto de dados, mas com o ruído completamente removido. Os ajustes são ótimos!

pecado(x)

insira a descrição da imagem aqui

Observe também que os polinômios de ordem superior não se encaixam tão bem quanto a ordem 6, porque não há observações suficientes para defini-los. Então, vejamos o que acontece com 100 observações. Em um gráfico abaixo, você vê como um conjunto de dados maior nos permitiu ajustar polinômios de ordem superior, obtendo assim um melhor ajuste!

insira a descrição da imagem aqui

Ótimo, mas o problema é que geralmente lidamos com dados barulhentos. Veja o que acontece se você ajustar o mesmo a 100 observações de dados muito ruidosos, veja a tabela abaixo. Voltamos à estaca zero: polinômios de ordem superior produzem horríveis oscilações. Portanto, aumentar o conjunto de dados não ajudou muito no aumento da complexidade do modelo para explicar melhor os dados. Isso ocorre, novamente, porque o modelo complexo se ajusta melhor não apenas à forma do sinal, mas também à forma do ruído.

insira a descrição da imagem aqui

Finalmente, vamos tentar alguma regularização fraca sobre esse problema. O gráfico abaixo mostra a regularização (com diferentes penalidades) aplicada à ordem 9 de regressão polinomial. Compare isso com a ordem (potência) do ajuste polinomial 9 acima: em um nível apropriado de regularização, é possível ajustar polinômios de ordem superior a dados ruidosos.

insira a descrição da imagem aqui

Apenas no caso de não estar claro: não estou sugerindo o uso da regressão polinomial dessa maneira. Os polinômios são bons para ajustes locais, portanto, um polinômio por partes pode ser uma boa escolha. Ajustar o domínio inteiro a eles geralmente é uma má ideia, porque eles são sensíveis ao ruído, como deve ser evidente nas plotagens acima. Se o ruído é numérico ou de alguma outra fonte não é tão importante neste contexto. o barulho é barulho, e os polinômios reagirão a ele apaixonadamente.

Aksakal
fonte
8
E quando seu conjunto de dados é pequeno, é muito difícil distinguir entre ruído e não ruído.
Alex R.
3
realmente regularização permite ter um maior NN sem overfitting
Aksakal
6
@ Alex - por que seria padrão para um modelo mais simples? Existe uma variabilidade inexplicável que ainda pode ser ajustada aumentando a complexidade! E ... o objetivo é reduzir a variabilidade inexplicável o máximo possível ... se não fosse, o NN adotaria o modelo mais simples possível, a saber, "0". Mas, como Aksakal escreveu, à medida que o NN reduz cada vez mais a variabilidade inexplicável nos dados, ele também se encaixa na variabilidade inexplicável , ou seja, sobreajuste - daí a necessidade de regularização.
11138 jbowman
2
Outra coisa: suponha que o processo subjacente que você está modelando seja barulhento, como comportamento de voto humano ou algum resultado de saúde que seja fundamentalmente difícil de prever. Diga também que seus dados estão repletos de todos os tipos de erros de medição e talvez até algum viés de seleção. Em um ambiente de alto ruído para sinalizar, eu não preferiria apenas um modelo mais simples com regularização. Talvez eu prefira menos dados para não medir muito ruído, apesar de todo o esforço de regularização que fiz.
Equilíbrio Brash
2
@BrashEquilibrium - um excelente ponto. Estamos fazendo algumas previsões em larga escala usando máquinas de aumento de gradiente nas proximidades de 150 recursos, muitos dos quais com altos níveis de ruído (mas ainda melhoram a qualidade da previsão) e descobrimos que, ao GBM, 20% dos dados serão treinados resulta em melhores previsões do que em 50% ou mais, mesmo com todos os outros mecanismos de regularização aplicados.
jbowman
7

Neste momento, não está bem entendido quando e por que certos métodos de regularização são bem-sucedidos e falham. De fato, não se entende por que o aprendizado profundo funciona em primeiro lugar.

Considerando que uma rede neural suficientemente profunda pode memorizar perfeitamente a maioria dos dados de treinamento bem comportados, existem soluções consideravelmente mais erradas do que as certas para uma rede profunda específica. A regularização, em termos gerais, é uma tentativa de limitar a expressividade dos modelos para essas soluções "erradas" - onde "errado" é definido por heurísticas que julgamos importantes para um domínio específico . Mas muitas vezes é difícil definir a heurística de forma que você não perca a expressividade "correta" com ela. Um ótimo exemplo disso são as penalidades de L2.

Muito poucos métodos que seriam considerados uma forma de regularização são geralmente aplicáveis ​​a todas as áreas de aplicação do BC. Todos os problemas de visão, PNL e previsão estruturada têm seu próprio livro de receitas de técnicas de regularização que demonstraram ser eficazes experimentalmente para esses domínios específicos. Mas, mesmo dentro desses domínios, essas técnicas são eficazes apenas em determinadas circunstâncias. Por exemplo, a normalização de lotes em redes residuais profundas parece tornar a desistência redundante, apesar do fato de que ambos demonstraram melhorar independentemente a generalização.

Em uma nota separada, acho que o termo regularização é tão amplo que dificulta a compreensão de algo a respeito. Considerando que as convoluções restringem exponencialmente o espaço dos parâmetros em relação aos pixels, você pode considerar a rede neural convolucional uma forma de regularização na rede neural de baunilha.

Austin Shin
fonte
Não sei se concordo com o seu primeiro parágrafo.
Ander Biguri
3
Difícil falar sobre isso em 500 caracteres, mas os principais pesquisadores do mundo afirmam que o sucesso da SGD não é bem compreendido. Por exemplo, veja Ilya S. do OpenAI: youtube.com/watch?v=RvEwFvl-TrY&feature=youtu.be&t=339
Austin Shin
Concordo completamente - provavelmente a razão pela qual é mais fácil raciocinar com aproximações polinomiais em vez de redes reais ...
P-Gn
3

Uma classe de teoremas que mostram por que esse problema é fundamental são os Teoremas Sem Almoço Gratuito . Para cada problema com amostras limitadas em que uma certa regularização ajuda, há outro problema em que essa mesma regularização piora as coisas. Como Austin aponta, geralmente descobrimos que a regularização L1 / L2 é útil para muitos problemas do mundo real, mas isso é apenas uma observação e, devido aos teoremas da NFL, não há garantias gerais.

Greg Ver Steeg
fonte
3

Eu diria que em um nível alto, o viés indutivo das DNNs (redes neurais profundas) é poderoso, mas um pouco frouxo ou pouco opinativo o suficiente. Com isso, quero dizer que os DNNs capturam muitas estatísticas de superfície sobre o que está acontecendo, mas não conseguem chegar à estrutura causal / composicional de alto nível mais profunda. (Você pode ver as convoluções como uma especificação de polarização indutiva do homem pobre).

Além disso, acredita-se na comunidade de aprendizado de máquina que a melhor maneira de generalizar (fazer boas inferências / previsões com poucos dados) é encontrar o programa mais curto que deu origem aos dados. Mas a indução / síntese de programas é difícil e não temos uma boa maneira de fazê-lo com eficiência. Então, em vez disso, contamos com uma aproximação aproximada, que é a busca por circuito, e sabemos como fazer isso com a retropropagação. Aqui , Ilya Sutskever fornece uma visão geral dessa ideia.


Para ilustrar a diferença no poder de generalização dos modelos representados como programas reais versus modelos de aprendizado profundo, mostrarei o deste artigo: Simulação como um mecanismo de entendimento da cena física .

insira a descrição da imagem aqui

(A) O modelo de IPE [mecanismo de física intuitiva] recebe entradas (por exemplo, percepção, linguagem, memória, imagem, etc.) que instanciam uma distribuição por cenas (1) e depois simula os efeitos da física na distribuição (2), e agrega os resultados da saída para outras faculdades sensoriomotoras e cognitivas (3)

insira a descrição da imagem aqui

(B) Exp. 1 (Cairá?) Estímulos da torre. A torre com a borda vermelha é realmente delicadamente equilibrada, e as outras duas têm a mesma altura, mas a torre com borda azul é considerada muito menos provável de cair pelo modelo e pelas pessoas.

(C) Modelo IPE probabilístico (eixo x) vs. médias de julgamento humano (eixo y) na Exp. 1. Veja a Fig. S3 para correlações para outros valores de σ e ϕ. Cada ponto representa uma torre (com SEM), e os três círculos coloridos correspondem às três torres em B.

(D) Verdade básica (não probabilística) vs. julgamentos humanos (Exp. 1). Por não representar incerteza, não pode captar os julgamentos das pessoas para vários de nossos estímulos, como a torre com borda vermelha em B. (Observe que esses casos podem ser raros em cenas naturais, onde as configurações tendem a ser mais claramente estáveis ​​ou instável e espera-se que o IPE se correlacione melhor com a verdade básica do que com nossos estímulos.)

Meu argumento aqui é que o ajuste em C é realmente bom, porque o modelo captura os vieses certos sobre como os humanos fazem julgamentos físicos. Isso ocorre em grande parte porque modela a física real (lembre- se de que é um mecanismo de física real) e pode lidar com a incerteza.

Agora, a pergunta óbvia é: você pode fazer isso com o aprendizado profundo? Foi o que Lerer et al fizeram neste trabalho: aprendendo a intuição física de torres de blocos por exemplo

O modelo deles: insira a descrição da imagem aqui

O modelo deles é realmente muito bom na tarefa em questão (prever o número de blocos em queda e até a direção da queda)

insira a descrição da imagem aqui

Mas sofre duas grandes desvantagens:

  • Precisa de uma enorme quantidade de dados para treinar adequadamente
  • Geralmente generaliza apenas de maneira superficial: você pode transferir para imagens com aparência mais realista, adicionar ou remover 1 ou 2 blocos. Mas qualquer coisa além disso e o desempenho diminuem catastroficamente: adicione 3 ou 4 blocos, altere a tarefa de previsão ...

Houve um estudo de comparação feito pelo laboratório de Tenenbaum sobre essas duas abordagens: Uma avaliação comparativa de simulação probabilística aproximada e redes neurais profundas como relatos da compreensão da cena física humana .

Citando a seção de discussão:

O desempenho das CNNs diminui, pois há menos dados de treinamento. Embora o AlexNet (não pré-treinado) tenha um desempenho melhor com 200.000 imagens de treinamento, ele também sofre mais com a falta de dados, enquanto o AlexNet pré-treinado é capaz de aprender melhor com uma pequena quantidade de imagens de treinamento. Para nossa tarefa, os dois modelos exigem cerca de 1.000 imagens para que seu desempenho seja comparável ao modelo IPE e aos humanos.

As CNNs também têm capacidade limitada de generalização, mesmo com pequenas variações de cena, como a alteração do número de blocos. Por outro lado, os modelos de IPE generalizam e capturam naturalmente as maneiras pelas quais a precisão do julgamento humano diminui com o número de blocos em uma pilha.

Tomados em conjunto, esses resultados apontam para algo fundamental sobre a cognição humana que as redes neurais (ou pelo menos CNNs) não estão capturando atualmente: a existência de um modelo mental dos processos causais do mundo. Modelos mentais causais podem ser simulados para prever o que acontecerá em situações qualitativamente novas, e eles não requerem dados de treinamento vastos e diversos para generalizar amplamente, mas estão inerentemente sujeitos a certos tipos de erros (por exemplo, propagação de incerteza devido ao estado e ruído dinâmico) apenas em virtude da operação por simulação.

Voltando ao ponto que quero enfatizar: embora as redes neurais sejam modelos poderosos, elas parecem não ter a capacidade de representar estruturas causais, composicionais e complexas. E eles compensam isso exigindo muitos dados de treinamento.

E voltando à sua pergunta: eu arriscaria que o amplo viés indutivo e o fato de as redes neurais não modelarem causalidade / composicionalidade é o motivo pelo qual eles precisam de tantos dados de treinamento. Regularização não é uma boa solução, devido à maneira como eles generalizam. Uma solução melhor seria mudar seu viés, como está sendo testado atualmente por Hinton com cápsulas para modelar geometria total / parcial ou redes de interação para modelar relações.

Benjamin Crouzier
fonte
2

Antes de tudo, existem muitos métodos de regularização em uso e em pesquisa ativa para aprendizado profundo. Portanto, sua premissa não é totalmente certa.

Quanto aos métodos em uso, a redução de peso é uma implementação direta de uma penalidade de L2 nos pesos via descida de gradiente. Faça o gradiente da norma quadrática de seus pesos e adicione um pequeno passo nessa direção a eles a cada iteração. O abandono também é considerado uma forma de regularização, que impõe um tipo de estrutura média. Isso parece implicar algo como uma penalidade de L2 sobre um conjunto de redes com parâmetros compartilhados.

Presumivelmente, você poderia aumentar o nível dessas ou de outras técnicas para lidar com pequenas amostras. Mas observe que a regularização implica imposição de conhecimento prévio. A penalidade de L2 nos pesos implica um prior gaussiano para os pesos, por exemplo. Aumentar a quantidade de regularização afirma essencialmente que seu conhecimento prévio é cada vez mais certo e influencia seu resultado em relação a esse anterior. Então você pode fazê-lo e ele superajustará menos, mas a saída tendenciosa pode ser ruim. Obviamente, a solução é melhor conhecimento prévio. Para reconhecimento de imagem, isso significaria anteriores muito mais estruturados em relação às estatísticas do seu problema. O problema com essa direção é que você está impondo muita experiência no domínio e evitar ter que impor a experiência humana foi um dos motivos pelos quais você usou o aprendizado profundo.

Um algoritmo simples
fonte
+1 por menção de viés. Por que não explicar tudo isso em termos de preconceito e variação? "Superajuste" não possui uma definição matemática precisa e implica uma dicotomia inexistente ("superajuste" / "não superajuste").
Josh
2

Para esclarecer meu pensamento: digamos que estamos usando uma Deep NNet grande para tentar modelar nossos dados, mas o conjunto de dados é pequeno e pode realmente ser modelado por um modelo linear. Então, por que os pesos da rede não convergem de tal maneira que um neurônio simula a regressão linear e todos os outros convergem para zeros? Por que a regularização não ajuda nisso?

As redes neurais podem ser treinadas assim. Se a regularização adequada de L1 for usada, muitos pesos poderão ser zerados e isso fará com que as redes neurais se comportem como concatenação de 1 ou mais neurônios de regressão linear e muitos outros nerons zero. Então sim - regularizações L1 / L2 ou similares podem ser usadas para restringir o tamanho ou o poder representacional da rede neural.

Na verdade, o tamanho do modelo em si é um tipo de regularização - se você amplia o modelo, significa que você injeta um conhecimento prévio sobre o problema, ou seja, os problemas são altamente complexos e, portanto, exige um modelo com alto poder de representação. Se você reduz o modelo, significa que você injeta conhecimento de que o problema é simples, para que o modelo não precise de muita capacidade.

E isso significa que a regularização de L2 não tornará as redes "esparsas", como você descreveu, porque a regularização de L2 injeta conhecimento prévio de que a contribuição de cada neurônio (peso) deve ser pequena, mas não nula. Portanto, a rede usaria cada um dos neurônios em vez de usar apenas um pequeno conjunto de neurônios.

rosinalidade
fonte
1

eu2eu1

Um ponto importante aqui é que a regularização nem sempre é útil. Em vez disso, regularizar o que provavelmente deveria ser verdade é muito útil, mas regularizar na direção errada é claramente ruim.

eu2

Mas agora suponha que nossos dados sejam imagens de gatos alimentados em redes neurais profundas. Se "orelhas pontudas" é, de fato, muito útil para identificar gatos, talvez gostaríamos de reduzir a pena para dar a esse poder mais preditivo. Mas não temos ideia de onde isso será representado na rede! Ainda podemos introduzir penalidades para que uma pequena parte do sistema não domine toda a rede, mas fora disso, é difícil introduzir regularização de maneira significativa.

Em resumo, é extremamente difícil incorporar informações anteriores em um sistema que não entendemos.

Cliff AB
fonte