Deep Learning with Pyhton: 5.1

Introdução a Deep-Learning | Aplicações em Visão Computacional



Tópico abordado



Rede Neural Convolucional (convnet)

Um tipo de modelo de deep-learning muito utilizado para resolver problemas de classificação de imagens.

Diferença fundamental: Camadas densas aprendem padrões globais do seu espaço amostral enquanto as camadas convolutivas aprendem padrões locais.

Esta característica chave das convnets implica nessas duas propriedades interessantes:

As convoluções operam em cima de tensores 3D, chamados feature maps, com dois eixos espaciais (width e height) e um de profundidade (depth ou channel).

Exemplo: para uma imagem RGB, a dimensão do eixo profundidade é 3: uma para cor vermelha, outra para cor verde e outra para cor azul.

Feature Map: Cada dimensão do eixo profundidade é uma feature (ou filtro).

Output Feature Map: Continua um tensor 3D: com altura e largura. Porem, a profundidade pode ser arbitrária, já que a profundidade de saída é um parâmetro da camada e os difentes canais no eixo profundidade não mais representam uma cor RGB, ao invés disso, eles representam filtros.

Filters: Os filtros codificam um aspécto específico dos dados de entrada: em alto nível, um único filtro pode codificar o conceito "presença de um olho", por exemplo.

Explicação da convolução nos dados MNIST

No exemplo dos dígitos MNIST, a primeira camada de convolução recebe uma feature map de tamanho (28, 28, 1) e gera uma feature map de tamanho (26, 26, 32). Ela calcula 32 filtros em cima da entrada. Cada um desses 32 canais de saída contem uma tabela de valores 26x26, que é um mapa de respostas do filtro sobre a entrada, indicando a resposta do padrão de um filtro em diferentes locais na entrada.

Operação Max Pooling

Objetivo: Reduzir a dimensão das feature maps.

Max pooling consiste em extrair janelas das feature maps de entrada e gerar o máximo valor de cada canal. É conceitualmente silimar a convolução, com excessão de que, ao invés de transformar caminhos locais usando transformação linear, é usada uma operação tensorial "máximo".

Modelo de Camadas Densamente Conectadas

Modelo Convolucional

Comparação entre Modelos

Gráfico de Acurácia

Predições usando conjunto de teste

Predições usando dados reais

Usando as redes neurais treinadas para prever os dígitos das imagens tiradas por mim.


Dados:

drawing drawing drawing drawing

Mais:

http://yann.lecun.com/exdb/mnist/