Estou um pouco confuso com a diferença entre os termos "Machine Learning" e "Deep Learning". Eu pesquisei no Google e li muitos artigos, mas ainda não está muito claro para mim.
Uma definição conhecida de Machine Learning de Tom Mitchell é:
Um programa de computador é dito para aprender com a experiência E com relação a alguma classe de tarefas T e medida de desempenho P , se o seu desempenho em tarefas em T , medida pelo P , melhora com a experiência E .
Se eu pegar um problema de classificação de imagem de classificar cães e gatos como meu T , então entendo que, se eu der ao algoritmo ML um monte de imagens de cães e gatos (experiência E ), o algoritmo ML poderá aprender como distinguir uma nova imagem como sendo um cachorro ou um gato (desde que a medida de desempenho P esteja bem definida).
Depois vem o Deep Learning. Entendo que o Deep Learning faz parte do Machine Learning e que a definição acima é válida. O desempenho na tarefa T melhora com a experiência E . Tudo bem até agora.
Este blog afirma que há uma diferença entre Machine Learning e Deep Learning. A diferença, de acordo com Adil, é que no Aprendizado de Máquina (tradicional) os recursos precisam ser criados à mão, enquanto no Aprendizado Profundo os recursos são aprendidos. As figuras a seguir esclarecem sua afirmação.
Estou confuso pelo fato de que no Machine Learning (tradicional) os recursos precisam ser criados à mão. A partir da definição acima por Tom Mitchell, eu acho que esses recursos seriam aprendido com a experiência E e desempenho P . O que poderia ser aprendido no Machine Learning?
No Deep Learning, entendo que, por experiência, você aprende os recursos e como eles se relacionam para melhorar o desempenho. Posso concluir que, no Machine Learning, os recursos precisam ser criados à mão e o que é aprendido é a combinação de recursos? Ou estou faltando outra coisa?
fonte
Respostas:
Além do que Himanshu Rai disse, o aprendizado profundo é um subcampo que envolve o uso de redes neurais. Essas redes neurais tentam aprender a distribuição subjacente modificando os pesos entre as camadas. Agora, considere o caso do reconhecimento de imagens usando o aprendizado profundo: um modelo de rede neural é dividido entre camadas, essas camadas são conectadas por links chamados pesos. À medida que o processo de treinamento começa, essas camadas ajustam os pesos de modo que cada camada tente detectar algum recurso e ajudar a próxima camada para o processamento. O ponto-chave a ser observado é que não dizemos explicitamente à camada para aprender a detectar arestas, olhos, nariz ou faces. O modelo aprende a fazer isso sozinho. Diferentemente dos modelos clássicos de aprendizado de máquina.
fonte
Como uma área de pesquisa, o Deep Learning é realmente apenas um subcampo do Machine Learning, pois o Machine Learning é um subcampo da Inteligência Artificial.
1) Aprendizado não supervisionado de recursos
Conceitualmente, a primeira diferença principal entre o Aprendizado de Máquina " tradicional " (ou " superficial ") e o Aprendizado Profundo é o Aprendizado Não Supervisionado de Recursos.
Como você já sabe, o treinamento bem-sucedido de um modelo de aprendizado de máquina " tradicional " (ex: SVM, XGBoost ...) só é possível após pré-processamento adequado e extração criteriosa de recursos para selecionar informações significativas dos dados. Ou seja, bons vetores de recursos contêm recursos distintos entre pontos de dados com rótulos diferentes e consistentes entre pontos de dados com o mesmo rótulo. A Engenharia de recursos é, portanto, o processo de seleção manual de recursos de especialistas. Esta é uma tarefa muito importante, mas tediosa, de executar!
O aprendizado não supervisionado de recursos é um processo em que o próprio modelo seleciona recursos automaticamente por meio de treinamento. A topologia de uma rede neural organizada em camadas conectadas entre si tem a boa propriedade de mapear uma representação de baixo nível dos dados para uma representação de nível superior. Através do treinamento, a rede pode, assim, " decidir " qual parte dos dados é importante e qual parte dos dados não. Isso é particularmente interessante em Visão por Computador ou Processamento de Linguagem Natural, onde é bastante difícil selecionar ou projetar manualmente recursos robustos.
(créditos da imagem: Tony Beltramelli)
Como exemplo, vamos supor que queremos classificar imagens de gatos. Usando uma rede neural profunda, podemos alimentar os valores de pixel bruto que serão mapeados para um conjunto de pesos pela primeira camada; depois, esses pesos serão mapeados para outros pesos pela segunda camada, até que a última camada permita alguns pesos. ser mapeado para números que representam o seu problema. (ex: neste caso, a probabilidade da imagem conter um gato)
Mesmo que as redes neurais profundas possam realizar um aprendizado não supervisionado de recursos, isso não impede que você faça a engenharia de recursos para representar melhor seu problema. Aprendizado não supervisionado de recursos, extração de recursos e engenharia de recursos não são mutuamente exclusivos!
Fontes:
2) Separabilidade Linear
As redes neurais profundas podem resolver alguns problemas não linearmente separáveis dobrando o espaço de recursos, de modo que os recursos se tornem linearmente separáveis. Mais uma vez, isso é possível graças à topologia de rede organizada em camadas, mapeando entradas para novas representações dos dados.
(créditos da imagem: Christopher Olah)
Fontes: http://colah.github.io/posts/2014-03-NN-Manifolds-Topology/
3) Invariância estatística
Por fim, as redes neurais profundas estão superando os algoritmos tradicionais de aprendizado de máquina em alguns domínios porque algumas arquiteturas estão apresentando invariância estatística (por exemplo: invariância estatística espacial com redes neurais convolucionais e invariância estatística temporal com redes neurais recorrentes)
Confira este vídeo do Udacity para obter mais detalhes: https://www.youtube.com/watch?v=5PH2Vot-tD4
fonte
Inspirado por Einstein, "" Se você não pode explicar isso para uma criança de seis anos, não entende por si mesmo. "
Todas as respostas acima são muito bem explicadas, mas se alguém procura uma diferença abstrata fácil de lembrar, aqui está a melhor que eu conheço:
Fonte. Claro que há muito mais, mas para iniciantes, pode ficar confuso demais.
fonte
Ok, pense assim. Nos algoritmos de aprendizado de máquina, como regressão linear ou floresta aleatória, você fornece aos algoritmos um conjunto de recursos e o alvo e tenta minimizar a função de custo, para que não aprenda novos recursos, apenas aprende os pesos. Agora, quando se trata de aprendizado profundo, há pelo menos uma camada (quase sempre mais) oculta com um número definido de unidades; esses são os recursos que estão sendo discutidos. Portanto, um algoritmo de aprendizado profundo não apenas aprende os conjuntos de pesos, nesse processo, também aprende os valores das unidades ocultas, que são características complexas de alto nível dos dados triviais que você forneceu. Portanto, enquanto pratica o aprendizado de máquina com baunilha, há muita experiência em sua capacidade de projetar recursos, porque o algoritmo não está aprendendo por si só. Espero ter respondido sua pergunta.
fonte