SlideShare uma empresa Scribd logo
1 de 36
Dismistificando
Deep Learning
Leandro Romualdo
I Fórum de tecnologia da informação
São Paulo | Maio 2018
Short bio
www.linkedin.com/in/leandroromualdo
https://twitter.com/Leandro_Romuald
http://www.datascienceinstitute.com.br/
leandroromualdosilva@gmail.com
Agenda
Deep
Learning
Redes Neurais
Frameworks
para Deep
Learning
Demo
Convolutional
Neural
Network
Perguntas
 Subcategoria de Machine learning que
trata as oportunidades de aprendizado
profundo com redes neurais profundas
 Desenvolvida e melhorada na área
acadêmica desde a década de 50,
ganhando notoriedade nos ultímos anos
 Em razão do poder computacional atual,
vem sendo amplamente explorada
Cenário atual Deep learning:
Serviços da internet
• Classificação de
imagens
• Reconhecimento de fala
• NLP
Medicina diagnóstica
• Detecção de câncer
• Diabetes
Mídia e entretenimento
• Tratamento de vídeo
• Tradução em real time
Segurança
• Reconhecimento de
face
• Biometria
• Cyber security
Carros autônomos
• Detecção de pessoas
e objetos
• Melhor trajeto
• Prevenção de colisão
Source: NextBigFuture
• Sabemos que quanto maior a quantidade
de dados maior é a performance
(leia acurácia) dos modelos
• Com quantidades cada vez maiores de
datasets abertos na internet, torna-se
possível treinar e desenvolver redes
neurais com arquiteturas cada vez
mais profundas
Alguns datasets para treinar as habilidades de Deep Learning
Imagens
• Minist
• Cifar-10
• CanalTech 256
• STL-10
• COIL100
• Imagenet
Artificial Datasets
• Arcade Universe
• BabyAIShapesDatasets
• ConvexNonConvex
• BackgroundCorrelation
Texto
• 20NewGroups
• Reuters
• Broadcast News
Speech
• TIMIT
Source: Forbes
Deep Learning deve estar com um nível de adoção maduro no
pais entre 2 á 5 anos
Nvidia Deep learning perception, Lidar
Perception and autonomous Drive
Source: Nvidia
Source: Next big future
GPU Computing
Redes neurais artificiais
Source : icmc usp
Cenário atual
Source: Asimovinstitute
• Diversas arquiteturas
disponíveis.
• Uma para cada problema
• Novas arquiteturas
surgindo devido ao poder
computacional atual
• CNN é uma rede do tipo Feed-Foward.
• Utiliza uma variação de perceptrons multicamada, desenvolvidos para
minimizar o uso computacional
• CNN aprende filtros em que um algoritmo tradicional seria necessário
implementações manuais
• Usada principalmente em reconhecimento de imagens e processamento
de vídeos, embora já tenha sido usada em processamento de voz e NLP
CNN – Convolutional
neural network
Trabalhando com Imagens
• Imagem tratada como matriz.
• “Shape” da imagem é visto através
das dimensões altura, largura e
canais de cores (RGB)
• Devemos deixar as imagens do
mesmo tamanho(Slice)
• Podemos fazer conversões na
imagem, mudando posição,
Recortando, invertendo lados
(transpose), girando
• Extração de features pode ser
diretamente onde interessa
Feature Maps & layers
Desafios de aprendizado:
• Variação Intra-classe
• Distinção de fundo
• Ponto de vista
Frameworks
Source: Nvidia
Open Source Interface Plataform Written In Cuda Support
YES PYTHON, LINUX, C++ YES
MATLAB MAC OS X,
WINDOWS
YES PYTHON, LINUX, C++ YES
C++ WINDOWS,
MAC OS X
YES PYTHON LINUX, PYTHON YES
MAC OS X,
WINDOWS
YES PYTHON, LINUX, C++,PYTHON YES
R, LUA, C,C++ MAC OS X,
,JAVA, GO WINDOWS
YES PYTHON, LINUX, PYTHON YES
R MAC OS X,
WINDOWS
YES LUA,C,C++ LINUX, C, LUA YES
MAC OS X,
WINDOWS,
ANDROID,IOS
Escolhendo Frameworks
•Analisar evolução do Framework (releases,
updates, etc.)
•Linguagem suportada
•Plataforma suportada
•Suporte (documentação, comunidade, etc.)
•Expertise
•Foco no problema
Source: Google Research
• Start 2011
• Reconhecimento de voz
• Pesquisas de imagens no Google Photos
• Ganhador do desafio de reconhecimento
visual em larga escala Imagenet 2014
• Utilizado em experimentos de legendas
em imagens e vídeos
• Start 2015
• Duas vezes mais rápido que seu
antecessor DistBelief
• Código aberto
• Flexível
• Baixo nível porém fácil de usar
Biblioteca do Google
Documentação muito rica (Inglês)
Muitos exemplos na internet (Mnist, desafios
do Kaggle, etc)
Baseado em Tensores e grafos
Comunidade ativa
CPU + GPU
Uso de GPU Necessita de CUDA ToolKit,
cuDNN
Uso de GPU não necessita alterações no
código
Suporte a Spark
Código e documentação aberta no GitHub
Evolução das releases
0.7 ....................... 1.2 1.3 1.4 1.5 1.6 1.7 1.8
Plataformas
Source: TensorFlow
Linguagens
Estrutura de código
1. Criar constrante
2. Iniciar sessão
3. Executar operação
Import tensorflow as tf
# Cria Constant com valores.
A = tf.Constant(100)
B = tf.Contant(50)
# Cria sessão
sess = tf.session()
# Executa a sessão e imprime resultado
sess.run( A * B)
Source: TensorFlow
Programming Stack
TensorBoard
• Interface gráfica, lançada junto com o
TensorFlow
• Desenvolvido para demonstrar
graficamente o comportamento do
modelo
• Cria um conjunto de pequenas e
determinadas visualizações genericas
• Possui API´s para adicionar plug-ins
de visualizações personalizadas
• Página do GitHub
Source: TensorFlow
TensorFlow Serving
Source: TensorFlow
• Plataforma para deploy de
modelos de Deep Learning
• Aberto ao publico desde o inicio
• Controle de versão de modelos
• Suporte a vários modelos para
teste A/B
• Gerenciamento de recursos
• Pode ser usado por outros
frameworks
The Cifar-10 Dataset
• Dataset com 60000 imagens coloridas, divididas em 10 classes
• Sendo 50000 imagens para treino e 10000 para teste
• Popular em competições de Deep Learning no Kaggle
• Link para download aqui
• Outros datasets para desenvolvimento de CNN´s aqui
Source: TensorFlow
Comunidade Tensorflow
TensorFlow - Playground
Source: TensorFlow Playground
Links uteis
• Tensorflow Canal youtube link
• Tensorflow for Deep Learning research Stanford University link
• Tensorflow papers link
• Livro deep learning (free) datascienceacademy link
• Deep Learning studio link
• Nvidia Deep Learning institute link
• Tensorflow Playground link
Dismistificando deep learning v2.1

Mais conteúdo relacionado

Semelhante a Dismistificando deep learning v2.1

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
 
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 TensorFlowMauro Pichiliani
 
TDC2016SP - Trilha BigData
TDC2016SP - Trilha BigDataTDC2016SP - Trilha BigData
TDC2016SP - Trilha BigDatatdc-globalcode
 
The Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto AlegreThe Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto AlegreBruno Brandes
 
Deep Learning do Zero ao Impossível: Qual o caminho?
Deep Learning do Zero ao Impossível: Qual o caminho?Deep Learning do Zero ao Impossível: Qual o caminho?
Deep Learning do Zero ao Impossível: Qual o caminho?Sandro Moreira
 
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!Intel Software Brasil
 
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!Luciano Palma
 
Python com baterias incluídas v2.0
Python com baterias incluídas v2.0Python com baterias incluídas v2.0
Python com baterias incluídas v2.0Jonh Edson
 
Android things, machine learning e maquinas de doces
Android things, machine learning e maquinas de doces Android things, machine learning e maquinas de doces
Android things, machine learning e maquinas de doces Alvaro Viebrantz
 
5º ck o java e o android no iot
5º ck o java e o android no iot5º ck o java e o android no iot
5º ck o java e o android no iotHeider Lopes
 
Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...
Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...
Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...Adolfo Guimaraes
 
Alta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlex Camargo
 
Proposta de identificação de impressões digitais empregando redes neurais art...
Proposta de identificação de impressões digitais empregando redes neurais art...Proposta de identificação de impressões digitais empregando redes neurais art...
Proposta de identificação de impressões digitais empregando redes neurais art...Diogenes Freitas
 
Uma Proposta de identificação de Impressões Digitais empregando Redes Neurais...
Uma Proposta de identificação de Impressões Digitais empregando Redes Neurais...Uma Proposta de identificação de Impressões Digitais empregando Redes Neurais...
Uma Proposta de identificação de Impressões Digitais empregando Redes Neurais...Diogenes Freitas
 
Resumo do TheDeveloperConference 2014 - POA
Resumo do TheDeveloperConference 2014 - POAResumo do TheDeveloperConference 2014 - POA
Resumo do TheDeveloperConference 2014 - POARafael Pacheco
 

Semelhante a Dismistificando deep learning v2.1 (20)

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
 
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
 
Computação no Desenvolvimento de Jogos Digitais
Computação no Desenvolvimento de Jogos DigitaisComputação no Desenvolvimento de Jogos Digitais
Computação no Desenvolvimento de Jogos Digitais
 
TDC2016SP - Trilha BigData
TDC2016SP - Trilha BigDataTDC2016SP - Trilha BigData
TDC2016SP - Trilha BigData
 
The Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto AlegreThe Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto Alegre
 
Deep Learning do Zero ao Impossível: Qual o caminho?
Deep Learning do Zero ao Impossível: Qual o caminho?Deep Learning do Zero ao Impossível: Qual o caminho?
Deep Learning do Zero ao Impossível: Qual o caminho?
 
Apresentacao KINECT
Apresentacao KINECTApresentacao KINECT
Apresentacao KINECT
 
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
 
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
 
Python com baterias incluídas v2.0
Python com baterias incluídas v2.0Python com baterias incluídas v2.0
Python com baterias incluídas v2.0
 
OpenKinect, o Kinect para todos
OpenKinect, o Kinect para todosOpenKinect, o Kinect para todos
OpenKinect, o Kinect para todos
 
Android things, machine learning e maquinas de doces
Android things, machine learning e maquinas de doces Android things, machine learning e maquinas de doces
Android things, machine learning e maquinas de doces
 
5º ck o java e o android no iot
5º ck o java e o android no iot5º ck o java e o android no iot
5º ck o java e o android no iot
 
Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...
Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...
Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...
 
Alta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem pratica
 
Apresentação documenta
Apresentação documentaApresentação documenta
Apresentação documenta
 
Proposta de identificação de impressões digitais empregando redes neurais art...
Proposta de identificação de impressões digitais empregando redes neurais art...Proposta de identificação de impressões digitais empregando redes neurais art...
Proposta de identificação de impressões digitais empregando redes neurais art...
 
Uma Proposta de identificação de Impressões Digitais empregando Redes Neurais...
Uma Proposta de identificação de Impressões Digitais empregando Redes Neurais...Uma Proposta de identificação de Impressões Digitais empregando Redes Neurais...
Uma Proposta de identificação de Impressões Digitais empregando Redes Neurais...
 
Resumo do TheDeveloperConference 2014 - POA
Resumo do TheDeveloperConference 2014 - POAResumo do TheDeveloperConference 2014 - POA
Resumo do TheDeveloperConference 2014 - POA
 
Desvendando o mundo iOS
Desvendando o mundo iOSDesvendando o mundo iOS
Desvendando o mundo iOS
 

Dismistificando deep learning v2.1

  • 1. Dismistificando Deep Learning Leandro Romualdo I Fórum de tecnologia da informação São Paulo | Maio 2018
  • 4.  Subcategoria de Machine learning que trata as oportunidades de aprendizado profundo com redes neurais profundas  Desenvolvida e melhorada na área acadêmica desde a década de 50, ganhando notoriedade nos ultímos anos  Em razão do poder computacional atual, vem sendo amplamente explorada Cenário atual Deep learning: Serviços da internet • Classificação de imagens • Reconhecimento de fala • NLP Medicina diagnóstica • Detecção de câncer • Diabetes Mídia e entretenimento • Tratamento de vídeo • Tradução em real time Segurança • Reconhecimento de face • Biometria • Cyber security Carros autônomos • Detecção de pessoas e objetos • Melhor trajeto • Prevenção de colisão
  • 5. Source: NextBigFuture • Sabemos que quanto maior a quantidade de dados maior é a performance (leia acurácia) dos modelos • Com quantidades cada vez maiores de datasets abertos na internet, torna-se possível treinar e desenvolver redes neurais com arquiteturas cada vez mais profundas Alguns datasets para treinar as habilidades de Deep Learning Imagens • Minist • Cifar-10 • CanalTech 256 • STL-10 • COIL100 • Imagenet Artificial Datasets • Arcade Universe • BabyAIShapesDatasets • ConvexNonConvex • BackgroundCorrelation Texto • 20NewGroups • Reuters • Broadcast News Speech • TIMIT
  • 6. Source: Forbes Deep Learning deve estar com um nível de adoção maduro no pais entre 2 á 5 anos
  • 7. Nvidia Deep learning perception, Lidar Perception and autonomous Drive
  • 12. Cenário atual Source: Asimovinstitute • Diversas arquiteturas disponíveis. • Uma para cada problema • Novas arquiteturas surgindo devido ao poder computacional atual
  • 13. • CNN é uma rede do tipo Feed-Foward. • Utiliza uma variação de perceptrons multicamada, desenvolvidos para minimizar o uso computacional • CNN aprende filtros em que um algoritmo tradicional seria necessário implementações manuais • Usada principalmente em reconhecimento de imagens e processamento de vídeos, embora já tenha sido usada em processamento de voz e NLP CNN – Convolutional neural network
  • 14.
  • 15. Trabalhando com Imagens • Imagem tratada como matriz. • “Shape” da imagem é visto através das dimensões altura, largura e canais de cores (RGB) • Devemos deixar as imagens do mesmo tamanho(Slice) • Podemos fazer conversões na imagem, mudando posição, Recortando, invertendo lados (transpose), girando • Extração de features pode ser diretamente onde interessa
  • 16. Feature Maps & layers
  • 17. Desafios de aprendizado: • Variação Intra-classe • Distinção de fundo • Ponto de vista
  • 19. Open Source Interface Plataform Written In Cuda Support YES PYTHON, LINUX, C++ YES MATLAB MAC OS X, WINDOWS YES PYTHON, LINUX, C++ YES C++ WINDOWS, MAC OS X YES PYTHON LINUX, PYTHON YES MAC OS X, WINDOWS YES PYTHON, LINUX, C++,PYTHON YES R, LUA, C,C++ MAC OS X, ,JAVA, GO WINDOWS YES PYTHON, LINUX, PYTHON YES R MAC OS X, WINDOWS YES LUA,C,C++ LINUX, C, LUA YES MAC OS X, WINDOWS, ANDROID,IOS
  • 20. Escolhendo Frameworks •Analisar evolução do Framework (releases, updates, etc.) •Linguagem suportada •Plataforma suportada •Suporte (documentação, comunidade, etc.) •Expertise •Foco no problema
  • 21. Source: Google Research • Start 2011 • Reconhecimento de voz • Pesquisas de imagens no Google Photos • Ganhador do desafio de reconhecimento visual em larga escala Imagenet 2014 • Utilizado em experimentos de legendas em imagens e vídeos • Start 2015 • Duas vezes mais rápido que seu antecessor DistBelief • Código aberto • Flexível • Baixo nível porém fácil de usar
  • 22. Biblioteca do Google Documentação muito rica (Inglês) Muitos exemplos na internet (Mnist, desafios do Kaggle, etc) Baseado em Tensores e grafos Comunidade ativa CPU + GPU Uso de GPU Necessita de CUDA ToolKit, cuDNN Uso de GPU não necessita alterações no código Suporte a Spark Código e documentação aberta no GitHub
  • 23. Evolução das releases 0.7 ....................... 1.2 1.3 1.4 1.5 1.6 1.7 1.8
  • 25. Estrutura de código 1. Criar constrante 2. Iniciar sessão 3. Executar operação Import tensorflow as tf # Cria Constant com valores. A = tf.Constant(100) B = tf.Contant(50) # Cria sessão sess = tf.session() # Executa a sessão e imprime resultado sess.run( A * B) Source: TensorFlow
  • 27. TensorBoard • Interface gráfica, lançada junto com o TensorFlow • Desenvolvido para demonstrar graficamente o comportamento do modelo • Cria um conjunto de pequenas e determinadas visualizações genericas • Possui API´s para adicionar plug-ins de visualizações personalizadas • Página do GitHub Source: TensorFlow
  • 28. TensorFlow Serving Source: TensorFlow • Plataforma para deploy de modelos de Deep Learning • Aberto ao publico desde o inicio • Controle de versão de modelos • Suporte a vários modelos para teste A/B • Gerenciamento de recursos • Pode ser usado por outros frameworks
  • 29.
  • 30.
  • 31. The Cifar-10 Dataset • Dataset com 60000 imagens coloridas, divididas em 10 classes • Sendo 50000 imagens para treino e 10000 para teste • Popular em competições de Deep Learning no Kaggle • Link para download aqui • Outros datasets para desenvolvimento de CNN´s aqui
  • 32.
  • 34. TensorFlow - Playground Source: TensorFlow Playground
  • 35. Links uteis • Tensorflow Canal youtube link • Tensorflow for Deep Learning research Stanford University link • Tensorflow papers link • Livro deep learning (free) datascienceacademy link • Deep Learning studio link • Nvidia Deep Learning institute link • Tensorflow Playground link