Meu Ph.D. está em matemática pura, e admito que não sei muito (ou seja, nada) sobre CS teórico. No entanto, comecei a explorar opções não acadêmicas para minha carreira e, ao me apresentar ao aprendizado de máquina, deparei-me com afirmações como "Ninguém entende por que as redes neurais funcionam bem", o que achei interessante.
Minha pergunta, essencialmente, é que tipo de respostas os pesquisadores desejam? Aqui está o que eu encontrei na minha breve pesquisa sobre o tema:
- Os algoritmos que implementam redes neurais simples são bem diretos.
- O processo de SGD é bem compreendido matematicamente, assim como a teoria estatística.
- O teorema da aproximação universal é poderoso e comprovado.
- Existe um bom artigo recente https://arxiv.org/abs/1608.08225, que essencialmente dá a resposta de que a aproximação universal é muito mais do que realmente precisamos na prática, porque podemos fazer fortes suposições simplificadoras sobre as funções que estamos tentando modelar com o método rede neural.
No artigo mencionado acima, eles declaram (parafraseando) "os algoritmos GOFAI são totalmente compreendidos analiticamente, mas muitos algoritmos da RNA são entendidos apenas heuristicamente". Os teoremas de convergência para os algoritmos implementados são um exemplo de entendimento analítico que parece que temos sobre redes neurais; portanto, uma afirmação nesse nível de generalidade não me diz muito sobre o que é conhecido versus o desconhecido ou o que seria considerado "uma resposta . "
Os autores sugerem na conclusão que questões como limites efetivos no tamanho da rede neural necessária para aproximar um determinado polinômio são abertas e interessantes. Quais são outros exemplos de perguntas analíticas matematicamente específicas que precisariam ser respondidas para dizer que "entendemos" as redes neurais? Existem perguntas que podem ser respondidas em linguagem matemática mais pura?
(Estou pensando especificamente em métodos na teoria das representações devido ao uso da física neste artigo - e, egoisticamente, porque é o meu campo de estudo. No entanto, também posso imaginar áreas como combinatória / teoria dos grafos, geometria algébrica. e topologia, fornecendo ferramentas viáveis.)
fonte
Respostas:
Há um monte de teoremas de "sem almoço grátis" no aprendizado de máquina, afirmando aproximadamente que não pode haver um algoritmo de aprendizado mestre que tenha um desempenho uniforme melhor do que todos os outros algoritmos (veja, por exemplo, aqui http: //www.no-free- lunch.org/ ). Com certeza, o aprendizado profundo pode ser "quebrado" sem muita dificuldade: http://www.evolvingai.org/fooling
Portanto, para ser comprovadamente eficaz, o aluno precisa de viés indutivo - isto é, algumas suposições anteriores sobre os dados. Exemplos de viés indutivo incluem suposições de escassez de dados ou baixa dimensionalidade, ou de que a distribuição é fatorada de maneira adequada ou possui uma grande margem etc. Vários algoritmos de aprendizado bem-sucedidos exploram essas suposições para provar garantias de generalização. Por exemplo, o SVM (linear) funciona bem quando os dados são bem separados no espaço; caso contrário - nem tanto.
Eu acho que o principal desafio da aprendizagem profunda é entender qual é o seu viés indutivo. Em outras palavras, é para provar teoremas do tipo: Se os dados de treinamento satisfizerem essas suposições, posso garantir algo sobre o desempenho da generalização. (Caso contrário, todas as apostas serão desativadas.)
Atualização (set-2019): Nos dois anos desde a minha resposta publicada, houve muito progresso no entendimento do viés indutivo implícito em vários algoritmos de DL e relacionados. Um dos principais insights é que o algoritmo de otimização real em uso é importante, pois a convergência uniforme não pode explicar por que um sistema extremamente parametrizado em massa, como uma grande RNA, consegue aprender. Acontece que os vários métodos de otimização (como o SGD) estão implicitamente regularizando com relação a várias normas (como ). Veja esta excelente palestra para outros exemplos e muito mais: https://www.youtube.com/watch?v=zK84N6ST9sMℓ2
fonte
Há duas lacunas principais em nossa compreensão das redes neurais: dureza de otimização e desempenho da generalização.
O treinamento de uma rede neural requer a solução de um problema de otimização altamente não convexo em altas dimensões. Os algoritmos de treinamento atuais são todos baseados em descidas gradientes, o que garante apenas a convergência para um ponto crítico (mínimo local ou selim). De fato, Anandkumar & Ge 2016 recentemente provaram que encontrar até um mínimo local é NP-difícil, o que significa que (assumindo P! = NP) existem pontos de sela "ruins", difíceis de escapar, na superfície de erro.
No entanto, esses algoritmos de treinamento são empiricamente eficazes para muitos problemas práticos, e não sabemos o porquê.
Existem trabalhos teóricos como Choromanska et al. 2016 e Kawaguchi 2016que provam que, sob certas suposições, os mínimos locais são essencialmente tão bons quanto os mínimos globais, mas os pressupostos que eles fazem são um tanto irrealistas e não tratam da questão dos pontos negativos da sela.
A outra lacuna principal em nosso entendimento é o desempenho da generalização: qual o desempenho do modelo em novos exemplos não vistos durante o treinamento? É fácil mostrar que, no limite de um número infinito de exemplos de treinamento (amostra amostrada de uma distribuição estacionária), o erro de treinamento converge para o erro esperado em novos exemplos (desde que você possa treinar para o ótimo global), mas desde que Não temos exemplos infinitos de treinamento, estamos interessados em quantos exemplos são necessários para alcançar uma determinada diferença entre treinamento e erro de generalização. A teoria da aprendizagem estatística estuda esses limites de generalização.
Empiricamente, o treinamento de uma grande rede neural moderna exige um grande número de exemplos de treinamento (Big Data, se você gosta de chavões), mas não tão monumentalmente grande para ser praticamente inviável. Mas se você aplicar os limites mais conhecidos da teoria da aprendizagem estatística (por exemplo, Gao & Zhou 2014 ), normalmente obtém esses números imensamente enormes. Portanto, esses limites estão muito longe de serem rígidos, pelo menos para problemas práticos.
Um dos motivos pode ser que esses limites tendem a assumir muito pouco sobre a distribuição geradora de dados, portanto refletem o pior desempenho possível em ambientes adversos, enquanto os ambientes "naturais" tendem a ser mais "aprendíveis".
É possível escrever limites de generalização dependentes da distribuição, mas não sabemos como caracterizar formalmente uma distribuição em ambientes "naturais". Abordagens como a teoria algorítmica da informação ainda são insatisfatórias.
Portanto, ainda não sabemos por que as redes neurais podem ser treinadas sem sobreajuste.
Além disso, deve-se notar que essas duas questões principais parecem estar relacionadas de uma maneira ainda pouco compreendida: os limites de generalização da teoria estatística da aprendizagem pressupõem que o modelo seja treinado para o ótimo global no conjunto de treinamento, mas em um cenário prático. nunca treinaria uma rede neural até a convergência até um ponto de sela, pois isso normalmente causaria super ajuste. Em vez disso, você para de treinar quando o erro em um conjunto de validação retido (que é um proxy para o erro de generalização) para de melhorar. Isso é conhecido como "parada antecipada".
Portanto, em certo sentido, toda essa pesquisa teórica sobre como limitar o erro de generalização do ótimo global pode ser bastante irrelevante: não apenas não podemos encontrá-lo com eficiência, mas mesmo que pudéssemos, não gostaríamos, pois ele teria um desempenho pior no exemplos novos do que muitas soluções "subótimas".
Pode ser que a dureza da otimização não seja uma falha da rede neural; pelo contrário, talvez as redes neurais possam funcionar exatamente porque são difíceis de otimizar.
Todas essas observações são empíricas e não há uma boa teoria que as explique. Também não existe uma teoria que explique como definir os hiperparâmetros das redes neurais (largura e profundidade da camada oculta, taxas de aprendizado, detalhes arquitetônicos etc.). Os praticantes usam sua intuição aperfeiçoada pela experiência e por muitas tentativas e erros para obter valores efetivos, enquanto uma teoria pode nos permitir projetar redes neurais de maneira mais sistemática.
fonte
Outra visão sobre esta questão, para adicionar às observações de @ Aryeh: Para muitos outros modelos de aprendizado, conhecemos a "forma" do espaço de hipóteses. Os SVMs são o melhor exemplo disso, pois o que você encontra é um separador linear em um espaço Hilbert (possivelmente de alta dimensão).
Para redes neurais em geral, não temos uma descrição clara nem uma aproximação. E essa descrição é importante para entendermos o que exatamente uma rede neural está encontrando nos dados.
fonte
O princípio do gargalo da informação foi proposto para explicar o sucesso de redes nuas profundas.
Aqui está uma citação da revista Quanta
Referências:
1- A aprendizagem profunda e o princípio do gargalo da informação , Naftali Tishby e Noga Zaslavsky
2- Abrindo a Caixa Preta das Redes Neurais Profundas via Information , Ravid Shwartz-Ziv e Naftali Tishby
3- Vídeo da conferência: Teoria da Informação da Aprendizagem Profunda de Naftali Tishby
fonte
Eu diria que ainda precisamos descobrir um algoritmo eficiente para o treinamento de redes neurais profundas. Sim, o SGD funciona bem na prática, mas seria muito bom encontrar um algoritmo melhor que tenha garantias de convergir para o mínimo global.
fonte