Redes Convolucionais (3/4)

Unidade Linear Retificada (ReLU)

ReLU varre as  matrizes e procura um número negativo e substitui por zero. Esse simples processo ajuda a CNN a permanecer matematicamente saudável ao evitar que o valor aprendido se aproxime de zero, ou do infinito. ReLU pode ser entendida como um lubrificante das redes convolucionais. Não é exatamente muito sofisticada, mas evita que CNN fiquem emperradas.

 

Aprendizagem profunda

As  camadas que recebem dados são chamadas de Entradas e aquelas que produzem o resultado, de Saídas.. Quando ambas são baseados em um vetor bidimensional, elas podem ser empilhadas, como cartas em um baralho.  As imagens originais passam pelo processo de retificação, agrupamento e filtragem baseado na definição das Características. Esse processo pode ser repetido inúmeras vezes.  A cada passada, as Caracteristícas se tornam mais complexas e as imagens mais compactas. Por esse motivo, camadas iniciais representam aspectos simples da imagem, como bordas e pontos brilhantes. Camadas finais tendem a representar aspectos mais sofisticados da imagem, como formas e padrões (aqueles mais facilmente reconhecíveis).

Por exemplo, uma Rede Convolucional treinada no reconhecimento de rostos humanos, as camadas finais representam padrões faciais que são claramente distinguíveis.

Camadas Totalmente Conectadas

Alem das camadas de convolução e subagrupamento, as CNN possuem um tipo adicional de camada chamada Totalmente Conectada. Elas geram descritores de característica de imagem que são classificados com mais facilidade pela camada de saída. No nosso exemplo, a camada totalmente conectada recebe uma imagem filtrada e a transforma em votos que mais se aplicam aos dois possíveis cenários (imagem de um X ou O). Essa “eleição” todavia, não é inteiramente democrática; Alguns valores são melhores cotados para determinar quando a imagem é um X, e alguns são particularmente bons em saber quando a imagem é um O. Esses graus de determinação são chamados de “pesos”.

Retropropagação

Mas de onde vêm as características? E como determinar os pesos exatos nas Camadas Totalmente Conectadas? A resposta chama-se retropropagação.

Retropropagação é o processo de comparação dos resultados esperados versus produzidos. Para o possibilitar essa checagem,  precisamos contar com uma coleção de imagens para as quais já conhecemos a resposta. Isso significa que alguém com muita  paciência teve de analisar milhares de imagens e atribuiu-lhes um rótulo de X ou O.

Cada imagem que a CNN processa resulta em uma votação. Dependendo do resultado, as características e pesos podem ser ajustados para reduzir o erro. Cada valor é ajustado, um pouco pra cima e um pouco pra  baixo. O erro é recalculado. Se o resultado for positivo (diminuimos o erro) o ajuste é mantido. Esse processo se repete para cada pixel da caracteristica em todas as camadas de modo que a rede “aprende” quais ajustes são os melhores.  Padrões nas imagens que são comuns a várias imagens são fortemente assimilados pela CNN ao passo os que ocorrem em pouco numero de imagens são esquecidos. esses valores tende a se estabilizarem em uma amostra com um número elevado de imagens. Como você deve ter percebido, retropropagação é um processo caro, e portanto exige hardware à altura.

Proxima parte ->