Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Globalcode – Open4education
Introdução ao Deep Learning com
o TensorFlow
Dr. Mauro Pichiliani
@pichiliani
mauro@pichiliani...
Globalcode – Open4education
Quem sou eu
Mestre e doutor em computação pelo ITA
Escritor da SQL Magazine, .NET e Java Magaz...
Globalcode – Open4education
Agenda
Big Data e Machine Learning
Deep Learning
Introdução ao TensorFlow
Exemplos, exemplos e...
Globalcode – Open4education
Big Data e Machine Learning
Muitos, muitos dados disponíveis:
Redes sociais
Sensores
Mobile
É ...
Globalcode – Open4education
Exemplos
Teclado do WhatsApp: sugestão de palavras
Encontrar rosto e identificar pessoas nas f...
Globalcode – Open4education
Deep Learning
Algoritmos antigos: muito processamento e baixa “qualidade”
Deep Learning envolv...
Globalcode – Open4education
Exemplo de rede neural
Rede neural para identificar presença de rosto em fotos:
Globalcode – Open4education
RNN
Deep Learning se concentra no uso redes neurais recorrentes (RNN):
Conexão entre nós de fo...
Globalcode – Open4education
TensorFlow
Biblioteca do Google para machine learning
Completou 1 ano de vida recentemente !
R...
Globalcode – Open4education
TensorFlow - Instalação
Windows: use docker! Passo a passo em: http://bit.ly/1VoyDKL
Demo: TF ...
Globalcode – Open4education
TensorFlow – Hello Word
Tensores (matrizes multidimensionais++) e operações junto com grafos
(...
Globalcode – Open4education
TensorFlow – Operações
Operações podem ser realizadas em constantes e variáveis do TF
Cada nó ...
Globalcode – Open4education
TensorFlow – Regressão Linear
Trabalhar com o TF requer saber criar e usar funções:
Funções de...
Globalcode – Open4education
TensorFlow + TFLearn
TF é lib de baixo nivel. Muita codificação!
TFLearn (http://tflearn.org/)...
Globalcode – Open4education
TensorFlow: redes LSTM
Redes tipo LSTM (Long Short Term Memory) permitem gerar novos
“conteúdo...
Globalcode – Open4education
TensorFlow: outros exemplos
Reaproveitar modelo e indentificar fotos do Darth Vader
http://bit...
Globalcode – Open4education
Guia de estudos
Primeiro:
Tenha um bom conhecimento geral de machine learning
Aprenda conceito...
Globalcode – Open4education
Conclusão
TensorFlow é lib do Google para Machine Learning
Diversos algoritmos, inclusive Deep...
Globalcode – Open4education
Perguntas?
Dr. Mauro Pichiliani
mauro@pichiliani.com.br
@pichiliani
Upcoming SlideShare
Loading in …5
×

Introdução ao Deep Learning com o TensorFlow

7,961 views

Published on

Slides da palestra "Introdução ao Deel Learning como TensorFlow" ministrada no evento GDGDevFest 2016, na cidade de Campinas, SP, Brasil

Published in: Technology

Introdução ao Deep Learning com o TensorFlow

  1. 1. Globalcode – Open4education Introdução ao Deep Learning com o TensorFlow Dr. Mauro Pichiliani @pichiliani mauro@pichiliani.com.br
  2. 2. Globalcode – Open4education Quem sou eu Mestre e doutor em computação pelo ITA Escritor da SQL Magazine, .NET e Java Magazine Colaborador do iMasters há 15 anos Livros “Conversando sobre banco de dados” e “Introdução ao MongoDB” Co-produtor do DatabaseCast Consultor independente e autor de cursos on-line e presencais (inclusive de machie learning!)
  3. 3. Globalcode – Open4education Agenda Big Data e Machine Learning Deep Learning Introdução ao TensorFlow Exemplos, exemplos e mais exemplos Conclusão
  4. 4. Globalcode – Open4education Big Data e Machine Learning Muitos, muitos dados disponíveis: Redes sociais Sensores Mobile É importante saber o que fazer com os dados! Descobrir insights, padrões, erros, detectar fraudes, compreender cenários Machine Learning pode ajudar a lidar com dados e agregar algo ao negócio! http://bit.ly/2bTvwKe https://xkcd.com/1331/
  5. 5. Globalcode – Open4education Exemplos Teclado do WhatsApp: sugestão de palavras Encontrar rosto e identificar pessoas nas fotos Identificar partes do corpo (Kinect) e da mão (Leap Motion) O que você lê na timeline das redes sociais Recomendações da Netflix e em e-commerce Previsão de sintomas/doenças a partir de dados Controle de robôs e carros que andam sozinhos Encontrar ‘fatos novos’ em dados (jornalismo) Identificar ‘sentimento’ do público acerca de jogadores de futebol Criar obras de arte, notícias, música, trailer de cinema, perfil fake em rede social Gerar texto e imagem como se fosse o autor original
  6. 6. Globalcode – Open4education Deep Learning Algoritmos antigos: muito processamento e baixa “qualidade” Deep Learning envolve técnicas para resultados melhores: Maior acurácia Arquitetura (CPU e GPU) Processamento distribuído Design da rede Otimização de parâmetros Segue modelo clássico do aprendizado supervisionado: dados treinamento + dados teste Geralmente implementação envolve redes neurais “turbinadas” Importante: antes do DL é preciso preparar muito bem os dados!
  7. 7. Globalcode – Open4education Exemplo de rede neural Rede neural para identificar presença de rosto em fotos:
  8. 8. Globalcode – Open4education RNN Deep Learning se concentra no uso redes neurais recorrentes (RNN): Conexão entre nós de forma cíclica
  9. 9. Globalcode – Open4education TensorFlow Biblioteca do Google para machine learning Completou 1 ano de vida recentemente ! Recursos para machine learning tradicional e também para deep learning Linguagens: Python (2.7, 3.4 e 3.5) , C++, Lua, JavaScript e R Abstrações: tensores e operações (TensorBoard mostra gráfico!) Requer conhecimento teórico de machine learning Recursos para escalabilidade: múltiplas CPUs e GPUs
  10. 10. Globalcode – Open4education TensorFlow - Instalação Windows: use docker! Passo a passo em: http://bit.ly/1VoyDKL Demo: TF no docker + notebook Python Linux e Mac: um simpes pip install já resolve! Ref: http://bit.ly/2fISO86 Nota: recomenda-se utilizar o TF com outros pacotes (Pandas, Numpy,Scikit-learn). Dica: use o Anaconda http://bit.ly/1RudtK3 Demo: Teste do TF no IDE Spyder TF é complexo de lidar! Pode-se utilizar libs mais simples para iniciantes. Recomendação: TFLearn (http://tflearn.org/) e Keras ( https://keras.io/) Instalação é simples com o pip install
  11. 11. Globalcode – Open4education TensorFlow – Hello Word Tensores (matrizes multidimensionais++) e operações junto com grafos (nós e arestas) Fluxo de dados (flow): operações modificam tensores enviados para próximas operações que modificam tensores.... Repos. com exemplos: http://bit.ly/1Qp0uJX e http://bit.ly/24kgh3P Exemplo: TFHello.py import tensorflow as tf # Cria uma constrante no TensorFlow hello = tf.constant('Hello, TensorFlow!') # Inicia a sessão sess = tf.Session() # Executa a Operacao print(sess.run(hello))
  12. 12. Globalcode – Open4education TensorFlow – Operações Operações podem ser realizadas em constantes e variáveis do TF Cada nó realiza uma operação e recebe as entradas (inputs) e saídas (outputs) Exemplo: Multiplicação e soma de inteiros e matrizes TFSomaMultiplica.py ... # Criando as constantes a = tf.constant(2) b = tf.constant(3) # Iniciando o grafo with tf.Session() as sess: print("a=2, b=3") print("Adição: %i" % sess.run(a+b)) print("Multiplicação: %i" % sess.run(a*b))
  13. 13. Globalcode – Open4education TensorFlow – Regressão Linear Trabalhar com o TF requer saber criar e usar funções: Funções de otimização (Ex: Gradiente descendente) Funções de custo (Ex: MSE) Funções de ativação da rede (Ex: RELU, ELU) Design da rede (camadas, neurônios, arquitetura) é muito importante! Conceito de épocas, custo, taxa de aprendizado, passos, pesos e bias (viés) Exemplo: Regressão linear (TFRegLin.py) Uso do modelo linear clássico: y = X*w + b A cada época mostramos: Nro da época Erro médio Custo Pesos (W) e b
  14. 14. Globalcode – Open4education TensorFlow + TFLearn TF é lib de baixo nivel. Muita codificação! TFLearn (http://tflearn.org/) ajuda quem está começando a aprender Baseada em conceitos do Scikit-learn: métodos fit() e predict() Exemplo: Regressão linear com o TF + TFLearn Arquivo TFLearnLinReg.py
  15. 15. Globalcode – Open4education TensorFlow: redes LSTM Redes tipo LSTM (Long Short Term Memory) permitem gerar novos “conteúdos” a partir de dados Exemplo 1: geração de nomes de cidades (ExCidade.py) Exemplo 2: gera trecho da peça de Shakespeare (ExShakespeare.py) Links relacionados: Port do “clássico” char-rrn (Andrej Karpathy’s) para o TensorFlow ( http://bit.ly/1YGkudz) Gerando imagens abstratas com o TF http://bit.ly/2gEwRvh Completando pedaços que faltam em imagens: http://bit.ly/2dgOxIv
  16. 16. Globalcode – Open4education TensorFlow: outros exemplos Reaproveitar modelo e indentificar fotos do Darth Vader http://bit.ly/2gk39r7 Implementando Deep Q Network no TensorFlow para “aprender” a jogar o Pong http://bit.ly/2fbMtG7 http://bit.ly/2gkbsmx Classificando sentimento de review de filmes (pos. e neg.): http://bit.ly/1OlVJNj Interface conversacional (chatbot) com o TF: http://bit.ly/2glrXT4 Uso do formato HDF5 para lidar com dados que não cabem na memória http://bit.ly/2gEuecJ Uso do TF com GPU (local e na núvem AWS EC2) http://bit.ly/2g8hKXa http://bit.ly/2fbQ1Ix http://bit.ly/1PJ0XcO
  17. 17. Globalcode – Open4education Guia de estudos Primeiro: Tenha um bom conhecimento geral de machine learning Aprenda conceitos de redes neurais FUJA do exemplo MNIST do TF! Procure algo mais simples para começar TFLearn tem bons exemplos: http://bit.ly/2g8nwID TF passo a passo: http://learningtensorflow.com/ Canal DeepLearning.TV no YouTube: http://bit.ly/1QMDx6b Canal do Sirajology no YouTube: http://bit.ly/2gqb2wb TF na plataforma CodinGame: http://bit.ly/2gEzOvy Curso de DeepLearning no Udacity: http://bit.ly/2fsElw9 Livros: http://bit.ly/29WmfTN http://amzn.to/2fbXEPf http://bit.ly/2fVU22U
  18. 18. Globalcode – Open4education Conclusão TensorFlow é lib do Google para Machine Learning Diversos algoritmos, inclusive Deep Learning! É preciso saber muitos conceitos de IA antes de usar Possibilidade de escalar treinamento com CPUs e GPUs Relativamente nova, mas muito poderosa Novos recursos estão sendo implementados Ganhando a liderança em relação ao Torch e Caffe (CNTK?)
  19. 19. Globalcode – Open4education Perguntas? Dr. Mauro Pichiliani mauro@pichiliani.com.br @pichiliani

×