googlenet - going deeper with convolutionsanderson/deeplearning/deep learning... · introdução...

35

Upload: others

Post on 03-Jul-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNet

GoogLeNet - Going Deeper with Convolutions

Heyde Francielle do Carmo FrançaProf. Dr. Anderson Soares

Instituto de Informática

Universidade Federal de Goiás

02 de Dezembro de 2016

1 / 35

Page 2: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNet

Sumário I

1 Introdução

2 Trabalhos Relacionados

3 GoogLeNetConclusão

2 / 35

Page 3: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNet

Introdução

Introdução

3 / 35

Page 4: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNet

Introdução

Uma arquitetura de rede neural convolucional profunda

22 camadas de profundidade.

Ficou em 1o lugar tanto em Classi�cação como em detecçãode objetos no ILSVRC14.

Visa uma melhor utilização dos recursos de computação pelarede, ao mesmo tempo que aumenta seu tamanho,profundidade e largura.

Utiliza 12x menos parâmetros do que a arquitetura vencedorano ano de 2012.

Signi�cativamente mais precisa que o estado da arte.

4 / 35

Page 5: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNet

Contextualização

Por que o Deep Learning vem ganhando tanto destaque

recentemente?

Deep Learning precisa de uma grande base de dados paratreinamento.

Necessidade de grande quantidade de recursos computacionais.

5 / 35

Page 6: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNet

Contextualização

Por que o Deep Learning vem ganhando tanto destaque

recentemente?

Problema do desaparecimento do gradiente e convergência darede.

Sigmoid/Tangh [-1,1] = Aprendizado Lento / Custocomputacional mais alto (expoentes e multiplicações)Recti�ed Linear Unit [?] - RELU [0,∞] = Aprendizado Rápido/ Custo computacional mais baixo (threshold)

6 / 35

Page 7: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNet

Problema

As técnicas de detecção e classi�cação tem sido severamentemelhoradas nos últimos 3 anos, utilizando as técnicas de deeplearning e redes convolucionais.

Necessidade de propor uma rede que obtenha resultadosmelhores sem depender de mais poder computacional e nem debase de dados maiores.

7 / 35

Page 8: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNet

Problema

O estado da arte já apresenta resultados muito bons

Aumentar a quantidade de camadas ou a profundidade da redetambém aumenta a necessidade de maior podercomputacional.

8 / 35

Page 9: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNet

Motivação

Superar o atual estado da arte para classi�cação e detecção deobjetos.

Vencer o desa�o ILSVRC14.

9 / 35

Page 10: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNet

Objetivo

Propor uma nova arquitetura de rede de aprendizado profundocapaz de sobrepor o atual estado da arte de classi�cação edetecção de objetos em imagens sem a necessidade de maiorpoder computacional.

10 / 35

Page 11: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNet

Trabalhos Relacionados

Trabalhos Relacionados

11 / 35

Page 12: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNet

Trabalhos Relacionados

LeNet-5 [1]

NiN- Network in Network [2]

R-CNN (Regions with Convolutional Neural Networks)[4]

12 / 35

Page 13: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNet

LeNet-5

Figura: Arquitetura da LeNet-5[1]

Possui uma estrutura padrão:

Camadas de Convoluções empilhadas (opcionalmente seguidasde pooling);

Seguidas de uma ou mais camadas FC.13 / 35

Page 14: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNet

NiN

Figura: Arquitetura da NiN[2]

A estrutura geral da NiN incluem três camadas mlpconv e umacamada de average pooling.

14 / 35

Page 15: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNet

R-CNN

Figura: Arquitetura da R-CNN [4]

15 / 35

Page 16: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNetConclusão

GoogLeNet

GoogLeNet

16 / 35

Page 17: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNetConclusão

Detalhes da Arquitetura

Inception Module

Figura: Inception Module

17 / 35

Page 18: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNetConclusão

Detalhes da Arquitetura

Inception Module

Figura: Inception Module18 / 35

Page 19: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNetConclusão

Detalhes da Arquitetura

Inception Module

Figura: Inception Module

19 / 35

Page 20: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNetConclusão

Detalhes da Arquitetura

Inception Module

Figura: Inception Module

20 / 35

Page 21: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNetConclusão

Detalhes da Arquitetura

Inception Module

Figura: Inception Module

21 / 35

Page 22: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNetConclusão

GoogLeNet

Figura: Arquitetura da GoogLeNet

22 / 35

Page 23: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNetConclusão

GoogLeNet

23 / 35

Page 24: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNetConclusão

GoogLeNet-Características Estruturais

Além dos módulos Inceptions

Uma camada de Avg Pool de 5x5 e passo 3, que resulta emuma saída 4x4x512 para a camada 4(a) e 4x4x528 para acamada 4(d);

A convolução de 1x1 com 128 �ltros para redução dedimensionalidade e ReLu como função de ativação;

A camada de Classi�cação;

Uma camada de Dropout;

Uma camada linear com softmax como classi�cador(predizendo As mesmas 1000 classes que o classi�cadorprincipal, mas Removida no momento da inferência).

24 / 35

Page 25: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNetConclusão

GoogLeNet - Estrutura Extra

25 / 35

Page 26: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNetConclusão

GoogLeNet-Metodologia de Treinamento

DistBelief[3]

CPU x GPU

Assíncrono gradiente descendente estocástico[3]

Média PolyakCaracterísticas que se mostraram importantes:

Tamanho da imagemDistorções da imagem: como iluminação e ruídos.

26 / 35

Page 27: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNetConclusão

Resultados na etapa de Classi�cação

As imagens estão divididas em 1000 categorias

Existem 1,2 milhões de imagens para treinamento, 50.000 paravalidação e 100.000 para testes.

7 modelos foram treinados

Redimensionamento de imagens com 4 escalas diferentes: 256,288, 320, 352.

27 / 35

Page 28: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNetConclusão

Resultados na etapa de Classi�cação

28 / 35

Page 29: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNetConclusão

Resultados na etapa de Detecção

O Objetivo é inserir uma caixa em torno do objeto que sãoseparados em 200 classes diferentes

Diferentemente da fase de Classi�cação, cada imagem podeconter muitos objetos ou Nenhum, e sua escala pode variar.

6 essembles GoogLeNet

Técnica semelhante ao R-CNN[4], mas aumentada com omodelo Inception como o classi�cador de região.

29 / 35

Page 30: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNetConclusão

Resultados na etapa de Detecção

Figura: Resultado sem a utilização de Ensemble

30 / 35

Page 31: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNetConclusão

Resultados na etapa de Detecção

Figura: Resultado com a utilização de Ensemble

31 / 35

Page 32: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNetConclusão

Conclusão

Ótimos resultados tanto na classi�cação quanto na detecçãode objetos.

Ganho signi�cativo na qualidade com um pequeno aumento depoder computacional.

32 / 35

Page 33: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNetConclusão

Referências

Szegedy, Christian, et al. "Going deeper withconvolutions."Proceedings of the IEEE Conference onComputer Vision and Pattern Recognition. 2015

[1] S. Arora, A. Bhaskara, R. Ge, and T. Ma. Provable boundsfor learning some deep representations. CoRR,abs/1310.6343,2013.

[2] J. Dean, G. Corrado, R. Monga, K. Chen, M. Devin, M.Mao, M. Ranzato, A. Senior, P. Tucker, K. Yang, Q. V. Le,and A. Y. Ng. Large scale distributed deep networks. In P.Bartlett, F. Pereira, C. Burges, L. Bottou, and K. Weinberger,editors, NIPS, pages 1232a 1240. 2012.

[3] R. B. Girshick, J. Donahue, T. Darrell, and J. Malik. Richfeature hierarchies for accurate object detection and semanticsegmentation. In Computer Vision and Pattern Recognition,2014. CVPR 2014. IEEE Conference on, 2014. 33 / 35

Page 34: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNetConclusão

Referências

[4] Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R.E.Howard, W. Hubbard, and L. D. Jackel. Backpropagationapplied to handwritten zip code recognition. Neural Comput.,541a551, Dec. 1989

[5] M. Lin, Q. Chen, and S. Yan. Network in network. CoRR,abs 1312.4400, 2013.

[6] I. Sutskever, J. Martens, G. E. Dahl, and G. E. Hinton.Onthe importance of initialization and momentum in deeplearning. In ICML, volume 28 of JMLR Proceedings,pages1139a1147. JMLR.org, 2013.

34 / 35

Page 35: GoogLeNet - Going Deeper with Convolutionsanderson/deeplearning/Deep Learning... · Introdução rabTalhos Relacionados GoogLeNet Conclusão Referências Szegedy, Christian, et al

IntroduçãoTrabalhos Relacionados

GoogLeNetConclusão

Fim

Perguntas??

35 / 35