• Nenhum resultado encontrado

6 CONSIDERAÇÕES FINAIS 107 6.1 Conclusões

2.6 Redes Neurais Convolucionais (CNN)

Redes neurais convolucionais (CNN) são arquiteturas biologi- camente inspiradas capazes de serem treinadas e aprenderem represen- tações invariantes a escala, translação, rotação e transformações afins (LECUN; KAVUKCUOGLU; FARABET, 2010). Uma das questões chave no reconhecimento de padrões em imagens consiste em saber qual é a melhor forma de representar as características dos dados a serem reconhecidos de forma robusta e invariante à iluminação, orien- tação, pose, oclusão entre outros. Apesar de diversos descritores terem sido desenvolvidos para extrair estas características de forma artificial é desejável que um sistema de reconhecimento seja capaz de extrair esta representação de forma automática através dos dados brutos, no caso de reconhecimento de imagens, as próprias imagens.

1 <http://white.stanford.edu/teach/index.php/An_Introduction_to_

No trabalho de Hubel e Wiesel (1968), experimentos realiza- dos com gatos e macacos mostraram que o córtex visual é organizado em um conjunto hierárquico de células sensíveis a pequenas sub re- giões chamadas campos receptivos. Hubel categoriza as células como simples, complexas e super complexas de acordo com o padrão de es- tímulo a qual são ativadas. Células simples são ativadas quando são apresentados padrões simples para o animal, como linhas. As células complexas e super complexas são ativadas quando padrões mais elabo- rados, compostos de combinações de padrões simples, são apresentados ao animal. A partir do estudo de Hubel surge a hipótese de que uma boa representação interna deve ser hierárquica, onde os pixels formam arestas, as arestas formam padrões, os padrões combinados dão origem a partes, as partes combinadas formam os objetos e os objetos formam cenas (LECUN; KAVUKCUOGLU; FARABET, 2010). Esta estrutura sugere que o mecanismo de reconhecimento necessita de diversos es- tágios de treinamento empilhados uns nos outros, um para cada nível de hierarquia. As CNN surgiram para representar este tipo de arquite- tura. As CNN compõem um dos tipos de algoritmos da área conhecida como deep learning e são projetadas para uso com dados em duas di- mensões tornando-as uma boa candidata para a solução de problemas envolvendo reconhecimento de imagens (AREL; ROSE; KARNOWSKI, 2010).

As CNN são arquiteturas multiestágios capazes de serem trei- nadas. Os campos receptivos são altamente correlacionados à localidade do estímulo na imagem capturada. As CNN utilizam este conceito for- çando um padrão de conectividade entre as camadas de neurônios arti- ficiais. A Figura 8 mostra esta organização onde uma camada i está co- nectada a uma uma pequena sub região da camada i≠1. Neste exemplo a camada m ≠ 1 corresponde a imagem de entrada. A camada superior

m possui um campo receptivo de tamanho 3, onde cada neurônio recebe

o estímulo de 3 neurônios da camada anterior. A camada m + 1 é seme- lhante à camada anterior, possuindo um campo receptivo de tamanho 3 com relação à camada anterior porém, com um campo receptivo de tamanho 5 com relação à imagem de entrada.

Considerando esta analogia, cada campo receptivo é conside- rado um filtro não linear onde seus pesos devem ser aprendidos para que o neurônio seja ativado apenas quando um determinado estímulo estiver presente na área onde o filtro foi aplicado.

Cada filtro é aplicado à toda a imagem de entrada (ou camada anterior) de forma convolucional, o resultado da aplicação deste filtro é chamado de mapa de características (feature map). Cada mapa de

Camada m-1 Camada m Camada m+1

Figura 8 – Organização dos campos receptivos em uma CNN. Fonte: produção do próprio autor.

características compartilha os mesmos parâmetros. A Figura 9 mostra o compartilhamento dos parâmetros. Esta estratégia garante que uma determinada característica será detectada pelo mapa de características independentemente da sua posição da imagem (ou mapa) de entrada.

Camada m-1 Camada m

mapa de características

Figura 9 – Compartilhamento dos parâmetros para criação de um mapa de características.

Fonte: produção do próprio autor.

As entradas de dados de cada estágio são um conjunto de mapas de características (features maps). Quanto aplicada utilizando imagens coloridas, a entrada do primeiro estágio consiste nos três canais de co- res da imagem. Cada vetor de duas dimensões passa a funcionar como um mapa de características. Na saída de cada estágio, cada mapa cor- responde a convolução do mapa de entrada por um filtro. A aplicação do filtro no mapa destaca algumas características. Cada filtro é respon- sável por destacar uma característica diferente. No primeiro estágio os filtros destacam linhas e gradientes em diferentes orientações.

Um mapa de característica é obtido efetuando a convolução de uma imagem de entrada por um filtro linear seguido da adição de um termo de bias e da aplicação de uma função não linear. Sendo a

camada k, os filtros determinados por um conjunto de pesos Wk e um

termo de bias bk e o operador de convolução ú, a Equação 2.3 (LECUN;

KAVUKCUOGLU; FARABET, 2010) mostra a obtenção do mapa de característica hk para uma função não linear f.

hkij = f((Wkú x)ij+ bk) (2.3)

Cada estágio é composto por três etapas, filtragem (filter bank layer), etapa não linear (non-linearity layer) e etapa de redução (feature po-

oling layer) que representa o campo receptivo. Uma CNN pode ser

composta de um ou mais estágios onde cada um contém as três etapas. A Figura 10 mostra uma CNN com um único mapa de característi- cas de entrada (ex: uma imagem em tons de cinza) com dois estágios convolucionais C1+S1 e C2+S2.

Figura 10 – Rede neural convolucional com dois estágios (LECUN; KA- VUKCUOGLU; FARABET, 2010).

A etapa de filtragem realiza a convolução dos filtros Wk

i, corres-

pondente ao i-ésimo filtro da camada k de tamanho l1◊ l2na imagem.

Cada filtro detecta uma característica particular em todas as localiza- ções na imagem de entrada. Na primeira camada a imagem de entrada

Imn, sendo m a altura e n o comprimento, é representada através de

um um conjunto de mapas de características, um para cada canal de cor.

Na Figura 11 é realizado um exemplo de convolução no qual a máscara é transladada em posições em que se encontra integralmente no domínio dos pixels (e, portanto, reduzindo a imagem resultante). É possível observar que o filtro aplicado realça áreas onde existe uma grande diferença nos valores de forma vertical, como em um canto de um objeto por exemplo.

A etapa não linear é responsável por aplicar uma função não linear em cada um dos elementos dos mapas de características. Hin- ton (HINTON et al., 2012) e Zeiler (ZEILER; FERGUS, 2013) utili-

*

=

1

-1 -1

-1

-1

-1

-1

5

5

9 24

5

1

1

2

2

2

1

1

1

1

1

1

c1 = 1.(-1)+1.(-1)+1.5+1.(-1)+1.(-1)+1.5+1.(-1)+1.(-1)+1.5 = 9 c2 = 1.(-1)+1.(-1)+2.5+1.(-1)+1.(-1)+2.5+1.(-1)+1.(-1)+2.5 = 24

Figura 11 – Exemplo de convolução Fonte: produção do próprio autor.

zam a função de unidade linear retificada (rectified linear unit) (ReLU) descrita na Equação 2.5. Outro exemplo utilizado com frequência é a função tangente hiperbólica descrita na Equação 2.6 e função sigmoid descrita na Equação 2.7 sendo z representado na Equação 2.4.

z = (WT ú x) + b (2.4) relu(z) = max(0, z) (2.5) tanh(z) = e z≠ e−z ez+ e−z (2.6) sigm(z) = 1 1 + e−z (2.7)

A etapa redução (também chamada subsampling) calcula a média ou máximo de uma vizinhança pré-determinada em cada um dos mapas de características. O resultado é um outro mapa com resolução menor que proporciona invariação a pequenas translações. Zeiler e Fergus (ZEI- LER; FERGUS, 2013) demonstram um novo método para redução com base da distribuição das ativações em cada região. A Figura 12 mostra a aplicação da redução utilizando uma função MAX que seleciona o maior número em uma vizinhança 2◊2 sem sobreposição.

Ao término das etapas convolucionais, os mapas de caracterís- ticos são transformados de 2 dimensões para 1 dimensão e utilizados

)

=

(

9

36 6

6

1

24 1

5

6

6

6

1

1

1

1

1

1

1

36

10

f

Figura 12 – Exemplo de redução utilizando filtro MAX 2◊2 e deslo- cando 2◊2 (sem sobreposição).

Fonte: produção do próprio autor.

no treinamento de um classificador totalmente conectado, com tama- nho de saída correspondente à quantidade de categorias ou classes. O resultado do classificador passa então pela função softmax descrita na Equação 2.8 que garante que a soma de todas as probabilidades de saída da MLP resulta em 1, onde Y corresponde ao vetor de saída da MLP. A resposta final de qual categoria pode ser obtida através da seleção do item com maior probabilidade descrita na Equação 2.10.

sof tmax(yi) =

ezi

q

j‘Yezj

(2.8)

logsof tmax(yi) = log(softmax(yi)) (2.9)

yn= argmaxP (Y = i|xn, W, b) (2.10)

Uma das formas de efetuar o treinamento da rede é utilizando o algo- ritmo de gradiente descendente estocástico (stochastic gradient descent - SGD) para minimizar a diferença entre a saída da CNN e a saída desejada. O algoritmo SGD procura encontrar o valor mínimo de uma função utilizando um processo iterativo com base no gradiente. O gra- diente de uma função é definido por um vetor de derivadas parciais. Como o gradiente sempre aponta para o valor máximo, e o objetivo é encontrar o valor mínimo da função, atualizam-se os valores com base no valor negativo do gradiente. Esta estratégia eventualmente levará ao valor mínimo global de uma função convexa. O algoritmo abaixo demonstra as etapas do SGD.

Documentos relacionados