SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
Introdução ao
Machine Learning
para Hackers
Quem sou eu?
Gabriel Cypriano
gabrielcs.me
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)
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 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.”
OK. Exemplos?
Spam
Recomendações da Netflix
Amazon Echo
Google Photos / Facebook Photo Tags
DeepMind jogando Atari
Prisma
Carros autônomos
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
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
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
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 (reinforcement learning)
Dando recompensas, tipo como você treina seu dog.
Não-supervisionado
Quando não são fornecidos labels
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 reconhecer
padrões mais complexos nos exemplos.
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 algoritmos:
gradiente descendente e backprop
J.K., vamos usar o TensorFlow.
Code: http://bit.ly/2aYZNv0
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
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.
Avanços recentes
Reconhecimento de fala sem deep learning
30% de erro
Reconhecimento de fala com deep learning
Menos de 5% de erro
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.
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
Mais sobre ConvNets
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”
Pausa para teoria:
arquiteturas de deep nets
Outros exemplos de modelos generativos:
Beethoven no estilo Bossa Nova
Beethoven no estilo Beatles
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.
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.
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
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.
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)
Cheat-sheet de algoritmos
Muitos dados: deep nets
Gracias.
Slides: slideshare.net/GabrielCyprianoSaca
Notícias sobre ML: getpocket.com/@gabrielcs
Blog e mais: gabrielcs.me

Weitere ähnliche Inhalte

Was ist angesagt?

Introdução ao pensamento computacional e aos algoritmos
Introdução ao pensamento computacional e aos algoritmosIntrodução ao pensamento computacional e aos algoritmos
Introdução ao pensamento computacional e aos algoritmosSérgio Souza Costa
 
De algoritmos à programas de computador
De algoritmos à programas de computadorDe algoritmos à programas de computador
De algoritmos à programas de computadorSérgio Souza Costa
 
Introducão à Deep Learning e suas aplicações em neuroimagem
Introducão à Deep Learning e suas aplicações em neuroimagemIntroducão à Deep Learning e suas aplicações em neuroimagem
Introducão à Deep Learning e suas aplicações em neuroimagemWalter Hugo Lopez Pinaya
 
Python para iniciantes
Python para iniciantesPython para iniciantes
Python para iniciantesrichardsonlima
 
Administradores e suas gambiarras
Administradores e suas gambiarrasAdministradores e suas gambiarras
Administradores e suas gambiarrasdebian-rs
 
Hackeando o Facebook e o Twitter com Python TI no Vale
Hackeando o Facebook e o Twitter com Python TI no ValeHackeando o Facebook e o Twitter com Python TI no Vale
Hackeando o Facebook e o Twitter com Python TI no ValeFATEC São José dos Campos
 
Computação Visual com Python
Computação Visual com PythonComputação Visual com Python
Computação Visual com PythonJonh Edson
 
Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3Marcel Caraciolo
 
Quando robôs encontram ursos polares
Quando robôs encontram ursos polaresQuando robôs encontram ursos polares
Quando robôs encontram ursos polaresHuge
 
Desbravando a web com python - Matheus Lima
Desbravando a web com python - Matheus LimaDesbravando a web com python - Matheus Lima
Desbravando a web com python - Matheus LimaMatheus Dos Santos Lima
 

Was ist angesagt? (13)

Introdução ao pensamento computacional e aos algoritmos
Introdução ao pensamento computacional e aos algoritmosIntrodução ao pensamento computacional e aos algoritmos
Introdução ao pensamento computacional e aos algoritmos
 
De algoritmos à programas de computador
De algoritmos à programas de computadorDe algoritmos à programas de computador
De algoritmos à programas de computador
 
Hackeando o Facebook com Python
Hackeando o Facebook com PythonHackeando o Facebook com Python
Hackeando o Facebook com Python
 
Dicas para programador web
Dicas para programador webDicas para programador web
Dicas para programador web
 
Introducão à Deep Learning e suas aplicações em neuroimagem
Introducão à Deep Learning e suas aplicações em neuroimagemIntroducão à Deep Learning e suas aplicações em neuroimagem
Introducão à Deep Learning e suas aplicações em neuroimagem
 
Python para iniciantes
Python para iniciantesPython para iniciantes
Python para iniciantes
 
Administradores e suas gambiarras
Administradores e suas gambiarrasAdministradores e suas gambiarras
Administradores e suas gambiarras
 
Hackeando o Facebook e o Twitter com Python TI no Vale
Hackeando o Facebook e o Twitter com Python TI no ValeHackeando o Facebook e o Twitter com Python TI no Vale
Hackeando o Facebook e o Twitter com Python TI no Vale
 
Computação Visual com Python
Computação Visual com PythonComputação Visual com Python
Computação Visual com Python
 
Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3
 
Quando robôs encontram ursos polares
Quando robôs encontram ursos polaresQuando robôs encontram ursos polares
Quando robôs encontram ursos polares
 
Máquinas Podem Pensar
Máquinas Podem PensarMáquinas Podem Pensar
Máquinas Podem Pensar
 
Desbravando a web com python - Matheus Lima
Desbravando a web com python - Matheus LimaDesbravando a web com python - Matheus Lima
Desbravando a web com python - Matheus Lima
 

Andere mochten auch

Aplicações Práticas de Machine Learning
Aplicações Práticas de Machine LearningAplicações Práticas de Machine Learning
Aplicações Práticas de Machine LearningLuiz Costa
 
Machine Learning com Python e Scikit-learn
Machine Learning com Python e Scikit-learnMachine Learning com Python e Scikit-learn
Machine Learning com Python e Scikit-learnChristian Perone
 
Introdução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowIntrodução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowpichiliani
 
First Big Data Week
First Big Data Week First Big Data Week
First Big Data Week Hélio Silva
 
Deep Learning e Bots em Geral
Deep Learning e Bots em GeralDeep Learning e Bots em Geral
Deep Learning e Bots em GeralAndherson Maeda
 
Azure Machine Learning
Azure Machine LearningAzure Machine Learning
Azure Machine LearningLeandro Guerra
 
Mini-curso JavaFX Aula3 UFPB
Mini-curso JavaFX Aula3 UFPBMini-curso JavaFX Aula3 UFPB
Mini-curso JavaFX Aula3 UFPBRaphael Marques
 
JavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEBJavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEBjesuinoPower
 
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)Raphael Marques
 
Aprendizado de Máquinas com Azure Machine Learning e R
Aprendizado de Máquinas com Azure Machine Learning e RAprendizado de Máquinas com Azure Machine Learning e R
Aprendizado de Máquinas com Azure Machine Learning e RDiego Nogare
 
Deep Belief Networks (D2L1 Deep Learning for Speech and Language UPC 2017)
Deep Belief Networks (D2L1 Deep Learning for Speech and Language UPC 2017)Deep Belief Networks (D2L1 Deep Learning for Speech and Language UPC 2017)
Deep Belief Networks (D2L1 Deep Learning for Speech and Language UPC 2017)Universitat Politècnica de Catalunya
 
Social Machines - 2017 Update (University of Iowa)
Social Machines - 2017 Update (University of Iowa)Social Machines - 2017 Update (University of Iowa)
Social Machines - 2017 Update (University of Iowa)James Hendler
 
EL MODELO DE NEGOCIO DE YOUTUBE
EL MODELO DE NEGOCIO DE YOUTUBEEL MODELO DE NEGOCIO DE YOUTUBE
EL MODELO DE NEGOCIO DE YOUTUBEbutest
 
Criando aplicações java fx em minutos
Criando aplicações java fx em minutosCriando aplicações java fx em minutos
Criando aplicações java fx em minutosBruno Oliveira
 

Andere mochten auch (20)

Machine Learning - Introdução e Aplicações
Machine Learning - Introdução e AplicaçõesMachine Learning - Introdução e Aplicações
Machine Learning - Introdução e Aplicações
 
Aplicações Práticas de Machine Learning
Aplicações Práticas de Machine LearningAplicações Práticas de Machine Learning
Aplicações Práticas de Machine Learning
 
Deep Learning
Deep LearningDeep Learning
Deep Learning
 
Webinar: Amazon Machine Learning
Webinar: Amazon Machine LearningWebinar: Amazon Machine Learning
Webinar: Amazon Machine Learning
 
Machine Learning com Python e Scikit-learn
Machine Learning com Python e Scikit-learnMachine Learning com Python e Scikit-learn
Machine Learning com Python e Scikit-learn
 
Introdução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowIntrodução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlow
 
First Big Data Week
First Big Data Week First Big Data Week
First Big Data Week
 
Deep Learning e Bots em Geral
Deep Learning e Bots em GeralDeep Learning e Bots em Geral
Deep Learning e Bots em Geral
 
Azure Machine Learning
Azure Machine LearningAzure Machine Learning
Azure Machine Learning
 
Mini-curso JavaFX Aula3 UFPB
Mini-curso JavaFX Aula3 UFPBMini-curso JavaFX Aula3 UFPB
Mini-curso JavaFX Aula3 UFPB
 
Redes neurais
Redes neuraisRedes neurais
Redes neurais
 
Mini-curso JavaFX Aula2
Mini-curso JavaFX Aula2Mini-curso JavaFX Aula2
Mini-curso JavaFX Aula2
 
JavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEBJavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEB
 
Introdução ao JavaFX
Introdução ao JavaFXIntrodução ao JavaFX
Introdução ao JavaFX
 
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
 
Aprendizado de Máquinas com Azure Machine Learning e R
Aprendizado de Máquinas com Azure Machine Learning e RAprendizado de Máquinas com Azure Machine Learning e R
Aprendizado de Máquinas com Azure Machine Learning e R
 
Deep Belief Networks (D2L1 Deep Learning for Speech and Language UPC 2017)
Deep Belief Networks (D2L1 Deep Learning for Speech and Language UPC 2017)Deep Belief Networks (D2L1 Deep Learning for Speech and Language UPC 2017)
Deep Belief Networks (D2L1 Deep Learning for Speech and Language UPC 2017)
 
Social Machines - 2017 Update (University of Iowa)
Social Machines - 2017 Update (University of Iowa)Social Machines - 2017 Update (University of Iowa)
Social Machines - 2017 Update (University of Iowa)
 
EL MODELO DE NEGOCIO DE YOUTUBE
EL MODELO DE NEGOCIO DE YOUTUBEEL MODELO DE NEGOCIO DE YOUTUBE
EL MODELO DE NEGOCIO DE YOUTUBE
 
Criando aplicações java fx em minutos
Criando aplicações java fx em minutosCriando aplicações java fx em minutos
Criando aplicações java fx em minutos
 

Ähnlich wie Introdução ao Machine Learning para Hackers

[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial -  Uma Abordagem Visual[Jose Ahirton Lopes] Inteligencia Artificial -  Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem VisualAhirton Lopes
 
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem VisualAhirton Lopes
 
Introdução a Machine learning (Aprendizado de Máquina)
Introdução a Machine learning (Aprendizado de Máquina)Introdução a Machine learning (Aprendizado de Máquina)
Introdução a Machine learning (Aprendizado de Máquina)Mateus Moraes Pinto
 
PyBr21: Explorando características faciais para inferir informações demográficas
PyBr21: Explorando características faciais para inferir informações demográficasPyBr21: Explorando características faciais para inferir informações demográficas
PyBr21: Explorando características faciais para inferir informações demográficasArthur Fortes
 
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem VisualAhirton Lopes
 
Data Science & Machine Learning - Python Conference ES 2017
Data Science & Machine Learning - Python Conference ES 2017Data Science & Machine Learning - Python Conference ES 2017
Data Science & Machine Learning - Python Conference ES 2017Gabriel Cypriano Saca
 
Inteligencia artificial 1
Inteligencia artificial 1Inteligencia artificial 1
Inteligencia artificial 1Nauber Gois
 
Uma breve introdução ao Big Data e Inteligência Artificial.pptx
Uma breve introdução ao Big Data e Inteligência Artificial.pptxUma breve introdução ao Big Data e Inteligência Artificial.pptx
Uma breve introdução ao Big Data e Inteligência Artificial.pptxAlessandro Binhara
 
Python Training #1 - ed5
Python Training #1 - ed5Python Training #1 - ed5
Python Training #1 - ed5Fabio Spanhol
 
Data Science e Inteligência de dados - Inteligencia artificial e machine lear...
Data Science e Inteligência de dados - Inteligencia artificial e machine lear...Data Science e Inteligência de dados - Inteligencia artificial e machine lear...
Data Science e Inteligência de dados - Inteligencia artificial e machine lear...Daniela Brauner
 
Inteligência Artificial : desafios na sociedade do conhecimento
Inteligência Artificial : desafios na sociedade do conhecimentoInteligência Artificial : desafios na sociedade do conhecimento
Inteligência Artificial : desafios na sociedade do conhecimentoPierre GUILLOU
 
Python: A Arma Secreta do Cientista de Dados
Python: A Arma Secreta do Cientista de DadosPython: A Arma Secreta do Cientista de Dados
Python: A Arma Secreta do Cientista de DadosRodrigo Senra
 
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem VisualAhirton Lopes
 
G.O. - Grafos Online
G.O. - Grafos OnlineG.O. - Grafos Online
G.O. - Grafos Onlinedudleyy
 
Skynet - Do It Yourself (workshop de Inteligência Artificial)
Skynet - Do It Yourself (workshop de Inteligência Artificial)Skynet - Do It Yourself (workshop de Inteligência Artificial)
Skynet - Do It Yourself (workshop de Inteligência Artificial)Letícia Pedroso
 
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem VisualAhirton Lopes
 

Ähnlich wie Introdução ao Machine Learning para Hackers (20)

[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial -  Uma Abordagem Visual[Jose Ahirton Lopes] Inteligencia Artificial -  Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
 
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
 
Introdução a Machine learning (Aprendizado de Máquina)
Introdução a Machine learning (Aprendizado de Máquina)Introdução a Machine learning (Aprendizado de Máquina)
Introdução a Machine learning (Aprendizado de Máquina)
 
PyBr21: Explorando características faciais para inferir informações demográficas
PyBr21: Explorando características faciais para inferir informações demográficasPyBr21: Explorando características faciais para inferir informações demográficas
PyBr21: Explorando características faciais para inferir informações demográficas
 
Minicurso do Terminal ao Python
Minicurso do Terminal ao PythonMinicurso do Terminal ao Python
Minicurso do Terminal ao Python
 
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
 
Data Science & Machine Learning - Python Conference ES 2017
Data Science & Machine Learning - Python Conference ES 2017Data Science & Machine Learning - Python Conference ES 2017
Data Science & Machine Learning - Python Conference ES 2017
 
Fórum respostas
Fórum  respostasFórum  respostas
Fórum respostas
 
Inteligencia artificial 1
Inteligencia artificial 1Inteligencia artificial 1
Inteligencia artificial 1
 
Uma breve introdução ao Big Data e Inteligência Artificial.pptx
Uma breve introdução ao Big Data e Inteligência Artificial.pptxUma breve introdução ao Big Data e Inteligência Artificial.pptx
Uma breve introdução ao Big Data e Inteligência Artificial.pptx
 
Ia01 introducao (1)
Ia01   introducao (1)Ia01   introducao (1)
Ia01 introducao (1)
 
Desmistificando machine learning
Desmistificando machine learningDesmistificando machine learning
Desmistificando machine learning
 
Python Training #1 - ed5
Python Training #1 - ed5Python Training #1 - ed5
Python Training #1 - ed5
 
Data Science e Inteligência de dados - Inteligencia artificial e machine lear...
Data Science e Inteligência de dados - Inteligencia artificial e machine lear...Data Science e Inteligência de dados - Inteligencia artificial e machine lear...
Data Science e Inteligência de dados - Inteligencia artificial e machine lear...
 
Inteligência Artificial : desafios na sociedade do conhecimento
Inteligência Artificial : desafios na sociedade do conhecimentoInteligência Artificial : desafios na sociedade do conhecimento
Inteligência Artificial : desafios na sociedade do conhecimento
 
Python: A Arma Secreta do Cientista de Dados
Python: A Arma Secreta do Cientista de DadosPython: A Arma Secreta do Cientista de Dados
Python: A Arma Secreta do Cientista de Dados
 
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
 
G.O. - Grafos Online
G.O. - Grafos OnlineG.O. - Grafos Online
G.O. - Grafos Online
 
Skynet - Do It Yourself (workshop de Inteligência Artificial)
Skynet - Do It Yourself (workshop de Inteligência Artificial)Skynet - Do It Yourself (workshop de Inteligência Artificial)
Skynet - Do It Yourself (workshop de Inteligência Artificial)
 
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
 

Introdução ao Machine Learning para Hackers

  • 2. Quem sou eu? Gabriel Cypriano gabrielcs.me 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.
  • 5. 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.”
  • 6. OK. Exemplos? Spam Recomendações da Netflix Amazon Echo Google Photos / Facebook Photo Tags DeepMind jogando Atari Prisma Carros autônomos
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. Let’s start hacking. Regressão Linear com Python Code: http://bit.ly/2aZfa7L
  • 11. 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
  • 12. Exemplo: Carros autônomos (input são câmeras e um humano dirigindo)? Aprendizagem supervisionada.
  • 13. Exemplo: Prisma (input é um estilo de pintura e uma foto)? Aprendizagem não-supervisionada.
  • 14. Exemplo: Jogos de Atari (input são pixels e o score)? Aprendizagem por reforço.
  • 15. Back to hacking. Aprendizagem não-supervisionada: clusterização. Code: http://bit.ly/2arPMlQ
  • 16. 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.
  • 17. Cool! Where do we start? Linguagem Lua; usado pelo Facebook Para Python C++ Criado pelo Google; em Python
  • 18. 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
  • 19. 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
  • 20. 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.
  • 21. Avanços recentes Reconhecimento de fala sem deep learning 30% de erro Reconhecimento de fala com deep learning Menos de 5% de erro
  • 22. 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.
  • 23. 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
  • 25. 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”
  • 26. Pausa para teoria: arquiteturas de deep nets Outros exemplos de modelos generativos: Beethoven no estilo Bossa Nova Beethoven no estilo Beatles
  • 27. 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.
  • 28. Deep Learning: longa história Yann Lecun Facebook, NYU Geoff Hinton Google, U. Toronto Yoshua Bengio U. Montreal
  • 29. 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
  • 30. 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.
  • 31. 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)
  • 33. Gracias. Slides: slideshare.net/GabrielCyprianoSaca Notícias sobre ML: getpocket.com/@gabrielcs Blog e mais: gabrielcs.me