Deep Learning e Industria 4.0: Introdução às redes neurais convolucionais

On 4 de outubro de 2021 by Davi Neves

A implementação da internet das coisas consiste especialmente na elaboração de uma estrutura para conectar dispositivos eletrônicos distintos, possibilitando planejamentos e controles inteligentes, no âmbito da quarta revolução industrial, tornado-se deste modo um dos pilares para a industria 4.0. Inicialmente estas conexões consistiam em sistemas de radiofrequência, entretanto, a utilização da computação visual ascendeu continuamente, acarretando nas redes neurais convolucionais, que por sua vez emergiram como uma alternativa para estabelecer integrações mais baratas e precisas entre as referidas “coisas”.

Para elucidar o mecanismo das redes neurais convolucionais, apresentaremos as conformações realizadas nos dados de entrada com metodologias da computação visual, ou seja, ilustraremos a decodificação de uma imagem para a linguagem das máquinas, ressaltando a extração de características por meio de análise de padrões, o que definimos como operação de convolução. Outras operações são também essenciais neste processo, como os filtros definidos pela expressão polimento (pooling) e a reestruturação dos dados, definida como achatamento (flattening); por fim. estes dados podem ser utilizados no procedimento de aprendizagem em redes neurais.

Princípios da Computação Visual

Uma imagem digital normalmente é definida por dois números, um referente à largura e outro à altura, ambos expressos em píxeis; este formato nos indica como um computador interpreta uma imagem, ou seja, para uma máquina esta imagem é representada por uma matriz e seus elementos definem cores ou tons.

Na figura colorida a seguir (a), observamos o recorte de um conjunto de 9 píxeis, dispostos num arranjo de três linhas e três colunas, resultante da composição de 3 matrizes (3×3) referentes às cores fundamentais: vermelho (Red), verde (Green) e azul (Blue). Ao lado, na figura em preto e branco (b), a cada píxel será atribuído um valor entre 0 e 255, definindo desta maneira o respectivo tom de cinza, sendo 0 correspondente à cor preta e 255 à cor branca.

@page { size: 21cm 29.7cm; margin: 2cm } p { margin-bottom: 0.25cm; line-height: 115%; background: transparent }
Figura 1 – Ilustração da decomposição de imagens em matrizes de (a) cores ou numa (b) escala de cinza.
Fonte: Elaboração própria.

A conversão de uma imagem ao formato matricial parece suficiente quando utilizamos uma rede neural artificial tradicional, pois neste caso precisamos apenas achatar os dados no formato de um vetor coluna, adequado como um sinal de entrada para este tipo de rede. Contudo, devemos lembrar que, as redes neurais convolucionais normalmente utilizam estes dados para realizar uma classificação, o que remete na busca por padrões, os quais definem elementos ou características (features) relevantes, como por exemplo a identificação do barco na figura anterior.

Operação de Convolução

A operação de convolução reduzirá a dimensão da matriz (Fig.2-b) correspondente a imagem ilustrada (Fig.2-a), para propiciar um mapa de características (Fig.2-c). Para realizarmos esta operação, inicialmente selecionamos uma submatriz, respectiva ao “olho” à esquerda, definindo-a como um filtro, em seguida varremos a matriz referente a imagem inteira. Na varredura, deslocamos a submatriz da esquerda para a direita, uma coluna por vez até a margem à direita, então, voltamos para a posição inicial, na margem à esquerda, deslocando-a uma linha abaixo.


@page { size: 21cm 29.7cm; margin: 2cm } p { margin-bottom: 0.25cm; line-height: 115%; background: transparent }
Figura 2 – Operação de convolução realizada em uma matriz (b) correspondente a imagem ilustrada (a). O resultado da operação está ilustrado em (c). Fonte: Elaboração própria.

Durante cada passo da varredura, realizaremos a soma dos produtos efetuados entre os elementos da submatriz e da região correspondente, usando regras especiais, como por exemplo:

O resultado do processo de varredura será uma matriz com quatro linhas e cinco colunas, denominada como mapa de características, pois seus elementos representam a semelhança de uma distinta região da imagem com o filtro utilizado.

Pooling e Flattening


@page { size: 21cm 29.7cm; margin: 2cm } p { margin-bottom: 0.25cm; line-height: 115%; background: transparent }
Figura 3 – Operação de polimento (pooling) na matriz que representa o mapa de características resultante da nova convolução.
Fonte: Elaboração própria.

Após realizarmos a operação de convolução, devemos realizar a operação Pooling, que consiste essencialmente na redução de dimensão dos dados, conforme observamos na figura 3 acima, porém, neste caso, a operação simplesmente realizará a seleção do maior valor em cada conjunto de dados, compostos pelas submatrizes 2×2 destacadas, resultando deste modo em quatro valores, os quais foram dispostos noutra matriz 2×2, representada no final da figura 3.

Os dados, resultantes da operação pooling, não estão na configuração mais adequada para serem utilizados como sinal de entrada numa rede neural, pois, este sinal deve estar disposto no formato de um vetor coluna, então, “achataremos” estes dados seguindo as ordenações propostas para a varredura realizada na convolução. Esta operação é o que denominamos como flattening.

Redes neurais para classificar


@page { size: 21cm 29.7cm; margin: 2cm } p { margin-bottom: 0.25cm; line-height: 115%; background: transparent }
Figura 4 – Dados achatados entrando numa rede neural convolucional.
Fonte: Elaboração própria.

Os dados achatados serão utilizados como sinal de entrada em uma rede neural profunda, que propiciará uma classificação da imagem: sorriso, cachorro, gato, etc. O processo de aprendizagem nas redes neurais convolucionais é semelhante ao das redes tradicionais1, contudo devemos ressaltar que, neste caso o procedimento ocorre em duas etapas distintas, na primeira ocorre o aprendizado de características, realizado por meio das operações que descrevemos neste texto, especialmente a convolução; na segunda ocorre o aprendizado convencional numa rede neural densas, porém, em redes convolucionais normalmente utilizamos a função de ativação ReLU.

Autor Davi Neves

Deixe um comentário

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