SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
DESMISTIFICANDO O DEEP
LEARNING COM TENSORFLOW
Júlio César Batista ju io.batista@out ook.com
Vítor Albiero vitor_a biero@out ook.com
May the 4th be with you, 2017
https://goo.g /aYaT7Q
História
Redes neurais foram muito utilizadas até os anos 2000;
Houve um hiato relacionado as redes neurais com o uso de
outros algoritmos (SVM, árvores de decisão);
Em 2012 um resultado1 trouxe muita atenção para as redes
neurais convolucionais;
Model Top-1 Top-5
Sparse coding 47.1% 28.2%
SIFT + FVs 45.7% 25.7%
CNN 37.5% 17.0%
1Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton. “ImageNet Classification
with Deep Convolutional Neural Networks”. In: Advances In Neural Information
Processing Systems (2012).
1/ 16
Entendendo o problema
Reconhecimento de imagens: Dada a imagem de um objeto
(caractére), retorne o objeto (caractére) está nessa imagem;
Aprendizado supervisionado: Um algoritmo aprende a
classificar uma imagem a partir de um conjunto de
imagens que foram anotadas para indicar qual objeto está
em cada imagem;
Caractére do MNIST2
2Y. Lecun et al. “Gradient-based learning applied to document recognition”. In:
Proceedings of the IEEE (1998).
2/ 16
Como representar imagens
Imagens são matrizes onde os seus valores (pixels) variam
de 0 (preto) a 255 (branco);
Essas matrizes podem ser transformadas em vetores
(arrays) através de uma operação chamada flatten;
x28×28

0 · · · · · · · · · 0
...
...
...
...
...
... 255 255
...
...
... 255 255
...
...
0 · · · · · · · · · 0

flatten(x) · · · 255 255 · · · 255 255 · · · 1×784
3/ 16
Um framework para transformar imagens em labels
Multiplicando a imagem de entrada (x) por uma matriz de
weights (W) e adicionando um vetor de bias (b) podemos
ter um vetor (ˆy) de C classes;
ˆyC×1 WC×784x784?×1 + bC×1
ˆyC×1

−0.76 · · · −0.39
0.07 · · · 0.91
−0.19 · · · 0.23
−0.42 · · · 0.13
...
...
...
−0.82 · · · 0.20
C×784
×

−0.44
0.40
0.11
...
−0.66
784×1
+

1.00
−0.18
0.81
...
−1.00
C×1
4/ 16
Tornando as saídas "interpretáveis"
Softmax (σ) transforma um vetor de valores arbitrários em
um vetor de probabilidades (distribuição);
σ(ˆy)c
exp(ˆyc)
K
k 1 exp(ˆyk)
ˆy

−0.05
0.43
0.92
0.92
0.28
−0.69
0.17
2.34
−0.81
0.63

σ(ˆy)

0.04
0.07
0.11
0.11
0.06
0.02
0.05
0.45
0.02
0.08
 5/ 16
Aprendizado: loss
O "aprendizado" é considerado um problema de
otimização de uma função objetivo (loss/cost) L sobre N
amostras;
Y

0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 0.00 0.00
...
...
...
...
...
...
...
...
...
...
N×C
ˆY

0.04 0.07 0.11 0.11 0.06 0.02 0.05 0.45 0.02 0.08
...
...
...
...
...
...
...
...
...
...
N×C
L(Y, ˆY) −
1
N
N
n 1
C
c 1
Ynclog( ˆYnc)
Softmax loss: cross-entropy 6/ 16
Aprendizado: otimização
O método mais comum de otimização é o Stochastic
Gradient Descent (SGD) com momentum;
Um item importante do SGD é o learning rate, responsável
por multiplicar os weights e bias a cada iteração;
Exemplo do SGD3.
3Andrew Trask. A Neural Network in 13 lines of Python (Part 2 - Gradient Descent).
https://iamtrask.github.io/2015/07/27/python-network-part2/. Accessed:
2017-04-27.
7/ 16
DEMO
Entretanto, este framework
não aprende features.
Convoluções: o processo de filtrar uma imagem
Classicamente: usado para suavização ou realce de arestas;
Atualmente: a rede "aprende as melhores" convoluções
ajustando W e b durante o processo de aprendizado;
Processo de convolução4.
4Christopher Olah. Understanding Convolutions.
http://co ah.github.io/posts/2014-07-Understanding-Convo utions/. Accessed:
2017-04-27. 10/ 16
Ativação
Basicamente: transforma uma reta em uma curva;
A mais comum atualmente é a Rectified Linear Unit (ReLU)5;
Softmax também é uma função de ativação;
(a) Linear: y Wx + b (b) ReLU: y max(0, Wx + b)
5Vinod Nair and Geoffrey E Hinton. “Rectified linear units improve restricted
boltzmann machines”. In: ICML. 2010.
11/ 16
Pooling
Reduz o tamanho (altura, largura) da representação;
Tipos mais comuns: max, average;
6
6CS231n. Convolutional Neural Networks for Visual Recognition (Pooling Layer).
http://cs231n.github.io/convo utiona -networks/. Accessed: 2017-04-27. 12/ 16
Juntando tudo, enfim as redes neurais convolucionais
Exemplo de uma rede neural convolucional7. Note como as camadas
de convolução (com relu) e pooling alternam até chegar no final com
as totalmente conectadas com softmax.
7CS231n. Convolutional Neural Networks (CNNs / ConvNets).
http://cs231n.github.io/convo utiona -networks/. Accessed: 2017-04-27. 13/ 16
DEMO
Para onde ir e outros frameworks
Existem vários cursos gratuitos pela internet: CS231n
(Stanford), CS224n (Stanford), Deep Learning by Google
(Udacity), Neural Networks for Machine Learning
(University of Toronto), Deep Learning (Oxford), Neural
Networks class (Université de Sherbrooke);
Livros: Deep Learning Book, Neural Networks and Deep
Learning;
Frameworks: Keras, Theano, Torch, pyTorch, Caffe, Caffe2,
Lasagne;
Mestrado/Doutorado no IMAGO UFPR Research Group
(selo de melhor opção garantida);
15/ 16
DESMISTIFICANDO O DEEP
LEARNING COM TENSORFLOW
Júlio César Batista ju io.batista@out ook.com
Vítor Albiero vitor_a biero@out ook.com
May 04, 2017
https://goo.g /aYaT7Q
Inicializações
Bias b: constante 0
Weigths W:
◦ Normal (Gaussiano) com µ 0 e σ 0.05
◦ Xavier8
◦ MSRA9
8Xavier Glorot and Yoshua Bengio. “Understanding the difficulty of training deep
feedforward neural networks.” In: Aistats. 2010.
9Kaiming He et al. “Delving deep into rectifiers: Surpassing human-level
performance on imagenet classification”. In: ICCV. 2015.
2/ 10
VGG1610
10Karen Simonyan and Andrew Zisserman. “Very deep convolutional networks for
large-scale image recognition”. In: arXiv preprint arXiv:1409.1556 (2014).
3/ 10
GoogLeNet11
11C. Szegedy et al. “Going deeper with convolutions”. In: IEEE CVPR. 2015.
4/ 10
ResNet12
12Kaiming He et al. “Deep residual learning for image recognition”. In: IEEE CVPR.
2016.
5/ 10
Faster R-CNN13
13Shaoqing Ren et al. “Faster R-CNN: Towards Real-Time Object Detection with
Region Proposal Networks”. In: IEEE TPAMI (2016).
6/ 10
Dropout14
"Elimina" algumas unidades aleatoriamente durante o
treinamento (treina várias arquiteturas diferentes e gera
um modelo médio entre as arquiteturas);
14Nitish Srivastava et al. “Dropout: A Simple Way to Prevent Neural Networks from
Overfitting”. In: JMLR (2014).
7/ 10
Batch normalization15
Normaliza (média e desvido padrão) as camadas;
Menos cuidado com inicializações e learning rate;
15Sergey Ioffe and Christian Szegedy. “Batch Normalization: Accelerating Deep
Network Training by Reducing Internal Covariate Shift”. In: ICML. 2015.
8/ 10
Transfer learning
Escolha uma arquitetura (VGG16, GoogLeNet, ResNet, ou
crie a sua);
Treine em uma base genérica e grande (ImageNet16);
Altere as saídas para o seu problema e treine na base
desejada;
16Olga Russakovsky et al. “Imagenet large scale visual recognition challenge”. In:
IJCV (2015).
9/ 10
DESMISTIFICANDO O DEEP
LEARNING COM TENSORFLOW
Júlio César Batista ju io.batista@out ook.com
Vítor Albiero vitor_a biero@out ook.com
May 04, 2017
https://goo.g /aYaT7Q

Mais conteúdo relacionado

Semelhante a TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team at Xamarin

CAP 375 - Aula 1 - Introdução - Eduardo Luz
CAP 375 - Aula 1 - Introdução - Eduardo LuzCAP 375 - Aula 1 - Introdução - Eduardo Luz
CAP 375 - Aula 1 - Introdução - Eduardo Luz
Eduardo Luz
 
18.ago ouro i 11.15_463_copel-d
18.ago ouro i 11.15_463_copel-d18.ago ouro i 11.15_463_copel-d
18.ago ouro i 11.15_463_copel-d
itgfiles
 

Semelhante a TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team at Xamarin (15)

Dismistificando deep learning
Dismistificando deep learningDismistificando deep learning
Dismistificando deep learning
 
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual
[Ahirton Lopes e Rafael Arevalo] 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
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
 
CGPI Aula 27/08/2018
CGPI Aula 27/08/2018CGPI Aula 27/08/2018
CGPI Aula 27/08/2018
 
[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
 
CAP 375 - Aula 1 - Introdução - Eduardo Luz
CAP 375 - Aula 1 - Introdução - Eduardo LuzCAP 375 - Aula 1 - Introdução - Eduardo Luz
CAP 375 - Aula 1 - Introdução - Eduardo Luz
 
[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
 
Espaço incremental para a mineração visual de conjuntos dinâmicos de documentos
Espaço incremental para a mineração visual de conjuntos dinâmicos de documentosEspaço incremental para a mineração visual de conjuntos dinâmicos de documentos
Espaço incremental para a mineração visual de conjuntos dinâmicos de documentos
 
Seminario Kinect
Seminario KinectSeminario Kinect
Seminario Kinect
 
INTELIGENCIA ARTIFICIAL RNA
INTELIGENCIA ARTIFICIAL RNAINTELIGENCIA ARTIFICIAL RNA
INTELIGENCIA ARTIFICIAL RNA
 
18.ago ouro i 11.15_463_copel-d
18.ago ouro i 11.15_463_copel-d18.ago ouro i 11.15_463_copel-d
18.ago ouro i 11.15_463_copel-d
 
Visão Computacional
Visão ComputacionalVisão Computacional
Visão Computacional
 
Classificação Automatizada de Câncer de Mama - Imagens Histopatológicas
Classificação Automatizada de Câncer de Mama - Imagens HistopatológicasClassificação Automatizada de Câncer de Mama - Imagens Histopatológicas
Classificação Automatizada de Câncer de Mama - Imagens Histopatológicas
 
Redes Neurais de Aprendizado Profundo (DeepLearning) aplicadas a imagens
Redes Neurais de Aprendizado Profundo (DeepLearning) aplicadas a imagensRedes Neurais de Aprendizado Profundo (DeepLearning) aplicadas a imagens
Redes Neurais de Aprendizado Profundo (DeepLearning) aplicadas a imagens
 
Virtualização
VirtualizaçãoVirtualização
Virtualização
 

Mais de tdc-globalcode

Mais de tdc-globalcode (20)

TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadeTDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
 
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
 
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de SucessoTDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
 
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPATDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
 
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinoTDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
 
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
 
TDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicesTDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devices
 
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca PublicaTrilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#
 
TDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case EasylocusTDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case Easylocus
 
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
 
TDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em GolangTDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em Golang
 
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QATDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
 
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciaTDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
 
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR ServiceTDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
 
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETTDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
 
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
 
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
 
TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#
 
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net CoreTDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
 

Último

Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
FabianeMartins35
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
tatianehilda
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
TailsonSantos1
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
CleidianeCarvalhoPer
 

Último (20)

P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.ppt
 
Aula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.pptAula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.ppt
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medio
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptx
 

TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team at Xamarin

  • 1. DESMISTIFICANDO O DEEP LEARNING COM TENSORFLOW Júlio César Batista ju io.batista@out ook.com Vítor Albiero vitor_a biero@out ook.com May the 4th be with you, 2017 https://goo.g /aYaT7Q
  • 2. História Redes neurais foram muito utilizadas até os anos 2000; Houve um hiato relacionado as redes neurais com o uso de outros algoritmos (SVM, árvores de decisão); Em 2012 um resultado1 trouxe muita atenção para as redes neurais convolucionais; Model Top-1 Top-5 Sparse coding 47.1% 28.2% SIFT + FVs 45.7% 25.7% CNN 37.5% 17.0% 1Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton. “ImageNet Classification with Deep Convolutional Neural Networks”. In: Advances In Neural Information Processing Systems (2012). 1/ 16
  • 3. Entendendo o problema Reconhecimento de imagens: Dada a imagem de um objeto (caractére), retorne o objeto (caractére) está nessa imagem; Aprendizado supervisionado: Um algoritmo aprende a classificar uma imagem a partir de um conjunto de imagens que foram anotadas para indicar qual objeto está em cada imagem; Caractére do MNIST2 2Y. Lecun et al. “Gradient-based learning applied to document recognition”. In: Proceedings of the IEEE (1998). 2/ 16
  • 4. Como representar imagens Imagens são matrizes onde os seus valores (pixels) variam de 0 (preto) a 255 (branco); Essas matrizes podem ser transformadas em vetores (arrays) através de uma operação chamada flatten; x28×28  0 · · · · · · · · · 0 ... ... ... ... ... ... 255 255 ... ... ... 255 255 ... ... 0 · · · · · · · · · 0  flatten(x) · · · 255 255 · · · 255 255 · · · 1×784 3/ 16
  • 5. Um framework para transformar imagens em labels Multiplicando a imagem de entrada (x) por uma matriz de weights (W) e adicionando um vetor de bias (b) podemos ter um vetor (ˆy) de C classes; ˆyC×1 WC×784x784?×1 + bC×1 ˆyC×1  −0.76 · · · −0.39 0.07 · · · 0.91 −0.19 · · · 0.23 −0.42 · · · 0.13 ... ... ... −0.82 · · · 0.20 C×784 ×  −0.44 0.40 0.11 ... −0.66 784×1 +  1.00 −0.18 0.81 ... −1.00 C×1 4/ 16
  • 6. Tornando as saídas "interpretáveis" Softmax (σ) transforma um vetor de valores arbitrários em um vetor de probabilidades (distribuição); σ(ˆy)c exp(ˆyc) K k 1 exp(ˆyk) ˆy  −0.05 0.43 0.92 0.92 0.28 −0.69 0.17 2.34 −0.81 0.63  σ(ˆy)  0.04 0.07 0.11 0.11 0.06 0.02 0.05 0.45 0.02 0.08  5/ 16
  • 7. Aprendizado: loss O "aprendizado" é considerado um problema de otimização de uma função objetivo (loss/cost) L sobre N amostras; Y  0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 0.00 0.00 ... ... ... ... ... ... ... ... ... ... N×C ˆY  0.04 0.07 0.11 0.11 0.06 0.02 0.05 0.45 0.02 0.08 ... ... ... ... ... ... ... ... ... ... N×C L(Y, ˆY) − 1 N N n 1 C c 1 Ynclog( ˆYnc) Softmax loss: cross-entropy 6/ 16
  • 8. Aprendizado: otimização O método mais comum de otimização é o Stochastic Gradient Descent (SGD) com momentum; Um item importante do SGD é o learning rate, responsável por multiplicar os weights e bias a cada iteração; Exemplo do SGD3. 3Andrew Trask. A Neural Network in 13 lines of Python (Part 2 - Gradient Descent). https://iamtrask.github.io/2015/07/27/python-network-part2/. Accessed: 2017-04-27. 7/ 16
  • 10. Entretanto, este framework não aprende features.
  • 11. Convoluções: o processo de filtrar uma imagem Classicamente: usado para suavização ou realce de arestas; Atualmente: a rede "aprende as melhores" convoluções ajustando W e b durante o processo de aprendizado; Processo de convolução4. 4Christopher Olah. Understanding Convolutions. http://co ah.github.io/posts/2014-07-Understanding-Convo utions/. Accessed: 2017-04-27. 10/ 16
  • 12. Ativação Basicamente: transforma uma reta em uma curva; A mais comum atualmente é a Rectified Linear Unit (ReLU)5; Softmax também é uma função de ativação; (a) Linear: y Wx + b (b) ReLU: y max(0, Wx + b) 5Vinod Nair and Geoffrey E Hinton. “Rectified linear units improve restricted boltzmann machines”. In: ICML. 2010. 11/ 16
  • 13. Pooling Reduz o tamanho (altura, largura) da representação; Tipos mais comuns: max, average; 6 6CS231n. Convolutional Neural Networks for Visual Recognition (Pooling Layer). http://cs231n.github.io/convo utiona -networks/. Accessed: 2017-04-27. 12/ 16
  • 14. Juntando tudo, enfim as redes neurais convolucionais Exemplo de uma rede neural convolucional7. Note como as camadas de convolução (com relu) e pooling alternam até chegar no final com as totalmente conectadas com softmax. 7CS231n. Convolutional Neural Networks (CNNs / ConvNets). http://cs231n.github.io/convo utiona -networks/. Accessed: 2017-04-27. 13/ 16
  • 15. DEMO
  • 16. Para onde ir e outros frameworks Existem vários cursos gratuitos pela internet: CS231n (Stanford), CS224n (Stanford), Deep Learning by Google (Udacity), Neural Networks for Machine Learning (University of Toronto), Deep Learning (Oxford), Neural Networks class (Université de Sherbrooke); Livros: Deep Learning Book, Neural Networks and Deep Learning; Frameworks: Keras, Theano, Torch, pyTorch, Caffe, Caffe2, Lasagne; Mestrado/Doutorado no IMAGO UFPR Research Group (selo de melhor opção garantida); 15/ 16
  • 17.
  • 18. DESMISTIFICANDO O DEEP LEARNING COM TENSORFLOW Júlio César Batista ju io.batista@out ook.com Vítor Albiero vitor_a biero@out ook.com May 04, 2017 https://goo.g /aYaT7Q
  • 19. Inicializações Bias b: constante 0 Weigths W: ◦ Normal (Gaussiano) com µ 0 e σ 0.05 ◦ Xavier8 ◦ MSRA9 8Xavier Glorot and Yoshua Bengio. “Understanding the difficulty of training deep feedforward neural networks.” In: Aistats. 2010. 9Kaiming He et al. “Delving deep into rectifiers: Surpassing human-level performance on imagenet classification”. In: ICCV. 2015. 2/ 10
  • 20. VGG1610 10Karen Simonyan and Andrew Zisserman. “Very deep convolutional networks for large-scale image recognition”. In: arXiv preprint arXiv:1409.1556 (2014). 3/ 10
  • 21. GoogLeNet11 11C. Szegedy et al. “Going deeper with convolutions”. In: IEEE CVPR. 2015. 4/ 10
  • 22. ResNet12 12Kaiming He et al. “Deep residual learning for image recognition”. In: IEEE CVPR. 2016. 5/ 10
  • 23. Faster R-CNN13 13Shaoqing Ren et al. “Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks”. In: IEEE TPAMI (2016). 6/ 10
  • 24. Dropout14 "Elimina" algumas unidades aleatoriamente durante o treinamento (treina várias arquiteturas diferentes e gera um modelo médio entre as arquiteturas); 14Nitish Srivastava et al. “Dropout: A Simple Way to Prevent Neural Networks from Overfitting”. In: JMLR (2014). 7/ 10
  • 25. Batch normalization15 Normaliza (média e desvido padrão) as camadas; Menos cuidado com inicializações e learning rate; 15Sergey Ioffe and Christian Szegedy. “Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift”. In: ICML. 2015. 8/ 10
  • 26. Transfer learning Escolha uma arquitetura (VGG16, GoogLeNet, ResNet, ou crie a sua); Treine em uma base genérica e grande (ImageNet16); Altere as saídas para o seu problema e treine na base desejada; 16Olga Russakovsky et al. “Imagenet large scale visual recognition challenge”. In: IJCV (2015). 9/ 10
  • 27. DESMISTIFICANDO O DEEP LEARNING COM TENSORFLOW Júlio César Batista ju io.batista@out ook.com Vítor Albiero vitor_a biero@out ook.com May 04, 2017 https://goo.g /aYaT7Q