Redes neurais vs tudo mais

15

Não encontrei uma resposta satisfatória para isso no google .

Obviamente, se os dados que tenho são da ordem de milhões, então o aprendizado profundo é o caminho.

E li que, quando não tenho big data, talvez seja melhor usar outros métodos no aprendizado de máquina. A razão apresentada é excessiva. Aprendizado de máquina: ou seja, observar dados, extrações de recursos, criar novos recursos a partir do que é coletado, etc., como remover variáveis ​​fortemente correlacionadas, etc.

E me pergunto: por que as redes neurais com uma camada oculta não são panacéia para problemas de aprendizado de máquina? Eles são estimadores universais, o ajuste excessivo pode ser gerenciado com abandono, regularização de l2, regularização de l1, normalização de lotes. A velocidade do treinamento geralmente não é um problema se tivermos apenas 50.000 exemplos de treinamento. Eles são melhores no momento do teste do que, digamos, florestas aleatórias.

Então, por que não - limpe os dados, imputa os valores ausentes, como você faria normalmente, centralize os dados, padronize os dados, jogue-os em um conjunto de redes neurais com uma camada oculta e aplique a regularização até que você não veja ajustes excessivos e depois treine eles até o fim. Não há problemas com explosão de gradiente ou desaparecimento de gradiente, pois é apenas uma rede de duas camadas. Se camadas profundas forem necessárias, isso significa que os recursos hierárquicos devem ser aprendidos e outros algoritmos de aprendizado de máquina também não são bons. Por exemplo, o SVM é uma rede neural apenas com perda de dobradiça.

Um exemplo em que algum outro algoritmo de aprendizado de máquina superaria uma rede neural cuidadosamente dividida em duas camadas (talvez 3?) Seria apreciada. Você pode me dar o link para o problema e eu treinaria a melhor rede neural possível e podemos ver se as redes neurais de 2 ou 3 camadas ficam aquém de qualquer outro algoritmo de aprendizado de máquina de referência.

MiloMinderbinder
fonte
14
Redes neurais são um algoritmo de aprendizado de máquina ...
Matthew Drury
6
Certamente, existem alguns domínios em que a aprendizagem profunda é fundamental, como o reconhecimento de imagens, mas na maioria das outras áreas eles tendem a ser dominados pelo aumento do gradiente, como fica claro ao observar os resultados das competições do Kaggle.
Jake Westfall
1
@MatthewDrury - De fato é! desculpas por ser péssimo em terminologias. Espero que a mensagem tenha sido transmitida. mudando a questão, no entanto, para ser mais robusto. Obrigado por apontar #
MiloMinderbinder
1
Em relação à profundidade de rede, definitivamente verificar isso: stats.stackexchange.com/questions/182734
JLD

Respostas:

31

Cada algoritmo de aprendizado de máquina tem um viés indutivo diferente, portanto nem sempre é apropriado usar redes neurais. Uma tendência linear sempre será aprendida melhor por regressão linear simples, em vez de um conjunto de redes não lineares.

Se você der uma olhada nos vencedores das competições anteriores do Kaggle , com exceção de quaisquer desafios com dados de imagem / vídeo, você descobrirá rapidamente que as redes neurais não são a solução para tudo. Algumas soluções anteriores aqui.

aplique a regularização até não encontrar um ajuste excessivo e depois treine-o até o fim

Não há garantia de que você possa aplicar regularização suficiente para evitar o excesso de ajustes sem destruir completamente a capacidade da rede de aprender qualquer coisa. Na vida real, raramente é viável eliminar a diferença de teste de trem, e é por isso que os documentos ainda relatam o desempenho do trem e do teste.

eles são estimadores universais

Isso só é verdade no limite de ter um número ilimitado de unidades, o que não é realista.

você pode me dar o link para o problema e eu treinaria a melhor rede neural possível e podemos ver se as redes neurais de 2 ou 3 camadas ficam aquém de qualquer outro algoritmo de aprendizado de máquina de referência

Um exemplo de problema que eu espero que uma rede neural nunca seja capaz de resolver: dado um número inteiro, classifique como primo ou não-primo.

Acredito que isso possa ser resolvido perfeitamente com um algoritmo simples que repete todos os programas válidos em tamanho crescente e encontra o programa mais curto que identifica corretamente os números primos. De fato, essa sequência regex de 13 caracteres pode corresponder a números primos, o que não seria computacionalmente intratável para pesquisar.


A regularização pode levar um modelo de um que se adapte àquele que tem seu poder de representação gravemente prejudicado pela regularização? Não haverá sempre aquele ponto ideal no meio?

Sim, há um ponto ideal, mas geralmente é muito antes de você parar de se ajustar demais. Veja esta figura:

http://gluon.mxnet.io/_images/regularization-overfitting.png

Se você girar o eixo horizontal e o rotular novamente como "quantidade de regularização", é bastante preciso - se você regularizar até que não haja ajuste excessivo, seu erro será enorme. O "ponto ideal" ocorre quando há um excesso de ajuste, mas não muito.

Como é um 'algoritmo simples que itera todos os programas válidos em tamanho crescente e encontra o programa mais curto que identifica corretamente os números primos'. um algoritmo que aprende?

θH(θ)θ


Então, se eu entendi corretamente, você está argumentando que, se os dados não forem substanciais, a rede profunda nunca atingirá a precisão de validação da melhor rede rasa, considerando os melhores hiperparâmetros para ambos?

Sim. Aqui está uma figura feia, mas esperançosamente eficaz, para ilustrar meu argumento. https://i.imgur.com/nM3aI2l.png

mas isso não faz sentido. uma rede profunda pode apenas aprender um mapeamento 1-1 acima do raso

A questão não é "pode", mas "será" e, se você estiver treinando contrapropagação, a resposta provavelmente não será.

Discutimos o fato de que redes maiores sempre funcionarão melhor do que redes menores

Sem qualificação adicional, essa alegação está errada.

shimao
fonte
Obrigado pela resposta! A regularização pode levar um modelo de um que se adapte àquele que tem seu poder de representação gravemente prejudicado pela regularização? Não haverá sempre aquele ponto ideal no meio?
MiloMinderbinder
Em relação ao seu problema de brinquedo. Como é um "algoritmo simples que itera todos os programas válidos em tamanho crescente e encontra o programa mais curto que identifica corretamente os números primos". um algoritmo que aprende?
MiloMinderbinder
Observe as notas da aula cs231n - 'Discutimos o fato de que redes maiores sempre funcionarão melhor do que redes menores, mas sua capacidade de modelo mais alta deve ser tratada adequadamente com uma regularização mais forte (como decaimento de peso maior), ou elas podem se superestimar. Veremos mais formas de regularização (especialmente desistências) nas seções posteriores. ' cs231n.github.io/neural-networks-1
MiloMinderbinder
@ user46478 i abordadas questões seu acima editando a resposta
Shimao
'Não há garantia de que você possa aplicar regularização suficiente para evitar o excesso de ajustes sem destruir completamente a capacidade da rede de aprender qualquer coisa.' - Sinto muito, mas ainda não entendo essa afirmação. Pego os dados de treinamento, {train, val} split, faço a maior rede permitida por minha máquina, aumento a probabilidade de desistência até ver o erro de validação minimizado entre os erros de validação que estou obtendo em várias probabilidades de desistência. Esse processo pode levar a um inútil de um modelo com excesso de ajuste sem passar por um bom modelo?
MiloMinderbinder
11

Eu acrescentaria que não existe uma panacéia de aprendizado de máquina:

Pelo teorema do almoço grátis :

Se um algoritmo tem bom desempenho em uma determinada classe de problemas, necessariamente paga por isso, com desempenho degradado no conjunto de todos os problemas restantes

user3684792
fonte
Isso é muito deprimente (mas não se preocupe, não vou discutir consequências) 1. Lendo isso, entendo que se trata de algoritmos com a mesma distribuição sobre as funções que eles podem aprender (o que significaria o mesmo co-domínio). Portanto, as redes neurais só podem ter pena dos estimadores universais. 2. Isso não fala sobre a rapidez com que o espaço de funções é pesquisado. Podemos dizer que uma rede neural com 2 camadas ocultas é necessariamente equivalente ou superior a uma rede neural com uma camada oculta em todos os problemas? eu acho que o pressuposto da continuidade tem que fazer um monte aqui
MiloMinderbinder
com o ajuste adequado do hiperparâmetro, uma rede neural em camadas ocultas passa por funções que possuem co-domínios semelhantes mais rapidamente do que uma única rede neural em camadas ocultas. suas entradas?
MiloMinderbinder
1
"Podemos dizer que uma rede neural com 2 camadas ocultas é necessariamente equivalente ou superior a uma rede neural com uma camada oculta em todos os problemas". Não, infelizmente não. Como um contra-exemplo, imagine uma regressão logística (um nn com zero camadas ocultas) versus uma rede neural de 1 camada com o número de unidades ocultas igual ao número de pontos de dados para um conjunto de dados totalmente separável. Não há informações sobre a fronteira de decisão que o lr não pode captura e alta complexidade nn é provável que overfit
user3684792
3
Concordo com a afirmação aqui, mas eu queria acrescentar a ressalva padrão à NFL, também retirada da página da wikipedia: "observe que a NFL só se aplica se a função de destino for escolhida a partir de uma distribuição uniforme de todas as funções possíveis".
mkt - Restabelece Monica
1
@ user46478 Concordo com a relevância do teorema da NFL em resposta à sua pergunta "por que as redes neurais com uma camada oculta não são panacéia para problemas de aprendizado de máquina?"
mkt - Restabelece Monica