Através dos Olhos de uma rede Neuronal

Neste artigo, vou apresentar um dos modelos de deep learning mais utilizados para o reconhecimento e classificação de imagens: a Convolution Neural Network (CNN), cujo objetivo é aprender a reconhecer objetos, através de um processo de treino de visualização sucessiva de imagens pré-classificadas.

As aplicações de um algoritmo capaz de classificar imagens, são fáceis de encontrar, desde o reconhecimento de escrita, condução autónoma, diagnóstico médico por imagem, etc.

Assim, uma CNN é uma Artificial Neural Network (ANN ou rede neuronal), tal como apresentada no artigo da edição anterior, cuja leitura é recomendada para uma melhor compreensão do presente artigo: Deep Learning passo a passo; onde os dados de entrada da rede, em vez de serem variáveis independentes são antes uma imagem pré-processada.

Como exemplo, vamos utilizar um dataset de imagens peças de fruta, onde o desafio é criar um modelo que aprenda a classificar corretamente imagens de 6 tipos diferentes de fruta.

Como algoritmo de supervised learning, este modelo passa por um processo de treino onde analisa sucessivamente sequências de imagens, para aprender os padrões comuns a cada objeto, e dessa forma ser capaz de os classificar corretamente. Durante o treino, a rede é otimizada, ajustando os pesos, até convergir para um erro mínimo, momento em que o modelo converge na aprendizagem.

De uma forma análoga, quando ensinamos uma criança sobre o que é uma maçã, mostramos diferentes exemplos e dizemos: “isto é uma maçã, isto é uma maçã, isto é uma maçã, isto é uma maçã…”, até esta aprender as formas, cores, texturas, das maçãs e estar pronta a reconhecê-las sem auxílio.

[...]

Leia o artigo completo na edição 60 da Revista PROGRAMAR