convolutional neural networks -cnnnca.ufma.br/~geraldo/vcm/5.cnn.pdf · •dos neurôniosno...
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/1.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/2.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/3.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/4.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/5.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/6.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/7.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/8.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/9.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/10.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/11.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/12.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/13.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/14.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/15.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/16.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/17.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/18.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/19.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/20.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/21.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/22.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/23.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/24.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/25.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/26.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/27.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/28.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/29.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/30.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/31.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/32.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/33.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/34.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/35.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/36.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/37.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/38.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/39.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/40.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/41.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/42.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/43.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/44.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/45.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/46.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/47.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/48.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/49.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/50.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/51.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/52.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/53.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/54.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/55.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/56.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/57.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/58.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/59.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/60.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/61.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/62.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/63.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/64.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/65.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/66.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/67.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/68.jpg)
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 69: 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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/69.jpg)
ResNeXt
69Aggregated Residual Transformations for Deep Neural NetworksSaining Xie, Ross Girshick, Piotr Dollár, Zhuowen Tu, Kaiming He
![Page 70: 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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/70.jpg)
RCNN(Region Based CNN)
70
Faster R-CNN: TowardsReal-Time ObjectDetection with RegionProposal NetworksShaoqing Ren, Kaiming He, Ross Girshick, 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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/71.jpg)
YOLO(YouOnly LookOnce)
71
YOLO9000: Better, Faster, StrongerJoseph Redmon, Ali Farhadi
![Page 72: 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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/72.jpg)
SqueezeNet
72
SqueezeNet: AlexNet-level accuracywith 50x fewer parameters and<0.5MB model sizeForrest N. Iandola, Song Han, Matthew W. Moskewicz, Khalid Ashraf, William J. Dally, Kurt Keutzer
![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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/73.jpg)
SegNet
73SegNet: A Deep Convolutional Encoder-Decoder Architecturefor Image SegmentationVijay Badrinarayanan, Alex Kendall, Roberto Cipolla
![Page 74: 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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/74.jpg)
GAN(Generative AdversarialNetwork)
74Generative Adversarial NetworksIan J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio
![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](https://reader030.vdocuments.net/reader030/viewer/2022040110/5ebd4d60e599e30bba4078d2/html5/thumbnails/75.jpg)
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