• Nenhum resultado encontrado

Estimação de idade e reconhecimento de pele em Imagens digitais a partir de deep learning

N/A
N/A
Protected

Academic year: 2021

Share "Estimação de idade e reconhecimento de pele em Imagens digitais a partir de deep learning"

Copied!
84
0
0

Texto

(1)

DEPARTAMENTO ACAD ˆ

EMICO DE COMPUTAC

¸ ˜

AO

CURSO DE CI ˆ

ENCIA DA COMPUTAC

¸ ˜

AO

LEANDRO AMORIM SALLES

ESTIMAC

¸ ˜

AO DE IDADE E RECONHECIMENTO DE PELE EM

IMAGENS DIGITAIS A PARTIR DE DEEP LEARNING

TRABALHO DE CONCLUS ˜

AO DE CURSO

MEDIANEIRA

2019

(2)

ESTIMAC

¸ ˜

AO DE IDADE E RECONHECIMENTO DE PELE EM

IMAGENS DIGITAIS A PARTIR DE DEEP LEARNING

Trabalho de Conclus˜ao de Curso apresentado ao Departamento Acadˆemico de Computac¸˜ao da Universidade Tecnol´ogica Federal do Paran´a como requisito parcial para obtenc¸˜ao do t´ıtulo de “Bacharel em Computac¸˜ao”.

Orientador: Prof. Dr. Pedro Luiz de Paula Filho

Co-orientador: Prof. Dr. Arnaldo Candido Junior

MEDIANEIRA

2019

(3)

Diretoria de Graduac¸˜ao e Educac¸˜ao Profissional Coordenac¸˜ao do Curso de Ciˆencia da Computac¸˜ao

TERMO DE APROVAC¸ ˜AO

ESTIMAC¸ ˜AO DE IDADE E RECONHECIMENTO DE PELE EM IMAGENS DIGITAIS A PARTIR DE DEEP LEARNING

Por

LEANDRO AMORIM SALLES

Este Trabalho de Conclus˜ao de Curso foi apresentado `as 10:30h do dia 29 de novembro de 2019 como requisito parcial para a obtenc¸˜ao do t´ıtulo de Bacharel no Curso de Ciˆencia da Computac¸˜ao, da Universidade Tecnol´ogica Federal do Paran´a, Cˆampus Medianeira. O candidato foi arguido pela Banca Examinadora composta pelos professores abaixo assinados. Ap´os deliberac¸˜ao, a Banca Examinadora considerou o trabalho aprovado.

Prof. Dr. Pedro Luiz de Paula Filho UTFPR - Cˆampus Medianeira

Prof. M.e Jorge Aikes Junior UTFPR - Cˆampus Medianeira

Prof. Dr. Paulo Lopes de Menezes UTFPR - Cˆampus Medianeira

(4)

SALLES, Leandro Amorim. ESTIMAC¸ ˜AO DE IDADE E RECONHECIMENTO DE PELE EM IMAGENS DIGITAIS A PARTIR DE DEEP LEARNING. 82 f. Trabalho de Conclus˜ao de Curso – Curso de Ciˆencia da Computac¸˜ao, Universidade Tecnol´ogica Federal do Paran´a. Medianeira, 2019.

Com o decorrer da evoluc¸˜ao tecnol´ogica dos meios digitais de comunicac¸˜ao, como redes sociais e comunidades online, a privacidade e seguranc¸a na Internet se tornaram quest˜oes de debate em relac¸˜ao `a infraestrutura e regulamentac¸˜ao por parte de ´org˜aos legislativos. O f´acil acesso fornecido aos usu´arios, juntamente com o exacerbado n´umero de informac¸˜oes compartilhadas pela rede, sustenta um dos problemas enfrentados pelas autoridades criminais, a propagac¸˜ao de conte´udos il´ıcitos envolvendo pornografia infantil. Ao longo do tempo, m´etodos computacionais foram utilizados para auxiliar peritos federais a avaliar o conte´udo apreendido. A vis˜ao computacional ´e uma das principais ´areas de desenvolvimento desses m´etodos, utilizando t´ecnicas de aprendizado profundo em redes neurais artificiais para reconhecimento de caracter´ısticas associadas `a classificac¸˜ao de conte´udo pornogr´afico infantil. Essas redes neurais, compostas por camadas de neurˆonios artificiais, utilizam processos matem´aticos capazes de simular o processo cognitivo do c´erebro humano. Atrav´es do estudo de t´ecnicas de deep learning, aplicadas em imagens digitais e utilizando estruturas neurais pr´e-treinadas para realizar estimac¸˜ao de idade e segmentac¸˜ao de pele em bases de imagens pr´e-selecionadas, este trabalho obteve percentual de acur´acia de 60,9%, 82,67% e 95,9% para os experimentos de estimac¸˜ao et´aria, superando o estado da arte. J´a para os experimentos de segmentac¸˜ao de pele, o modelo neural gerou 83,65% e 65,03% de acur´acia, inferior aos trabalhos correlatos estudados. Como conclus˜ao, tanto modelo neural quanto base de dados definida para as experimentac¸˜oes et´arias se mostraram satisfat´orias, enquanto os testes de segmentac¸˜ao de pele evidenciaram uma inadequac¸˜ao da rede neural determinada com a base de dados utilizada.

(5)

SALLES, Leandro Amorim. AGE ESTIMATION AND SKIN RECOGNITION IN DIGITAL IMAGES FROM DEEP LEARNING. 82 f. Trabalho de Conclus˜ao de Curso – Curso de Ciˆencia da Computac¸˜ao, Universidade Tecnol´ogica Federal do Paran´a. Medianeira, 2019.

With the technological evolution of digital media, such as social networks and online communities, privacy and security on the Internet have become issues of debate regarding infrastructure and regulation by legislative bodies. The easy access provided to users, along with the exacerbated number of information shared by the network, sustains one of the problems faced by criminal authorities, the spread of illegal content involving child pornography. Over time, computational methods were used to assist federal experts in assessing the seized content. Computer vision is one of the main areas of development of these methods, using deep learning techniques in artificial neural networks to recognize characteristics associated with the classification of child pornographic content. These neural networks use mathematical processes capable of simulating the cognitive process of the human brain. Through the study of deep learning techniques, applied in digital images and using pre-trained neural structures to perform age estimation and skin segmentation in pre-selected image bases, this study obtained an accuracy percentage of 60.9%, 82.67% and 95.9% for the age estimation experiments, surpassing the state of the art. For the skin segmentation experiments, the neural model generated 83.65% and 65.03% accuracy, lower than the related works studied. In conclusion, both the neural model and the database defined for the age experiments were satisfactory, while the skin segmentation tests showed an inadequacy of the neural network determined with the database used.

(6)

Gostaria de comec¸ar direcionando imensur´avel gratid˜ao `a minha fam´ılia. Todo o suporte emocional e financeiro fornecido desde o primeiro dia em que estive na universidade possibilitou todos os passos dados at´e a realizac¸˜ao deste trabalho. Em especial meu pai e minha m˜ae, que sempre estiveram ao meu lado independente da distˆancia.

Em segundo, agradec¸o imensamente aos amigos que ganhei durante essa longa caminhada universit´aria. De muitos conhecimentos que adquiri, boa parte foi com o suporte dessas pessoas maravilhosas que entraram em minha vida.

Agradec¸o tamb´em, com imenso valor, todo aux´ılio fornecido pelo meu orientador Prof. Dr. Pedro Luiz de Paula Filho e meu co-orientador Prof. Dr. Arnaldo Candido Junior, que desempenharam um papel brilhante durante o desenvolvimento deste projeto.

Ao professor e mestre Jorge Aikes Junior, que ministrou com excelˆencia a disciplina de TCC1 participando ativamente na elaborac¸˜ao das etapas iniciais do trabalho, al´em de sempre estar `a disposic¸˜ao para qualquer tipo de aux´ılio.

Por fim, mas n˜ao menos importante, `a pr´opria Universidade Tecnol´ogica Federal do Paran´a pelos programas de aux´ılio de custo ao desenvolvimento de trabalhos de conclus˜ao de curso, representando um apoio financeiro essencial para o desenvolvimento do projeto.

(7)

FIGURA 1 Aplicac¸˜ao de amostragem e quantizac¸˜ao em uma imagem cont´ınua. . . 17 –

FIGURA 2 Resoluc¸˜ao de caminhos redundantes por m-conectividade. . . 18 –

FIGURA 3 O neurˆonio biol´ogico. . . 21 –

FIGURA 4 Conjunto de diferentes caracteres utilizados no Perceptron. . . 21 –

FIGURA 5 Gr´afico de fluxo de sinal do perceptron. . . 23 –

FIGURA 6 Ilustrac¸˜ao do Hiperplano de um Perceptron simples. . . 24 –

FIGURA 7 Limite de decis˜ao para perceptron com duas entradas. . . 25 –

FIGURA 8 Perceptron multicamadas com trˆes camadas ocultas. . . 26 –

FIGURA 9 Arquitetura e fluxo de uma rede capaz de resolver o problema XOR. . . 27 –

FIGURA 10 Inclinac¸˜oes de decis˜ao para o problema XOR . . . 28 –

FIGURA 11 Gr´afico da func¸˜ao sigm´oide log´ıstica. . . 29 –

FIGURA 12 Gr´afico do comportamento da func¸˜ao ReLu. . . 30 –

FIGURA 13 Exemplo de estrutura feedforward de uma rede neural . . . 33 –

FIGURA 14 Largura, altura e profundidade de camadas convolucionais . . . 35 –

FIGURA 15 Convoluc¸˜ao e multiplicac¸˜ao de matrizes em camadas neurais . . . 36 –

FIGURA 16 Operac¸˜ao de convoluc¸˜ao por meio de um kernel. . . 38 –

FIGURA 17 Agrupamento m´aximo de caracter´ısticas na camada de pooling. . . 39 –

FIGURA 18 Estrutura completa AlexNet. . . 41 –

FIGURA 19 M´odulo Inception. . . 42 –

FIGURA 20 Rede neural GoogLeNet. . . 43 –

FIGURA 21 Bloco de aprendizado residual. . . 44 –

FIGURA 22 Arquitetura U-Net. . . 45 –

FIGURA 23 Imagem de entrada e m´ascara de segmentac¸˜ao. . . 46 –

FIGURA 24 Arquitetura DenseNet. . . 47 –

FIGURA 25 Exemplo de amostras presentes no UTK Face Dataset. . . 54 –

FIGURA 26 Exemplos de imagens e m´ascaras bin´arias no Pratheepan Dataset. . . 55 –

FIGURA 27 Exemplos de imagens e m´ascaras no SFA Skin Database. . . 55 –

FIGURA 28 Exemplo de flip horizontal. . . 59 –

FIGURA 29 Limiarizac¸˜ao nas m´ascaras de segmentac¸˜ao do SFA Skin Dataset. . . 60 –

FIGURA 30 Data augmentationno SFA Skin Dataset. . . 60 –

FIGURA 31 Rotac¸˜oes para data augmentation no Pratheepan Dataset. . . 61 –

FIGURA 32 Fluxograma de m´etodos . . . 63 –

FIGURA 33 Matriz de confus˜ao do Experimento 1. . . 65 –

FIGURA 34 Exemplos de amostras erroneamente classificadas no Experimento 1. . . 65 –

FIGURA 35 Agregac¸˜ao em menores e maiores de idade para o Experimento 1. . . 66 –

FIGURA 36 Matriz de confus˜ao do Experimento 1.1. . . 67 –

FIGURA 37 Exemplos de amostras erroneamente classificadas no Experimento 1.1. . . 68 –

FIGURA 38 Agregac¸˜ao em menores e maiores de idade para o Experimento 1.1. . . 68 –

FIGURA 39 Matriz de confus˜ao do Experimento 1.2. . . 69 –

FIGURA 40 Exemplos de resultados do Experimento 2. . . 71 –

FIGURA 41 Diferentes valores de threshold aplicados nas sa´ıdas de segmentac¸˜ao. . . 72 –

(8)
(9)

TABELA 1 Percentual de pessoas que acessaram a Internet por faixa et´aria. . . 10 –

TABELA 2 Exemplos de valores para iluminˆancia em lux ou l´umem/m2. . . 16 –

TABELA 3 Exemplos de valores de refletˆancia. . . 16 –

TABELA 4 Caracter´ısticas entre C´erebro e Computador. . . 20 –

TABELA 5 Distribuic¸˜ao de imagens por cada faixa et´aria no Experimento 1. . . 58 –

TABELA 6 Distribuic¸˜ao de imagens por cada faixa et´aria no Experimento 1.1. . . 58 –

TABELA 7 Tabela de interpretac¸˜ao para o coeficiente Kappa. . . 62 –

TABELA 8 Resultados da m´etrica f-score para estimac¸˜ao et´aria do Experimento 1. . . . 65 –

TABELA 9 Resultados da m´etrica f-score para estimac¸˜ao et´aria do Experimento 1.1. . 67 –

TABELA 10 Resultados da m´etrica f-score para estimac¸˜ao et´aria do Experimento 1.2. . 69 –

TABELA 11 Distribuic¸˜ao de amostras no treinamento para estimac¸˜ao et´aria. . . 70 –

TABELA 12 Tabela geral de resultados para estimac¸˜ao et´aria. . . 74 –

(10)

CNN Rede Neural Convolucional

CPU Unidade Central de Processamento GPU Unidade de Processamento Gr´afico MAE Erro Absoluto M´edio

MLP Perceptrons Multicamadas

ReLu Neurˆonio de unidade linear restrita RGB Red, green and Blue

RNA Rede Neural Artificial

(11)

1 INTRODUC¸ ˜AO . . . 10

1.1 OBJETIVOS GERAL E ESPEC´IFICOS . . . 13

1.2 JUSTIFICATIVA . . . 13

1.3 ORGANIZAC¸ ˜AO DO DOCUMENTO . . . 14

2 FUNDAMENTOS DE IMAGENS DIGITAIS . . . 15

3 REDES NEURAIS ARTIFICIAIS . . . 20

3.1 PERCEPTRONS . . . 22

3.2 PERCEPTRONS MULTICAMADAS . . . 25

3.3 FUNC¸ ˜OES DE ATIVAC¸ ˜AO PARA FEEDFORWARD PERCEPTRONS . . . 28

3.4 ALGORITMO BACKPROPAGATION . . . 31

3.5 REDES NEURAIS CONVOLUCIONAIS . . . 34

3.6 MODELOS DE REDES NEURAIS . . . 40

3.6.1 Rede convolucional AlexNet . . . 40

3.6.2 Rede convolucional GoogLeNet . . . 42

3.6.3 Rede convolucional ResNet . . . 43

3.6.4 Rede convolucional U-Net . . . 44

3.6.5 Rede convolucional DenseNet . . . 46

3.7 ESTADO DA ARTE . . . 47

3.7.1 Estimac¸˜ao de idade . . . 47

3.7.2 Segmentac¸˜ao de pele . . . 49

4 MATERIAIS E M ´ETODOS . . . 51

4.1 ESPECIFICAC¸ ˜OES DO AMBIENTE DE CODIFICAC¸ ˜AO . . . 51

4.2 BIBLIOTECAS E LINGUAGEM DE PROGRAMAC¸ ˜AO . . . 52

4.3 BASES DE DADOS . . . 53

4.3.1 Estimac¸˜ao de idade . . . 53

4.3.2 Segmentac¸˜ao de pele . . . 54

4.4 MODELO DE REDE PR ´E-TREINADA . . . 56

4.5 ABORDAGEM EXPERIMENTAL . . . 57

5 RESULTADOS E DISCUSS ˜OES . . . 64

5.1 RESULTADOS DO EXPERIMENTO 1 . . . 64

5.2 RESULTADOS DO EXPERIMENTO 1.1 . . . 66

5.3 RESULTADOS DO EXPERIMENTO 1.2 . . . 69

5.4 AN ´ALISE DO COEFICIENTE KAPPA PARA ESTIMAC¸ ˜AO ET ´ARIA . . . 70

5.5 RESULTADOS DO EXPERIMENTO 2 . . . 71

5.6 RESULTADOS DO EXPERIMENTO 2.1 . . . 73

5.7 TABELAS GERAIS DE RESULTADOS . . . 74

6 CONCLUS ˜OES E TRABALHOS FUTUROS . . . 76

6.1 CONCLUS ˜OES . . . 76

6.2 TRABALHOS FUTUROS . . . 77

(12)

1 INTRODUC¸ ˜AO

A rede mundial de computadores ´e o principal mecanismo de obtenc¸˜ao de dados dos mais variados tipos. Rapidamente surgiram servic¸os de compartilhamento de informac¸˜oes entre pessoas ou empresas em diversos n´ıveis, como profissional ou de relacionamento. As Redes Sociais s˜ao sites e aplicativos de interac¸˜ao social que se tornaram praticamente indispens´aveis `a gerac¸˜ao nativa do mundo digital e que, recentemente, ´e alvo de debate em relac¸˜ao `a seguranc¸a e privacidade de seus usu´arios que s˜ao cada vez mais jovens (MACHADO, 2017). Machado (2017) enfatiza a precocidade citando uma pesquisa realizada pelo IBGE (Instituto Brasileiro de Geografia e Estat´ıstica), no qual at´e o final de 2015 estimadamente 100 milh˜oes de pessoas compunham os internautas, representando 58% da populac¸˜ao total. Desse n´umero, a grande maioria crianc¸as e adolescentes, conforme detalhado na Tabela 1. Para cada ano, do total de indiv´ıduos na populac¸˜ao correspondentes a cada faixa et´aria, s˜ao mostrados os percentuais conectados `a Internet.

Tabela 1 – Percentual de pessoas que acessaram a Internet por faixa et´aria. Faixa et´aria 2010 2011 2012 2013 2014 2015 10 a 15 anos 65% 67% 70% 75% 74% 85% 16 a 24 anos 64% 70% 74% 77% 83% 93% 25 a 34 anos 52% 56% 62% 66% 69% 84% 35 a 44 anos 33% 41% 46% 47% 57% 72% 45 a 59 anos 20% 25% 31% 33% 34% 47% > 60 anos 5% 9% 8% 11% 15% 20%

Fonte: Adaptado (MACHADO, 2017).

Como informac¸˜ao mais recente, em 2018 o IBGE atualizou a estat´ıstica e apresentou dados referentes aos anos de 2016 e 2017. Foram estimados 116 milh˜oes de usu´arios conectados em 2016, um aumento superior a 7%, enquanto 126,3 milh˜oes de pessoas se conectaram em 2017 (ESTAT´ıSTICA, 2018).

Devido `a falta de regulamentac¸˜ao e precariedade de infraestrutura da rede (seguranc¸a, fiscalizac¸˜ao, leis internacionais para uso e punic¸˜ao, por exemplo) os crimes cibern´eticos associados `a pornografia infantil ganharam um grande incentivo. Os criminosos tˆem, na

(13)

Internet, uma maneira r´apida e f´acil de se aproximar de suas v´ıtimas tendo ao seu favor a possibilidade de manipular perfis falsos para mascarar sua identidade (HAMADA; SANCHEZ, 2007; MACHADO, 2017).

O c´odigo penal prevˆe crimes contra a dignidade sexual, possuindo cap´ıtulo espec´ıfico acerca de crimes sexuais contra vulner´aveis. O artigo 217-A (Lei n.2.848, de 07 de Dezembro de 1940) define “ter conjunc¸˜ao carnal ou praticar outro ato libidinoso com menor de 14 (catorze) anos: Pena - reclus˜ao, de 8 (oito) a 15 (quinze) anos”. Completando, o artigo 218 (Lei n.2.848, de 07 de Dezembro de 1940) define “induzir algu´em menor de 14 (catorze) anos a satisfazer a lasc´ıvia de outrem: Pena - reclus˜ao, de 2 (dois) a 5 (cinco) anos” (BRASIL, 1940).

A protec¸˜ao `a crianc¸a e ao adolescente situa-se em tratados internacionais, constando no artigo 227 da Constituic¸˜ao Federal. O Estatuto da Crianc¸a e do Adolescente1 (ECA) combate a produc¸˜ao, venda e distribuic¸˜ao de material pornogr´afico de menores, criminalizando quaisquer tipos de conduta relacionada `a pedofilia na Internet. Como citado no artigo 241-A (Lei n.8.069, de 13 de Julho de 1990), par´agrafo ´unico, “oferecer, trocar, disponibilizar, distribuir, publicar ou divulgar por qualquer meio, inclusive no meio digital, fotografias, v´ıdeos ou outros registros que contenham cena de sexo expl´ıcito ou pornografia envolvendo crianc¸a ou adolescente implica pena de 3 (trˆes) a 6 (seis) anos de reclus˜ao e multa”. Por conseguinte, o artigo 241-B (Lei n.8.069, de 13 de Julho de 1990), par´agrafo ´unico, define que “adquirir, possuir ou armazenar, por qualquer meio, fotografia, v´ıdeo ou outra forma de registro que contenha material pornogr´afico ou cena de sexo expl´ıcito envolvendo crianc¸a ou adolescente resulta em pena de 1 (um) a 4 (quatro) anos de reclus˜ao e multa” (BRASIL, 1990).

Segundo pesquisa sobre Com´ercio e Desenvolvimento divulgada pela ONU (Organizac¸˜ao das Nac¸˜oes Unidas) em 2015, o Brasil esteve entre os cinco pa´ıses com maior incidˆencia de crimes cibern´eticos. Completam o grupo R´ussia, China, Nig´eria e Vietn˜a. De acordo com a Safernet2, organizac¸˜ao n˜ao governamental que coordena uma central de den´uncias contra crime de direitos humanos na Internet. Em 2014 no Brasil, foram registradas 189.211 den´uncias das quais 51.553 faziam referˆencia `a pornografia infantil.

O combate ao crime de conte´udo il´ıcito infantil na Internet ´e de responsabilidade da Pol´ıcia Federal. Para identificar e validar a conduta criminosa, os peritos podem tanto realizar operac¸˜oes para apreens˜ao de computadores ou discos r´ıgidos suspeitos de conter material ilegal quanto instalar programas em servidores respons´aveis pelo monitoramento de arquivos suspeitos assim que trafegados pela rede. Essa fiscalizac¸˜ao ocorre por meio de hashes, assinaturas de um documento que o deixam distingu´ıveis dos demais existentes na Internet (CAIADO; CAIADO, 2018). Ainda segundo Caiado e Caiado (2018), esse procedimento nem

1https://presrepublica.jusbrasil.com.br/legislacao/91764/estatuto-da-crianca-e-do-adolescente-lei-8069-90 2http://new.safernet.org.br/

(14)

sempre ´e efetivo pois a simples movimentac¸˜ao de arquivos n˜ao catalogados previamente em hashesexigiria a presenc¸a de um perito capaz de analis´a-los tecnicamente.

Segundo Ramos (2018), a an´alise t´ecnica visual pode ser extremamente custosa para os profissionais criminais. Al´em de lidar com um volume grande de arquivos, v´ıdeos e imagens a serem identificados crianc¸as e adolescentes em cena, ´e preciso avaliar ind´ıcios de produc¸˜ao ou compartilhamento dos arquivos em que a pornografia foi confirmada, representando n˜ao somente uma carga psicol´ogica mas tamb´em demandando mais tempo para ser conclu´ıda.

O NuDetective, desenvolvido por Polastro e Eleuterio (2010), ´e um dos softwares utilizados pela pol´ıcia para recognic¸˜ao de pornografia infantojuvenil, atrav´es de t´ecnicas de identificac¸˜ao de pele e geometria computacional, a partir de an´alises de imagens e v´ıdeos ainda nos locais de busca. Outras ferramentas de reconhecimento e classificac¸˜ao autom´atica de m´ıdias digitais s˜ao constantemente desenvolvidas e estudadas para aprimorar cada vez mais o trabalho realizados pelos profissionais do ramo.

Ao tratar de reconhecimento de caracter´ısticas, principalmente utilizando imagens digitais como objetos de an´alise, surge uma das principais abordagens computacionais estudadas pela comunidade cient´ıfica de computac¸˜ao, o denominado deep learning. Emergente dentro do campo de Inteligˆencia Artificial, o deep learning (aprendizado profundo) ´e, em essˆencia, uma percepc¸˜ao apurada de uma grande quantidade de informac¸˜ao buscando abstra´ı-la gerando aprendizagem. Apesar de ter sua aplicac¸˜ao ainda explorada, j´a ´e utilizado em diversos campos da atualidade. Grandes marcas como a Google, Microsoft e Facebook j´a utilizam de aprendizado profundo em alguns de seus servic¸os. ´E a tecnologia base para ferramentas como o Translate (Google Tradutor) e o assistente personalizado Cortana (Microsoft), por exemplo. Embora frequentemente associado a servic¸os da computac¸˜ao, o aprendizado profundo tamb´em est´a presente em ´areas como a medicina, realizando diagn´osticos m´edicos precisos atrav´es da an´alise de imagens e automobil´ıstica por meio de carros autˆonomos. Sua ampla variedade de algoritmos e aplicac¸˜oes movimentou toda a comunidade cient´ıfica, principalmente com o surgimento das Redes Neurais Artificiais como novo marco na ´area. Os resultados de performance estat´ıstica para tarefas de classificac¸˜ao de imagens fez com que cada vez mais estudos fossem direcionados para as ´areas de Processamento de Imagens, Computac¸˜ao Gr´afica e Vis˜ao Computacional (PONTI; COSTA, 2018).

(15)

1.1 OBJETIVOS GERAL E ESPEC´IFICOS

Este trabalho teve como objetivo utilizar t´ecnicas de aprendizado profundo aplicadas `a pr´atica de estimac¸˜ao et´aria, com foco em menores de idade, e segmentac¸˜ao de pele para evidenciar amostras do corpo expostas. Esse objetivo principal pode ser dividido nos seguintes objetivos espec´ıficos:

• selecionar base de dados para classificac¸˜ao da faixa et´aria; • definir modelo neural para estimac¸˜ao de faixa et´aria;

• determinar base de dados para an´alise de segmentac¸˜ao de pele; • adaptar modelo neural para segmentac¸˜ao de pele;

• avaliar confiabilidade dos experimentos.

1.2 JUSTIFICATIVA

Segundo Ramos (2018), somente no ano de 2018, foram produzidos pela Per´ıcia Criminal Federal mais de mil laudos de An´alise de Conte´udo de Pornografia envolvendo crianc¸a ou adolescente em m´ıdias de armazenamento e computadores port´ateis. O combate a esse tipo de crime conta com diversas ferramentas e t´ecnicas desenvolvidas pelos peritos criminais, que buscam melhorar a eficiˆencia no processo de identificac¸˜ao dos casos.

O deep learning tem sido considerado o estado da arte relacionado `a vis˜ao computacional, grac¸as a sua capacidade de permitir o reconhecimento de padr˜oes pelo uso de seus algoritmos conhecidos como redes neurais artificiais. Se tratando especificamente de imagens, essas arquiteturas que simulam o sistema cognitivo humano possuem enorme capacidade em determinar possibilidades de um conjunto de p´ıxeis pertencerem a um n´umero determinado de categorias (PONTI; COSTA, 2018). Tendo em vista esse potencial, ´e justific´avel aplicar t´ecnicas de aprendizado computacional para agregar conhecimento `a ferramentas desenvolvidas na mesma ´area de atuac¸˜ao de peritos criminais, respons´aveis por identificar casos de menores em situac¸˜oes de crime. Em complemento, o presente estudo pode ser capaz de fornecer subs´ıdios suficientes para auxiliar na elaborac¸˜ao de novas soluc¸˜oes relacionadas ao uso de redes neurais para a classificac¸˜ao et´aria e identificac¸˜ao de pele em busca

(16)

de menores de idade.

1.3 ORGANIZAC¸ ˜AO DO DOCUMENTO

Esse documento est´a organizado da seguinte forma. O Cap´ıtulo 2 apresentar´a conceitos primitivos relacionados a imagens digitais. Por conseguinte, o Cap´ıtulo 3 introduzir´a a ´area de redes neurais artificias e alguns de seus componentes fundamentais. Os m´etodos utilizados e experimentos propostos se encontram no Cap´ıtulo 4, onde s˜ao detalhadas todas as etapas para o desenvolvimento do projeto. No Cap´ıtulo 5 s˜ao aprofundados os experimentos executados e suas respectivas discuss˜oes. Por fim, no Cap´ıtulo 6 se encontra a conclus˜ao com as poss´ıveis aplicac¸˜oes futuras capazes de agregar o conhecimento obtido neste trabalho.

(17)

2 FUNDAMENTOS DE IMAGENS DIGITAIS

De acordo com Gonzalez e Woods (2009), uma imagem pode ser definida como uma func¸˜ao bidimensional f (x, y), sendo x e y coordenadas em um plano. Pedrini e Schwartz (2008) completam, afirmando que o valor ou amplitude dessas coordenadas fornece a intensidade ou brilho, em escala de cinza, no ponto indicado. Sempre que as coordenadas e a intensidade da func¸˜ao assumem valores finitos e discretos, define-se uma imagem digital. Essa imagem ´e composta por um conjunto finito de elementos denominados a menor porc¸˜ao de uma ilustrac¸˜ao, os chamados p´ıxeis (GONZALEZ; WOODS, 2009).

A func¸˜ao f (x, y) ´e representada pelo produto entre dois componentes principais de uma imagem, a iluminˆancia, representada pela express˜ao i(x, y), e refletˆancia, expressa por r(x, y). O primeiro componente faz menc¸˜ao `a quantidade de luz que incide sobre a cena, enquanto a refletˆancia descreve a quantidade de luz refletida pelos objetos. Logo, a func¸˜ao pode ser definida pela Equac¸˜ao 1. Os intervalos s˜ao te´oricos e definidos por Filho e Neto (1999):

0 < i(x, y) < ∞ e 0 < r(x, y) < 1

f(x, y) = i(x, y) ∗ r(x, y) (1)

Os valores de intensidade s˜ao medidos em lux ou l´umem/m2 enquanto os valores de refletˆancia s˜ao descritos por porcentagem num´erica (PEDRINI; SCHWARTZ, 2008). As Tabelas 2 e 3 mostram um comparativo entre diferentes situac¸˜oes para uma imagem. Para imagens que possuem informac¸˜oes em bandas distintas de frequˆencia, ´e preciso aplicar a func¸˜ao f (x, y) em cada banda. Como exemplo, imagens coloridas compostas por padr˜oes de informac¸˜oes das cores prim´arias vermelho, verde e azul (RGB). A representac¸˜ao da informac¸˜ao presente em uma imagem ´e feita por uma matriz num´erica contendo n´umeros inteiros n˜ao-negativos, caracterizando o brilho m´edio presente na cena (FILHO; NETO, 1999; GONZALEZ; WOODS, 2009).

Uma imagem pode ser cont´ınua em relac¸˜ao `as suas coordenadas x e y, al´em de sua amplitude (intervalo entre o maior e menor valor de frequˆencia). Para que a an´alise de uma imagem seja feita computacionalmente, a func¸˜ao f (x, y) deve ser discretizada (GONZALEZ;

(18)

Tabela 2 – Exemplos de valores para iluminˆancia em lux ou l ´umem/m2. Iluminˆancia (x,y) Ambiente

900 Dia ensolarado

100 Dia nublado

10 Iluminac¸˜ao m´edia de escrit´orio 0,001 Noite clara de lua cheia

Fonte: (GONZALEZ; WOODS, 2009).

Tabela 3 – Exemplos de valores de refletˆancia. Refletˆancia (x,y) Superf´ıcie

0,93 Neve

0,8 Parede branco-fosca 0,65 Ac¸o inoxid´avel

0,01 Veludo preto

Fonte: (GONZALEZ; WOODS, 2009).

WOODS, 2009). A obtenc¸˜ao de uma imagem digital se d´a por meio de um processo denominado digitalizac¸˜ao. Esse m´etodo ´e decomposto em duas etapas, a amostragem e quantizac¸˜ao (PEDRINI; SCHWARTZ, 2008).

O processo de amostragem fundamenta-se na discretizac¸˜ao espacial, ou seja, o dom´ınio da imagem nas direc¸˜oes x e y produzindo uma matriz de M × N (Equac¸˜ao 2) amostras, onde quanto maior valor M e N assumirem maior ´e a resoluc¸˜ao da imagem. Essa matriz de pontos possui ainda os valores inteiros de n´ıvel de cinza, representado por L, associados a imagens monocrom´aticas. Esse processo, titulado quantizac¸˜ao, infere valores inteiros `as amostras na faixa de 0 a 2n− 1, onde quanto maior for n, maior ser´a o n´umero de n´ıveis de cinza presentes em cena. Cada unidade amostral na matriz resultante ´e o chamado p´ıxel. O intervalo que x e y se encontram ´e definido por Filho e Neto (1999), Pedrini e Schwartz (2008).

0 ≤ x ≤ M − 1 e 0 ≤ y ≤ N − 1 f(x, y) =        f(0, 0) f(0, 1) · · · f(0, N − 1) f(1, 0) f(1, 1) · · · f(1, N − 1) .. . ... ... ... f(M − 1, 0) f(M − 1, 1) · · · f(M − 1, N − 1)        (2)

A dimens˜ao de um p´ıxel se refere ao espac¸amento f´ısico entre as amostras, seja em relac¸˜ao a x ou y. Cada p´ıxel presente em uma imagem digital possui valores num intervalo

(19)

[Lmin, Lmax], denominado escala de cinza. Por convenc¸˜ao, atribui-se a cor preta (valor 0) para

tons de cinza mais escuros e cor branca (valor 255) para tons de cinza mais claros (PEDRINI; SCHWARTZ, 2008). Na Figura 1 ´e representado um exemplo de imagem cont´ınua (Figura 1(a)) e sua resultante ap´os aplicados os processos de amostragem e quantizac¸˜ao (Figura 1(b)).

Figura 1 – Aplicac¸˜ao de amostragem e quantizac¸˜ao em uma imagem cont´ınua. Fonte: Adaptado (GONZALEZ; WOODS, 2009).

´

E intrinsecamente claro que valores muito grandes de M, N e n representem uma qualidade maior de uma imagem, por´em, n´umeros elevados destas vari´aveis podem implicar em um custo grande de digitalizac¸˜ao e armazenamento. O conceito “qualidade de imagem” ´e subjetivo, pois s˜ao muitos detalhes a serem discernidos em uma ilustrac¸˜ao (GONZALEZ; WOODS, 2009). As imagens tratadas pelo processamento digital s˜ao representadas por potˆencias inteiras de 2, recebendo o nome de imagens bin´arias. Da mesma forma, o n´umero de n´ıveis de quantizac¸˜ao em uma imagem f (x, y) ´e definida por L = 2b, sendo L o n´ıvel de cinza e b denominado profundidade da imagem. Logo, entende-se que a profundidade da imagem faz referˆencia ao n´umero de bits necess´arios para armazenar uma imagem digital. Por exemplo, sendo L = 256 tem-se o intervalo do valor de cinza entre 0 e 255, significando 8 bits por p´ıxel. Em certas situac¸˜oes, ´e necess´ario expandir conceitualmente a amostragem e a quantizac¸˜ao para representar uma imagem na terceira dimens˜ao, sendo o espac¸o ou tempo. Nesse caso a func¸˜ao seria denotada por f (x, y, z) ou f (x, y,t). As imagens 3D s˜ao exemplos de figuras monocrom´aticas ou multibandas (canais RGB) sequenciais ao longo dos eixos espacial ou temporal (PEDRINI; SCHWARTZ, 2008).

Os p´ıxeis possuem, entre si, determinados tipos de relacionamentos em uma imagem. S˜ao eles: vizinhanc¸a, conectividade, adjacˆencia, e caminho. (GONZALEZ; WOODS, 2009).

(20)

A vizinhanc¸a ´e uma propriedade referente aos elementos localizados `a volta de cada p´ıxel. Um elemento (x, y) possui quatro vizinhos horizontais e verticais de coordenadas (x + 1, y), (x − 1, y), (x, y + 1)e(x, y − 1). Esse conjunto define o termo chamado vizinhanc¸a-4 de f , cuja representac¸˜ao ´e N4( f ). Conjuntamente, existem os vizinhos diagonais representados por

(x − 1, y − 1), (x − 1, y + 1), (x + 1, y − 1)e(x + 1, y + 1), constituindo Nd( f ). Este conceito se

aplica igualmente para imagens tridimensionais, acrescentando um terceiro eixo ao conjunto (PEDRINI; SCHWARTZ, 2008).

Conectividade ´e o termo utilizado para estabelecer limites de objetos e componentes de regi˜oes em imagens. P´ıxeis s˜ao considerados conectados caso sejam adjacentes segundo alguns crit´erios e similares em n´ıveis de cinza. Em imagens bin´arias, por exemplo, p´ıxeis que assumem valor 0 e 1 podem ser 4-vizinhos, por´em, ser˜ao considerados 4-conectados se possu´ırem valores iguais(GONZALEZ; WOODS, 2009). Para definir conectividade, considera-se V como a representac¸˜ao do conjunto de valores dos tons de cinza. Exemplificando, considera-se dois p´ıxeis p e q com seus valores de tom de cinza contidos em V . Uma “4-conectividade” ocorre se q pertencer `a vizinhanc¸a-4 de p. Do mesmo modo, a “8-conectividade” surge se q estiver presente na vizinhanc¸a-8 de p. Os caminhos existentes entre os p´ıxeis s˜ao representados por matrizes de valores conforme descrito na Figura 2(a). Em alguns casos, podem ocorrer m´ultiplos caminhos gerados pela 8-conectividade (Figura 2(b)). A resoluc¸˜ao dessa multiplicidade, representada na Figura 2(c), surge atrav´es da chamada “m-conectividade”, que remove a conex˜ao diagonal redundante com regras definidas por Filho e Neto (1999):

(i) q ∈ N4(p) ou (ii) q ∈ Nd(p) e N4(p) ∩ N4(q) = ∅.

Figura 2 – Representac¸˜ao matricial de valores com caminhos redundantes entre p´ıxeis resolvido por m-conectividade.

Fonte: (FILHO; NETO, 1999).

A adjacˆencia de p´ıxeis ocorre se forem conexos em relac¸˜ao a uma vizinhanc¸a adotada. Considerando dois subconjuntos denotados por S1 e S2, s˜ao adjacentes caso um elemento

qualquer de S1 seja adjacente a algum elemento de S2. Por fim, um caminho em uma

determinada imagem ´e denominado pela sequˆencia de p´ıxeis diversos entre determinado elemento (x1, y1) a outro (xn, yn), onde n representa o comprimento percorrido (PEDRINI;

(21)

SCHWARTZ, 2008).

Todos estes conceitos que definem uma imagem digital servem de base para os mecanismos reconhecedores de objetos ou padr˜oes. Um dos conceitos principais relacionados ao reconhecimento ´e o “aprendizado”, onde diversas t´ecnicas e algoritmos s˜ao aplicados para entender a padronizac¸˜ao das amostras fornecidas (GONZALEZ; WOODS, 2009). O atual estado da arte se encontra na ´area de inteligˆencia artificial, amplamente composta pelas redes neurais artificiais. O Cap´ıtulo 3 apresenta alguns dos principais componentes do referido tema.

(22)

3 REDES NEURAIS ARTIFICIAIS

Segundo Haykin (2008), uma Rede Neural Artificial (RNA) pode ser considerada como um processador paralelamente distribu´ıdo formado por unidades de processamento simples, propensos naturalmente a armazenar conhecimento experimental e disponibiliz´a-lo para uso. Mitchell (1997) especifica que cada unidade integrante das redes neurais artificiais recebe entradas de valor real (podendo ser sa´ıdas de outras unidades) e produz um ´unico valor de sa´ıda, tamb´em real, podendo se tornar a entrada para posteriores unidades.

O estudo e desenvolvimento de redes neurais tem sido motivado desde o princ´ıpio pela comparac¸˜ao com a maneira utilizada pelo c´erebro humano para processar informac¸˜oes. Assim como os computadores convencionais, o c´erebro ´e um sistema de processamento complexo, n˜ao-linear e paralelo. Esse conjunto de neurˆonios compostos pelo corpo celular (habitualmente denominado soma), axˆonios e dendritos reagem `as interferˆencias do ambiente permitindo ao organismo determinar ac¸˜oes. O mecanismo autor da transmiss˜ao de informac¸˜oes entre os neurˆonios que capacita as reac¸˜oes ´e denominado sinapse. Em comparac¸˜ao com m´aquinas digitais convencionais, a velocidade com que os dados s˜ao recebidos e processados pelo c´erebro humano ´e muito maior, pois tem a capacidade de trabalhar o processamento em paralelo, enquanto que uma RNA est´a limitada ao processo sequencial (HAYKIN, 2008; PATTERSON; GIBSON, 2017).

A Figura 3 retrata a estrutura de um neurˆonio biol´ogico, enquanto a Tabela 4 descreve alguns parˆametros de comparac¸˜ao entre c´erebro e computador.

Tabela 4 – Caracter´ısticas entre C´erebro e Computador.

Caracter´ıstica C´erebro Computador

Velocidade ms ns

Processamento Paralelo Sequencial

Armazenamento Adaptativo Est´atico

Controle de Processos Distribu´ıdo Centralizado Ligac¸˜oes entre elementos processados 10.000 < 10

Eficiˆencia energ´etica 10−16J 10−6 J Fonte: (HAYKIN, 2008)

(23)

Figura 3 – O neurˆonio biol´ogico.

Fonte: Adaptado (PATTERSON; GIBSON, 2017).

O primeiro modelo de neurˆonio artificial foi proposto por Warren McCulloch e Walter Pitts em 1943. Foi desenvolvido um dispositivo eletrˆonico simples, composto por diferentes pesos num´ericos para cada entrada e um limiar antes da sa´ıda (MCCULLOCH; PITTS, 1943). Na ´epoca, a importˆancia desse modelo era sua capacidade de calcular func¸˜oes aritm´eticas ou l´ogicas, remanescendo at´e o final dos anos cinquenta quando Frank Rosenblatt e Wightman propuseram o primeiro tipo de Perceptron, assunto aprofundado na Sec¸˜ao 3.1 (CHOW; CHO, 2007). A m´aquina Perceptron foi aplicada para reconhecer padr˜oes de diferentes caracteres simples, conforme exemplificado na Figura 4 (BUDUMA; LACASCIO, 2017).

Figura 4 – Exemplo de caracteres utilizados para reconhecimento no Perceptron. Fonte: (BUDUMA; LACASCIO, 2017).

De acordo com Bell (2015), uma das chaves para compreender uma RNA ´e estar ciente de que a aplicac¸˜ao de determinado modelo implica na incerteza da relac¸˜ao entre os n´os

(24)

de entrada e sa´ıda, mesmo havendo um palpite. Bell continua, afirmando que se houvesse conhecimento disso, um outro algoritmo de aprendizado de m´aquina se faria suficiente.

Em resumo, uma rede neural pode ser definida como uma m´aquina capaz de simular o funcionamento do c´erebro no ˆambito de realizar uma tarefa espec´ıfica de acordo com o interesse, baseado no aprendizado gerado pelo ambiente em que est´a inserida. A rede pode ser implementada atrav´es de programac¸˜ao em computadores digitais ou pela utilizac¸˜ao de componentes eletrˆonicos. As sec¸˜oes seguintes trar˜ao definic¸˜oes para os segmentos de uma rede neural.

3.1 PERCEPTRONS

O perceptron ´e um modelo de classificador bin´ario linear com uma relac¸˜ao simples de entrada-sa´ıda (PATTERSON; GIBSON, 2017). ´E a forma mais prim´aria de uma rede neural usada para classificac¸˜ao de padr˜oes linearmente separ´aveis, ou seja, que se encontram em lados opostos de um hiperplano (HAYKIN, 2008). ´E composto, basicamente, por um ´unico neurˆonio seguido de um bias, tamb´em chamado de vi´es (CHOW; CHO, 2007). Patterson e Gibson (2017) definem o vi´es como valor escalar adicionado `a entrada para garantir que no m´ınimo alguns n´os por camada sejam ativados, n˜ao importando a intensidade do sinal. O vi´es permite que o aprendizado ocorra, possibilitando a rede tentar novas interpretac¸˜oes ou comportamentos sendo modificado durante todo o processo. A Figura 5 representa uma estrutura b´asica do fluxo de sinal do perceptron.

Assim como o biol´ogico, o neurˆonio artificial recebe n´umeros de entrada, x1, x2, ...,

xm, cada um deles sendo multiplicado por um peso espec´ıfico, w1, w2, ..., wm. Essas entradas

ponderadas s˜ao somadas ao Bias (b), parˆametro polarizador, e conduzidas para a func¸˜ao de ativac¸˜ao (ϕ(.)) respons´avel por determinar o sinal de sa´ıda. Por conseguinte, o neurˆonio produz uma sa´ıda 1 para entradas positivas do limitador e -1 para negativas (MITCHELL, 1997; HAYKIN, 2008; BUDUMA; LACASCIO, 2017). Essa func¸˜ao de ativac¸˜ao ´e denominada func¸˜ao Threshold ou, traduzida literalmente, func¸˜ao limiar. Est´a descrita por Alpaydin (2004):

ϕ (a) = (

1 se a > 0

0 de outra f orma

(25)

Figura 5 – Fluxo de sinal do perceptron. Fonte: Adaptado (HAYKIN, 2008).

pelo somat´orio das entradas com seus respectivos pesos somado ao vi´es, demonstrado na Equac¸˜ao 3. υ = m

i=1 wixi+ b (3)

A finalidade do perceptron ´e classificar o conjunto de est´ımulos externos aplicados em uma das classes do hiperplano, C1 ou C2. Cada n´o de sua estrutura possui em sua sa´ıda um

valor limitante. A classificac¸˜ao ´e decidida considerando as entradas x1, x2, ..., xm ponderadas

com seus respectivos pesos w1, w2, ..., wme, se o resultado somado ´e superior ao limite, atribui

a sa´ıda +1 e, consequentemente, aponta para a classe C1. Em contrapartida, atribui a sa´ıda -1

apontando para a classe C2quando o somat´orio das entradas ´e inferior ao valor limite. O espac¸o

representante da classificac¸˜ao abrange um mapa de regi˜oes de decis˜ao m-dimensional medido pelas m vari´aveis de entrada, x1, x2, ..., xm. Em sua forma rudimentar, existem duas regi˜oes

separadas por um hiperplano, conforme ilustrado na Figura 6. Essa representac¸˜ao ocorre quando tem-se duas vari´aveis de entrada, tornando poss´ıvel a separac¸˜ao do limite de decis˜ao por meio de uma linha reta. O vi´es representa o fator num´erico respons´avel por afastar esse limite da origem (MITCHELL, 1997; HAYKIN, 2008; BELL, 2015).

Para a representac¸˜ao bidimensional, o limite de decis˜ao ´e definido pela Equac¸˜ao 4. Os pesos do perceptron podem receber valor zero ou qualquer outro, assim como os valores das entradas podem ser positivos ou negativos (HAYKIN, 2008; BELL, 2015).

w1x1+ w2x2+ b = 0 (4)

Segundo Mitchell (1997), um ´unico perceptron ´e capaz de representar todas as func¸˜oes booleanas primitivas E (AND), OU (OR), ¬ E (¬ AND) e ¬ OU (¬ OR). Essa capacidade

(26)

Figura 6 – Mapa de regi˜oes bidimensional de um perceptron separadas por um hiperplano. Fonte: Adaptado (HAYKIN, 2008).

´e importante pois cada uma dessas primitivas pode ser representada por uma determinada rede de unidades interconectadas. Entretanto, existem func¸˜oes booleanas que n˜ao podem ser caracterizadas por um ´unico perceptron, como o caso da func¸˜ao XOR (OU exclusivo), cujo valor de sa´ıda ´e 1 se, e somente se, a relac¸˜ao l´ogica entre suas entradas x1e x2forem diferentes

(x16= x2). Essa exclusividade faz com que a regi˜ao de classificac¸˜ao seja definida pelos quatro

cantos de um hipercubo bidimensional, cada um representado pelos padr˜oes de entrada (0,0), (0,1), (1,0) e (1,1). Nessa ordem, a primeira e quarta entrada correspondem `a sa´ıda 1, enquanto que a segunda e terceira resultam na sa´ıda 0. Na Figura 7 (a) tem-se a representac¸˜ao de um problema linearmente separ´avel em comparac¸˜ao com o caso XOR, ilustrado na Figura 7 (b). Os padr˜oes de entrada que geram sa´ıdas iguais se encontram em cantos opostos do quadrado unit´ario, tornando imposs´ıvel representar o limite de decis˜ao atrav´es de uma linha reta, caracterizando o caso XOR em um problema n˜ao-linearmente separ´avel (HAYKIN, 2008; GOODFELLOW et al., 2016).

Uma vez que um perceptron de camada ´unica n˜ao ´e capaz de representar modelos booleanos como o XOR, se faz necess´ario introduzir a soluc¸˜ao formulada para os problemas n˜ao-linearmente separ´aveis, os perceptrons multicamadas.

(27)

Figura 7 – Limite de decis˜ao para perceptron com duas entradas. Fonte: (MITCHELL, 1997).

3.2 PERCEPTRONS MULTICAMADAS

Os perceptrons multicamadas (MLP, do inglˆes Multilayer Perceptron) s˜ao redes neurais parecidas com os perceptrons, por´em, com mais de uma camada de neurˆonios em alimentac¸˜ao direta (em inglˆes Multilayer Feed-Forward Networks) (RUSSEL; NORVIG, 2010). Um MLP tem sua estrutura composta por uma camada de entrada, uma ou mais camadas ocultas e uma camada de sa´ıda. Cada camada pode possuir um ou mais neurˆonios artificias, semelhantes aos seus precursores na estrutura do perceptron. Todavia, cada neurˆonio pode assumir uma func¸˜ao de ativac¸˜ao diferente, dependendo da finalidade espec´ıfica da camada em toda rede. Um MLP possui sua composic¸˜ao semelhante ao seu predecessor, contudo, acrescenta flexibilidade `a rede com uma variedade maior de camadas de ativac¸˜ao que podem ser utilizadas para gerar diferentes valores de sa´ıda (PATTERSON; GIBSON, 2017). Segundo Haykin (2008), este modelo de rede exibe um alto grau de conectividade, cuja extens˜ao ´e determinada por seus pesos sin´apticos.

Embora o MLP tenha significado um avanc¸o na ´area de redes neurais, Haykin afirma que a representac¸˜ao da n˜ao linearidade distribu´ıda desse modelo representa uma dificuldade de entendimento te´orico sobre o mesmo. Al´em disso, a presenc¸a de camadas e neurˆonios ocultos torna complexo o processo de aprendizagem pelo perceptron. Implicitamente, esse processo deve decidir quais caracter´ısticas do padr˜ao de entrada devem ser moldadas pelos neurˆonios ocultos, fazendo com que a busca seja realizada num espac¸o muito maior de poss´ıveis func¸˜oes. A escolha, portanto, ´e feita entre as representac¸˜oes alternativas do padr˜ao de entrada.

A composic¸˜ao dessas in´umeras poss´ıveis func¸˜oes ´e o que permite classificar o padr˜ao Feedforwardcomo sendo uma rede. O modelo ´e associado a um gr´afico ac´ıclico reproduzindo

(28)

o funcionamento dessas func¸˜oes agregadas. Como exemplo, pode-se levar em considerac¸˜ao um conjunto de trˆes func¸˜oes f(1), f(2)e f(3)conectadas a uma cadeia representando a func¸˜ao global f(x) = f(3)( f(2)( f(1)(x))). Tal estrutura em cadeia ´e correntemente usada para representar redes neurais. Para o caso descrito, a func¸˜ao f(1) representa a primeira camada da rede, f(2) caracteriza a segunda camada e, por fim, f(3) define a ´ultima camada. O comprimento total da cadeia representada pelo conjunto de func¸˜oes ´e o que configura a profundidade do modelo (GOODFELLOW et al., 2016). A representac¸˜ao do exemplo ´e ilustrada na Figura 8.

Na sec¸˜ao 3.2 foi apresentado o problema XOR e como suas combinac¸˜oes l´ogicas impedem a classificac¸˜ao atrav´es de um perceptron de camada ´unica. No mundo multicamadas, esse problema pode ser resolvido usando um perceptron formado por uma camada oculta composta por dois neurˆonios (HAYKIN, 2008). O gr´afico estrutural e de fluxo da rede s˜ao representados pelas Figuras 9 (a) e (b), respectivamente. O caso XOR fornece uma func¸˜ao objetivo que o perceptron est´a interessado em aprender. De in´ıcio, a estrutura do perceptron oferece uma func¸˜ao com parˆametros que ser˜ao utilizados por algoritmos de aprendizado para tentar aproximar ao m´aximo da func¸˜ao objetivo (GOODFELLOW et al., 2016).

Figura 8 – Representac¸˜ao de um perceptron multicamadas com trˆes camadas ocultas. Fonte: Adaptado (GOODFELLOW et al., 2016).

Cada neurˆonio ´e representado por um modelo McCulloch–Pitts, utilizando Threshold como func¸˜ao de ativac¸˜ao. Respectivamente, os bits de entrada 0 e 1 s˜ao figurados pelos n´ıveis 0 e +1. O neurˆonio de sa´ıda tem como responsabilidade gerar uma combinac¸˜ao linear dos limites de decis˜ao formados pelos neurˆonios da camada oculta, com os c´alculos sendo determinados pela func¸˜ao de ativac¸˜ao escolhida (BELL, 2015).

Para o exemplo at´e ent˜ao descrito, o neurˆonio superior ´e composto pelos pesos w11=

(29)

uma inclinac¸˜ao de decis˜ao mostrada na Figura 10 (a). Da mesma maneira, tem-se o neurˆonio oculto inferior com pesos w21= w22= +1 e valor de vi´es b2= −12. Sua inclinac¸˜ao de decis˜ao

no espac¸o bidimensional ´e representada pela Figura 10 (b). Finalmente, o neurˆonio de sa´ıda possui pesos sin´apticos w31 = −2, w32 = +1 e vi´es b3= −12. O neurˆonio inferior da camada

oculta possui conex˜ao positiva com a sa´ıda, em contrapartida, o neurˆonio superior tem conex˜ao inibit´oria (negativa) com o neurˆonio de sa´ıda. No momento em que ambos est˜ao desligados, ou seja, quando os valores de entrada s˜ao (0,0), o neurˆonio de sa´ıda permanece desativado. No momento em que os valores de entrada forem (1,1), tornando ativos os neurˆonios ocultos, o neurˆonio de sa´ıda ´e novamente desligado. Isso ocorre pois o efeito inibit´orio gerado pelo maior peso negativo ligado ao neurˆonio oculto superior, supera o efeito de excitac¸˜ao que o peso positivo conectado ao neurˆonio inferior fornece. Por fim, no momento em que o neurˆonio superior est´a desligado e o inferior ligado, representando as entradas (0,1) e (1,0), o neurˆonio de sa´ıda ´e ativado grac¸as ao efeito positivo gerado pelo neurˆonio inferior. A Figura 10 (c) exp˜oe o gr´afico que demonstra a nova capacidade que o perceptron adquiri ao separar as regi˜oes por diferentes sa´ıdas, semelhante ao perceptron de camada ´unica nas func¸˜oes l´ogicas mais b´asicas (HAYKIN, 2008).

Figura 9 – Arquitetura gr´afica de uma rede capaz de resolver o problema XOR. Fonte: Adaptado (HAYKIN, 2008)

Assim como o perceptron de camada ´unica utiliza a func¸˜ao limiar para decidir o sinal de sa´ıda do neurˆonio na rede, os multicamadas tamb´em se disp˜oe de ativadores capazes de trabalhar com parˆametros probabil´ısticos para analisar riscos, decidindo sinais de m´ultiplas unidades de neurˆonios. A Sec¸˜ao 3.3 apresenta as caracter´ısticas de algumas dessas func¸˜oes.

(30)

Figura 10 – Inclinac¸˜oes de decis˜ao constru´ıda pela rede perceptron multicamadas para resoluc¸˜ao do problema XOR.

Fonte: Adaptado (HAYKIN, 2008)

3.3 FUNC¸ ˜OES DE ATIVAC¸ ˜AO PARA FEEDFORWARD PERCEPTRONS

Nesta sec¸˜ao ser˜ao abordadas trˆes func¸˜oes de ativac¸˜ao pertencentes ao ambiente multicamadas, a sigm´oide, ReLu e softmax.

Ao tratar de perceptrons prim´arios como o modelo de McCulloch–Pitts, tem-se func¸˜oes que transmitem sinais de entrada praticamente inalterados, representando uma transformada linear (PATTERSON; GIBSON, 2017). Diferentemente das transformadas lineares, as func¸˜oes de ativac¸˜ao em FeedForward perceptrons trabalham com valores reais diversos para gerar aprendizado, transformando a n˜ao linearidade em algo compreens´ıvel (BUDUMA; LACASCIO, 2017).

Em redes MLP, a func¸˜ao de ativac¸˜ao mais frequentemente utilizada ´e a sigm´oide, tamb´em denominada sigm´oide log´ıstica (CHOW; CHO, 2007; GOODFELLOW et al., 2016). Como todas as transformac¸˜oes log´ısticas, a sigm´oide consegue reduzir valores extremos em

(31)

dados sem a necessidade de removˆe-los, ou seja, converte vari´aveis independentes com alcance quase tendendo ao infinito em probabilidades simples no intervalo entre 0 e 1 (PATTERSON; GIBSON, 2017). Intuitivamente, quando o modelo l´ogico ´e muito pequeno, a sa´ıda l´ogica do neurˆonio ´e muito pr´oxima de 0. Por outro lado, ao assumir um modelo l´ogico muito grande, a sa´ıda l´ogica do neurˆonio ´e pr´oxima de 1 (BUDUMA; LACASCIO, 2017). Isso remete `a insensibilidade que a func¸˜ao assume em relac¸˜ao a pequenas mudanc¸as em seus valores de entrada (GOODFELLOW et al., 2016). Esse comportamento gera um gr´afico em forma de “S” como mostrado na Figura 11. A definic¸˜ao da func¸˜ao sigm´oide ´e dada pela Equac¸˜ao 5, onde zrepresenta os valores reais de entrada (BUDUMA; LACASCIO, 2017).

f(z) = 1

1 + e−z (5)

Embora muito utilizada, a func¸˜ao sigm´oide possui desvantagens que acabam desencorajando seu uso. A saturac¸˜ao generalizada para valores altos e baixos nas unidades sigmoidais torna o aprendizado baseado em gradientes custoso. Entretanto, caso sejam utilizadas func¸˜oes de custo para remover a saturac¸˜ao na camada de sa´ıda, o aprendizado por gradiente se torna poss´ıvel. Essas func¸˜oes s˜ao mais apropriadas para redes recorrentes, modelos probabil´ısticos e auto decodificadores pois, apesar dos problemas de saturac¸˜ao, utilizam recursos que descartam o uso de func¸˜oes de ativac¸˜ao linear por partes (GOODFELLOW et al., 2016).

Figura 11 – Gr´afico da func¸˜ao sigm´oide log´ıstica. Fonte: (PATTERSON; GIBSON, 2017)

Outro modelo de n˜ao linearidade ´e descrito pela func¸˜ao ReLu (do inglˆes restricted linear unit neuron), neurˆonio de unidade linear restrita (BUDUMA; LACASCIO, 2017). Essa

(32)

transformac¸˜ao se torna mais interessante, pois a ativac¸˜ao do n´o s´o ocorre se o valor de entrada estiver acima de uma determinada quantidade limitante. Em n´umeros, caso esse valor esteja abaixo de zero, a sa´ıda assume sempre valor 0. No ponto em que os valores ultrapassam um certo limite, a sa´ıda acaba gerando uma relac¸˜ao linear com a vari´avel dependente. Essa configurac¸˜ao estabelece a Equac¸˜ao 6 para a func¸˜ao ReLu (PATTERSON; GIBSON, 2017). Seu comportamento ´e demonstrado na Figura 12.

f(z) = max(0, z) (6)

Figura 12 – Gr´afico do comportamento da func¸˜ao ReLu. Fonte: (PATTERSON; GIBSON, 2017).

Segundo Patterson e Gibson (2017) as unidades lineares retificadas s˜ao o atual estado da arte pois provaram-se eficientes para diferentes aplicac¸˜oes. S˜ao f´aceis de otimizar devido `a semelhanc¸a com as unidades lineares. Tal como mostrado no gr´afico da Figura 12, metade de seu dom´ınio ´e 0, fazendo com que o resultado de derivadas atrav´es da func¸˜ao de retificac¸˜ao permanec¸a grande e consistente sempre que a unidade estiver ativa. Matematicamente, na operac¸˜ao de retificac¸˜ao, a segunda derivada ´e 0 em quase toda parcela, recebendo 1 nos lugares ativos da unidade. Essa caracter´ıstica induz a importˆancia da direc¸˜ao do gradiente na utilidade ao aprendizado da rede (GOODFELLOW et al., 2016).

(33)

uma desvantagem em relac¸˜ao ao aprendizado. Em exemplos nos quais sua ativac¸˜ao ´e zero, a aprendizagem por meio de gradientes se torna nula. Existem algumas generalizac¸˜oes que capacitam as unidades lineares retificadoras a receber gradiente em todo lugar. Tanto as ReLu propriamente ditas, como suas generalizac¸˜oes s˜ao baseadas no princ´ıpio de que os modelos s˜ao mais facilmente otimizados quando o comportamento se aproxima do linear.

A ´ultima func¸˜ao de ativac¸˜ao abordada nesta sec¸˜ao ´e a chamada func¸˜ao softmax. A softmax pode ser considerada como um tipo de func¸˜ao sigm´oide, por´em, ´e muito utilizada em redes neurais com o prop´osito de resolver problemas de classificac¸˜ao (BUDUMA; LACASCIO, 2017). Como referido anteriormente, a func¸˜ao sigm´oide realiza a classificac¸˜ao das entradas no neurˆonio em duas classes distintas. Entretanto, para problemas maiores, apenas duas classes n˜ao s˜ao suficientes. A func¸˜ao softmax transforma as sa´ıdas de cada classe em valores entre 0 e 1, dividindo pelo somat´orio de sa´ıdas. Esse procedimento desmascara a principal caracter´ıstica dessa func¸˜ao: trabalhar com vetores de probabilidade para um valor de entrada associando-o `a uma determinada sa´ıda. ´E definida pela Equac¸˜ao 7, onde i representa o ´ındice do neurˆonio de sa´ıda e j os ´ındices de todos os neurˆonios de um n´ıvel (GOODFELLOW et al., 2016; PATTERSON; GIBSON, 2017).

so f tmax(x)i=

e(xi)

∑nj=1e(xj)

(7)

Como exemplo num´erico, considera-se o vetor de sa´ıdas [1,2, 0,9, 0,75]. Ao aplicar a func¸˜ao softmax, tem-se como vetor resultado [0.42, 0.31, 0.27]. Esse vetor resultante pode, ent˜ao, ser usado como probabilidades para definir a qual classe pertence cada valor de entrada (ACADEMY, 2018).

A escolha de uma func¸˜ao de ativac¸˜ao depende ´unica e exclusivamente do problema a ser resolvido por uma rede neural. Em resumo, saber que a sigm´oide e suas ramificac¸˜oes, juntamente com a softmax resolvem problemas de classificac¸˜ao e que a func¸˜ao ReLu ´e usada na camada oculta do escopo neural, fornece uma orientac¸˜ao sobre onde e como aplicar essas func¸˜oes.

3.4 ALGORITMO BACKPROPAGATION

Nas sec¸˜oes anteriores, foi apresentando que redes neurais artificias feedforward possuem neurˆonios em camadas ocultas respons´aveis por dissipar as informac¸˜oes recebidas

(34)

para a camada de sa´ıda. A passagem desses dados ´e conhecida como propagac¸˜ao direta (GOODFELLOW et al., 2016). Embora a capacidade de aprendizado de uma rede aumente conforme cresce o n´umero de camadas ocultas, a presenc¸a dessas estruturas torna cada vez mais complicado fluir resultados precisos entre elas (RUSSEL; NORVIG, 2010).

Pode-se entender como erro um valor inesperado passado pelas camadas ocultas (HAYKIN, 2008). Ao chegar `a camada de sa´ıda o erro ´e claramente notado, entretanto, para as camadas ocultas esse valor nada mais ´e do que um n´umero, pois os dados de treinamento n˜ao as informam qual valor possuir. Felizmente, esses dados errˆoneos podem ser retrocedidos para as camadas ocultas a fim de calcular o gradiente e usar como mecanismo de predic¸˜ao (MITCHELL, 1997; RUSSEL; NORVIG, 2010). Esse procedimento ´e denominado backpropagation, traduzido para o portuguˆes como retropropagac¸˜ao. As redes neurais profundas utilizam-se de m´etodos de deep learning para realizar o treinamento do aprendizado e, fundamentalmente, fazem uso do backpropagation (BASSIS et al., 2016). Esse algoritmo foi pec¸a chave para tornar modelos profundos algo computacionalmente trat´avel. Ao longo do tempo, foi reinventado de diversas maneiras e aplicado `a in´umeras ´areas como an´alise de estabilidade num´erica e previs˜ao do clima (ACADEMY, 2018).

Essencialmente, o backpropagation ´e uma maneira computacionalmente eficiente de calcular derivadas em uma func¸˜ao de custo complexa. ´E atrav´es dessas derivadas que a rede neural gera parˆametros dos coeficientes de peso obtendo aprendizado. Matematicamente, a regra da cadeia em operac¸˜oes derivativas ´e fundamental para o funcionamento do algoritmo, pois s˜ao esses c´alculos os respons´aveis por “medir” a influˆencia que os neurˆonios tˆem entre si (HAYKIN, 2008; RUSSEL; NORVIG, 2010; GROSAN; ABRAHAM, 2011). Considera-se, como exemplo, uma func¸˜ao f (g(x)) = y no qual a derivada de x em relac¸˜ao a y ´e definida pela Equac¸˜ao 8 (RASCHKA, 2015). δ y δ x = δ f δ g δ g δ x (8)

Em outras palavras, ´e a soma de todos os poss´ıveis caminhos de um neurˆonio para outro, multiplicando as derivadas em cada aresta (ACADEMY, 2018).

O backpropagation pode ser dividido em trˆes etapas (MITCHELL, 1997; GROSAN; ABRAHAM, 2011):

1. Propagac¸˜ao direta das entradas (feedforward); 2. Retropropagac¸˜ao do erro (backpropagation); 3. Ajuste dos pesos.

A aplicac¸˜ao do algoritmo envolve a utilizac¸˜ao de func¸˜oes de ativac¸˜ao cont´ınuas, diferenci´aveis (permitem derivadas parciais) e monotonicamente n˜ao decrescentes. Uma das func¸˜oes discutidas na Sec¸˜ao 3.3 e mais utilizadas ´e a sigm´oide, com sua derivada definida por

(35)

f0(z) = f (z)[1 − f (z)] (HAYKIN, 2008; GROSAN; ABRAHAM, 2011; GOODFELLOW et al., 2016).

Segundo Grosan e Abraham (2011), o modo com que os pesos s˜ao iniciados influencia diretamente na velocidade com que a rede neural alcanc¸a o objetivo, sendo de extrema importˆancia evitar que esses valores resultem em derivadas ou func¸˜oes de ativac¸˜ao zero. Grosan e Abraham ponderam que valores demasiadamente grandes para os pesos iniciais fazem com que o resultado gerado pela func¸˜ao sigm´oide seja muito pequeno. Em contrapartida, valores muito pequenos fazem com que a entrada da rede seja pr´oxima de zero para os neurˆonios ocultos e de sa´ıda, causando aprendizado lento. Por convenc¸˜ao, uma maneira padr˜ao de se inicializar os pesos ´e escolher valores aleat´orios no intervalo entre [-0,5, 0,5]. Haykin (2008) prop˜oe levar em considerac¸˜ao o n´umero total de entradas do neurˆonio (Fi) na rede para inicializar os pesos,

definindo o intervalo em [-2,4/Fi, 2,4/Fi].

A primeira etapa, tamb´em denominada feedforward, consiste na transmiss˜ao de sinais pelos neurˆonios da camada de entrada para todos os neurˆonios da camada oculta. Na camada de sa´ıda, os neurˆonios calculam seu fator de ativac¸˜ao, produzindo a resposta da rede em relac¸˜ao ao sinal inicialmente fornecido. Esses valores s˜ao comparados com o resultado alvo correspondente afim de determinar o erro associado ao padr˜ao. No momento em que o erro ´e computado, ele retrocede para as camadas anteriores, dando in´ıcio `a segunda etapa do algoritmo (GROSAN; ABRAHAM, 2011; BELL, 2015).

O backpropagation se inicia na camada de sa´ıda e afeta toda camada oculta (RUSSEL; NORVIG, 2010). Para fins explicativos, considera-se a Figura 13 que representa uma estrutura simples de uma rede neural.

Figura 13 – Exemplo de estrutura feedforward de uma rede neural. Fonte: Adaptado (GROSAN; ABRAHAM, 2011).

(36)

A porc¸˜ao de ajuste do erro ´e calculada para cada neurˆonio Yk na camada de sa´ıda e

distribu´ıdo para todos os neurˆonios da camada oculta conectados ao neurˆonio Yk. Esse mesmo

ajuste ´e respons´avel por atualizar os pesos Wjkque conectam os neurˆonios da camada oculta aos neurˆonios da camada de sa´ıda. O mesmo c´alculo ´e feito para os neurˆonios Zjna camada oculta,

atualizando os pesos Vi j entre os neurˆonios de entrada e os neurˆonios ocultos. No exemplo da

Figura 13 existe apenas uma camada oculta, logo, n˜ao se faz necess´ario retroceder o erro para a camada de entrada (GROSAN; ABRAHAM, 2011).

3.5 REDES NEURAIS CONVOLUCIONAIS

As redes neurais convolucionais, conhecidas pela sigla CNN (do inglˆes Convolutional Neural Networks) s˜ao classes especiais de perceptrons multicamadas aplicadas principalmente na ´area de processamento de imagens digitais com o objetivo de reconhecer padr˜oes (HAYKIN, 2008). Essa efic´acia na classificac¸˜ao de imagens ´e uma das principais raz˜oes do reconhecimento que o mundo deu ao poder do deep learning (HOPE et al., 2017).

A criac¸˜ao das CNN’s teve inspirac¸˜ao biol´ogica no c´ortex visual dos animais. As c´elulas que comp˜oe essa estrutura s˜ao extremamente sens´ıveis a pequenas regi˜oes de entrada, dispostas lado a lado com o prop´osito de cobrir todo o campo visual. Esse conjunto de c´elulas atua como um filtro coletando informac¸˜oes espaciais das imagens processadas pelo c´erebro identificando formas e padr˜oes. ´E devido `a essa inspirac¸˜ao que as CNN’s s˜ao fortemente usadas quando a base de dados s˜ao imagens (PATTERSON; GIBSON, 2017).

Na Sec¸˜ao 3.2 foram descritas as redes neurais feedforward e como s˜ao estruturadas as ligac¸˜oes entre os neurˆonios de suas camadas. ´E importante comparar esse modelo `a CNN pois as principais caracter´ısticas da convoluc¸˜ao surgem atrav´es da otimizac¸˜ao de tarefas que, em redes multicamadas feedforward, requisitaria grande quantidade de processamento (RASCHKA, 2015). Tarefas, essas, associadas com a utilizac¸˜ao de imagens como dados de entrada. Uma simples imagem de 32 p´ıxeis de largura por 32 p´ıxeis de altura, contendo trˆes canais de informac¸˜ao RGB produz um total de 3.072 (trˆes mil e setenta e dois) pesos por neurˆonio em uma camada oculta. Considerando que h´a diversos neurˆonios presentes na camada, esse resultado seria multiplicado pelo total de neurˆonios presentes. Essa imensa gama de conex˜oes existentes em redes neurais feedforward tradicionais exige um certo custo de processamento invi´avel para este tipo de dado (PATTERSON; GIBSON, 2017).

(37)

A estrutura de uma CNN possui camadas com neurˆonios arranjados em trˆes dimens˜oes: largura, altura e profundidade. Essa configurac¸˜ao se encaixa perfeitamente no tratamento de imagens, considerando os p´ıxeis como altura e largura e a informac¸˜ao RGB como profundidade (RASCHKA, 2015; GOODFELLOW et al., 2016; PATTERSON; GIBSON, 2017). Como demonstrado na Figura 14, os neurˆonios em uma camada convolucional se conectam `a pequenas regi˜oes locais das camadas anteriores, abstendo-se do desperd´ıcio de uma conex˜ao completa entre os mesmos, como ocorre em redes feedforward. Pode-se resumir que a func¸˜ao de uma camada convolucional ´e receber e processar informac¸˜oes tridimensionais produzindo resultados de mesma dimens˜ao (BUDUMA; LACASCIO, 2017).

Figura 14 – Representac¸˜ao de largura, altura e profundidade de camadas convolucionais. Fonte: (BUDUMA; LACASCIO, 2017).

As camadas convolucionais possuem, entre si, as chamadas interac¸˜oes esparsas (conectividade esparsa ou pesos esparsos), arranjos que tornam o kernel menor que a entrada (HAYKIN, 2008). Durante o processamento de uma imagem com milh˜oes ou milhares de p´ıxeis, por exemplo, a convoluc¸˜ao ´e capaz de coletar informac¸˜oes que ocupem somente centenas ou dezenas de p´ıxeis. Al´em de eficiˆencia, reduz os c´alculos de sa´ıda (HAYKIN, 2008; GOODFELLOW et al., 2016). A Figura 15 demonstra a comparac¸˜ao entre a conectividade esparsa e a conectividade completa presente nas redes multicamadas tradicionais. A camada de sa´ıda s ´e formada por convoluc¸˜ao e as unidades x afetam esses neurˆonios. Com a camada de sa´ıda formada por convoluc¸˜ao de kernel 3, apenas trˆes unidades s˜ao afetadas por x3(Figura

15(a)). Por outro lado, a utilizac¸˜ao de multiplicac¸˜ao de matrizes faz com que todos os neurˆonios sejam afetados por x3(Figura 15(b)) (GOODFELLOW et al., 2016).

(38)

Figura 15 – Representac¸˜ao comparativa entre convoluc¸˜ao e multiplicac¸˜ao de matrizes em camadas de redes neurais.

Fonte: Adaptado (GOODFELLOW et al., 2016).

As CNN’s possuem diversas variac¸˜oes de estrutura interna, entretanto, s˜ao baseadas em uma sequˆencia padronizada de camadas (PATTERSON; GIBSON, 2017). S˜ao elas, respectivamente:

1. Camada de entrada;

2. Camadas de extrac¸˜ao de caracter´ıstica; 3. Camadas de classificac¸˜ao.

Para realizar a extrac¸˜ao de recursos, a CNN se organiza em um padr˜ao de repetic¸˜ao composto por camadas convolucionais seguidas de camadas de pooling (tamb´em denominadas camadas de agrupamento) (RASCHKA, 2015; HOPE et al., 2017). Essa organizac¸˜ao ´e respons´avel por extrair as caracter´ısticas nas imagens e construir recursos de ordem superior. As camadas de classificac¸˜ao s˜ao completamente conectadas aos neurˆonios da camada anterior, encarregadas de produzir as probabilidades e pontuac¸˜oes apontando as classes pertencentes. O resultado produzido na sa´ıda possui dimens˜ao [axN], ou seja, a relac¸˜ao entre o n´umero de amostras (a) pelo n´umero de classes existentes (N) (PATTERSON; GIBSON, 2017). As camadas convolucionais s˜ao consideradas os blocos estruturais mais importantes na construc¸˜ao de uma CNN, sendo respons´aveis por transformar os dados de entrada (RASCHKA, 2015; GOODFELLOW et al., 2016). Para tal, se utilizam de um conjunto de neurˆonios

(39)

conectados localmente `a camada anterior. Por conseguinte, ocorre o c´alculo dos pontos entre a regi˜ao dos neurˆonios na camada de entrada e seus pesos associados localmente na camada de sa´ıda (PATTERSON; GIBSON, 2017).

Segundo Haykin (2008) e Patterson e Gibson (2017) as camadas convolucionais s˜ao compostas de parˆametros e hiperparˆametros usados para realizar o treinamento e gerar as pontuac¸˜oes nas respectivas classes. Os principais componentes s˜ao:

• Filtros (kernel); • Mapas de ativac¸˜ao;

• Compartilhamento de parˆametros; • Hiperparˆametros espec´ıficos.

´

E por meio de uma operac¸˜ao matem´atica fundamental chamada convoluc¸˜ao que todo o processo de transformac¸˜ao ocorre (GOODFELLOW et al., 2016). A convoluc¸˜ao pode ser basicamente definida como uma regra capaz de mesclar dois conjuntos de informac¸˜ao, ou seja, um detector de recursos (PATTERSON; GIBSON, 2017). Como essas camadas podem se repetir atrav´es da estrutura de uma CNN, os dados recebidos podem ser brutos ou simplesmente informac¸˜oes vindas de outras convoluc¸˜oes. Essa caracter´ıstica introduz o conceito de filtro `a convoluc¸˜ao, j´a que o kernel seleciona determinados tipos de informac¸˜ao. Por exemplo, uma CNN que utiliza um kernel no processamento de uma imagem digital para obter informac¸˜oes de borda (RASCHKA, 2015; PATTERSON; GIBSON, 2017).

Um exemplo de como o filtro se comporta ´e ilustrado na Figura 16. A cada iterac¸˜ao, o kernel ´e multiplicado pelos valores recebidos da camada de entrada criando uma ´unica referˆencia numa estrutura bidimensional denominada mapa de caracter´ısticas, tamb´em conhecido como mapa de ativac¸˜ao. Recebe esse nome pois a ac¸˜ao de “ativar” do kernel permite que as informac¸˜oes transloquem do volume de entrada para o de sa´ıda. Nesse mapa est˜ao armazenados todos os valores resultantes da aplicac¸˜ao do kernel (HOPE et al., 2017; PATTERSON; GIBSON, 2017). Como cada valor de entrada possui seus respectivos pesos e vi´es, a gerac¸˜ao do mapa de ativac¸˜ao pode ser resultada da Equac¸˜ao 9, onde k representa a caracter´ıstica no mapa de ativac¸˜ao, W se refere aos pesos e b ao vi´es (BUDUMA; LACASCIO, 2017).

mki j = f ((W ∗ x)i j+ bk) (9)

O kernel n˜ao ´e utilizado apenas em um ´unico mapa de recursos. Sua operac¸˜ao ocorre em todo conjunto de mapas de caracter´ısticas gerados por uma certa camada. Para reconhecimento de faces durante um processamento de imagem, por exemplo, ´e preciso acumular mapas de ativac¸˜ao para os olhos, nariz e boca. A face ´e reconhecida quando os

(40)

locais correspondentes nos mapas de ativac¸˜ao primitivos possuem os recursos apropriados, ou seja, dois olhos, um nariz e uma boca. Concluindo, as decis˜oes tomadas pela camada de sa´ıda devem levar em considerac¸˜ao a combinac¸˜ao de v´arios mapas de caracter´ısticas (BUDUMA; LACASCIO, 2017).

Figura 16 – Operac¸˜ao de convoluc¸˜ao por meio de um kernel. Fonte: Adaptado (PATTERSON; GIBSON, 2017).

Sabe-se que uma CNN possui conex˜ao local entre os neurˆonios e suas camadas. Essa conectividade ´e controlada por um hiperparˆametro denominado campo receptivo, encarregado de coordenar o quanto de largura e altura o filtro ir´a mapear (GOODFELLOW et al., 2016; PATTERSON; GIBSON, 2017).

O terceiro item citado no in´ıcio ´e o compartilhamento de parˆametros. Esse esquema ´e utilizado pelas CNN’s para administrar o total de parˆametros, procedimento determinante no tempo de treinamento levado pela rede neural (HAYKIN, 2008). O m´etodo ocorre selecionando partes menores das camadas de convoluc¸˜ao, em que cada neurˆonio utilizar´a os mesmos pesos e vi´es. Isso reduz o n´umero de parˆametros referenciados pela camada. A ac¸˜ao de compartilhar resulta na invariˆancia da CNN `a traduc¸˜ao e posic¸˜ao, ou seja, a classificac¸˜ao convolucional independe da posic¸˜ao de uma caracter´ıstica na imagem de entrada. (GOODFELLOW et al., 2016).

Algumas estruturas convolucionais utilizam camadas espec´ıficas para a utilizac¸˜ao da func¸˜ao de ativac¸˜ao ReLu, apresentada na Sec¸˜ao 3.3. O uso dessa func¸˜ao, aplicado no elemento de entrada, muda os valores dos p´ıxeis sem alterar a dimens˜ao dos dados que chegam `a sa´ıda. ´E um fator interessante, j´a que a func¸˜ao ReLu n˜ao possui parˆametros e hiperparˆametros adicionais (PATTERSON; GIBSON, 2017).

Por fim, tem-se os hiperparˆametros espec´ıficos. S˜ao componentes que fornecem o escopo espacial e determina o tamanho do conjunto de informac¸˜oes na sa´ıda da camada convolucional. Compostos pelo tamanho do filtro, a profundidade de sa´ıda, passo (comumente referenciado no inglˆes stride) e o preenchimento de zero (PATTERSON; GIBSON, 2017).

(41)

O primeiro se define pela representac¸˜ao num´erica do filtro, ou seja, dizer que um filtro ´e de tamanho 5 x 5 x 3 significa que possui 5 p´ıxeis de altura por 5 p´ıxeis de largura, com o 3 representando os canais de cores RGB. A profundidade coordena a contagem de neurˆonios conectados `a camada convolucional na regi˜ao do volume de entrada, onde esse conjunto de neurˆonios se denomina coluna de profundidade. O passo diz `a camada convolucional o n´umero de vezes que o filtro deve ser aplicado, ou seja, define a quantidade de colunas de profundidade que a sa´ıda ter´a. Por ´ultimo, o preenchimento de zero ´e utilizado quando se quer administrar o tamanho espacial da camada de sa´ıda, exemplificado quando os volumes de entrada permanecem com o mesmo tamanho espacial ao chegar `a sa´ıda (BUDUMA; LACASCIO, 2017; PATTERSON; GIBSON, 2017).

Para reduzir drasticamente a dimensionalidade dos mapas de caracter´ısticas e aprimor´a-los, ´e necess´ario incluir uma camada de agrupamento m´aximo na sequˆencia de uma camada convolucional, as chamadas camadas de pooling (BUDUMA; LACASCIO, 2017). O princ´ıpio do agrupamento ´e dividir o mapa de recursos em pequenos blocos de mesmo tamanho e organizar um novo mapa contendo todos os recursos condensados. No mapa original de caracter´ısticas, uma c´elula ´e criada e seu valor m´aximo ´e calculado e propagado para o mapa de caracter´ısticas condensadas (GOODFELLOW et al., 2016). A Figura 17 demonstra a operac¸˜ao.

Figura 17 – Representac¸˜ao do agrupamento m´aximo de caracter´ısticas na camada de pooling. Fonte: (BUDUMA; LACASCIO, 2017).

A propriedade fundamental por tr´as da camada de pooling, ´e o fator invariante que ela assume. Isso garante que, mesmo as entradas sofrendo alterac¸˜oes, a sa´ıda de agrupamento m´aximo permanece constante. E um fator importante para algoritmos de reconhecimento´ visual, pois se preocupam em determinar se h´a uma caracter´ıstica na imagem e n˜ao onde est´a localizada. Entretanto, impor invariˆancia demasiadamente faz com que a rede neural perca parte da capacidade de transportar informac¸˜oes importantes, logo, a dimensionalidade espacial

Referências

Documentos relacionados

O primeiro passo para introduzir o MTT como procedimento para mudança do comportamento alimentar consiste no profissional psicoeducar o paciente a todo o processo,

Para preparar a pimenta branca, as espigas são colhidas quando os frutos apresentam a coloração amarelada ou vermelha. As espigas são colocadas em sacos de plástico trançado sem

nesta nossa modesta obra O sonho e os sonhos analisa- mos o sono e sua importância para o corpo e sobretudo para a alma que, nas horas de repouso da matéria, liberta-se parcialmente

No entanto, maiores lucros com publicidade e um crescimento no uso da plataforma em smartphones e tablets não serão suficientes para o mercado se a maior rede social do mundo

3.3 o Município tem caminhão da coleta seletiva, sendo orientado a providenciar a contratação direta da associação para o recolhimento dos resíduos recicláveis,

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

A par disso, analisa-se o papel da tecnologia dentro da escola, o potencial dos recursos tecnológicos como instrumento de trabalho articulado ao desenvolvimento do currículo, e

A tem á tica dos jornais mudou com o progresso social e é cada vez maior a variação de assuntos con- sumidos pelo homem, o que conduz também à especialização dos jor- nais,