Fiquei me perguntando, por que é tão importante ter um aprendizado de máquina por princípios / teórico? De uma perspectiva pessoal como humano, posso entender por que o Machine Learning por princípios seria importante:
- humanos gostam de entender o que estão fazendo, encontramos beleza e satisfação em entender.
- do ponto de vista da teoria, a matemática é divertida
- quando existem princípios que orientam o design das coisas, há menos tempo gasto em adivinhações aleatórias, tentativas e erros estranhos. Se entendermos, digamos, como as redes neurais realmente funcionavam, talvez pudéssemos gastar muito mais tempo projetando-as do que as enormes quantidades de tentativas e erros que ocorrem nela agora.
- mais recentemente, se os princípios são claros e a teoria também, deve haver (espero) mais transparência no sistema. Isso é bom porque, se entendermos o que o sistema está funcionando, a IA corre o risco de muitas pessoas exagerarem e desaparecerem imediatamente.
- Os princípios parecem ser uma maneira concisa de resumir as estruturas importantes que o mundo pode ter e quando usar uma ferramenta em vez de outra.
No entanto, essas razões são suficientemente fortes para justificar um intenso estudo teórico do aprendizado de máquina? Uma das maiores críticas da teoria é que, por ser tão difícil de fazer, elas geralmente acabam estudando algum caso muito restrito ou as suposições que precisam ser trazidas tornam essencialmente os resultados inúteis. Acho que ouvi isso uma vez em uma palestra no MIT pelo criador do Tor. Que algumas das críticas a Tor que ele ouviu são o argumento teórico, mas essencialmente as pessoas nunca são capazes de provar coisas sobre os cenários reais da vida real, porque são muito complicadas.
Nesta nova era, com tanto poder e dados de computação, podemos testar nossos modelos com conjuntos de dados e conjuntos de dados reais. Podemos ver se as coisas funcionam usando empirismo. Se conseguirmos alcançar AGI ou sistemas que trabalhem com engenharia e empirismo, ainda vale a pena buscar uma justificativa teórica e de princípios para o aprendizado de máquina, especialmente quando os limites quantitativos são tão difíceis de alcançar, mas intuições e respostas qualitativas são muito mais fáceis de entender. alcançar com uma abordagem orientada a dados? Essa abordagem não estava disponível na estatística clássica, e é por isso que acho que a teoria era tão importante naqueles tempos, porque a matemática era a única maneira de termos certeza de que as coisas estavam corretas ou que elas realmente funcionavam da maneira que pensávamos.
Pessoalmente, eu sempre amei e pensei que a teoria e uma abordagem baseada em princípios eram importantes. Mas com o poder de apenas ser capaz de experimentar coisas com dados reais e poder de computação me fez pensar se o alto esforço (e recompensas potencialmente baixas) da busca teórica ainda vale a pena.
A busca teórica e de princípios do aprendizado de máquina é realmente tão importante?
fonte
Respostas:
Não há resposta certa para isso, mas talvez "tudo com moderação". Embora muitas melhorias recentes no aprendizado de máquina, como abandono, conexões residuais, conexões densas, normalização de lotes, não estejam enraizadas em uma teoria particularmente profunda (a maioria pode ser justificada em alguns parágrafos), acho que há um gargalo para quantos esses resultados podem causar um enorme impacto. Em algum momento, você precisa se sentar e elaborar uma teoria extra para dar o próximo grande salto. Além disso, a teoria pode guiar a intuição porque pode provar a qualidade ou as limitações de um modelo dentro de uma dúvida razoável. Isso é particularmente importante para descobrir, por exemplo, que o SGD é melhor que o Momentum para um problema específico. Essa é a coisa legal da teoria: ela o força a abstrair o problema que está resolvendo,
O grande exemplo que vem à mente é o suporte a máquinas de vetores. Eles foram originalmente criados por Vapnik e Chervonenkis no início dos anos 60, mas realmente decolaram no início dos anos 90 quando Vapnik e outros perceberam que era possível fazer SVMs não lineares usando o Kernel Trick. Vapnik e Chervonenkis também elaboraram a teoria por trás da dimensão VC, que é uma tentativa de criar uma medida de complexidade para o aprendizado de máquina. Não consigo pensar em nenhuma aplicação prática da dimensão VC, mas acho que a idéia de SVMs provavelmente foi influenciada pelo trabalho deles. O próprio truque do kernel vem da matemática abstrata e sem sentido sobre os espaços de Hilbert. Pode ser um exagero dizer que é necessário conhecer esse absurdo abstrato para criar SVMs, mas acho que provavelmente ajudou bastante, principalmente porque deixou muitos matemáticos entusiasmados com o aprendizado de máquina.
No assunto da ResNet, houve recentemente um trabalho realmente interessante, sugerindo que as arquiteturas residuais realmente não precisam ter centenas de camadas de profundidade. De fato, alguns trabalhos sugerem que as conexões residuais são muito semelhantes às RNNs, por exemplo, colmatar as lacunas entre a aprendizagem residual, as redes neurais recorrentes e o córtex visual ", Liao et al. Acho que isso definitivamente vale a pena examinar mais profundamente, porque sugere que teoricamente, o ResNet com muitas camadas é de fato incrivelmente ineficiente e inchado.
As idéias de recorte gradiente para RNNs foram muito bem justificadas no agora famoso artigo " Sobre a dificuldade de treinar redes neurais recorrentes " - Pascanu, et. al. Embora você possa criar um recorte gradiente sem toda a teoria, acho que ajuda bastante a entender por que os RNNs são tão difíceis de treinar sem fazer algo sofisticado, especialmente fazendo analogias com os mapas dinâmicos do sistema (como o artigo acima faz )
Há muita empolgação nos métodos de descida estocástica de gradiente entropia . Estes foram derivados da dinâmica de Langevin, e muitos dos resultados teóricos estão firmemente enraizados na teoria teórica clássica do PDE e na física estatística. Os resultados são promissores porque lançam o SGD sob uma nova luz, em termos de como ele fica preso nas flutuações locais da função de perda e como se pode suavizar localmente a função de perda para tornar o SGD muito mais eficiente. É importante entender quando o SGD é útil e quando se comporta mal. Isso não é algo que você pode obter empiricamente, experimentando o SGD em diferentes tipos de modelos.
No artigo Propriedades intrigantes das redes neurais , os autores resumem que as redes neurais são sensíveis a exemplos contraditórios (definidos como perturbações calculadas e refinadas de uma imagem) devido às constantes constantes de Lipchitz entre as camadas. Essa ainda é uma área ativa de pesquisa e só pode ser melhor entendida por meio de mais derivações teóricas.
Há também o exemplo da Análise de dados topológicos , em torno da qual pelo menos uma empresa ( Ayasdi ) se formou. Este é um exemplo particularmente interessante porque as técnicas utilizadas são tão específicas e abstratas que, a partir de hoje, ainda levará muito tempo para ver onde as idéias dessa teoria acabam. Meu entendimento é que a complexidade computacional dos algoritmos envolvidos tende a ser bastante alta (mas, novamente, era igualmente alta para redes neurais até 20 anos atrás).
fonte
A resposta a esta pergunta é realmente muito simples. Com justificativa teórica por trás do modelo de aprendizado de máquina, podemos pelo menos provar que, quando algumas condições mais ou menos realistas são atendidas, existem algumas garantias de otimização para a solução. Sem ele, não temos nenhuma garantia. Claro, você pode dizer "vamos apenas verificar o que funciona e usá-lo para o problema específico", mas isso não é viável, pois há um número infinito de maneiras de como resolver um problema de aprendizado de máquina.
Diga que você quer prever alguns , dado algum . Como você sabe que o não é uma maneira ideal de resolvê-lo? E quanto a ? Ou ? Talvez apenas devolver como sua previsão? Ou se é ímpar, use e retorne ? Claro, todas essas sugestões parecem absurdas, mas como você pode ter certeza, sem nenhuma teoria, de que uma delas não seria ótima? Com um número infinito de soluções possíveis, até o problema mais simples se torna insolúvel. A teoria limita seu "espaço de pesquisa" dos modelos viáveis para alguma classe de problemas (você sabe quais modelos valem a pena considerar e quais não).X X + 42 X + 42,5 √Y X X+ 42 X+ 42,5 42XX+420X- 42------√ 42. X X+ 42 0 0
fonte
Apenas olhando para a pergunta: a busca teórica e por princípios do aprendizado de máquina é realmente tão importante?
Defina o que você quer dizer com "importante". Vindo de um ponto de vista filosófico, é uma distinção fundamental se você deseja descrever algo ou entender algo. Em uma resposta um tanto grosseira, é a diferença entre ser científico ou outra coisa. A parte prática disso não interessa à questão subjacente. Se algo é muito difícil de provar, ou mesmo impossível provar isso por si só, é uma descoberta importante. (Digite Goedel et al.) Mas isso não significa que seja irrelevante. Pode pelo menos parecer irrelevante de um ponto de vista pragmático. Mas deve ser pelo menos reconhecido como algo de importância e valor principal.
Considere uma analogia: a medicina como um todo (e do seu passado) não é científica. De certa forma, na verdade nunca pode ser. É uma disciplina que é totalmente governada por seus resultados. Na maioria dos casos, não há nada como "verdade". Mas acontece que algumas partes podem ser realmente científicas - e é aí que a maior parte do progresso planejado está acontecendo.
Outra descrição extremamente curta pode ser: sem teoria, você pode ganhar muito dinheiro. Se for realmente útil para um "bem maior", você poderá receber um prêmio Nobel por isso. Mas você nunca receberá a medalha Fields.
fonte
Os seres humanos foram capazes de construir navios, carruagens e edifícios por séculos sem as leis da física. Mas desde a ciência moderna, conseguimos levar essas tecnologias a um nível totalmente novo. Uma teoria comprovada permite fazer melhorias de uma maneira baseada em princípios. Nós nunca teríamos chegado à Lua ou teríamos computadores sem uma teoria matemática da matéria e da computação.
O aprendizado de máquina é apenas mais um campo da ciência e da engenharia como qualquer outro. Uma abordagem baseada em princípios ao aprendizado de máquinas nos forneceu máquinas de kernel, aprendizado estruturado e métodos de ensemble (aumento de florestas aleatórias).
fonte
Aqui está um exemplo simples do meu próprio trabalho.
Eu encaixo muitas redes neurais em resultados contínuos. Um determina os pesos por retropropagação. Eventualmente, convergirá.
Agora, a função de ativação da camada superior é identidade e minha perda é um erro ao quadrado. Por causa da teoria , eu sei que o vetor de peso de nível superior que minimiza a perda de erro ao quadrado é bom e velho que são as ativações no nível superior e são os resultados. Quando curto-circuito no backprop usando uma solução de forma fechada para os pesos de nível superior, só preciso do backprop para otimizar os pesos de nível inferior. Umy
Minha rede converge muito mais rápido .
Obrigado, teoria.
fonte
Empirismo vs Teoria
Você escreveu:
Acho que isso demonstra a principal divisão entre as duas visões que podemos chamar de empíricas e teóricas .
Do ponto de vista empírico, como você descreveu também, os teoremas são inúteis porque nunca são complexos o suficiente para modelar o mundo real. Eles falam sobre cenários ideais simplificados que não se aplicam a nenhum lugar do mundo real. Então, qual é o objetivo de fazer teoria.
No entanto, do ponto de vista teórico, o oposto é verdadeiro. O que o empirismo pode nos ensinar além de "Eu executei esse método neste conjunto de dados e era melhor do que executar esse outro método nesse mesmo conjunto de dados". Isso é útil para uma instância, mas fala pouco sobre o problema.
O que a teoria faz é fornecer algumas garantias. Também nos permite estudar cenários simplificados exatamente para que possamos começar a entender o que está acontecendo.
Exemplo
Imagine um exemplo real: você deseja ver como a mudança de conceito (quando os dados mudam ao longo do tempo) afeta sua capacidade de aprender. Como um empirista puro abordaria essa questão? Tudo o que ele pode fazer é realmente começar a aplicar métodos diferentes e pensar nos truques que ele pode fazer. Todo o procedimento pode ser semelhante a este:
O que temos aqui são resultados bastante precisos em alguns conjuntos de dados. Talvez os dados tenham sido de tal forma que a atualização do algoritmo de aprendizado com base nas observações de 200 dias passados tenha a maior precisão. Mas o mesmo funcionará para outros dados? Quão confiável é essa estimativa de 200 dias? As simulações ajudam - mas não refletem o mundo real - a mesma teoria dos problemas.
Agora imagine o mesmo do ponto de vista teórico:
Agora esse cenário está mais claro - conseguimos isolar o problema corrigindo todos os detalhes. Conhecemos o erro médio de nossos classificadores. Provavelmente, é possível estimar o número de dias que levaria para detectar que a alteração ocorreu. Deduzir de quais parâmetros isso depende (como talvez o tamanho da alteração). E agora, com base em algo, produza uma solução prática. Mas o mais importante de tudo: esse resultado (se calculado corretamente) é imutável. Está aqui para sempre e qualquer um pode aprender com isso.
Como um dos pais do aprendizado de máquina moderno - Jürgen Schmidhuber gosta de dizer:
Lições de outros campos
Também brevemente quis mencionar alguns paralelos com a física. Eu acho que eles costumavam ter esse dilema também. Os físicos estudavam objetos sem atrito, de massa infinita, movendo-se no espaço infinito. À primeira vista, o que isso pode nos dizer sobre a realidade, onde queremos saber como os flocos de neve se movem ao vento. Mas parece que a teoria os levou muito longe.
fonte
Você mencionou alguns motivos, dos quais a capacidade de interpretar os resultados de ML é a mais importante, na minha opinião. Digamos que o guarda de propriedade da IA decidiu atirar no cachorro do vizinho. Seria importante entender por que isso aconteceu. Se não para impedir que isso aconteça no futuro, pelo menos para entender quem é responsável e quem pagará uma indenização ao proprietário.
No entanto, para mim, a razão mais importante é que a compreensão dos princípios nos quais o algoritmo é baseado permite entender suas limitações e melhorar seu desempenho. Considere o uso da distância euclidiana no ML. Em muitos algoritmos de cluster, você começa com a definição da distância entre os exemplos e prossegue procurando os limites entre os recursos dos exemplos que os agrupam nas proximidades. Depois de aumentar o número de recursos, a distância euclidiana para de funcionar em algum momento. Você pode gastar muito tempo tentando fazê-lo funcionar, ou - se você sabe que a distância euclidiana como medida de proximidade não funciona em um limite dimensional infinito - simplesmente mude para outra métrica de distância, como Manhattan, e prossiga para o trabalho em problemas reais. Você pode encontrar vários exemplos como este,
fonte
Eu acho que é muito difícil para isso não ser uma discussão filosófica. Minha resposta é realmente uma reformulação de bons pontos já mencionados aqui (+ 1s para todos); Eu só quero apontar para uma citação de Andrew Gelman que realmente falou comigo como alguém que treinou como cientista da computação. Tenho a impressão de que muitas das pessoas que chamam de aprendizado de máquina também vêm da ciência da computação. A citação é de uma palestra que Gelman deu na Conferência R de Nova York de 2017 chamada Estatística Teórica é a Teoria da Estatística Aplicada :
A teoria diz o que faz sentido e o que não faz sob certas condições. Queremos fazer milhares ou dezenas de milhares ou milhões de simulações para ter uma idéia da verdade? Queremos fazer comparações empíricas em cada vez mais conjuntos de dados de referência? Vai demorar um pouco, e nossos resultados ainda podem ser frágeis. Além disso, como sabemos que as comparações que fazemos fazem sentido? Como sabemos que nosso novo Deep Learner, com 99,5% de precisão, é realmente melhor do que o antigo, com 99,1% de precisão? Alguma teoria vai ajudar aqui.
Sou um grande fã de simulações e as uso muito para entender o mundo (ou até para entender a teoria), mas o aprendizado de máquina teórico é a teoria do aprendizado de máquina aplicado.
fonte