Aprendizagem de máquina, Inteligência artificial, Robótica

O que são redes neurais convolucionais?

O assunto deste post são redes neurais convolucionais. São redes neurais multicamadas que conseguem identificar objetos, padrões e pessoas.

Ao clicar no botão abaixo, vai abrir um post sobre como funcionam as redes neurais convencionais.

Introdução às redes neuraisClique aqui

Limites das redes neurais convencionais

Uma rede neural convencional precisaria de um número muito grande de entradas e parâmetros para analisar pequenos padrões, exigindo muito poder de processamento dos computadores. Uma rede neural convencional pode ser tornar especialista nos dados nos quais foi treinada e quando observar dados novos pode perder desempenho.

Operação de convolução

As imagens são vistas como uma matriz de 3 dimensões: altura e largura determinam o tamanho da imagem e a profundidade indica os canais de cores RGB. Que são as três cores primárias: vermelho (R), verde (G) e azul (B).

A rede neural faz uma operação de convolução de matrizes. Uma matriz menor serve como filtro, também chamada de Kernel. O filtro lê todos os pixels e produz uma matriz de dimensões menores que a matriz de entrada.

GIF

No exemplo acima, o filtro é a matriz amarela e a verde é a de entrada.

O valor do primeiro pixel da matriz convolucionada é calculada desta forma:

(1\cdot 1)+(1\cdot 0)+(1\cdot 1)+(0\cdot 0)+(1\cdot 1)+(1\cdot 0)+(0\cdot 1)+(0\cdot 0)+(1\cdot 1)=4

O valor do próximo número da primeira linha da matriz é calculado da mesma forma. O mesmo é feito para todos os outros elementos da matriz de entrada.

(1\cdot 1)+(1\cdot 0)+(0\cdot 1)+(1\cdot 0)+(1\cdot 1)+(1\cdot 0)+(0\cdot 1)+(1\cdot 0)+(1\cdot 1)=3

Estes filtros são usados para desfocagem, detectar bordas, relevos, cores, nitidez e manipular a imagem.

Não-linearidade

Depois da convolução, uma função de ativação é usada para fazer uma operação não-linear. Isto é necessário porque o mundo real é não-linear e a rede neural convolucional deve identificar padrões não-lineares. A função mais eficiente é a ReLU.

f(x)=max(0,x)

Esta função substitui os valores negativos dos pixels por zero e evita saturação durante o treino.

Uma imagem antes, na esquerda, e depois da ReLU, na direita.

Pooling

É a redução do tamanho da matriz fazendo uma amostragem, mantendo as características mais importantes. Os tipos principais são: valor máximo, soma e média. Abaixo é um pooling de valor máximo.

Como fica uma imagem depois do processo de pooling.

A função deste processo é simplificar e reduzir a informação para os neurônios da rede e diminuir o número de parâmetros.

Camada totalmente conectada

A camada final é totalmente conectada, é onde fica a rede neural perceptron de várias camadas. Recebe as entradas processadas para fazer as classificações. Tem este nome porque cada neurônio da camada anterior é conectada a todos os neurônios da camada seguinte.

Arquitetura

Em uma arquitetura de uma rede neural convolucional, a posição das camadas são nesta ordem: Entrada, convolução, não-linearidade, pooling e rede neural totalmente conectada.

Algumas redes neurais convolucionais têm 2 ou mais estágios de convolução, ReLU e pooling.

Algumas aplicações

As redes neurais convolucionais podem identificar sinalizações de trânsito e serão usadas em veículos sem motorista.

É usado em visão de máquina, conforme foi mostrado no post sobre este assunto.

Visão de máquinaClique aqui

As redes neurais convolucionais podem ser utilizadas em reconhecimento de voz, os dados de audio são visualmente representados em um espectrograma.

Print Friendly, PDF & Email
Liked it? Take a second to support Electrical e-Library on Patreon!

About Pedro Ney Stroski

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *