convolutional neural networks -cnnnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •dos neurôniosno...

75
Convolutional Neural Networks - CNN Visão Computacional Programa de Pós-Graduação em Ciência da Computação – UFMA Prof. Geraldo Braz Junior

Upload: others

Post on 14-May-2020

28 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

ConvolutionalNeuralNetworks- CNNVisão ComputacionalPrograma de Pós-Graduação em Ciência da Computação – UFMAProf. Geraldo Braz Junior

Page 2: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Motivação• Imagine uma MLP• Múltiplas camadas

2

Page 3: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Motivação• Conecte como entrada uma imagem de

32x32x3 (RGB)• Quantos pesos necessitam ser ajustados

nessa rede?• 3072 (só na camada de entrada)• A coisa piora quando a imagem cresce

• Pense sobre isso….• quais as implicações? (tempo, generalização

…)3

Page 4: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Ideia• Sabendo que se trata de uma imagem, podemos

assumir que:• Existe um relacionamento espacial entre

pixels próximos

• Operações realizadas em um canal da imagem, podem ser realizadas em paralelo para todosos canais (o peso poderia ser único)

4

Page 5: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Ideia• Assim as ativações na imagem podem serlocalizadas a uma região, em busca de featuresque definam a região

5

Page 6: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Ideia

6

Page 7: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Ideia

7

Page 8: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Ideia

8

Page 9: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Ideia

9

Page 10: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Ideia

10

Page 11: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Ideia

11

Page 12: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Ideia

12

Page 13: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Ideia

13

Page 14: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Ideia

14

Page 15: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Ideia• Pode-se aprender várias features. • Gerando um volume que representam as

ativações dos neurônios (pesos)

• Uma feature também é uma matriz• A ativação pode então ser obtida por uma

operação de convolução

• Que preserva ou não o tamanho original 15

Page 16: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Ideia

O processo consiste em codificar a imagem numa quantidademenor de neurônios que preserve os relacionamentosespaciais anteriores

16

Page 17: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Ideia• Mas não vai gerar a mesma quantidade? Reduza

o tamanho com Pooling

17

Page 18: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

18

Page 19: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Ideia• E esses valores negativos? Imagem não tem!

RELU

19

Page 20: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Ideia• E quem reconhece?

20

Page 21: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Ideia• Quem reconhece?

• MLP• Camada TotalmenteConectada

21

Page 22: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Ideia

22

Page 23: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Ideia

23

Page 24: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Ideia• O que eu faço com o erro?• Backpropagation

24

Page 25: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Porque Deep?• A ideia é conseguir trabalhar com o espaço

grande de características presente• E capturar as informações que compõe o

padrão• Do nível mais básico para o mais elevado

• De características de baixo nível à paracaracterísticas de alto nível• Hierarquicamente

25

Page 26: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Visualizando

26

Page 27: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Visualizando• Understanding Neural Networks Through Deep Visualizationhttp://yosinski.com/deepvis (*boa dica)

27

Page 28: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

CamadasNormalmente UsadasnumaCNN• Convolucional – gerar neurônios

conectados a regiões das imagens

• RELU – Rectified Linear Unit

• POOL – Redução de dimensionalidade

• FC – Realizar a classificação 28

Page 29: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Por Camada:Convolucional• Predicado Local: não funciona conectar cada

pixel a um neurônio• Ideia: conectar um neurônio a uma região

espacial da imagem

• Regulada por um hyperparameter: receptive field (se considerar como um filtro, então o tamanho do filtro)• Mesma profundidadade da imagem. à

sempre 29

Page 30: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Convolucional – Tamanho daSaída• O tamanho do volume de resultado é controlado

em termos de 3 variáveis (de uso mutuamenteexclusivas):

• Depth (hyperparameter): quantidade de filtros• Stride (hyperparameter): Quantidade de pixels

que o filtro pula durante a convolução. Padrão1 ou 2• Quando 1, o tamanho permanece igual em termos

de alturaxlargura• Quando maior, diminui

30

Page 31: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Convolucional - Tamanho daSaída• Zero-Padding: preenchimento com zeros a borda

para prevenir efeito de corte da borda pelaconvolução

• Relacionamento (a conta sempre tem que serinteira):

(W-F+2P)/S + 1onde W = tamanho da entrada

F = tamanho do filtroP = tamanho do zero-paddingS = tamanho do stride

31

Page 32: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

F = 3W =5S = 1P =1

F = 3W =5S = 2P = 1

32

Page 33: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Umexemplo:AlexNet• Aceita imagens [227x227x3]• Primeira Camada de Convolução• F= 11• S = 4• P = 0• K = 96 (quantidade de filtros)

• (227-11)/4 + 1 = 55

• Final: (55x55x96) conectado cada um a uma região(11x11x3) à este último é o tamanho do filtro

33

Page 34: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Funcionamento

34

Page 35: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

35

Page 36: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Os filtros• São aleatoriamente obtidos• Ou se usa uma base pré-treinada (Transfer Learning)• Mesmo com Transfer ainda é necessário se adaptar a

nova base• Representam os fatores de peso da rede (w)

(neurônios na convolução)• Com o seu próprio bias (b)

• São apreendidos via backpropagation• Cada filtro representa uma característica local na

imagem• Quantos são necessários? Tamanho? São parâmetros

36

Page 37: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Exemplos deFiltrosAprendidos

Uma dica para saber se colocou a quantidade suficiente de filtros:- visualizar os filtros nas várias camadas e- checar se estão se aproximando a algo relacionado com a base e se não são “aleatórios”

37

Page 38: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

RELU• Ao final da convolução, pode-se aplicar RELU

para remover valores negativos

38

Page 39: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Pooling• Basicamente reduz dimensionalidade• Controla overfitting• Supõe que um valor represente bem uma área

pequena• Max pooling: mais comum, obtém o maior

valor• Mean pooling: obtém a média

• Normal: F=2, S=2 39

Page 40: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Pooling

40

Page 41: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Pooling

41

Page 42: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Fully-Connected• Basicamente uma MLP (qualquer outra técnica

que se adapte ao modelo de aprendizado)• O resultado das camadas anteriores e

convertido em apenas um canal e vetorizado(sob sua convenção): • Na última camada = 7x7x512• Na entrada da MLP• troca entrada por uma convolução por F=7 e

K=4096• Fica [1x1x4096]

42

Page 43: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Fully-Connected• Ao final se tem o erro de classificação• Esse erro é devolvido para ajustar todos os

pesos (backpropagation):

• Dos neurônios na MLP• Dos neurônios no filtro de Pooling• Dos neurônios do filtro de Convolução

43

Page 44: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

QuatroOutrosConceitos• Descida do Gradiente Estocástico• Reduz a chance de cair num mínimo local

44

Page 45: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

QuatroOutrosConceitos• Learning Rate Decay• Grandes mudanças no início, e depois reduza com o tempo: mais

precisão, refinamento

45

Page 46: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

QuatroOutrosConceitos• Batch Normalization• Evitar excesso de

aleatoriedade nos pesos nas primeiras épocas

• “The idea is to normalise theinputs of each layer in such a way that they have a meanoutput activation of zero andstandard deviation of one.”

• Treinamento mais rápido• Chame antes da ativação e

dropout46

Page 47: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

QuatroOutrosConceitos• Dropout• Simplesmente remover parte dos neurônios da rede

• Porquê?• Abordagem de regularização• Redução de overfitting -> reduzindo interdependência entre

neurônios

47

Page 48: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Aprendizado• Lembrar do Forward

48

Page 49: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Aprendizado• Compartilhamento

de pesos

49

Page 50: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Aprendizado• Algoritmo mais

clássico: backpropagation

50

Page 51: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Aprendizado• Algoritmo mais

clássico: backpropagation

• Em camadas de convolução e poolingo gradiente é calculado via outra convolução

51

Page 52: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Aprendizado• Algoritmo mais clássico: backpropagation• Antes, relacionamento entre correlação e convolução

(melhora o entendimento dos gradientes)

52

Basedo em: https://medium.com/@2017csm1006/forward-and-backpropagation-in-convolutional-neural-network-4dfa96d7b37e

Page 53: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Aprendizado• Algoritmo mais clássico: backpropagation• Antes, relacionamento entre correlação e convolução

(melhora o entendimento dos gradientes)• Simplesmente rotacional o filtro em 180 graus

53

Page 54: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Aprendizado• Simplificando

54

Page 55: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Aprendizado• Ou

55

Page 56: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Para obter os gradientes doFiltro• Agora, para calcular os gradientes do filtro "F" em relação ao

erro "E", as equações a seguir precisam ser resolvidas.

56

Page 57: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

ParaobterosgradientesdoFiltro

57

Page 58: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

ParaobterosgradientesdoFiltro• Agora, para calcular os gradientes do filtro "F" em relação ao

erro "E", as equações a seguir precisam ser resolvidas.

• Em termos de convolução

58

Page 59: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

SimilarparaX (imagemouentradadeumacamada)

59

Page 60: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

SimilarparaX (imagemouentradadeumacamada)• Ou aplicando uma convolução full• Que é basicamente o cálculo de gradientes para a imagem de

entrada ao invés do filtro• Para tanto, usa o conceito da rotação de 180 do filtro

60

Page 61: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

SimilarparaX (imagemouentradadeumacamada)• Ou aplicando uma convolução full• Que é basicamente o cálculo de gradientes para a imagem de

entrada ao invés do filtro• Para tanto, usa o conceito da rotação de 180 do filtro

61

Page 62: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

62

Page 63: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Backpropagation• Repete o processo da camada mais deep até a primeira

camada

• Em camadas de Pooling basicamente calcula a diferença em relação ao “campeão”• Max: ajusta o erro apenas na ativação que contribuiu• Average: coloca o mesmo valor de erro para todos

• Dentro da Fully Connected o algoritmo funciona da maneira clássica

63

Page 64: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Algumas arquiteturas famosas• LeNet (1990)

64

Page 65: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

AlexNet (2012)

65ImageNet Classification with DeepConvolutional Neural Networks: Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton

Page 66: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

VGGNet

66

Very Deep Convolutional Networks for Large-Scale Image RecognitionKaren Simonyan, Andrew Zisserman

Page 67: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

GoogLeNET• Inception Mode e Average Pooling ao invés de FC

67Rethinking the Inception Architecture for Computer VisionChristian Szegedy, Vincent Vanhoucke, Sergey Ioffe, Jonathon Shlens, Zbigniew Wojna

Page 68: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

ResNet• Aprende a pular camadas quando

necessário

• Originalmente 152 camadas• Mas a medida que treina, identifica

“saltos”

68Deep Residual Learning for ImageRecognitionKaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun

Page 71: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

YOLO(YouOnly LookOnce)

71

YOLO9000: Better, Faster, StrongerJoseph Redmon, Ali Farhadi

Page 73: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

SegNet

73SegNet: A Deep Convolutional Encoder-Decoder Architecturefor Image SegmentationVijay Badrinarayanan, Alex Kendall, Roberto Cipolla

Page 75: Convolutional Neural Networks -CNNnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •Dos neurôniosno filtrode Pooling •Dos neurôniosdo filtrode Convolução 43. Quatro Outros Conceitos

Considerações• Principal consideração• Como definir a arquitetura e os

hyperparametros?

• Por enquanto:• Partir de um que existe, e• Otimizar• Visualize os filtros• O que está saindo faz sentido? 75