Introdução ao
Machine Learning
para Hackers
Quem sou eu?
Gabriel Cypriano
about.me/gabrielcs
Background em Ciência da Computação e Engenharia de
Software
Cursos onlin...
Inteligência Artificial
Machine Learning
Deep Learning
O que é Machine Learning?
Definição anti-hacker:
“It is the field of study that gives computers the
ability to learn witho...
OK. Exemplos?
Spam
Recomendações da Netflix
Amazon Echo
Google Photos / Facebook Photo Tags
DeepMind jogando Atari
Prisma
...
Tá, mas eu consigo fazer isso em
casa?
Claro, é só revisar álgebra linear, cálculo
multivariável, inferência estatística e...
Cool! Where do we start?
R foi feita por estatísticos para estatísticos
É a mais natural para computação numérica,
mas não...
Cool! Where do we start?
Também existem muitas soluções na nuvem:
Google Cloud Machine Learning
Microsoft Azure Machine Le...
Let’s start hacking.
Regressão Linear com Python
Code: http://bit.ly/2aZfa7L
Pausa para teoria:
abordagens de aprendizado
Supervisionado
Quando são fornecidos labels com os exemplos
Por reforço (rein...
Exemplo:
Carros autônomos (input são câmeras e um
humano dirigindo)?
Aprendizagem supervisionada.
Exemplo:
Prisma (input é um estilo de pintura e uma
foto)?
Aprendizagem não-supervisionada.
Exemplo:
Jogos de Atari (input são pixels e o score)?
Aprendizagem por reforço.
Back to hacking.
Aprendizagem não-supervisionada: clusterização.
Code: http://bit.ly/2arPMlQ
Deep Learning, babe!
O que é?
Abstração hacker: é machine learning usando
tipos de modelos (Deep Nets) que são capazes de
...
Cool! Where do we start?
Linguagem Lua;
usado pelo Facebook
Para Python
C++
Criado pelo Google;
em Python
Can we hack that too?
Só precisamos simular os neurônios do nosso
cérebro e aplicar derivadas parciais pra
implementar 2 a...
Outras vantagens do Deep Learning
Deep Learning é capaz de fazer aprendizado de
features
Nos livramos do feature engineeri...
Outras vantagens do Deep Learning
Comunidades que antes usavam técnicas
estatísticas completamente diferentes, agora
compa...
Avanços recentes
Reconhecimento de fala sem deep learning
30% de erro
Reconhecimento de fala com deep learning
Menos de 5%...
Avanços recentes
Quando a tradução entre
línguas for feita com Deep
Learning, será como
capturar o pensamento de
uma língu...
Pausa para teoria: arquiteturas de
deep nets
Redes recorrentes (RNNs)
Têm uma memória de curto prazo, ideal para
reconheci...
Mais sobre ConvNets
Pausa para teoria: arquiteturas de
deep nets
Redes adversárias
Enquanto uma rede tenta identificar se o input é
natural ou...
Pausa para teoria: arquiteturas de
deep nets
Outros exemplos de modelos generativos:
Beethoven no estilo Bossa Nova
Beetho...
Deep Learning: longa história
Redes Neurais Artificiais existem desde os anos
80, mas depois um tempo ninguém mais deu bol...
Deep Learning: longa história
Yann Lecun
Facebook,
NYU
Geoff Hinton
Google, U.
Toronto
Yoshua Bengio
U. Montreal
Tech de ponta:
transfer learning
Similar a se reutilizar o aprendizado de uma
língua ao se aprender uma nova língua.
Tenso...
Tech de ponta:
one-shot learning
Deep Learning atualmente precisa de milhares
ou milhões de exemplos
Como conseguir aprend...
Roadmap ML hacker
(em ordem)
DataCamp: Python for Data Science (opcional)
Udacity: Intro to Machine Learning
Coursera: Mac...
Cheat-sheet de algoritmos
Muitos dados: deep nets
Gracias.
Slides: slideshare.net/GabrielCyprianoSaca
Notícias sobre ML: getpocket.com/@gabrielcs
Blog e mais: about.me/gabr...
Introdução ao Machine Learning para Hackers
Próximos SlideShares
Carregando em…5
×

Introdução ao Machine Learning para Hackers

404 visualizações

Publicada em

"Intro to Machine Learning for Hackers" presentation given at Dev-ES meetup #1.

Publicada em: Software
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
404
No SlideShare
0
A partir de incorporações
0
Número de incorporações
240
Ações
Compartilhamentos
0
Downloads
5
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Introdução ao Machine Learning para Hackers

  1. 1. Introdução ao Machine Learning para Hackers
  2. 2. Quem sou eu? Gabriel Cypriano about.me/gabrielcs Background em Ciência da Computação e Engenharia de Software Cursos online recentes: Machine Learning (Stanford University) Intro to Recommender Systems (University of Minnesota) Python for Data Science (DataCamp)
  3. 3. Inteligência Artificial Machine Learning Deep Learning
  4. 4. O que é Machine Learning? Definição anti-hacker: “It is the field of study that gives computers the ability to learn without being explicitly programmed.” Definição hacker: “It is all about learning from examples rather than writing explicit rules — you let the algorithm find those rules for you.”
  5. 5. OK. Exemplos? Spam Recomendações da Netflix Amazon Echo Google Photos / Facebook Photo Tags DeepMind jogando Atari Prisma Carros autônomos
  6. 6. Tá, mas eu consigo fazer isso em casa? Claro, é só revisar álgebra linear, cálculo multivariável, inferência estatística e fazer um mestrado + um doutorado em Deep Learning. J.K. :) Nós vamos inverter a abordagem de aprendizado tradicional e começar utilizando APIs que abstraem a matemágica. Leitura recomendada: http://bit.ly/2aSa6SM
  7. 7. Cool! Where do we start? R foi feita por estatísticos para estatísticos É a mais natural para computação numérica, mas não dá pra criar nem um web service, além de limitações com o volume de dados Python não é tão natural quanto R para computação numérica, mas dá pra se fazer web services/apps Comunidade de ML forte Scala muito usada com o Spark para computação paralela Deixa Python na poeira, mas pode ser complexa para um momento inicial
  8. 8. Cool! Where do we start? Também existem muitas soluções na nuvem: Google Cloud Machine Learning Microsoft Azure Machine Learning Amazon Machine Learning IBM Predictive Analytics
  9. 9. Let’s start hacking. Regressão Linear com Python Code: http://bit.ly/2aZfa7L
  10. 10. Pausa para teoria: abordagens de aprendizado Supervisionado Quando são fornecidos labels com os exemplos Por reforço (reinforcement learning) Dando recompensas, tipo como você treina seu dog. Não-supervisionado Quando não são fornecidos labels
  11. 11. Exemplo: Carros autônomos (input são câmeras e um humano dirigindo)? Aprendizagem supervisionada.
  12. 12. Exemplo: Prisma (input é um estilo de pintura e uma foto)? Aprendizagem não-supervisionada.
  13. 13. Exemplo: Jogos de Atari (input são pixels e o score)? Aprendizagem por reforço.
  14. 14. Back to hacking. Aprendizagem não-supervisionada: clusterização. Code: http://bit.ly/2arPMlQ
  15. 15. Deep Learning, babe! O que é? Abstração hacker: é machine learning usando tipos de modelos (Deep Nets) que são capazes de reconhecer padrões mais complexos nos exemplos.
  16. 16. Cool! Where do we start? Linguagem Lua; usado pelo Facebook Para Python C++ Criado pelo Google; em Python
  17. 17. Can we hack that too? Só precisamos simular os neurônios do nosso cérebro e aplicar derivadas parciais pra implementar 2 algoritmos: gradiente descendente e backprop J.K., vamos usar o TensorFlow. Code: http://bit.ly/2aYZNv0
  18. 18. Outras vantagens do Deep Learning Deep Learning é capaz de fazer aprendizado de features Nos livramos do feature engineering, tarefa mais demorada quando se usa outros modelos
  19. 19. Outras vantagens do Deep Learning Comunidades que antes usavam técnicas estatísticas completamente diferentes, agora compartilham muito em comum Ex.: reconhecimento de fala e reconhecimento de objetos em imagens.
  20. 20. Avanços recentes Reconhecimento de fala sem deep learning 30% de erro Reconhecimento de fala com deep learning Menos de 5% de erro
  21. 21. Avanços recentes Quando a tradução entre línguas for feita com Deep Learning, será como capturar o pensamento de uma língua para só depois aplicá-lo na outra língua.
  22. 22. Pausa para teoria: arquiteturas de deep nets Redes recorrentes (RNNs) Têm uma memória de curto prazo, ideal para reconhecimento de fala e processamento de texto Redes Convolucionais (ConvNets pros íntimos) Inspiradas no nosso córtex visual, são muito utilizadas em imagens
  23. 23. Mais sobre ConvNets
  24. 24. Pausa para teoria: arquiteturas de deep nets Redes adversárias Enquanto uma rede tenta identificar se o input é natural ou artificial, uma segunda rede tenta criar inputs artificiais para enganar a outra. É um tipo de modelo generativo. Provavelmente o que é utilizado pelo Prisma. Enquanto as primeiras camadas de uma ConvNet revela o “estilo”, as últimas revelam o “conteúdo”
  25. 25. Pausa para teoria: arquiteturas de deep nets Outros exemplos de modelos generativos: Beethoven no estilo Bossa Nova Beethoven no estilo Beatles
  26. 26. Deep Learning: longa história Redes Neurais Artificiais existem desde os anos 80, mas depois um tempo ninguém mais deu bola. Pesquisadores de outras áreas até zombavam. Fast-forward: lots of data and fast GPUs! Thank you gamers.
  27. 27. Deep Learning: longa história Yann Lecun Facebook, NYU Geoff Hinton Google, U. Toronto Yoshua Bengio U. Montreal
  28. 28. Tech de ponta: transfer learning Similar a se reutilizar o aprendizado de uma língua ao se aprender uma nova língua. TensorFlow Inception Pré-treinado em 2 semanas com 8 GPUs utilizando o ImageNet Basicamente, é removida a última camada da rede e se refaz o treinamento
  29. 29. Tech de ponta: one-shot learning Deep Learning atualmente precisa de milhares ou milhões de exemplos Como conseguir aprender com um ou poucos exemplos? Pesquisa em atividade.
  30. 30. Roadmap ML hacker (em ordem) DataCamp: Python for Data Science (opcional) Udacity: Intro to Machine Learning Coursera: Machine Learning (Stanford University) Udacity: Deep Learning (Google) Deep Learning (Bengio e Goodfellow)
  31. 31. Cheat-sheet de algoritmos Muitos dados: deep nets
  32. 32. Gracias. Slides: slideshare.net/GabrielCyprianoSaca Notícias sobre ML: getpocket.com/@gabrielcs Blog e mais: about.me/gabrielcs

×