Monografia fabiano rates

89
Universidade de Ita´ una Faculdade de Engenharia Curso de Ciˆ encia da Computac ¸˜ ao Fabiano de Oliveira Rates Estudo Comparativo entre os Algoritmos para Treinamento de Redes Neurais Artificiais: Backpropagation e Resilient Propagation Ita´ una 2013

Transcript of Monografia fabiano rates

Page 1: Monografia fabiano rates

Universidade de Itauna

Faculdade de Engenharia

Curso de Ciencia da Computacao

Fabiano de Oliveira Rates

Estudo Comparativo entre os Algoritmos para Treinamento

de Redes Neurais Artificiais: Backpropagation e Resilient

Propagation

Itauna

2013

Page 2: Monografia fabiano rates

Fabiano de Oliveira Rates

Estudo Comparativo entre os Algoritmos para Treinamento

de Redes Neurais Artificiais: Backpropagation e Resilient

Propagation

Monografia apresentada a Faculdade de Engenha-

ria da Universidade de Itauna como requisito par-

cial para a obtencao do tıtulo de BACHAREL em

Ciencia da Computacao.

Orientador: Paulo de Tarso Gomide Castro Silva

Itauna

2013

Page 3: Monografia fabiano rates

Fabiano de Oliveira Rates

Estudo Comparativo entre os Algoritmos para Treinamento

de Redes Neurais Artificiais: Backpropagation e Resilient

Propagation

Monografia apresentada a Faculdade de Engenha-

ria da Universidade de Itauna como requisito par-

cial para a obtencao do tıtulo de BACHAREL em

Ciencia da Computacao.

Aprovado em 05 de Dezembro de 2013

BANCA EXAMINADORA

Paulo de Tarso Gomide Castro Silva

Mestre / PUC-Rio

Zilton Cordeiro Junior

Mestre / Universidade Federal de Minas Gerais

Page 4: Monografia fabiano rates

A minha mae e minha irma.

Em memoria a meu pai.

A minha namorada pelo apoio.

Aos meus amigos pelo companheirismo.

Page 5: Monografia fabiano rates

Resumo

Essa monografia realiza um trabalho comparativo entre dois algoritmos para treinamento

de redes neurais: Backpropagation e Resilient Propagation. A principal diferenca pratica

entre esses algoritmos e que o treinamento atraves do algoritmo Backpropagation demanda

o ajuste de varios parametros a ele pertencentes, enquanto o algoritmo Resilient Propa-

gation nao precisa do ajuste de nenhum parametro antes do treinamento. Entre outros

pontos a serem comparados, com base nessas informacoes, sera analisado se, mesmo nao

possuindo um conjunto tao vasto de configuracoes, o treinamento via Resilient Propaga-

tion apresentara eficacia e eficiencia comparavel ao Backpropagation. Para essa analise

sera considerada a predicao de formas geometricas simples para verificacao como qua-

drado, triangulo e cırculo, apresentando um nıvel de ruıdos significante, ja que os mesmos

serao informados manualmente.

Palavras-chaves: Inteligencia Artificial, Redes Neurais Artificiais, Algoritmos de Trei-

namento, Backpropagation, Resilient Propagation.

Page 6: Monografia fabiano rates

Abstract

This monograph makes a comparative study between two training algorithms for neu-

ral networks: Backpropagation and Resilient Propagation. The main practical difference

between these algorithms is that the training using the Backpropagation algorithm re-

quires the setting of several parameters belonging to it, while the Resilient Propagation

algorithm does not need any parameter tuning before the training. Among other points

to be compared, based on this information, it will be analyzed if, even not having a so

broad set of configurations, the training via Resilient Propagation presents effectiveness

and efficiency comparable to the Backpropagation. For this analysis will be considered

the prediction of simple geometric shapes for verification as square, triangle and circle,

with a significant level of noise, since they will be entered manually.

Keywords: Artificial Intelligence, Artificial Neural Networks, Algorithms Training, Back-

propagation, Resilient Propagation.

Page 7: Monografia fabiano rates

Agradecimentos

Agradeco a Deus por tudo que tem que me dado nessa vida, a toda minha famılia

que tem me dado o apoio que eu precisava, principalmente a minha mae Irene que sempre

esteve junto comigo, me ajudando a ser melhor a cada dia, gracas ao seu aprendizado que

me foi passado, minha irma Franciele pelo grande apoio que meu deu nesse perıodo. A

minha namorada Juliana pela motivacao e compreensao.

Ao meu orientador Paulo Gomide, pelo apoio que me deu para que esse trabalho fosse

realizado.

Agradeco tambem a todos os meus amigos, que me incentivaram a nunca desistir.

Principalmente ao Marcelo pelas discussoes e ideias, e por me ajudar a escolher o tema.

Page 8: Monografia fabiano rates

“O verdadeiro homem mede a sua forca,

quando se defronta com o obstaculo.”

Antoine de Saint-Exupery

Page 9: Monografia fabiano rates

Sumario

Lista de Figuras 10

Lista de Tabelas 13

1 Introducao 15

1.1 Contexto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.2 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.3 Proposta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.4 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.5 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.6 Metodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.7 Escopo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2 Contextualizacao 19

2.1 Inteligencia Artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.1.1 Historia da Inteligencia Artificial . . . . . . . . . . . . . . . . . . . 19

2.1.2 O nascimento da Inteligencia Artificial . . . . . . . . . . . . . . . . 20

2.1.3 Redes Neurais Artificiais . . . . . . . . . . . . . . . . . . . . . . . . 22

2.1.4 Neuronios biologicos . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.1.5 Neuronios artificiais . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.1.6 Funcoes de Ativacao . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.1.7 Classificacao das RNAs . . . . . . . . . . . . . . . . . . . . . . . . . 28

Page 10: Monografia fabiano rates

2.1.8 Arquiteturas da Rede . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.1.9 Aprendizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3 Algoritmos de Treinamento 33

3.0.10 Perceptron de Camada Unica . . . . . . . . . . . . . . . . . . . . . 33

3.0.11 Regra Delta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.0.12 Limitacoes do Perceptrons . . . . . . . . . . . . . . . . . . . . . . . 34

3.0.13 Perceptrons de Multiplas Camadas . . . . . . . . . . . . . . . . . . 35

3.0.14 Algoritmo de Treinamento Backpropagation . . . . . . . . . . . . . 35

3.0.15 Numero de Camadas . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.0.16 Numero de Neuronios . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.1 Resilient Propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.2 Criterios de Parada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4 Metodologia 41

4.1 Definicoes Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.2 Obtencao dos Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.3 Tratamento dos Dados para a RNA . . . . . . . . . . . . . . . . . . . . . . 43

4.4 Implementacao e Execucao dos Treinamentos e Testes com as RNAs . . . . 46

4.5 Processamento e Analise dos Dados Gerados pela RNA . . . . . . . . . . . 49

5 Resultados Obtidos 50

5.1 Definicoes das RNAs Utilizadas na Comparacao . . . . . . . . . . . . . . . 50

5.1.1 Funcao de Ativacao . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.1.2 Numero de Camadas Ocultas . . . . . . . . . . . . . . . . . . . . . 50

7

Page 11: Monografia fabiano rates

5.1.3 Numero de Neuronios em Cada Camada . . . . . . . . . . . . . . . 51

5.1.4 Quantidade de Exemplos no Treinamento . . . . . . . . . . . . . . . 53

5.1.5 Quantidade de Exemplos na Validacao . . . . . . . . . . . . . . . . 54

5.2 Resultados Obtidos Pelos Algoritmos . . . . . . . . . . . . . . . . . . . . . 54

5.2.1 Configuracao 1 - Utilizando a Regra do Valor Medio para Determi-

nar o Numero de Neuronios Ocultos . . . . . . . . . . . . . . . . . . 55

5.2.2 Configuracao 2 - Utilizando a Regra de Kolmogorov para Determi-

nar o Numero de Neuronios Ocultos . . . . . . . . . . . . . . . . . . 60

5.2.3 Configuracao 3 - Utilizando a Regra de Fletcher-Gloss para Deter-

minar o Numero de Neuronios Ocultos . . . . . . . . . . . . . . . . 64

5.2.4 Configuracao 4 - Utilizando a Regra da Raiz Quadrada para Deter-

minar o Numero de Neuronios Ocultos . . . . . . . . . . . . . . . . 68

5.2.5 Resumo dos testes utilizando as 4 configuracoes . . . . . . . . . . . 73

5.3 O Melhor Backpropagation versus O Melhor Resilient Propagation . . . . 73

5.4 O Pior Backpropagation versus O Pior Resilient Propagation . . . . . . . . 75

6 Conclusao 77

7 Trabalhos Futuros 79

Bibliografia 80

I Apendice 1 - Imagens Utilizadas no Treinamento das RNAs 82

II Apendice 2 - Imagens Utilizadas na Validacao das RNAs 83

IIIApendice 3 - Resultados dos Treinamentos das RNAs Treinadas Utili-

zando Backpropagation 84

8

Page 12: Monografia fabiano rates

IV Apendice 4 - Resultados dos Treinamentos das RNAs Treinadas Utili-

zando Resilient Propagation 85

V Apendice 5 - Codigo Fonte e Aplicacao 86

Page 13: Monografia fabiano rates

Lista de Figuras

2.1 Neuronio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.2 Funcao Degrau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.3 Funcao Sigmoide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.4 Funcao Tangente Hiperbolica . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.5 RNAs Alimentadas Adiante com Camada Unica . . . . . . . . . . . . . . . 29

2.6 RNAs Alimentadas Diretamente com Multiplas Camadas . . . . . . . . . . 29

2.7 RNA Recorrente de Hopfield . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.1 Evolucao do Erro Durante o Treinamento da RNA . . . . . . . . . . . . . . 39

4.1 Formas Geometricas Definidas: Cırculo, Quadrado e Triangulo . . . . . . . 42

4.2 Exemplo de Insercao de Dados para a RNA . . . . . . . . . . . . . . . . . 43

4.3 Normalizacao - Divisao das partes . . . . . . . . . . . . . . . . . . . . . . . 45

4.4 Resultado da Normalizacao de uma imagem . . . . . . . . . . . . . . . . . 45

4.5 Fases da Expansao de Imagens Menores . . . . . . . . . . . . . . . . . . . . 46

4.6 Diagrama do Banco de Dados . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.1 Epocas x Erro - BP com a Configuracao 1 e 30 Exemplos . . . . . . . . . . 56

5.2 Epocas x Erro - RP com a Configuracao 1 e 30 Exemplos . . . . . . . . . . 57

5.3 Epocas x Erro - BP com a Configuracao 1 e 90 Exemplos . . . . . . . . . . 58

5.4 Epocas x Erro - RP com a Configuracao 1 e 90 Exemplos . . . . . . . . . . 58

5.5 Epocas x Erro - BP com a Configuracao 1 e 150 Exemplos . . . . . . . . . 59

Page 14: Monografia fabiano rates

5.6 Epocas x Erro - RP com a Configuracao 1 e 150 Exemplos . . . . . . . . . 59

5.7 Epocas x Erro - BP com a Configuracao 2 e 30 Exemplos . . . . . . . . . . 61

5.8 Epocas x Erro - RP com a Configuracao 2 e 30 Exemplos . . . . . . . . . . 61

5.9 Epocas x Erro - BP com a Configuracao 2 e 90 Exemplos . . . . . . . . . . 62

5.10 Epocas x Erro - RP com a Configuracao 2 e 90 Exemplos . . . . . . . . . . 62

5.11 Epocas x Erro - BP com a Configuracao 2 e 150 Exemplos . . . . . . . . . 63

5.12 Epocas x Erro - RP com a Configuracao 2 e 150 Exemplos . . . . . . . . . 64

5.13 Epocas x Erro - BP com a Configuracao 3 e 30 Exemplos . . . . . . . . . . 65

5.14 Epocas x Erro - RP com a Configuracao 3 e 30 Exemplos . . . . . . . . . . 65

5.15 Epocas x Erro - BP com a Configuracao 3 e 90 Exemplos . . . . . . . . . . 66

5.16 Epocas x Erro - RP com a Configuracao 3 e 90 Exemplos . . . . . . . . . . 67

5.17 Epocas x Erro - BP com a Configuracao 3 e 150 Exemplos . . . . . . . . . 67

5.18 Epocas x Erro - RP com a Configuracao 3 e 150 Exemplos . . . . . . . . . 68

5.19 Epocas x Erro - BP com a Configuracao 4 e 30 Exemplos . . . . . . . . . . 69

5.20 Epocas x Erro - RP com a Configuracao 4 e 30 Exemplos . . . . . . . . . . 70

5.21 Epocas x Erro - BP com a Configuracao 4 e 90 Exemplos . . . . . . . . . . 71

5.22 Epocas x Erro - RP com a Configuracao 4 e 90 Exemplos . . . . . . . . . . 71

5.23 Epocas x Erro - BP com a Configuracao 4 e 150 Exemplos . . . . . . . . . 72

5.24 Epocas x Erro - RP com a Configuracao 4 e 150 Exemplos . . . . . . . . . 72

5.25 Resumo dos Resultados de Todos os Testes Realizados . . . . . . . . . . . 73

5.26 Epocas x Erro - Melhor BP - Configuracao 3 e 150 Exemplos . . . . . . . . 74

5.27 Epocas x Erro - Melhor RP - Configuracao 4 e 150 Exemplos . . . . . . . . 75

5.28 Epocas x Erro - Pior BP - Configuracao 2 e 30 Exemplos . . . . . . . . . . 76

11

Page 15: Monografia fabiano rates

5.29 Epocas x Erro - Pior RP - Configuracao 2 e 30 Exemplos . . . . . . . . . . 76

I.1 Imagens Utilizadas no Treinamento das RNAs - Quadrado . . . . . . . . . 82

I.2 Imagens Utilizadas no Treinamento das RNAs - Triangulos . . . . . . . . . 82

I.3 Imagens Utilizadas no Treinamento das RNAs - Cırculos . . . . . . . . . . 82

II.1 Imagens utilizadas na Validacao das RNAs - Quadrados . . . . . . . . . . 83

II.2 Imagens Utilizadas na Validacao das RNAs - Triangulos . . . . . . . . . . . 83

II.3 Imagens Utilizadas na Validacao das RNAs - Cırculos . . . . . . . . . . . . 83

Page 16: Monografia fabiano rates

Lista de Tabelas

4.1 Tabela de dados das formas geometricas . . . . . . . . . . . . . . . . . . . 42

5.1 Tabela de resultados dos treinamentos com configuracao 1 e 30 exemplos . 56

5.2 Tabela de resultados dos treinamentos com configuracao 1 e 90 exemplos . 57

5.3 Tabela de resultados dos treinamentos com configuracao 1 e 150 exemplos . 59

5.4 Tabela de resultados dos treinamentos com configuracao 2 e 30 exemplos . 61

5.5 Tabela de resultados dos treinamentos com configuracao 2 e 90 exemplos . 62

5.6 Tabela de resultados dos treinamentos com configuracao 2 e 150 exemplos . 63

5.7 Tabela de resultados dos treinamentos com configuracao 3 e 30 exemplos . 65

5.8 Tabela de resultados dos treinamentos com configuracao 3 e 90 exemplos . 66

5.9 Tabela de resultados dos treinamentos com configuracao 3 e 150 exemplos . 67

5.10 Tabela de resultados dos treinamentos com configuracao 4 e 30 exemplos . 69

5.11 Tabela de resultados dos treinamentos com configuracao 4 e 90 exemplos . 70

5.12 Tabela de resultados dos treinamentos com configuracao 4 e 150 exemplos . 71

5.13 Tabela de resultados das melhores RNAs de cada algoritmo de treinamento 74

5.14 Tabela de resultados das piores RNAs de cada algoritmo de treinamento . 76

IV.1 Resultado do treinamento das RNAs utilizando Resilient Propagation . . . 85

IV.2 Resultado da validacao das RNAs utilizando Resilient Propagation . . . . . 85

Page 17: Monografia fabiano rates

14

Lista de Siglas e Abreviaturas

GPS General Problem Solver

IA Inteligencia Artificial

IAS Inteligencia Artificial Simbolica

MCP referencia a Warren McCulloch e Walter Pitts

MLP Multilayer Perceptron

PMC Perceptron de Multiplas Camadas

RNA Rede Neural Artificial

RNAs Redes Neurais Artificiais

RPROP Resilient Propagation

BP Backpropagation

RP Resilient Propagation

Page 18: Monografia fabiano rates

15

1 Introducao

A Inteligencia Artificial (IA) tem, como principal objetivo, representar o comporta-

mento humano atraves de modelos computacionais, constituindo-se em campo de pesquisa

aberto e dinamico, tratando do estudo da solucao de problemas atraves da distribuicao

de conhecimento entre diversas entidades(BITTENCOURT,2001).

Nesse sentido, as Redes Neurais Artificiais (RNAs) sao sistemas computacionais, inspi-

rados no sistema nervoso biologico(BRAGA; CARVALHO; LUDERMIR, 2000). Segundo

Haykin (2001), uma rede neural e um processador macico e paralelamente distribuıdo,

constituıdo de unidades de processamento simples (neuronios), que tem a propensao na-

tural, para armazenar conhecimento experimental, tornando-o disponıvel para uso. Atu-

almente, existem diversos algoritmos para simular essas redes neurais, cada um com seu

uso especıfico.

1.1 Contexto

Uma rede neural artificial (RNA) e composta por varias unidades de processamento,

cujo funcionamento e bastante simples. Essas unidades, geralmente sao conectadas por

canais de comunicacao que estao associados a um determinado peso. As unidades fazem

operacoes apenas sobre seus dados locais, que sao entradas recebidas pelas suas conexoes

(HAYKIN,2001).

O comportamento inteligente de uma Rede Neural Artificial vem das interacoes entre

as unidades de processamento da rede, que tem uma grande habilidade de aprender com os

dados a ela informados, e com isso, melhorar seu desempenho, sendo feito atraves de um

processo iterativo de ajustes a seus pesos. Ao processo que contempla essas iteracoes e seus

ajustes de pesos, da-se o nome de treinamento. O aprendizado da RNA ocorre quando a

mesma atinge uma solucao generalizada para uma classe de problemas (HAYKIN, 2001).

Um algoritmo de aprendizado e um conjunto de regras bem definidas para a solucao

de um problema de aprendizado. Existem muitos tipos de algoritmos de aprendizado

especıficos para determinados modelos de redes neurais. Estes algoritmos diferem entre

Page 19: Monografia fabiano rates

1.2 Problema 16

si, principalmente, pelo modo como os pesos sao modificados, por isso, ao criar uma rede

neural, e indispensavel analisar qual e o algoritmo de aprendizado mais eficiente para a

aplicacao em questao (DHAR & STEIN, 1997).

1.2 Problema

O algoritmo de treinamento Backpropagation e, reconhecidamente, um algoritmo que,

ao longo dos anos, vem trazendo otimos resultados na area de reconhecimento de padroes.

Porem, e tido por muitos como sendo um algoritmo “caixa preta”, devido ao fato de a

busca pela melhor configuracao deste algoritmo nao ser muito bem compreendida gracas

ao numero excessivo de parametros que devem ser configurados, sendo que muitos desses

parametros apenas sao bem definidos atraves de um arduo processo de tentativa e erro.

Por conta do excessivo numero de parametros, de acordo com o seu carater trabalhoso

de configuracao, ao longo dos anos, foram surgindo derivacoes do algoritmo Backpropa-

gation, na busca de tentar facilitar o processo de ajuste da Rede Neural. Uma dessas

derivacoes e o algoritmo Resilient Propagation, que requer, segundo a literatura, um es-

forco muito reduzido de configuracao, em comparacao ao Backpropagation.

1.3 Proposta

Em meio a dificuldade de configuracao do algoritmo Backpropagation, este trabalho

busca, atraves de uma analise comparativa, inferir se o algoritmo Resilient Propagation e

capaz de prover resultados tao satisfatorios quanto seu antecessor, mesmo utilizando um

numero reduzido de parametros, se comparados ao mesmo.

O objetivo do trabalho, portanto, nao e o de buscar o melhor algoritmo de reconheci-

mento de imagens, mas, para saber se o algoritmo de treinamento Resilient Propagation

possui um bom desempenho em relacao ao reconhecimento de padroes, se faz necessaria

a realizacao da comparacao com seu antecessor, que, reconhecidamente, possui resultados

satisfatorios.

Page 20: Monografia fabiano rates

1.4 Justificativa 17

1.4 Justificativa

Atualmente, avancos tecnologicos mostram que as aplicacoes tendem a ser cada vez

mais independentes, tornando necessaria a escolha da melhor tecnica de treinamento para

a criacao de aplicacoes complexas que possua uma inteligencia embutida.

Existem varios motivos para se comparar diferentes algoritmos de treinamento de

redes neurais, pois determinado algoritmo de treinamento pode ser mais eficiente para

um caso especıfico e nao ser muito eficiente para outro, por isso deve-se descobrir qual

algoritmo de treinamento e eficiente para um caso particular. De nada adianta criar uma

aplicacao com inteligencia artificial, porem que nao seja eficiente. Com isso, um estudo

comparativo de algoritmos para treinamento de redes neurais se faz valido.

1.5 Objetivos

O objetivo desse trabalho e a realizacao da analise dos algoritmos para treinamento

de RNAs Backpropagation e Resilient Propagation, utilizando, como fonte de estudo, uma

aplicacao para reconhecimento de imagens. Para que essa analise possa ser realizada, e

proposta a implementacao de uma aplicacao para reconhecimento de formas geometricas

basicas, como quadrados, retangulos e cırculos.

De acordo com a literatura, o algoritmo Resilient Propagation, por ser um algoritmo

derivado do Backpropagation, possui um numero reduzido de parametros a serem confi-

gurados, o que, teoricamente, reduziria a complexidade na configuracao da rede neural.

Apos a configuracao da rede, com os resultados encontrados da classificacao das imagens,

podera ser verificado se o algoritmo Resilient Propagation realmente possui uma simpli-

ficacao para que possa ser configurado e, se possui resultados satisfatorios, mesmo com

essa possıvel reducao de sua complexidade de configuracao.

1.6 Metodos

Inicialmente, foi realizado um estudo de processamento das imagens e de RNAs, com

enfase nos algoritmos para treinamento de redes neurais. Apos o processamento da ima-

gem ela sera utilizada como entrada para os dois algoritmos, ambas serao treinadas com

Page 21: Monografia fabiano rates

1.7 Escopo 18

os mesmos exemplos para verificar, com base nas mesmas informacoes, qual seria a mais

eficiente no reconhecimento dessas formas. Com base nos resultados, foi realizada uma

analise de ambos os algoritmos para treinamento de redes neurais.

1.7 Escopo

Serao analisados os resultados encontrados com os dois algoritmos, utilizando, para

isso, uma aplicacao desktop para reconhecimento de imagens. Com base nessa analise,

nao necessariamente pretende-se encontrar um algoritmo que realize o reconhecimento

de forma mais rapida ou com maior percentual de acertos, mas, a fonte de analise, esta

em identificar se, mesmo com um numero reduzido de parametros em comparacao ao

algoritmo Backpropagation, sua derivacao, o algoritmo Resilient Propagation, possui um

desempenho tao satisfatorio quando seu antecessor.

Page 22: Monografia fabiano rates

19

2 Contextualizacao

2.1 Inteligencia Artificial

A Inteligencia Artificial (IA) tem, como objetivo central, a criacao de modelos para a

inteligencia e a construcao de sistemas computacionais baseados nesses modelos, levando a

pesquisa e o desenvolvimento em IA a fundamentarem-se em torno de atividades de desen-

volvimento de modelos formais para a inteligencia humana, desenvolvimento de aplicacoes

educacionais, comerciais ou industriais, assim como a exploracao e experimentacao de

tecnicas computacionais que apresentem potencial para a simulacao do comportamento

inteligente (BITTENCOURT, 2001).

Apesar de ser um ramo, de certa forma, recente da ciencia da computacao, a Inte-

ligencia Artificial foi construıda a partir de ideias filosoficas, cientıficas, tecnologicas e

matematicas, herdadas de outras ciencias, desde muito tempo atras (BITTENCOURT,

2001).

De acordo com (RUSSEL; NORVIG, 2004), os filosofos (desde 400 a.C), tornaram a IA

concebıvel, considerando que a mente e, em alguns aspectos, semelhante a uma maquina,

de que ela opera sobre o conhecimento codificado em alguma linguagem interna e que o

pensamento pode ser usado para escolher as acoes que deverao ser executadas..

Alguns filosofos definiram que se as maquinas talvez pudessem simular a inteligencia

humana, essas maquinas podem ser consideradas como possuidoras de uma IA Fraca.

Por outro lado, caso as maquinas que o fazem nao estejam apenas simulando um com-

portamento, mas sim realmente pensando, essas maquinas podem ser consideradas como

possuidoras de uma IA Forte (RUSSEL; NORVIG, 2004).

2.1.1 Historia da Inteligencia Artificial

O primeiro trabalho reconhecido como IA foi realizado por Warren McCulloch e Walter

Pitts (1943), no qual se basearam em tres fontes: o conhecimento da fisiologia basica e

da funcao dos neuronios no cerebro, uma analise formal da logica proposicional criada

Page 23: Monografia fabiano rates

2.1 Inteligencia Artificial 20

por Russell e Whitehead, e a teoria da computacao de Turing. Eles propuseram um

modelo de neuronios artificiais, no qual cada neuronio se caracteriza por estar “ligado ou

desligado”. Com isso, eles mostraram que qualquer funcao computavel podia ser calculada

por uma certa rede de neuronios conectados, e que todos os conectivos logicos podiam

ser implementados por estruturas de redes simples. Eles tambem sugeriram que redes

definidas adequadamente seriam capazes de aprender (RUSSEL; NORVIG, 2004).

Marvin Minsky e Dean Edmonds, dois alunos do departamento de matematica de

Princeton, construıram o primeiro computador de rede neural em 1951. Mais tarde,

Minsky acabou provando teoremas importantes que mostravam as limitacoes da pesquisa

em redes neurais (RUSSEL; NORVIG, 2004).

Apesar dos varios exemplos de trabalhos que podem ser caracterizados como IA, Tu-

ring foi quem primeiro articulou uma visao completa da IA, em seu artigo de 1950, inti-

tulado “Computing Machinery and Intelligency”, sendo que, neste artigo, foram apresen-

tados o teste de Turing, aprendizagem de maquina, algoritmos geneticos e aprendizagem

por reforco (RUSSEL; NORVIG, 2004).

2.1.2 O nascimento da Inteligencia Artificial

Apos sua graduacao, John McCarthy mudou-se para o Dartmouth College, que se tor-

naria o local oficial do nascimento desse campo. Ele convenceu Minsky, Claude Shannon

e Nathaniel Rochester a ajuda-lo a reunir pesquisadores dos Estados Unidos interessados

em teoria de automatos, redes neurais e no estudo da inteligencia. Eles organizaram um

seminario de dois meses em Dartmouth que, apesar de nao trazer nenhuma novidade,

apresentou uns aos outros os personagens importantes da historia da IA. Talvez o resul-

tado mais duradouro do seminario tenha sido um acordo para adotar o nome sugerido por

McCarthy para o campo: Inteligencia Artificial (RUSSEL; NORVIG, 2004).

Pode-se dizer que aı nasceram, simultaneamente, os dois paradigmas da inteligencia

artificial: simbolica e conexionista. Na Inteligencia Artificial Simbolica (IAS), o com-

portamento global e simulado, sem levar em consideracao os mecanismos responsaveis

por este comportamento. Na Inteligencia Artificial Conexionista (IAC), acredita-se que

construindo uma maquina que imite a estrutura do cerebro, ela apresentara inteligencia

(BARRETO, 2001).

Page 24: Monografia fabiano rates

2.1 Inteligencia Artificial 21

Os primeiros anos da IA foram repletos de sucesso, porem de forma limitada, visto que

os computadores e ferramentas de programacao da epoca eram extremamente limitados.

O General Problem Solver (GPS), ou em portugues Solucionador de Problemas Gerais,

talvez tenha sido o primeiro programa a incorporar a abordagem de “pensar de forma

humana”, pois ele foi projetado para imitar protocolos humanos de resolucao de problemas

(RUSSEL; NORVIG, 2004).

A partir de 1952, Arthur Samuel escreveu uma serie de programas para jogos de

damas, que eventualmente aprendiam a jogar em um nıvel amador elevado, sendo que ele

contestou a ideia de que os computadores so pudessem realizar as atividades para as quais

foram programados. Seu programa aprendeu rapidamente a jogar melhor que seu criador

e foi demonstrado na televisao em 1956, causando uma impressao muito forte (RUSSEL;

NORVIG, 2004).

Em 1958, no MIT AI Lab Memo No.1, McCarthy definiu a linguagem de alto nıvel

Lisp, que acabou se tornando a linguagem de programacao dominante em IA. O trabalho

pioneiro baseado nas redes neurais de McCulloch e Pitts tambem prosperou. Os metodos

de aprendizado de Hebb foram aperfeicoados por Bernie Widrow, que denominou suas

redes Adalines, e por Frank Rosenblatt com seus perceptrons. Rosenblatt provou o teorema

da convergencia do perceptron, mostrando que seu algoritmo de aprendizado podia ajustar

os pesos da conexao de um perceptron para corresponderem a quaisquer dados de entrada,

desde que existisse tal correspondencia (RUSSEL; NORVIG, 2004).

Simon fez a previsao de que, dentro de dez anos, um computador seria campeao

de xadrez e que um teorema matematico significativo seria provado por uma maquina.

Entretanto, essas previsoes apenas se realizaram (ou quase), no prazo de 40 anos.

O segundo tipo de dificuldade foi a impossibilidade de tratar muitos dos problemas

que a IA estava tentando resolver, visto que a maior parte dos primeiros programas de

IA resolvia problemas experimentando diferentes combinacoes de passos ate encontrar

a solucao. Esta estrategia funcionou inicialmente, porque os micromundos continham

pouquıssimos objetos, com um numero muito pequeno de acoes possıveis e sequencias de

solucoes muito curtas, mas o otimismo inicial foi logo ofuscado quando os pesquisadores

nao conseguiram provar teoremas que envolviam mais de algumas dezenas de fatos.

Uma terceira dificuldade surgiu devido algumas limitacoes nas estruturas basicas que

Page 25: Monografia fabiano rates

2.1 Inteligencia Artificial 22

estavam sendo utilizadas para gerar o comportamento inteligente (RUSSEL; NORVIG,

2004).

O perceptron basico, e algumas de suas generalizacoes naquele tempo, eram sim-

plesmente inadequados para a maioria das tarefas de reconhecimento de padroes de im-

portancia pratica. O livro “Perceptrons”, de Minsky e Papert provou que, embora os

perceptrons pudessem aprender tudo que eram capazes de representar, eles podiam re-

presentar muito pouco. Esta visao desencorajadora da limitacao das maquinas do tipo

perceptrons foi mantida ate meados da decada de 1980, com os novos algoritmos de apren-

dizado por retropropagacao para redes de varias camadas(MINSKY; PAPERT, 1972).

Resultados na coletanea Parallel Distributed Processing (Rumelhart e McClelland,

1986), tratando do desenvolvimento de novos algoritmos para perceptrons multicamadas

mudaram consideravelmente a situacao. O metodo basico desses autores fornece um

treinamento efetivo para maquinas de multiplas camadas. Esse sucesso estabeleceu as

maquinas do tipo perceptrons com multiplas camadas como um dos principais modelos

de redes neurais atualmente em uso (GONZALEZ; WOODS, 2000).

2.1.3 Redes Neurais Artificiais

As redes neurais artificiais sao uma forma de computacao nao-algorıtmica, caracteri-

zada por sistemas que lembram a estrutura do cerebro humano. Por nao ser baseada em

regras ou programas, a computacao neural se constitui em uma alternativa a computacao

algorıtmica convencional (BRAGA; CARVALHO; LUDERMIR, 2000).

As redes neurais artificiais tem raızes na neurociencia, matematica, estatıstica, fısica,

ciencia da computacao e engenharia. Sua habilidade para aprender a partir de dados, com

ou sem professor, dotou-as com uma propriedade poderosa. Esta habilidade de aprendi-

zagem a partir de seu meio ambiente e baseada na capacidade do cerebro humano de

desenvolver suas proprias regras, que usualmente chamamos “experiencia”. Um neuronio

em desenvolvimento e sinonimo de um cerebro plastico, sendo que a plasticidade permite

que o sistema nervoso em desenvolvimento se adapte ao seu meio ambiente. Assim como a

plasticidade e essencial para o funcionamento dos neuronios, tambem ela o e com relacao

as redes neurais artificiais (HAYKIN, 2001).

Page 26: Monografia fabiano rates

2.1 Inteligencia Artificial 23

Na sua forma mais geral, a rede neural e uma maquina projetada para modelar a ma-

neira como o cerebro realiza uma tarefa particular ou funcao de interesse. O procedimento

utilizado para realizar o processo de aprendizagem e chamado de algoritmo de aprendi-

zagem, cuja funcao e modificar os pesos sinapticos da rede de uma forma ordenada, para

alcancar um objetivo de projeto desejado (HAYKIN, 2001).

2.1.4 Neuronios biologicos

O cerebro humano possui em torno de 1011 neuronios. Cada um destes neuronios

processa e se comunica com milhares de outros, continuamente e em paralelo. A estru-

tura individual dos nodos, a topologia de suas conexoes e o comportamento conjunto

destes nodos naturais, formam a base para o estudo das RNAs (BRAGA; CARVALHO;

LUDERMIR, 2000).

As RNAs tentam reproduzir as funcoes das redes biologicas, buscando implementar

seu comportamento basico. Como caracterısticas comuns, os dois sistemas sao baseados

em unidades de computacao paralela e distribuıda que se comunicam por meio de conexoes

sinapticas. Apesar da pouca similaridade, do ponto de vista biologico, entre os dois

sistemas, estas caracterısticas comuns permitem as RNAs reproduzir com fidelidade varias

funcoes somente encontradas nos seres humanos (BRAGA; CARVALHO; LUDERMIR,

2000).

Os neuronios sao divididos em tres secoes: o corpo da celula, os dendritos e o axonio.

Os dendritos tem por funcao receber as informacoes, ou impulsos nervosos, oriundas de

outros neuronios e conduzi-las ate o corpo celular. Com isso, a informacao e processada, e

novos impulsos sao gerados. Estes impulsos sao transmitidos a outros neuronios, passando

atraves do axonio ate os dendritos dos neuronios seguintes. O ponto de contato entre a

terminacao axonica de um neuronio e o dendrito de outro, e chamado de sinapse. Os sinais

oriundos dos neuronios pre-sinapticos sao passados para o corpo do neuronio pos-sinaptico,

onde sao comparados com os outros sinais recebidos pelo mesmo. Se o percentual em um

intervalo curto de tempo e suficientemente alto, a celula dispara, produzindo um impulso

que e transmitido para as celulas seguintes (BRAGA; CARVALHO; LUDERMIR, 2000).

Page 27: Monografia fabiano rates

2.1 Inteligencia Artificial 24

2.1.5 Neuronios artificiais

O primeiro modelo de redes neurais foi proposto por (MCCULLOCH, 1943), que

propos um modelo de sistema neural, onde as unidades basicas, os neuronios, sao bastante

simples no seu funcionamento. Este modelo de rede neural ficou conhecida como Rede

Neural de McCulloch e Pitts, ou simplesmente Rede Neural MCP.

O modelo de neuronio proposto por McCulloch e Pitts (fig. 2.1.5), e uma simplificacao

do que se sabia a respeito do neuronio biologico.

Figura 2.1: Neuronio

Supondo que tenha-se os valores de entrada x1, x2, . . . , xp, com os pesos w1, w2, . . . , wp,

uma saıda y, uma funcao responsavel pelo calculo da entrada efetiva para o neuronio

denominada funcao soma e uma funcao de ativacao. Assim, o neuronio tem a saıda igual

a soma dos produtos obtidos entre os valores de entrada e os seus pesos correspondentes

(funcao soma), descrita na equacao 2.1.

m∑j=1

wjxj, (2.1)

onde:

• m e o numero de entradas do neuronio;

• wj e o peso associado a entrada xj.

Apos isso, o resultado e comparado a um limiar estipulado que, uma vez atingido,

propaga a saıda para os neuronios da camada seguinte. Essa propagacao da saıda para

os demais neuronios e realizada pela funcao de ativacao (Haykin, 2001).

Page 28: Monografia fabiano rates

2.1 Inteligencia Artificial 25

No modelo MCP, a funcao de ativacao e dada pela funcao de limiar linear, descrita

na equacao 2.2.

y =

1, se∑wjxj >= 0

0, se∑wjxj < 0

(2.2)

O modelo geral de um neuronio e uma generalizacao do modelo de McCulloch e Pitts.

Um valor auxiliar, chamado de bias tambem pode ser aplicado externamente. O bias tem

o efeito de aumentar ou diminuir a entrada lıquida da funcao de ativacao, dependendo se

ele e positivo ou negativo, respectivamente (HAYKIN, 2001).

A partir do modelo proposto por McCulloch e Pitts, foram derivados varios outros

modelos que permitem a producao de uma saıda qualquer, nao necessariamente zero ou

um, e com diferentes funcoes de ativacao (BRAGA; CARVALHO; LUDERMIR, 2000).

Em termos matematicos, pode-se descrever um neuronio k escrevendo o seguinte par

de equacoes:

uk =m∑j=1

wkjxkj e (2.3)

yk = ϕ(uk + bk), (2.4)

onde:

• uk e a saıda do combinador linear devido aos sinais de entrada;

• wkj sao os pesos sinapticos do neuronio k;

• xkj sao os sinais de entrada do neuronio k;

• bk e o bias do neuronio k;

• ϕ e funcao de ativacao;

• yk e o sinal de saıda do neuronio k.

Page 29: Monografia fabiano rates

2.1 Inteligencia Artificial 26

vk = uk + bk (2.5)

De forma equivalente, tem-se:

vk =m∑j=1

wkjxkj + bk =m∑j=0

wkjxkj (2.6)

yk = ϕ(vk) (2.7)

Na equacao 2.6 foi adicionada uma nova sinapse, cuja entrada e:

x0 = +1, (2.8)

e o peso e:

w0 = bk (2.9)

2.1.6 Funcoes de Ativacao

Funcoes ativacao sao funcoes, geralmente, nao lineares associadas as saıdas das unida-

des de processamentos com o objetivo de limitar a saıda da unidade num valor limitante,

de maneira similar ao que ocorre no neuronio biologico, com o objetivo de reproduzir o

mais proximo possıvel o comportamento deste. Elas sao as vezes referidas como funcoes

de transferencia nao lineares, relacionando a saıda do neuronio artificial a sua entrada.

As funcoes ativacoes mais usadas sao:

• Funcao Impulso Unitario (Degrau);

• Funcao Sigmoide;

• Funcao Tangente Hiperbolica;

Page 30: Monografia fabiano rates

2.1 Inteligencia Artificial 27

Funcao Impulso Unitario (Degrau)

A funcao degrau pode ser expressa segundo a equacao:

y = f(net) =

1, se net ≥ 0

0, se net < 0(2.10)

Conforme ilustrado no grafico da figura 2.2.

Figura 2.2: Funcao Degrau

Funcao Sigmoide

A funcao Sigmoide e vantajosa ao usar redes neurais treinadas utilizando algoritmos

de retropropagacao, por ser facil de distinguir, e ser capaz de minimizar a capacidade

de computacao para o treinamento. O termo sigmoide significa ”forma de S”e por ter a

forma logıstica dos mapas sigmoide.

A funcao Sigmoide pode ser expressa segundo a seguinte equacao:

g(x) =1

(1 + e−1(2.11)

Conforme ilustrado no grafico da figura 2.3.

Figura 2.3: Funcao Sigmoide

Page 31: Monografia fabiano rates

2.1 Inteligencia Artificial 28

Funcao Tangente Hiperbolica

Uma outra funcao logıstica nao linear muito utilizada como funcao ativacao e a tan-

gente hiperbolica dada a seguir:

tanh(x) =sinh(x)

cosh(x)=ex − e−xex + x−1

(2.12)

A funcao Tangente hiperbolica e similar a funcao Sigmoide, sua faixa de valores e de

-1 a 1 como pode ser visto na figura 2.4.

Figura 2.4: Funcao Tangente Hiperbolica

2.1.7 Classificacao das RNAs

Existem dois criterios basicos para a classificacao das redes neurais artificiais: a ar-

quitetura e a forma de treinamento.

2.1.8 Arquiteturas da Rede

A maneira na qual os neuronios de uma rede neural estao estruturados esta ligada ao

algoritmo de aprendizado para treinar a rede. Em geral, e possıvel identificar tres classes

de arquiteturas (estruturas) de rede fundamentalmente diferentes:

1. RNAs Alimentadas Adiante com Camada Unica;

2. RNAs Alimentadas Diretamente com Multiplas Camadas;

3. RNAs Recorrentes.

Page 32: Monografia fabiano rates

2.1 Inteligencia Artificial 29

RNAs Alimentadas Adiante com Camada Unica

Na forma mais simples de uma rede em camadas, tem-se uma camada de entrada,

que se projeta sobre uma camada de saıda de neuronios, mas nao vice-versa, ou seja, esta

rede e estritamente do tipo alimentada adiante ou acıclica, como pode ser observado na

figura 2.5.

Figura 2.5: RNAs Alimentadas Adiante com Camada Unica

Apesar de possuir duas camadas (entrada e saıda), esta rede e chamada de rede de

camada unica, pois esta designacao se refere a camada de saıda, pois nela e que e realizada

a computacao (HAYKIN, 2001).

RNAs Alimentadas Diretamente com Multiplas Camadas

Esta classe se distingue pela presenca de uma ou mais camadas ocultas, como pode

ser observado na figura 2.6.

Figura 2.6: RNAs Alimentadas Diretamente com Multiplas Camadas

A funcao dos neuronios ocultos e intervir entre a entrada externa e a saıda da rede de

Page 33: Monografia fabiano rates

2.1 Inteligencia Artificial 30

uma maneira util. A habilidade de os neuronios ocultos extraırem estatısticas de ordem

elevada e valiosa quando o tamanho da camada de entrada e grande (HAYKIN, 2001).

Os nos de fonte da camada de entrada da rede fornecem os respectivos elementos

do padrao de ativacao (vetor de entrada). Os seus sinais de saıda sao utilizados como

entradas para a segunda camada, e assim por diante para o resto da rede. Dessa forma,

os neuronios em cada camada da rede tem como suas entradas apenas os sinais de saıda

da camada precedente. O conjunto de sinais de saıda dos neuronios da camada de saıda

da rede constitui a resposta global da rede para o padrao de ativacao fornecido pelos nos

de fonte da camada de entrada (HAYKIN, 2001).

As redes alimentadas diretamente com multiplas camadas podem ser totalmente co-

nectadas, quando cada um dos nos de uma camada da rede esta conectado a todos os

nos da camada adjacente seguinte, ou parcialmente conectadas, quando alguns dos elos

de comunicacao estiverem faltando na rede (HAYKIN, 2001).

RNAs Recorrentes

Esta classe possui pelo menos um laco de realimentacao, ou seja, a saıda de algum

neuronio na i-esima camada da rede e usada como entrada de nodos em camadas de

ındice menor ou igual a i, conforme pode ser visto pela figura 2.7 (BRAGA; CARVALHO;

LUDERMIR, 2000).

Figura 2.7: RNA Recorrente de Hopfield

Page 34: Monografia fabiano rates

2.1 Inteligencia Artificial 31

2.1.9 Aprendizado

A propriedade mais importante de uma rede neural e a sua habilidade de aprender.

A etapa de aprendizagem consiste em um processo iterativo de ajustes de parametros

da rede, isto e, ajustes dos pesos das conexoes entre as unidades de processamento, que

guardam, ao final do processo, o conhecimento que a rede adquiriu do ambiente em que

esta operando (BRAGA; CARVALHO; LUDERMIR, 2000).

Neste contexto, pode-se destacar tres tipos diferentes de RNAs:

1. RNAs com Treinamento Supervisionado;

2. RNAs com Treinamento Nao-supervisionado;

3. RNAs com Aprendizado por Reforco.

RNAs com Treinamento Supervisionado

No estudo da aprendizagem supervisionada, uma condicao fundamental e a existencia

de um “professor” capaz de fornecer correcoes exatas para as saıdas da rede quando um

erro ocorrer (HAYKIN, 2001).

Este metodo de aprendizado e o mais comum no treinamento das RNAs. O objetivo e

ajustar os parametros da rede, de forma a encontrar uma ligacao entre os pares de entrada

e saıda fornecidos. O professor indica, explicitamente, um comportamento bom ou ruim

para a rede (BRAGA; CARVALHO; LUDERMIR, 2000).

RNAs com Treinamento Nao-supervisionado

No paradigma de aprendizagem nao-supervisionado, como o nome implica, nao ha

um “professor” para supervisionar o processo de aprendizagem, o que significa que nao

ha exemplos rotulados da funcao a ser aprendida pela rede (HAYKIN, 2001).

Page 35: Monografia fabiano rates

2.1 Inteligencia Artificial 32

RNAs com Aprendizado por Reforco

O aprendizado por reforco refere-se a utilizacao de alguma funcao heurıstica (definida

a priori), que descreva o quao boa e a resposta da rede a uma dada entrada, e da busca

da maximizacao de tal funcao (Xing; Pham, 1995 apud Neto, 2007).

Page 36: Monografia fabiano rates

33

3 Algoritmos de Treinamento

O treinamento e a atividade que leva a rede ao aprendizado. Denomina-se algoritmo

de aprendizado, um conjunto de regras bem definidas para a solucao de um problema

de aprendizado. Existem muitos tipos de algoritmos de aprendizado especıficos para

determinados modelos de redes neurais, estes algoritmos diferem entre si principalmente

pelo modo como os pesos sao modificados durante as etapas do processo. Aprendizagem,

para uma rede neural, envolve o ajuste destes pesos (DHAR & STEIN, 1997).

3.0.10 Perceptron de Camada Unica

O perceptron e a forma mais simples de uma RNA usada para a classificacao de padroes

ditos linearmente separaveis. Basicamente, ele consiste de um unico neuronio com pesos

sinapticos ajustaveis e bias. O algoritmo usado para ajustar os parametros livres desta

rede neural apareceu primeiro em um procedimento de aprendizagem desenvolvido por

Rosenblatt para o seu modelo cerebral do tron (HAYKIN, 2001).

O modelo proposto por Rosenblatt era composto por uma estrutura de rede tendo,

como unidades basicas, nodos MCP e uma regra de aprendizado. Alguns anos mais tarde,

Rosenblatt demonstrou o teorema de convergencia do perceptron, que mostra que um

nodo MCP treinado com o algoritmo de aprendizado do perceptron sempre converge caso

o problema em questao seja linearmente separavel, ou seja, problemas com comportamento

linear que podem ser graficamente separados por meio de uma reta em um hiperplano

(BRAGA; CARVALHO; LUDERMIR, 2000).

Perceptrons podem ser treinados por um algoritmo de aprendizagem simples, co-

nhecido como regra delta ou regra de Widrow-Hoff, assim denominada em homenagem

aos seus criadores (Widrow e Hoff, 1960).

3.0.11 Regra Delta

Segundo Haykin (2001), supondo-se que wkj(n) represente o valor do peso sinaptico

wkj do neuronio k excitado por um elemento xj(n) do vetor de sinal x(n) no passo de

Page 37: Monografia fabiano rates

3 Algoritmos de Treinamento 34

tempo n, de acordo com a regra delta, o ajuste δwkj(n) aplicado ao peso sinaptico wkj no

passo de tempo n e definido por:

δwkj(n) = ηek(n)xj(n), (3.1)

onde η e uma constante positiva que determina a taxa de aprendizado quando se avanca

em um passo no processo de aprendizagem.

Em outras palavras, a regra delta pode ser formulada como: “O ajuste feito em um

peso sinaptico de um neuronio e proporcional ao produto do sinal de erro pelo sinal em

questao” (HAYKIN, 2001, p.78).

Tendo calculado o ajuste sinaptico δwkj(n), o valor atualizado do peso sinaptico wkj

e determinado por:

wkj(n+ 1) = wkj(n) + δwkj(n) (3.2)

3.0.12 Limitacoes do Perceptrons

Apesar de ter causado grande euforia na comunidade cientıfica da epoca, o percep-

tron nao teve vida muito longa. A primeira crıtica real ao perceptron de Rosenblatt

foi apresentada por Minsky e Selfridge (1961), onde eles demonstraram que o percep-

tron como definido por Rosenblatt nao poderia generalizar nem em relacao a nocao de

paridade, muito menos fazer abstracoes genericas. As limitacoes computacionais do per-

ceptron foram, depois, enquadradas em uma fundamentacao matematica solida no livro

“Perceptrons”, de Minsky e Papert (1969, 1988).

As duras crıticas de Minsky e Papert causaram grande impacto sobre as pesquisas em

RNAs, levando a um grande desinteresse pela area durante os anos 70 e inıcio dos anos

80 (HAYKIN, 2001 & BRAGA; CARVALHO; LUDERMIR, 2000).

Entretanto, alguns anos depois surgiram varias outras formas avancadas de RNAs

mais poderosas que o perceptron, do ponto de vista computacional. Por exemplo, os

perceptrons de multiplas camadas, treinados com o algoritmo de retropropagacao.

Page 38: Monografia fabiano rates

3 Algoritmos de Treinamento 35

3.0.13 Perceptrons de Multiplas Camadas

Uma rede perceptron de multiplas camadas (PMC), ou em ingles multilayer perceptron

(MLP), consiste de um conjunto de unidades sensoriais (nos de frente), que constituem a

camada de entrada, uma ou mais camadas ocultas de nos computacionais e uma camada

de saıda de nos computacionais. O sinal de entrada se propaga para frente atraves da

rede, camada por camada (HAYKIN, 2001).

O algoritmo de aprendizado mais conhecido para treinamento destas redes e o algo-

ritmo de retropropagacao de erro (Error Backpropagation ou simplesmente Backpropaga-

tion).

Um perceptron de multiplas camadas possui tres caracterısticas distintivas:

1. O modelo de cada neuronio da rede inclui uma funcao de ativacao nao-linear;

2. A rede contem uma ou mais camada de neuronios ocultos, que nao sao parte da

entrada ou da saıda da rede;

3. A rede exibe um alto grau de conectividade, determinado pelas sinapses da rede.

E atraves da combinacao destas caracterısticas, juntamente com a habilidade de apren-

der, que o perceptron de multiplas camadas deriva seu poder computacional.

3.0.14 Algoritmo de Treinamento Backpropagation

O algoritmo de treinamento backpropagation, ou em portugues retropropagacao, e um

metodo que se baseia em gradiente descendente utilizando a regra delta, sendo chamada

tambem de regra delta generalizada. Para que a regra delta generalizada possa ser usada,

a funcao de ativacao precisa ser contınua, diferenciavel e, de preferencia, nao-decrescente.

Conforme visto na secao 2.1.6, diversas funcoes de ativacao com as propriedades de

nao-linearidade e diferenciacao tem sido propostas para redes multicamadas. Dentre essas

diversas funcoes de ativacao, a mais utilizada e a funcao sigmoidal logıstica. As funcoes

precisam ser diferenciaveis para que o gradiente possa ser calculado, direcionando o ajuste

dos pesos (BRAGA; CARVALHO; LUDERMIR, 2000).

Page 39: Monografia fabiano rates

3 Algoritmos de Treinamento 36

O treinamento ocorre em duas fases: um passo para frente, a propagacao (forward),

e um passo para tras, a retropropagacao (backward).

No passo para frente, um padrao de atividade (vetor de entrada) e aplicado aos nos

sensoriais da rede e seu efeito se propaga atraves da rede, camada por camada. Com isso,

um conjunto de saıdas e produzido como a resposta real da rede. Durante o passo de

propagacao, os pesos sinapticos da rede sao todos fixos.

No passo para tras, os pesos sinapticos sao todos ajustados de acordo com a regra

de correcao de erro. Dessa forma, a resposta real da rede e subtraıda de uma resposta

desejada para produzir um sinal de erro. Este sinal de erro e, entao, propagado para tras,

contra a direcao das conexoes sinapticas. Os pesos sinapticos sao ajustados para fazer

com que a resposta real da rede se mova para mais perto da resposta desejada (HAYKIN,

2001; BRAGA; CARVALHO; LUDERMIR, 2000).

3.0.15 Numero de Camadas

As camadas intermediarias de uma rede PMC funcionam como detectores de ca-

racterısticas. Elas geram uma codificacao interna dos padroes de entrada, que e entao

utilizada para a definicao de saıda da rede. Com um numero suficientemente grande de

unidades intermediarias, e possıvel formar representacoes internas para qualquer conjunto

de padroes de entrada.

Para uma rede com pelo menos duas camadas intermediarias, pode-se dizer que o

seguinte processamento ocorre em cada uma das camadas:

• Camada de Entrada: propaga os valores recebidos como entrada para a proxima

camada;

• Primeira Camada Intermediaria: cada nodo traca retas no espaco de padroes de

treinamento;

• Segunda Camada Intermediaria: cada nodo combina as retas tracadas pelos neuro-

nios da camada anterior conectados a ele, formando regioes convexas, onde o numero

de lados e definido pelo numero de unidades a ele conectadas;

Page 40: Monografia fabiano rates

3 Algoritmos de Treinamento 37

• Camada de Saıda: cada nodo forma regioes que sao combinacoes das regioes con-

vexas definidas pelos nodos a ele conectados da camada anterior. Dessa forma, os

nodos determinam regioes com formatos abstratos.

De acordo com Cybenko, uma camada intermediaria, combinando as tarefas das duas

camadas intermediarias descritas acima, e suficiente para aproximar qualquer funcao

contınua. E duas camadas intermediarias sao suficientes para aproximar qualquer funcao

matematica [CYBENKO; 1989].

Para alguns casos, no entanto, a utilizacao de duas ou mais camadas intermediarias

pode facilitar o treinamento da rede. Por outro lado, um numero muito grande de camadas

intermediarias nao e recomendada, pois cada vez que o erro medido durante o treinamento

e propagado para a camada anterior, faz com que essa camada se torne menos util ou

precisa, de forma que a unica camada a ter uma nocao precisa do erro cometido pela rede

e a camada de saıda.

3.0.16 Numero de Neuronios

O numero de neuronios na camada intermediaria, em geral, e definido empiricamente,

sendo que ele depende de varios fatores, como o numero de exemplos de treinamento, a

quantidade de ruıdo presente nos exemplos e a complexidade da funcao a ser aprendida.

Este numero depende da distribuicao dos padroes de treinamento e validacao da rede.

Porem, alguns metodos tem sido propostos como: (i) definir o numero de neuronios

ocultos em funcao do numero de neuronios de entrada e saıda; e (ii) utilizar um numero

de conexoes dez vezes menor que o numero de exemplos.

Deve-se sempre tomar cuidado para nao se utilizar um numero muito grande de

neuronios nas camadas intermediarias. Utilizando-se um numero excessivo de neuronios,

pode-se fazer com que a rede memorize os padroes de treinamento (overfitting), em vez

de extrair as caracterısticas gerais que a permitirao generalizar ou reconhecer os padroes

nao vistos durante o treinamento. Por outro lado, um numero muito pequeno fara com

que a rede gaste um tempo muito grande ate que consiga encontrar uma representacao

otima (underfitting).

Page 41: Monografia fabiano rates

3.1 Resilient Propagation 38

3.1 Resilient Propagation

O algoritmo de treinamento Resilient Propagation (RPROP) e um algoritmo que pos-

sui um novo esquema de aprendizagem se comparado com o algoritmo Backpropagation,

pois ao inves de utilizar constantes para a atualizacao dos pesos, ele utiliza uma variavel

associada a cada peso que determina quanto ele ira atualizar o seu peso [RIEDMIL-

LER,1993].

Essa atualizacao e realizada a cada iteracao de acordo com a seguinte regra de apren-

dizagem:

1. Se o sinal do erro cometido tiver sido alterado, entao a taxa de ajuste foi exagerada

e deve ser diminuıda.

Essa abordagem e equivalente a cada peso ter sua propria taxa de aprendizado. Logo,

a vantagem deste algoritmo e de que nao se precisa definir uma taxa de aprendizagem

constante, ja que ela e calculada em funcao do gradiente descendente. O valor de sua

inicializacao tambem nao tem grandes impactos no treinamento [RIEDMILLER,1993].

Um das principais vantagens da Resilient Propagation, para muitos problemas, e que

nenhum parametro dela precisa ser informado, acelerando tanto o processo de modelagem

da RNA, quanto a sua convergencia.

3.2 Criterios de Parada

Como pode ser visto na figura 3.1, a cada iteracao, o resultado calculado pela RNA

aproxima-se mais dos valores do conjunto de treinamento. Portanto, enquanto o treina-

mento continuar e provavel que o erro do conjunto de treinamento continue a diminuir.

Entretanto, como mencionado anteriormente, um treinamento excessivo pode fazer

com que a RNA simplesmente decore os padroes de treinamento, afetando sua capacidade

de generalizacao (overfitting). Portanto, e de fundamental importancia, estabelecer um

ou mais criterios de parada para a fase de treinamento.

Dois criterios de paradas classicos sao descritos abaixo:

Page 42: Monografia fabiano rates

3.2 Criterios de Parada 39

Figura 3.1: Evolucao do Erro Durante o Treinamento da RNA

• Taxa de erro desejada: nesse caso e definida a taxa de erro desejada e quando essa

taxa e alcancada, o treinamento para e a RNA e considerada treinada;

• Numero maximo de iteracoes: e definida por quantas iteracoes a rede deve ser

treinada e quando chegar na iteracao definida, o treinamento acaba e a RNA e dada

como treinada.

Uma combinacao dos dois casos pode ser aplicada para ter um criterio mais robusto

como o treinamento deve parar quando o erro medio percentual absoluto do conjunto de

teste for 0,1% ou ocorrer 20.000 iteracoes. Esses criterios apresentam a desvantagem do

treinamento poder parar antes ou depois do ideal. Prolongar demais o treinamento pode

provocar um superajustamento (overfitting) da rede, o que a faria ter um desempenho

satisfatorio apenas sobre o conjunto de treinamento, uma vez que seus dados teriam sido

memorizados. Por outro lado, caso o treinamento pare antes do ideal, a RNA tera um

desempenho abaixo do que poderia ser obtido, problema e conhecido como underfitting.

Para evitar esses problemas existe o criterio de parada conhecido como validacao cru-

zada. Na validacao cruzada, alem de um conjunto de dados de treinamento, e considerado

outro conjunto de dados: o conjunto de validacao cruzada, cujos dados devem ser estatis-

ticamente representativos. Esse criterio funciona da seguinte forma [VALENCA, 2010]:

1. Ao final de cada iteracao e calculado o erro do conjunto de treinamento e do conjunto

de validacao cruzada;

2. O valor dos erros de ambos os conjuntos sao comparados. Enquanto a RNA es-

tiver aprendendo corretamente, o valor das taxas de erro decrescerao juntas e o

Page 43: Monografia fabiano rates

3.2 Criterios de Parada 40

treinamento deve continuar;

3. Quando o erro do conjunto de validacao cruzada passar a aumentar enquanto a do

conjunto de treinamento continuar a diminuir, e o sinal de que a rede agora esta

sofrendo um superajustamento e o treinamento deve ser encerrado.

No proximo capitulo, sera relatado como foram realizados os testes, os algoritmos

implementados, as dificuldades encontradas nos caminho e as solucoes desses problemas.

Page 44: Monografia fabiano rates

41

4 Metodologia

Esse capıtulo tem como objetivo descrever todos os passos realizados para o desen-

volvimento desse trabalho. De um modo geral, ocorreram basicamente cinco etapas:

• Definicoes iniciais;

• Obtencao dos dados de treinamento e validacao;

• Tratamento dos dados obtidos para a RNA;

• Implementacao e execucao dos treinamentos e testes com as RNAs;

• Processamento e analise dos dados gerados pelo passo anterior.

Nas secoes a seguir, e descrita cada etapa detalhadamente, de forma a esclarecer o

processo realizado em cada etapa.

4.1 Definicoes Iniciais

Primeiro foi definido quais padroes a RNA iria se propor a reconhecer. Inicialmente a

ideia era a criacao de 10 elementos, que seriam todos os algarismos de 0 a 9, porem, quanto

mais elementos, maior seria o numero de exemplos, e como o objetivo deste trabalho e a

comparacao dos algoritmos de treinamento das redes neurais, foi escolhido um domınio

menor, composto por tres formas geometricas simples, sendo elas o cırculo, o quadrado e

o triangulo.

A figura 4.1 mostra uma ilustracao dos desenhos correspondentes as formas geometricas

a serem reconhecidas pelas RNAs. Os mesmos foram desenhados manualmente, conforme

sera feito durante os processos de treinamento, validacao e execucao das RNAs.

Como pode ser observado na tabela 4.1, cada forma geometrica possui um codigo para

identifica-lo, de forma a distinguir cada uma delas. Alem disso, cada forma geometrica

possui tambem uma faixa de valores, que comeca com um valor mınimo, indo ate um

valor maximo, que representa os possıveis retornos da rede neural para aquela forma.

Page 45: Monografia fabiano rates

4.2 Obtencao dos Dados 42

Figura 4.1: Formas Geometricas Definidas: Cırculo, Quadrado e Triangulo

Caso o valor de saıda da rede neural, para uma forma geometrica, esteja dentro da

faixa de valores determinada para tal imagem, quer dizer que a rede neural reconheceu a

imagem de entrada como sendo correspondente aquela forma. Vale ressaltar que o valor

informado para cada imagem utilizada nos treinamentos sera o valor ideal, que corresponde

a media dos valores mınimo e maximo. O processo de treinamento e utilizacao desses

valores sera melhor explicado na secao 4.4.

Tabela 4.1: Tabela de dados das formas geometricas

Codigo Forma Valor Mınimo Valor Ideal Valor Maximo

1 Quadrado 0 0,16 0,33

2 Triangulo 0,34 0,5 0,66

3 Cırculo 0,67 0,83 0,99

Definido isso, foi necessario obter os dados de alguma maneira, sendo este o proximo

item a ser descrito.

4.2 Obtencao dos Dados

Apos as definicoes iniciais, os dados precisaram ser inseridos manualmente por uma

pessoa, de forma que essa pessoa realiza o desenho da figura geometrica, e ela mesma

informa qual codigo representa a forma geometrica desenhada, de acordo com os codigos

da tabela 4.1.

Observando a figura 4.2, pode-se observar a interface disponibilizada para que os dados

de treinamento e validacao pudesse ser inseridos. No exemplo em questao, e inserido um

quadrado com o codigo 1 no treinamento, enquanto que, na validacao, e inserido um

triangulo com o codigo 2, conforme tabela 4.1.

Page 46: Monografia fabiano rates

4.3 Tratamento dos Dados para a RNA 43

Figura 4.2: Exemplo de Insercao de Dados para a RNA

Todas as imagens utilizadas no treinamento (figuras I.1, I.2, I.3) e na validacao (figuras

II.1, II.2, II.3 ), estao presentes no apendice desse trabalho.

Apenas com esses dados inseridos, a rede neural ainda nao e capaz de prever qual

a forma da imagem fornecida, pois, primeiro, e necessario um tratamento desses dados

inseridos pelo usuario, de forma a facilitar o reconhecimento da rede, como pode ser

verificado na proxima secao.

4.3 Tratamento dos Dados para a RNA

Para que a RNA consiga receber os dados desenhados pelo usuario, nao basta sim-

plesmente indicar que a entrada sera aquela imagem informada. Para isso, e necessario

um tratamento dos dados de entrada a serem inseridos no treinamento da RNA, pois se

nenhum tratamento fosse realizado, a entrada nao seria bem aceita pelo treinamento da

rede, tornando-o mais demorado e menos preciso.

No caso deste trabalho, foram realizados varios testes, com as mais variadas maneiras

de tratamento, para a entrada da rede neural. Todas essas maneiras sao descritas breve-

mente, a seguir, enquanto que a maneira utilizada nos testes finais do trabalho e descrita,

de forma detalhada, buscando mostrar todo o processo de tratamento da imagem.

Nos primeiros treinamentos foi realizado apenas uma reducao das imagens, passando,

inicialmente, de uma imagem com uma resolucao de 100 x 100 pixels para uma imagem

de 15 x 15 pixels. Para isso, foram utilizados alguns dos algoritmos mais populares

Page 47: Monografia fabiano rates

4.3 Tratamento dos Dados para a RNA 44

de reducao de imagem, com varios modos de interpolacao, tais como Bicubic, Bilinear,

Nearest Neighbor e High Quality Bicubic.

Apos essas reducoes, as imagens foram convertidas para preto e branco. Com isso, a

imagem passou a possuir apenas duas cores, onde no padrao de cores RGB (Red, Green,

Blue), a cor preta representa o valor (0, 0, 0) e o branco equivale a (255, 255, 255).

Posteriormente, a fim de facilitar o tratamento desses pixels, os pontos brancos pas-

saram a ser considerados como 0 e os pontos pretos considerados 1, gerando, portanto,

uma entrada de 225 neuronios binarios para a RNA, sendo cada neuronio correspondente

a um dos bits da imagem.

Mesmo com tais manipulacoes na imagem, a rede nao se mostrou muito eficiente,

apresentando treinamento demorado, com varias epocas geradas durante o processo, e

um baixo percentual de acerto apos sua conclusao.

Visando melhorar o padrao de entrada de dados da RNA, foi realizada uma norma-

lizacao dos dados de entrada. Para isso, a imagem original de resolucao de 100 x 100 pixels

foi dividida em 100 partes de 10 x 10 pixels, onde cada parte foi normalizada utilizando

a formula a seguir.

y(x) =

(1

x

), (4.1)

onde:

• y e o valor normalizado;

• e x e o valor a ser normalizado.

Como pode ser observado na figura 4.3, a imagem original foi divida em 100 regioes,

cada regiao com 10 x 10 pixels. Apos isso, foi realizada a normalizacao da “populacao” de

bits de cada regiao da imagem, que nada mais e que contabilizar os pontos pretos daquela

parte. Essa quantidade de pontos pretos da regiao e exatamente o valor do x da formula

de normalizacao 4.1 e, com esse valor normalizado, pode-se gerar o valor de entrada da

rede neural daquela parte.

Page 48: Monografia fabiano rates

4.3 Tratamento dos Dados para a RNA 45

Figura 4.3: Normalizacao - Divisao das partes

A imagem inicial com seu resultado final da normalizacao pode ser observado no

exemplo da figura 4.4.

Figura 4.4: Resultado da Normalizacao de uma imagem

Utilizando a normalizacao, tornou-se possıvel reduzir a entrada da rede neural de

225 neuronios para 100 neuronios, muda muito e melhorando bastante a eficacia dos

treinamentos em geral.

A normalizacao foi util para dados com um determinado tamanho informado nos trei-

namentos. Porem, ao se informar formas geometricas de tamanhos variados, a RNA nao

conseguiu distinguı-los, pois os variados tamanhos geravam valores diferentes na norma-

lizacao, sendo assim necessarios uma maior quantidade de exemplos com os mais variados

tamanhos das formas geometricas, tornando essa possibilidade inviavel.

Para solucionar esse problema, apos realizar varias pesquisas, foi verificado que se

fossem consideradas imagens de varios tamanhos em um frame 100 x 100, seria possıvel,

sem grandes prejuızos, transformar as imagens menores para o tamanho 100 x 100. Dessa

forma, limitando-se apenas a regiao onde a figura deve ser informada, as entradas produ-

zidas para a RNA estariam padronizadas, auxiliando com isso o treinamento e a predicao

Page 49: Monografia fabiano rates

4.4 Implementacao e Execucao dos Treinamentos e Testes com as RNAs 46

da forma geometrica informada.

Para realizar essas padronizacao, foi utilizada a API grafica AForge, realizando-se os

passos ilustrados na figura 4.5 e descritos a seguir:

• Fase 1 - imagem original;

• Fase 2 - para a utilizacao da AForge, a imagem deve ser convertida para preto e

branco e as cores devem ser invertidas;

• Fase 3 - com as cores invertidas, a AForge consegue detectar os 4 extremos da

imagem e, com esses pontos, escalar a imagem para o tamanho do frame (100 x

100);

• Fase 4 - apos a expansao, a imagem e invertida novamente para fundo branco e

forma preta.

Figura 4.5: Fases da Expansao de Imagens Menores

Apos conseguir padronizar os dados de entrada da RNA, verificou-se que os resultados

gerados foram bem mais eficientes. Dessa maneira, a rede pode aproveitar melhor a

entrada e, com isso, reduzir a quantidade de exemplos necessarios para o treinamento,

aumentando a qualidade e a diversidade de tamanhos possıveis para a predicao da RNA.

4.4 Implementacao e Execucao dos Treinamentos e Testes com as RNAs

Como este trabalho necessita de que todos os dados sejam armazenadas para uma

rapida consulta a qualquer momento e tambem para que se tenha uma base consistente

para analise de todas as informacoes geradas por todos os treinamentos e validacoes, todas

as informacoes foram armazenadas em um banco de dados. O diagrama a seguir apresenta

uma visao geral de como os dados foram armazenados:

Page 50: Monografia fabiano rates

4.4 Implementacao e Execucao dos Treinamentos e Testes com as RNAs 47

Figura 4.6: Diagrama do Banco de Dados

Como pode ser observado no diagrama da figura 4.6, a tabela principal, denominada

Treinamento, armazena as principais informacoes sobre o treinamento das RNAs como:

qual RNA foi utilizada, qual algoritmo foi utilizado, quais os valores dos parametros de

treinamento, dentre outras informacoes.

Durante o treinamento, cada epoca tem sua margem de erro armazenada na tabela

LogTreinamento, para que a analise a ser realizada e tambem a geracao dos graficos

utilizados na comparacao sejam facilitadas. E, apos o treinamento, cada RNA tem seus

pesos armazenados na tabela RedeNeuralResultante, o que permite que uma rede neural

possa ser reutiliza a qualquer momento sem a necessidade de um novo treinamento.

Todos os elementos utilizados no treinamento de cada RNA presente na tabela Trei-

namento, possuem n TreinamentoDados, que armazenam todas as formas utilizadas no

treinamento e, ainda, as informacoes pos treinamento informando se a forma foi vali-

Page 51: Monografia fabiano rates

4.4 Implementacao e Execucao dos Treinamentos e Testes com as RNAs 48

dada conforme o esperado ou nao. Com isso, tem-se um controle das formas validadas,

facilitando a identificacao do(s) ponto(s) forte(s) do treinamento de cada RNA.

A imagem original e os dados normalizados de cada forma podem ser encontrados na

tabela DadosTreinamento, que armazena todos as imagens que podem ser utilizadas nos

treinamentos.

Na tabela Elemento, sao encontradas todas as formas que a rede pode predizer. No

caso deste trabalho, sao exatamente as formas descritas na tabela 4.1.

A validacao da rede neural ocorre de maneira semelhante ao processo de treinamento,

apresentando n ValidacaoDados, que armazenam informacoes sobre determinada imagem

presente em DadosValidacao. Para nao prejudicar o processo de validacao da RNA, nessa

etapa nao e utilizado nenhuma imagem ja considerada no processo de treinamento.

A tabela DadosRedeNeural contem as configuracoes das RNAs como: o numero de

neuronios presentes em cada uma de suas tres camadas (camada de entrada, camada

oculta e camada de saıda) e os pesos iniciais atribuıdos aos neuronios e as suas ligacoes

antes da etapa de treinamento.

Utilizando toda essa estrutura descrita, os treinamentos foram realizados considerando

tres quantidade de exemplos: 10, 30 e 50 exemplos de cada forma geometrica. Como

criterios de parada, foi considerada uma margem de erro de 0, 1% ou um limite maximo

de 20.000 epocas, sendo este segundo limite importante para finalizar o treinamento das

RNAs que encontram um mınimo local, que faz com que a treinamento se prolongue

indefinidamente. Os parametros do processo de treinamento serao explicados de forma

mais detalhada no capıtulo de 5.

Todas as imagens utilizadas no treinamento estao presentes no apendice 1 (veja figuras

I.1, I.2, I.3).

Descrito o processo de treinamento, na secao a seguir, e relatado como foram feitas

as validacoes das RNAs treinadas.

Page 52: Monografia fabiano rates

4.5 Processamento e Analise dos Dados Gerados pela RNA 49

4.5 Processamento e Analise dos Dados Gerados pela RNA

Apos a realizacao de todos os treinamentos, foram realizados os testes de validacao

com exemplos totalmente diferentes daqueles utilizados no treinamento. Atraves da etapa

de validacao, foi possıvel verificar se as RNAs conseguiram uma alta eficiencia na predicao

das formas geometricas (sem overfitting ou underfitting), e analisar como cada algoritmo

de treinamento se saiu no seu respectivo treinamento.

Todas as imagens utilizadas durante a etapa de validacao estao presentes no apendice

2 (figuras II.1, II.2, II.3).

O seguinte processo foi realizado para todas as imagens da validacao para a realizacao

da validacao:

1. A imagem e manipulada de acordo com as etapas citadas no treinamento;

2. A RNA e construıda com os pesos resultantes do treinamento e, apos ser criada,

os dados de cada imagem sao computados pela rede, retornando um valor que,

analisando as faixas de valores definidas inicialmente para cada elemento, pode-se

dizer qual e a forma geometrica correspondente;

3. Com o valor computado pela RNA, e verificado se o valor retornado pela mesma e

proximo da faixa de valores definidos para aquela imagem. Se estiver na faixa, e

possıvel dizer que a rede validou com sucesso aquela imagem.

Os dados de validacao sao armazenados no banco de dados para permitir consultas

posteriores. Para isso, deve-se armazenar quais valores foram retornados pela rede neural

ao predizer uma imagem e verificar se este valor retornado confere com o valor informado

na insercao daquela forma geometrica, apontando a validacao daquela imagem como valida

ou nao.

Com base em todos esses dados dos treinamentos e validacoes, foi possıvel obter os

dados necessarios para a realizacao das comparacoes entre os algoritmos de treinamento

Backpropagation e Resilient Propagation, que sao apresentados no proximo capıtulo.

Page 53: Monografia fabiano rates

50

5 Resultados Obtidos

Neste capıtulo serao discutidos os resultados obtidos pelos testes das RNAs, apresen-

tando, inicialmente, todos os parametros e definicoes dos treinamentos realizados como

exemplo: a funcao de ativacao utilizada, o numero de camadas ocultas, o numero de

neuronios em cada camada e a quantidade de exemplos utilizados no treinamento e na

validacao.

5.1 Definicoes das RNAs Utilizadas na Comparacao

Esta secao possui um breve resumo de todas as definicoes que foram utilizadas na

analise dos algoritmos de treinamento: Backpropagation e Resilient Propagation.

Neste capıtulo, o algoritmo Backpropagation e tratado como “BP” e o algoritmo

Resilient Propagation como “RP”, para uma melhor compreensao.

5.1.1 Funcao de Ativacao

Uma das etapas necessarias para a criacao das RNAs foi a definicao de qual funcao

de ativacao utilizar. A funcao de ativacao escolhida foi a Sigmoide, pois esta funcao pode

assumir todos os valores entre 0 e 1. Com isso, ela aceita todas as faixas escolhidas para

a representacao das formas geometricas.

5.1.2 Numero de Camadas Ocultas

Foi estabelecido que as RNAs apresentarao apenas uma camada oculta, pois uma vez

que o intuito do trabalho e apenas comparar os algoritmos de treinamento, a definicao de

mais de uma camada oculta implicaria em um grau de complexidade a mais, sem qual-

quer necessidade. Alem disso, testes empıricos com a rede neural MLP nao conseguiram

comprovar vantagem significante no uso de mais de uma camada oculta (HAYKIN, 2001).

Page 54: Monografia fabiano rates

5.1 Definicoes das RNAs Utilizadas na Comparacao 51

5.1.3 Numero de Neuronios em Cada Camada

A camada de entrada das RNAs proposta apresentam 100 neuronios, representando

cada um dos elementos da matriz 10 x 10 que representa a forma geometrica a ser clas-

sificada, apos a normalizacao realizada sobre a imagem original descrita na secao 4.4. Ja

na camada de saıda, as RNAs possuem apenas 1 neuronio, para retornar o valor predito

que representa a imagem a ser identificada. E, por fim, para a definicao do numero de

neuronios presentes na camada oculta, foram utilizadas quatro configuracoes calculadas

pelas seguintes regras:

Regra do Valor Medio

A regra do valor medio pode ser definida pela seguinte equacao:

n1 + n2

2, (5.1)

onde:

• n1 e o numero de neuronios na camada de entrada;

• e n2 e o numero de neuronios na camada de saıda.

Regra de Kolmogorov

A regra de Kolmogorov pode ser definida pela seguinte equacao:

(2 ∗ n1) + n2, (5.2)

onde:

• n1 e o numero de neuronios na camada de entrada;

• e n2 e o numero de neuronios na camada de saıda.

Page 55: Monografia fabiano rates

5.1 Definicoes das RNAs Utilizadas na Comparacao 52

Regra de Fletcher-Gloss

A regra de Fletcher-Gloss pode ser definida pela seguinte equacao:

(2 ∗√n1) + n2, (5.3)

onde:

• n1 e o numero de neuronios na camada de entrada;

• e n2 e o numero de neuronios na camada de saıda.

Regra da Raiz Quadrada

A regra da raiz quadrada pode ser definida pela seguinte equacao:

√n1 + n2, (5.4)

onde:

• n1 e o numero de neuronios na camada de entrada;

• e n2 e o numero de neuronios na camada de saıda.

Definicoes das Configuracoes

Baseando nas formas citadas anteriormente, obtem-se as seguintes configuracoes de

redes neurais:

• Configuracao 1 - Utilizando a regra do valor medio:

– Camada de Entrada: 100 neuronios;

– Camada Oculta: 50 neuronios;

– Camada de Saıda: 1 neuronio.

Page 56: Monografia fabiano rates

5.1 Definicoes das RNAs Utilizadas na Comparacao 53

• Configuracao 2 - Utilizando a regra de Kolmogorov:

– Camada de Entrada: 100 neuronios;

– Camada Oculta: 201 neuronios;

– Camada de Saıda: 1 neuronio.

• Configuracao 3 - Utilizando a regra de Fletcher-Gloss:

– Camada de Entrada: 100 neuronios;

– Camada Oculta: 21 neuronios;

– Camada de Saıda: 1 neuronio.

• Configuracao 4 - Utilizando a regra da raiz quadrada:

– Camada de Entrada: 100 neuronios;

– Camada Oculta: 10 neuronios;

– Camada de Saıda: 1 neuronio.

Para evitar qualquer injustica ou falha nessas comparacoes, todas as redes de uma

determinada configuracao comecam sempre com os mesmos pesos iniciais. Para arma-

zenar os pesos de uma RNA apos o treinamento, foram utilizados metodos do proprio

framework Encog, facilitando assim a reutilizacao dessa rede, sem a necessidade de um

novo treinamento.

5.1.4 Quantidade de Exemplos no Treinamento

Apos a definicao das configuracoes das RNAs utilizadas nas comparacoes, e preciso

definir o numero de exemplos a serem utilizados durante o treinamento. Com o intuito

de analisar como cada algoritmo se comporta com diferentes quantidades de exemplos de

entrada os mesmos procedimentos serao realizados, utilizando-se:

• 10 exemplos de cada forma, totalizando 30 exemplos;

• 30 exemplos de cada forma, totalizando 90 exemplos;

• e 50 exemplos de cada forma, totalizando 150 exemplos.

Page 57: Monografia fabiano rates

5.2 Resultados Obtidos Pelos Algoritmos 54

A fim de por em prova a capacidade das RNAs distinguirem padroes mesmo com um

razoavel volume de ruıdos, todos os exemplos foram desenhados manualmente (por uma

pessoa utilizando o mouse), podendo apresentar, alem de tamanhos variados, pequenas

deformacoes inseridas propositalmente, para que a RNA nao trabalhe apenas com formas

perfeitas.

5.1.5 Quantidade de Exemplos na Validacao

No caso da validacao, todas as 150 imagens presentes nas figuras II.3, II.1 e II.2 pre-

sentes no apendice 2 foram utilizadas para todas as configuracoes das RNAs, de forma a

seguirem sempre um padrao na validacao das formas que nao foram utilizadas no treina-

mento.

5.2 Resultados Obtidos Pelos Algoritmos

Nessa sessao sao exibidos todos os resultados obtidos, divididos por configuracao da

RNA e pelo numero de exemplos utilizados no treinamento. Em seguida, e realizado

um comparativo global entre as melhores e piores RNAs treinadas por cada algoritmo,

observando cada aspecto separadamente.

Para as RNAs treinadas pelo algoritmo RP, foi realizado apenas um treinamento, uma

vez que este algoritmo nao possui parametros de configuracao a serem calibrados. Com

isso, para um determinado conjunto de exemplos de entrada e considerando sempre os

mesmos pesos iniciais, essas RNAs apresentam sempre o mesmo resultado final no ajuste

dos pesos.

Ja para as RNAs treinadas pelo algoritmo BP, foi necessaria a realizacao de diversos

treinamentos, ja que as mesmas possuem dois parametros de configuracao. Sao eles:

• Taxa de aprendizagem: responsavel por definir a forma de ajuste dos pesos em cada

iteracao, tem grande influencia no processo de treinamento da RNA. Uma taxa de

aprendizado muito baixa torna o aprendizado da rede muito lento, ao passo que

uma taxa de aprendizado muito alta provoca oscilacoes no treinamento e impede a

convergencia do processo de aprendizado. Geralmente seu valor varia de 0.1 a 1.0;

Page 58: Monografia fabiano rates

5.2 Resultados Obtidos Pelos Algoritmos 55

• Momentum: responsavel por evitar que o treinamento se estabilize em mınimos/maximos

locais, o momentum aumenta a velocidade de treinamento da RNA e reduz o perigo

de instabilidade. Este parametro pode ou nao ser usado durante o treinamento e

seu valor, em geral, varia de 0.0 (nao utilizacao) a 1.0.

No caso das RNAs Backpropagation, foram realizados treinamentos com as seguintes

faixas de valores:

• Taxa de aprendizagem: variando de 0.1 a 0.9, aumentando de 0.1 em 0.1;

• Momentum: variando de 0.1 a 0.9, aumentando de 0.1 em 0.1.

Com base nessas faixas, foram realizados 81 testes do algoritmo Backpropagation para

cada combinacao (configuracao,quantidade de exemplos).

5.2.1 Configuracao 1 - Utilizando a Regra do Valor Medio para Determinar

o Numero de Neuronios Ocultos

Entende-se como configuracao 1, aquela que utiliza a regra do valor medio para de-

terminar o numero de neuronios presentes na camada oculta.

Para cada quantidade de exemplos utilizados no treinamento, foram analisados como

cada algoritmo de treinamento se comportou.

Utilizando 30 Exemplos de Entrada

Analisando como cada algoritmo se saiu com 30 exemplos, sendo 10 quadrados, 10

triangulos e 10 cırculos, nessa primeira configuracao das RNAs, com base na tabela 5.1,

pode-se verificar que as melhores RNAs de cada algoritmo nao alcancaram a faixa de 80%

de acertos.

Como era esperado, a RNA treinada com o algoritmo Resilient Propagation convergiu

em um numero menor de epocas, apresentando apenas 30 epocas, enquanto que aquela

treinada com o algoritmo Backpropagation precisou de 109 epocas para convergir. Essa

diferenca aponta uma eficiencia da RNA treinada pelo RP cerca de 3 vezes maior que

Page 59: Monografia fabiano rates

5.2 Resultados Obtidos Pelos Algoritmos 56

a mesma rede treinada pelo BP. Em relacao ao percentual de acerto, nao foi vista uma

grande vantagem para nenhum dos dois tipos de treinamento, tendo o BP apresentado uma

acertividade media de 74%, e o RP de 76%. Esses ındices de acerto abaixo do esperado

se devem, provavelmente, ao baixo numero de exemplos utilizados no treinamento.

Tabela 5.1: Tabela de resultados dos treinamentos com configuracao 1 e 30 exemplos

Informacoes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na ValidacaoTotal Acertos

Treinamento Algoritmo Epocas Quadrado Triangulo Cırculo Total Quadrado Triangulo Cırculo Total

57 BP 109 10/10 100% 10/10 100% 10/10 100% 30/30 100% 41/50 82% 18/50 36% 44/50 88% 103/150 69% 133/180 74%

1 RP 30 10/10 100% 10/10 100% 10/10 100% 30/30 100% 42/50 84% 36/50 72% 29/50 58% 107/150 71% 137/180 76%

Analisando os graficos 5.1 e 5.2, que apresentam a evolucao dos treinamentos reali-

zados com os algoritmos BP e RP, respectivamente, pode-se observar que o treinamento

utilizando o BP apresentou um volume maior de oscilacoes e, provavelmente por esse

motivo, gerou um alto numero de epocas para a convergencia do treinamento. Ja no

treinamento utilizando o RP, ocorreram apenas 3 grandes oscilacoes, que podem ser veri-

ficadas nas epocas 5, 7 e 10, mas, com a mudanca de sinal, o proprio treinamento mudou

o sentido de aumento do erro para uma diminuicao do erro de forma mais rapida, como

explicado no capıtulo 3.

Figura 5.1: Epocas x Erro - BP com a Configuracao 1 e 30 Exemplos

Para este caso, verificou-se que a RNA treinada com o algoritmo Resilient Propagation

se saiu um pouco melhor num aspecto geral que o algoritmo Backpropagation, pois, apesar

de nao apresentar uma acertividade muito maior, apresentou convergencia em um numero

menor de epocas no treinamento.

Page 60: Monografia fabiano rates

5.2 Resultados Obtidos Pelos Algoritmos 57

Figura 5.2: Epocas x Erro - RP com a Configuracao 1 e 30 Exemplos

Utilizando 90 Exemplos de Entrada

Analisando agora a mesma RNA com 90 exemplos, sendo 30 cırculos, 30 quadrados e

30 triangulos, pela tabela 5.2, verifica-se que a RNA treinada pelo algoritmo BP teve um

acerto de 90%, enquanto que aquela treinada pelo RP teve 85% de acerto. Portanto, com

o simples aumento do numero de exemplos, ambas as RNAs apresentaram um aumento

expressivo no percentual de acertos.

Alem disse, pode ser observado que com o aumento da quantidade de exemplos, au-

mentou tambem o numero de epocas necessarias para os algoritmos convergirem. O RP

precisou de mais 43 epocas, ao passo que o BP aumentou aproximadamente 20 vezes o

numero de epocas necessarias para convergir, resultando numa esperar bem maior para a

realizacao do treinamento.

Tabela 5.2: Tabela de resultados dos treinamentos com configuracao 1 e 90 exemplos

Informacoes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na ValidacaoTotal Acertos

Treinamento Algoritmo Epocas Quadrado Triangulo Cırculo Total Quadrado Triangulo Cırculo Total

382 BP 2264 29/30 97% 30/30 100% 30/30 100% 89/90 99% 43/50 86% 46/50 92% 38/50 76% 127/150 85% 216/240 90%

5 RP 73 30/30 100% 30/30 100% 30/30 100% 90/90 100% 39/50 78% 34/50 68% 41/50 82% 114/150 76% 204/250 85%

Analisando os graficos 5.3 e 5.4, pode-se perceber que novamente o RP apresentou

raras oscilacoes, enquanto o BP teve uma grande quantidade de oscilacoes, sempre au-

mentando e diminuindo o erro durante o treinamento, motivo do expressivo aumento do

numero de epocas para a convergencia.

Page 61: Monografia fabiano rates

5.2 Resultados Obtidos Pelos Algoritmos 58

Figura 5.3: Epocas x Erro - BP com a Configuracao 1 e 90 Exemplos

Figura 5.4: Epocas x Erro - RP com a Configuracao 1 e 90 Exemplos

Apos essas comparacoes, verificou-se que neste caso quem se saiu melhor foi o BP,

porem em casos que o numero de epocas do treinamento e importante, o RP deve ser

considerado ja que apresenta um numero de epocas para convergencia cerca de 31 vezes

menor que o BP.

Utilizando 150 Exemplos de Entrada

E, por fim, analisando a mesma RNA com 150 exemplos, sendo 50 cırculos, 50 qua-

drados e 50 triangulos, pode-se observar que a quantidade de acertos aumentou muito

pouco com a adicao de 20 exemplos de cada forma. Conforme pode ser visto na tabela

5.3, os aumentos foram de cerca de 2% para o BP e de 4% para o RP, o que gerou um

percentual de 92% de acerto para o BP e 89% para o RP.

Em relacao ao numero de epocas para convergencia de cada treinamento, os graficos

5.5 e 5.6 mostram o mesmo comportamento dos cenarios anteriores, apresentando o BP

com muitas oscilacoes e convergencia com muitas epocas (2034 epocas), e o RP com

Page 62: Monografia fabiano rates

5.2 Resultados Obtidos Pelos Algoritmos 59

Tabela 5.3: Tabela de resultados dos treinamentos com configuracao 1 e 150 exemplos

Informacoes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na ValidacaoTotal Acertos

Treinamento Algoritmo Epocas Quadrado Triangulo Cırculo Total Quadrado Triangulo Cırculo Total

690 BP 2034 50/50 100% 50/50 100% 50/50 100% 150/150 100% 41/50 0,82 50/50 100% 35/50 70% 126/150 84% 276/300 92%

9 RP 109 50/50 100% 50/50 100% 50/50 100% 150/150 100% 43/50 0,86 36/50 72% 39/50 78% 118/150 79% 268/300 89%

poucas oscilacoes e convergencia em um numero bem menor de epocas (109 epocas).

Neste contexto, o treinamento com o RP convergiu cerca de 18 vezes menos epocas que o

treinamento com o BP, porem teve um percentual de acertos menor.

Figura 5.5: Epocas x Erro - BP com a Configuracao 1 e 150 Exemplos

Figura 5.6: Epocas x Erro - RP com a Configuracao 1 e 150 Exemplos

Verificou-se portanto, um novo aumento na quantidade de acertos, proveniente do

aumento da quantidade de imagens no treinamento, sendo que o BP apresentou melhores

resultados, embora o RP tenha apresentado tambem um bom nıvel de acertividade com

um numero menor de epocas para convergencia bem menor.

Page 63: Monografia fabiano rates

5.2 Resultados Obtidos Pelos Algoritmos 60

Analise dos Resultados da Configuracao 1

Com 50 neuronios na camada oculta, as RNAs treinadas tanto por BP quanto por RP

se mostraram menos eficientes ao predizer as formas geometricas com poucos exemplos

e foram aumentando o percentual de acertos a medida que o numero de exemplos no

treinamento aumentava, chegando ao limite de 92% de acertividade com o BP e de 89%

com o RP.

Em relacao ao numero de epocas para a convergencia, enquanto o BP aumentou de

maneira drastica o numero de epocas necessarias para convergir seu treinamento, chegando

a superar a casa das 2000 epocas, o RP precisou de no maximo 109 epocas para conver-

gir. Ja em relacao a acertividade, o treinamento por BP apresentou, no geral, melhores

resultados. Portanto, pode-se dizer que o RP convergiu rapidamente com uma margem

de acertos aceitavel e com poucas oscilacoes. Ja o BP se saiu melhor no percentual de

acertos, porem deixou a desejar em relacao ao numero de epocas no treinamento.

5.2.2 Configuracao 2 - Utilizando a Regra de Kolmogorov para Determinar

o Numero de Neuronios Ocultos

Entende-se como configuracao 2, aquela que utiliza a regra de Kolmogorov para de-

terminar o numero de neuronios presentes na camada oculta.

Nesta configuracao, a RNA apresenta o maior numero de neuronios ocultos testado

e, com isso, apresenta um maior risco de overfitting.

Utilizando 30 Exemplos de Entrada

Analisando a tabela 5.4, com a menor quantidade de exemplos disponıveis, pode-se

observar que as melhores RNAs de ambos os algoritmos nao conseguiram alcancar 75%

de acertos, o BP apresentou uma acertividade um pouco maior com 73%, enquanto que

o RP teve 72% de acerto.

Analisando os graficos de cada algoritmo nas figuras 5.7 e 5.8, e possıvel perceber que

o algoritmo BP apresentou um numero menor de oscilacoes se comparado aos graficos

Page 64: Monografia fabiano rates

5.2 Resultados Obtidos Pelos Algoritmos 61

Tabela 5.4: Tabela de resultados dos treinamentos com configuracao 2 e 30 exemplos

Informacoes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na ValidacaoTotal Acertos

Treinamento Algoritmo Epocas Quadrado Triangulo Cırculo Total Quadrado Triangulo Cırculo Total

146 BP 115 10/10 100% 10/10 100% 10/10 100% 30/30 100% 38/50 76% 30/50 60% 34/50 68% 102/150 68% 132/180 73%

2 RP 34 10/10 100% 10/10 100% 10/10 100% 30/30 100% 40/50 80% 34/50 68% 25/50 50% 99/150 66% 129/180 72%

anteriores desse algoritmo, convergindo em 115 epocas, enquanto que o RP convergiu

com apenas 34 epocas, sendo cerca de 3 vezes menos epocas.

Figura 5.7: Epocas x Erro - BP com a Configuracao 2 e 30 Exemplos

Figura 5.8: Epocas x Erro - RP com a Configuracao 2 e 30 Exemplos

Para essa configuracao e numero de exemplos, os dois algoritmos apresentaram resul-

tados bem similares, apresentando uma acertividade discreta e convergencia acelerada.

Utilizando 90 Exemplos de Entrada

Aumentando o numero de exemplos, mesmo pela primeira vez tendo errado 1 quadrado

durante o treinamento, o BP aumentou seu percentual de acertos de 73% para 89%,

Page 65: Monografia fabiano rates

5.2 Resultados Obtidos Pelos Algoritmos 62

enquanto que o RP atingiu uma acertividade de 85%, conforme apresentado na tabela

5.5.

Tabela 5.5: Tabela de resultados dos treinamentos com configuracao 2 e 90 exemplos

Informacoes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na ValidacaoTotal Acertos

Treinamento Algoritmo Epocas Quadrado Triangulo Cırculo Total Quadrado Triangulo Cırculo Total

463 BP 2216 29/30 97% 30/30 100% 30/30 100% 89/90 99% 40/50 80% 47/50 94% 38/50 76% 125/150 83% 214/240 89%

6 RP 85 30/30 100% 30/30 100% 30/30 100% 90/90 100% 40/50 80% 36/50 72% 39/50 78% 115/150 77% 205/240 85%

Ao se analisar os graficos de ambos os algoritmos nas figuras 5.9 e 5.10, pode-se

observar que o BP voltar a oscilar de forma exagerada, enquanto que o RP manteve um

baixo volume de oscilacoes. Esse excesso de oscilacoes no BP fez com que o treinamento

do BP demandasse cerca de 26 vezes mais epocas que o BP, que apresentou pouca reducao

no numero de epocas para convergencia.

Figura 5.9: Epocas x Erro - BP com a Configuracao 2 e 90 Exemplos

Figura 5.10: Epocas x Erro - RP com a Configuracao 2 e 90 Exemplos

Com 90 exemplos no treinamento, o BP se saiu melhor quanto ao percentual de

Page 66: Monografia fabiano rates

5.2 Resultados Obtidos Pelos Algoritmos 63

acertos, porem o RP manteve uma acertividade proxima com uma convergencia bem

mais acelerada.

Utilizando 150 Exemplos de Entrada

Aumentando um pouco mais o numero de exemplos no treinamento, conforme obser-

vado na tabela 5.6, o algoritmo BP aumentou o percentual de acertos para 92%, enquanto

que o RP acertou 89% dos exemplos, uma diferenca de 3% ou 10 formas geometricas.

Tabela 5.6: Tabela de resultados dos treinamentos com configuracao 2 e 150 exemplos

Informacoes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na ValidacaoTotal Acertos

Treinamento Algoritmo Epocas Quadrado Triangulo Cırculo Total Quadrado Triangulo Cırculo Total

750 BP 5010 49/50 98% 50/50 100% 50/50 100% 149/150 99% 45/50 90% 43/50 86% 39/50 78% 127/150 85% 276/300 92%

10 RP 124 50/50 100% 50/50 100% 50/50 100% 150/150 100% 41/50 82% 32/50 64% 43/50 86% 116/150 77% 266/300 89%

Analisando os graficos 5.11 e 5.12, porem, como nos demais treinamentos, o BP apre-

sentou muitas oscilacoes e precisou de muitas epocas para convergir, enquanto que o RP

manteve o baixo numero de oscilacoes e um numero menor de epocas para a convergencia.

Figura 5.11: Epocas x Erro - BP com a Configuracao 2 e 150 Exemplos

Analise dos Resultados da Configuracao 2

Conforme esperado, com 201 neuronios na camada oculta, as RNAs treinadas tanto

pelo BP quanto que pelo RP, apresentaram um aumento no seu percentual de acerto

Page 67: Monografia fabiano rates

5.2 Resultados Obtidos Pelos Algoritmos 64

Figura 5.12: Epocas x Erro - RP com a Configuracao 2 e 150 Exemplos

proporcional ao aumento na quantidade de exemplos, conseguindo um acerto maximo

de 92% de acerto com o BP e 89% com o RP. E interessante observar, que esses foram

exatamente os mesmos valores maximos obtidos pelas RNAs com a configuracao 1.

Nessa configuracao, mais uma vez, de uma forma geral, o BP se saiu melhor no

percentual de acertos, mas apresentou um numero maior de epoca necessarias para a

convergencia em todos os casos. Ja o RP convergiu em um numero menor de epocas e

com poucas oscilacoes, mas apresentou margem de acertos um pouco inferior.

5.2.3 Configuracao 3 - Utilizando a Regra de Fletcher-Gloss para Determinar

o Numero de Neuronios Ocultos

Entende-se como configuracao 3, aquela que utiliza a regra de Fletcher-Gloss para

determinar o numero de neuronios presentes na camada oculta.

Novamente, para cada quantidade de exemplos utilizados no treinamento, foram ana-

lisados como cada algoritmo de treinamento se comportou.

Utilizando 30 Exemplos de Entrada

Como pode ser observado na tabela 5.7, com 30 exemplos de entrada, ambas as RNAs

passaram dos 74% de acerto. O RP atingiu 77% de acertividade, enquanto que o BP

acertou 74% das formas.

Analisando os graficos, pode-se observar que o grafico do RP, figura 5.14, nao tem

tantas oscilacoes quanto a do BP, figura 5.13, demandando um numero bem menor de

Page 68: Monografia fabiano rates

5.2 Resultados Obtidos Pelos Algoritmos 65

Tabela 5.7: Tabela de resultados dos treinamentos com configuracao 3 e 30 exemplos

Informacoes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na ValidacaoTotal Acertos

Treinamento Algoritmo Epocas Quadrado Triangulo Cırculo Total Quadrado Triangulo Cırculo Total

1008 BP 87 10/10 100% 10/10 100% 10/10 100% 30/30 100% 40/50 80% 29/50 58% 34/50 68% 103/150 69% 133/180 74%

1216 RP 27 10/10 100% 10/10 100% 10/10 100% 30/30 100% 43/50 86% 33/50 66% 33/50 66% 109/150 73% 139/180 77%

epocas para convergir (27 contra 87).

Figura 5.13: Epocas x Erro - BP com a Configuracao 3 e 30 Exemplos

Figura 5.14: Epocas x Erro - RP com a Configuracao 3 e 30 Exemplos

Nesta configuracao com 21 neuronios na camada oculta e com 30 exemplos, o RP se

saiu melhor em todos os aspectos, uma vez que obteve o maior percentual de acertividade

e conseguiu convergir com apenas 27 epocas, precisando de tres vezes menos epocas que

o BP, que precisou de 87 epocas para convergir.

Page 69: Monografia fabiano rates

5.2 Resultados Obtidos Pelos Algoritmos 66

Utilizando 90 Exemplos de Entrada

Aumentando a quantidade de exemplos, como observado na tabela 5.8, o BP superou

o RP, com um percentual de acertos de 89% enquanto que o RP acertou 87% das formas

geometricas.

Tabela 5.8: Tabela de resultados dos treinamentos com configuracao 3 e 90 exemplos

Informacoes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na ValidacaoTotal Acertos

Treinamento Algoritmo Epocas Quadrado Triangulo Cırculo Total Quadrado Triangulo Cırculo Total

1081 BP 12000 30/30 100% 30/30 100% 30/30 100% 90/90 100% 45/50 90% 42/50 84% 37/50 74% 124/150 83% 214/240 89%

1217 RP 57 30/30 100% 30/30 100% 30/30 100% 90/90 100% 37/50 74% 40/50 80% 41/50 82% 118/150 79% 208/240 87%

Como observado nas figuras 5.15 e 5.16 referentes a cada algoritmo, o BP apresentou

muitas oscilacoes que ocasionaram um numero excessivo de epocas necessarias para con-

vergir, enquanto o RP manteve um numero reduzido de oscilacoes, conseguindo convergir

em um numero menor de epocas.

Figura 5.15: Epocas x Erro - BP com a Configuracao 3 e 90 Exemplos

E possıvel notar que com o aumento de exemplos no treinamento, o BP melhorou

significativamente sua acertividade, porem experimentou 12.000 epocas ate a sua con-

vergencia. Se comparado ao RP, que precisou de apenas 57 epocas, apresentou uma

acertividade um pouco maior, mas uma convergencia com 210 vezes mais epocas.

Page 70: Monografia fabiano rates

5.2 Resultados Obtidos Pelos Algoritmos 67

Figura 5.16: Epocas x Erro - RP com a Configuracao 3 e 90 Exemplos

Utilizando 150 Exemplos de Entrada

Aumentando novamente o numero de exemplos, pode-se observar na tabela 5.9, que

ambas as RNAs conseguiram acertar mais de 90% das formas geometricas, mostrando

que nessa configuracao as duas se saıram muito bem. O BP atingiu 94% de acertividade,

enquanto que o RP acertou 92% dos exemplos.

Tabela 5.9: Tabela de resultados dos treinamentos com configuracao 3 e 150 exemplos

Codigo TreinamentoInformacoes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na Validacao

Total AcertosAlgoritmo Epocas Quadrado Triangulo Cırculo Total Quadrado Triangulo Cırculo Total

1175 BP 767 50/50 100% 50/50 100% 50/50 100% 150/150 100% 47/50 94% 48/50 96% 37/50 74% 132/150 88% 282/300 94%

1218 RP 79 50/50 100% 50/50 100% 50/50 100% 150/150 100% 43/50 86% 38/50 76% 44/50 88% 125/150 83% 275/300 92%

Analisando as figuras 5.17 e 5.18, observa-se que o BP novamente apresentou muitas

oscilacoes se comparada com o RP, necessitando de 767 epocas contra apenas 79 do RP.

Figura 5.17: Epocas x Erro - BP com a Configuracao 3 e 150 Exemplos

Page 71: Monografia fabiano rates

5.2 Resultados Obtidos Pelos Algoritmos 68

Figura 5.18: Epocas x Erro - RP com a Configuracao 3 e 150 Exemplos

Com esta quantidade de exemplos, mais uma vez o BP se saiu melhor por acertar

mais formas geometricas, mas o RP convergiu com uma quantidade menor de epocas.

Analise dos Resultados da Configuracao 3

Na configuracao 3, mais uma vez o grau de acertividade cresceu junto com o numero

de exemplo. Com 21 neuronios na camada oculta, as RNAs treinadas por BP conseguiram

um acerto maximo de 94%, ao passo que com o RP, o acerto maximo foi de 92%.

Nessa configuracao, o BP se saiu melhor no percentual maximo (94%) e no percentual

de acertos com duas quantidades de exemplos (90 e 150) no treinamento, deixando, mais

uma vez, a desejar em relacao ao numero de epocas para a convergencia do treinamento.

Ja o RP, de uma maneira geral, apresentou novamente convergencia em um numero bem

menor de epocas, com menos oscilacoes e acertividade inferior, entretanto, na configuracao

com 30 exemplos, pela primeira vez, superou o BP nos dois aspectos.

5.2.4 Configuracao 4 - Utilizando a Regra da Raiz Quadrada para Determinar

o Numero de Neuronios Ocultos

Entende-se como configuracao 4, aquela que utiliza a regra da raiz quadrada para

determinar o numero de neuronios presentes na camada oculta. Com essa configuracao,

podera ser observado se com apenas 10 neuronios na camada oculta e possıvel apresentar

resultados compatıveis com as demais configuracoes.

Mais uma vez, para cada quantidade de exemplos utilizados no treinamento, foram

analisados como cada algoritmo de treinamento se comportou.

Page 72: Monografia fabiano rates

5.2 Resultados Obtidos Pelos Algoritmos 69

Utilizando 30 Exemplos de Entrada

Como observado na tabela 5.10, com essa quantidade de exemplos, ambas as RNAs

convergiram com menos de 100 epocas e, o BP apresentou acertividade superior ao algo-

ritmo RP (77% contra 74%).

Tabela 5.10: Tabela de resultados dos treinamentos com configuracao 4 e 30 exemplos

Informacoes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na ValidacaoTotal Acertos

Treinamento Algoritmo Epocas Quadrado Triangulo Cırculo Total Quadrado Triangulo Cırculo Total

326 BP 86 10/10 100% 10/10 100% 10/10 100% 30/30 100% 41/50 82% 32/50 64% 35/50 70% 108/150 72% 138/180 77%

4 RP 25 10/10 100% 10/10 100% 10/10 100% 30/30 100% 45/50 90% 29/50 58% 29/50 58% 103/150 69% 133/180 74%

Analisando os graficos referentes ao algoritmos das figura 5.19 e 5.20, e possıvel ob-

servar que novamente o BP oscilou mais que o RP, e ja na primeira epoca a taxa de erro

aumentou ao inves de diminuir. Com isso o treinamento com BP precisou de cerca de 3

vezes mais epocas que a RP, demandando 86 epocas ate a convergencia, contra 25 epocas

do RP.

Figura 5.19: Epocas x Erro - BP com a Configuracao 4 e 30 Exemplos

Analisando-se as RNAs treinadas com 30 exemplos nos treinamentos, pode-se observar

que o BP se saiu melhor novamente, embora apresente um numero maior de epocas para

a convergencia se comparado ao RP, que consegue convergir com apenas 25 epocas.

Page 73: Monografia fabiano rates

5.2 Resultados Obtidos Pelos Algoritmos 70

Figura 5.20: Epocas x Erro - RP com a Configuracao 4 e 30 Exemplos

Utilizando 90 Exemplos de Entrada

Incrementando o numero de exemplos, as RNAs aumentaram consideravelmente o

percentual de acerto. Como pode ser observado na tabela 5.11, o BP aumentou seu

percentual de 77% (com 30 exemplos) para 93%, enquanto que o RP apresentou aumento

ainda mais expressivo, levando sua acertividade de 74% para 88%.

Tabela 5.11: Tabela de resultados dos treinamentos com configuracao 4 e 90 exemplos

Informacoes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na ValidacaoTotal Acertos

Treinamento Algoritmo Epocas Quadrado Triangulo Cırculo Total Quadrado Triangulo Cırculo Total

613 BP 934 30/30 100% 30/30 100% 30/30 100% 90/90 100% 42/50 84% 50/50 100% 40/50 80% 132/150 88% 222/240 93%

8 RP 46 30/30 100% 30/30 100% 30/30 100% 90/90 100% 41/50 82% 40/50 80% 41/50 82% 122/150 81% 212/240 88%

Em relacao a convergencia, conforme mostrado nas figuras 5.21 e 5.22, mais uma vez

o BP oscilou bastante e precisou de mais epocas para convergir (934 epocas) que o RP

(46 epocas).

Com 90 exemplos no treinamento, novamente o BP se saiu melhor que o RP, mas

experimentou muitas oscilacoes, apresentando uma convergencia necessitando de 20 vezes

mais epocas.

Page 74: Monografia fabiano rates

5.2 Resultados Obtidos Pelos Algoritmos 71

Figura 5.21: Epocas x Erro - BP com a Configuracao 4 e 90 Exemplos

Figura 5.22: Epocas x Erro - RP com a Configuracao 4 e 90 Exemplos

Utilizando 150 Exemplos de Entrada

Conforme mostrado na tabela 5.12, mais uma vez os melhores resultados foram al-

cancados com 150 formas geometricas. Com essa configuracao a diferenca de acertos entre

os algoritmos foi muito pequena: 93% com o BP e 92% com o RP.

Tabela 5.12: Tabela de resultados dos treinamentos com configuracao 4 e 150 exemplos

Informacoes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na ValidacaoTotal Acertos

Treinamento Algoritmo Epocas Quadrado Triangulo Cırculo Total Quadrado Triangulo Cırculo Total

914 BP 2023 50/50 100% 50/50 100% 50/50 100% 150/150 100% 46/50 92% 45/50 90% 39/50 78% 130/150 87% 280/300 93%

12 RP 74 49/50 98% 50/50 100% 50/50 100% 149/150 99% 44/50 88% 42/50 84% 42/50 84% 128/150 85% 277/300 92%

Porem, conforme demonstrado nos graficos das figuras 5.23 e 5.24, mais uma vez

com muitas oscilacoes, o BP apresentou convergencia com um numero elevado de epocas,

demandando 2023 epocas para convergir contra 74 do RP.

Page 75: Monografia fabiano rates

5.2 Resultados Obtidos Pelos Algoritmos 72

Figura 5.23: Epocas x Erro - BP com a Configuracao 4 e 150 Exemplos

Figura 5.24: Epocas x Erro - RP com a Configuracao 4 e 150 Exemplos

Pode-se observar que neste caso, por muito pouco, o RP nao conseguiu ser melhor que

o BP de acordo com a quantidade de acertos, porem apresentou velocidade de convergencia

bem superior, como em todos os outros testes.

Analise dos Resultados da Configuracao 4

A configuracao 4, com 10 neuronios na camada oculta, surpreendeu, pois mesmo

com poucos neuronios na camada oculta, as RNAs treinadas por ambos os algoritmos,

conseguiram altos percentuais de acertividade.

O percentual mais alto das RNAs treinadas nessa configuracao foram obtidos pelo BP,

que conseguiu um acerto maximo de 93%, enquanto a RNA treinada pelo RP apresentou

um acerto maximo de 92%. Ambos percentuais foram alcancados, mais uma vez, com 150

exemplos no treinamento.

E, como nos demais teste, verificou-se tambem que as RNAs treinadas pelo RP preci-

saram de um numero bem menor de epocas que as treinadas pelo BP, por apresentarem

um volume inferior de oscilacoes e, assim, necessitarem de um numero menor de epocas

Page 76: Monografia fabiano rates

5.3 O Melhor Backpropagation versus O Melhor Resilient Propagation 73

para convergir.

5.2.5 Resumo dos testes utilizando as 4 configuracoes

Para facilitar a comparacao de todas as configuracoes realizadas, na tabela 5.25 mostrada

a seguir, apresenta o resumo dos principais resultados obtidos, quais sejam o percentual

de acerto e o numero de epocas necessarias ate a completa convergencia do treinamento.

Figura 5.25: Resumo dos Resultados de Todos os Testes Realizados

5.3 O Melhor Backpropagation versus O Melhor Resilient Propagation

Essa secao e dedicada a comparacao dos melhores resultados de cada algoritmo de

treinamento.

Page 77: Monografia fabiano rates

5.3 O Melhor Backpropagation versus O Melhor Resilient Propagation 74

Analisando as melhores RNAs treinadas por cada algoritmo, pode-se verificar pelo

resultados da tabela 5.13, que o melhor BP foi aquele que utiliza a configuracao 3, com 21

neuronios na camada oculta, treinada com 150 exemplos. Enquanto o melhor resultado

para o RP foi alcancado com a configuracao 4, apresentado 10 neuronios na camada

oculta, tambem treinada com os mesmos 150 exemplos.

Analisando primeiramente o percentual de acertos de cada algoritmo, pode ser visto

uma leve superioridade do BP que obteve 94% de acertos, contra 92% do RP, o que

representa uma diferenca quantitativa de 2% ou de 5 formas geometricas.

Tabela 5.13: Tabela de resultados das melhores RNAs de cada algoritmo de treinamento

Informacoes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na ValidacaoTotal Acertos

Treinamento Algoritmo Epocas Quadrado Triangulo Cırculo Total Quadrado Triangulo Cırculo Total

1175 BP 767 50/50 100% 50/50 100% 50/50 100% 150/150 100% 47/50 94% 48/50 96% 37/50 74% 132/150 88% 282/300 94%

12 RP 74 49/50 98% 50/50 100% 50/50 100% 149/150 99% 44/50 88% 42/50 84% 42/50 84% 128/150 85% 277/300 92%

Em relacao a quantidade de epocas necessarias para o treinamento, como em todos os

testes realizados, o BP precisou de um alto numero de epocas, 767 epocas para convergir,

contra apenas 74 epocas do RP. Isso representa um numero de epocas no treinamento do

RP de cerca de 10 vezes menor que a quantidade necessaria para o BP.

Analisando, ainda, os graficos de treinamento das figuras 5.26 e 5.27 representando

o melhor BP e o melhor RP, respectivamente, pode-se observar a grande quantidade de

oscilacoes do BP em relacao o RP, que apresentou uma convergencia mais suave ate o

resultado final.

Figura 5.26: Epocas x Erro - Melhor BP - Configuracao 3 e 150 Exemplos

Page 78: Monografia fabiano rates

5.4 O Pior Backpropagation versus O Pior Resilient Propagation 75

Figura 5.27: Epocas x Erro - Melhor RP - Configuracao 4 e 150 Exemplos

No caso das melhores RNAs entao, pode ser visto que a RNA treinada pelo BP con-

seguiu resultados levemente superiores, mas com um numero maior de epocas necessarias

para a convergencia aquela observada no RP.

5.4 O Pior Backpropagation versus O Pior Resilient Propagation

Por fim, essa secao e dedicada a comparacao dos piores resultados de cada algoritmo

de treinamento.

Como esperado, analisando-se as RNAs treinadas com cada algoritmo que apresen-

taram os piores graus de acertividade, mesmo considerando apenas as configuracoes do

BP que conseguiram atingir a condicao de parada primaria (margem de erro de 0.1%),

a pior RNA treinada pelo RP (configuracao 2 treinada com 30 exemplos) se saiu muito

melhor que a pior do BP (tambem configuracao 2 treinada com 30 exemplos, taxa de

aprendizagem igual a 0.5 e momentum 0.3).

Conforme pode ser visto na tabela 5.14, a pior BP precisou de um alto numero de

epocas para a convergencia (1094 epocas) e nao atingiu nem 50% de acertos, enquanto

a pior RP conseguiu 72% de acertividade, convergindo seu treinamento em apenas 34

epocas.

Analisando os graficos de treinamento dos algoritmos das figuras 5.28 e 5.29, pode-se

observar que, mesmo apresentando um volume menor de oscilacoes, o BP ainda se mostrou

muito instavel no comeco do treinamento, enquanto que o RP mais uma vez apresentou

um treinamento com um numero bem menor de epocas para convergir e bem suave, com

Page 79: Monografia fabiano rates

5.4 O Pior Backpropagation versus O Pior Resilient Propagation 76

Tabela 5.14: Tabela de resultados das piores RNAs de cada algoritmo de treinamento

Informacoes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na ValidacaoTotal Acertos

Treinamento Algoritmo Epocas Quadrado Triangulo Cırculo Total Quadrado Triangulo Cırculo Total

156 BP 1094 10/10 100% 10/10 100% 10/10 100% 30/30 100% 16/50 32% 7/50 14% 36/50 72% 59/150 39% 89/180 49%

2 RP 34 10/10 100% 10/10 100% 10/10 100% 30/30 100% 40/50 80% 34/50 68% 25/50 50% 99/150 66% 129/180 72%

poucas oscilacoes.

Figura 5.28: Epocas x Erro - Pior BP - Configuracao 2 e 30 Exemplos

Figura 5.29: Epocas x Erro - Pior RP - Configuracao 2 e 30 Exemplos

No caso das piores RNAs, a RNA treinada pelo RP conseguiu ser bem melhor que o

BP, conseguindo acertar muito mais formas com um menor numero de epocas necessarias

durante o treinamento.

Page 80: Monografia fabiano rates

77

6 Conclusao

Com a execucao do presente trabalho foi possıvel perceber que a tarefa de compa-

rar algoritmos de treinamento para RNAs nao e algo trivial. Analisando os resultados,

pode-se afirmar que o uso de diferentes configuracoes da estrutura da RNA, com dife-

rentes quantidades de neuronios na camada oculta, nao afetou muito a acertividade dos

algoritmos Backpropagation e do Resilient Propagation. Ja a quantidade de exemplos se

mostrou um fator de grande influencia no aumento da acertividade, uma vez que essa se

mostrou proporcional ao numero de imagens utilizadas durante o treinamento.

Em relacao aos algoritmos comparados, pode ser afirmado que cada um tem seus

pontos forte e fraco bem definidos. Isto porque, enquanto as RNAs treinadas pelo al-

goritmo Backpropagation apresentaram, de uma forma geral, um percentual de acerto

superior, atingindo, no melhor caso, 94% de acertividade; as mesmas RNAs treinadas

pelo algoritmo Resilient Propagation se mantiveram a sua sombra, apresentando grau de

acertividade ate 5% menor.

Entretanto, em relacao ao numero de epocas para a convergencia do treinamento, o

algoritmo Resilient Propagation se mostrou bem mais eficiente e estavel, apresentando

poucas oscilacoes e sempre convergindo com menos de 125 epocas; enquanto o algoritmo

Backpropagation apresentou alto volume de oscilacoes e um alto numero de epocas no

treinamento, chegando a demandar mais de 12.000 epocas para convergir.

E importante observar que o melhor ındice de acertividade do algoritmo de treina-

mento Backpropagation se deve, justamente, ao fato de ele apresentar um numero maior

de configuracoes disponıveis. Porem, por essa razao, sao necessarios sempre varios testes

ate que se chegue a uma boa configuracao. Como descrito no capıtulo anterior, para

se chegar aos resultados apresentados para as RNAs treinadas pelo Backpropagation, fo-

ram realizados 81 testes, variando a taxa de aprendizagem e o momentum; enquanto que

com o algoritmo Resilient Propagation foi necessario apenas um teste por configuracao e

quantidade de exemplos.

Apos essas analises, pode-se concluir entao que para casos onde o numero de acertos

deve ser o maior possıvel e o numero de epocas de treinamento nao e fundamental, deve

Page 81: Monografia fabiano rates

6 Conclusao 78

ser escolhido o treinamento atraves do algoritmo Backpropagation. E, por fim, nos casos

em que e necessario um treinamento com um numero de epocas menor e sem oscilacoes,

e que uma margem de acertos levemente inferior seja aceita, deve-se utilizar o algoritmo

Resilient Propagation.

Page 82: Monografia fabiano rates

79

7 Trabalhos Futuros

Esse trabalho pode ser aperfeicoado de varias maneiras. Por exemplo, pode-se acres-

centar a comparacao realizada, novos algoritmos de treinamento e novas formas de va-

lidacao (como a validacao cruzada explicada no capıtulo 3). Pode-se tambem aumentar

o numero de formas disponıveis para treinamento e validacao ou, ate mesmo, utilizar

outras formas para serem reconhecidas pela RNA. Ou, ainda, utilizar outros elementos

na predicao, como algarismos ou letras. Pode-se ainda adicionar novas metricas para a

comparacao, por exemplo, calculo do tempo real gasto por todos os treinamentos de cada

algoritmo.

Alem disso, seria possıvel expandir o trabalho para a elaboracao de uma biblioteca que,

nao so permitiria ao usuario utilizar RNAs com os algoritmos Backpropagation e Resilient

Propagation, como tambem lhe oferecia a funcionalidade para comparar os resultados das

mesmas, diretamente em sua aplicacao.

Page 83: Monografia fabiano rates

Bibliografia

[HAYKIN, 2001] HAYKIN, S. Redes Neurais - 2ed. [S.l.]: BOOKMAN COMPANHIA

ED, 2001. ISBN 9788573077186.

[BITTENCOURT, 2001] BITTENCOURT, G. . Inteligencia Artificial Ferramentas e Te-

orias. 2. ed. Florianopolis: Editora da UFSC, 2001. v. 1. 362 p.

[BARRETO, 2001] BARRETO, J.M. Inteligencia artificial no limiar do seculo XXI, 2001.

ISBN 9788590038252.

[RIEDMILLER,1993] RIEDMILLER M.; BRAUN, H. A direct adaptive method for faster

backpropagation learning: the rprop algorithm. In: Neural Networks, 1993., IEEE

International Conference on. [S.l.: s.n.], 1993. p. 586-591 vol.1.

[GONZALEZ; WOODS, 2000] GONZALEZ, R. C. e WOOD S, R. E.Processamento de

Imagens Digitais, Edgard Blucher,2000, 509p

[HEATON,2010] HEATON, J. Programming Neural Networks With Encog 2. St. Louis,

MO USA: Heaton Reseach, Inc, 2010.

[VALENCA, 2010] VALENCA, M. Fundamentos das Redes Neurais. 2. ed. Olinda - PE:

Livro Rapido,2010. 310 p.

[MCCULLOCH, 1943] Warren S. McCulloch and Walter Pitts. A logical calculus of the

ideas immanent in nervous activity. Bulletin of Mathematical Biology, 5(4):115-133,

December 1943.

[B DasGupta, G. Schnitger, 1993] B DasGupta, G. Schnitger, “The Power of Approxi-

mating: A Comparison of Activation Functions”. In Giles, C. L., Hanson, S. J., and

Cowan, J. D., editors, Advances in Neural Information Processing Systems, 5, pp.

615-622, San Mateo, CA. Morgan Kaufmann Publishers, 1993

[RUSSEL; NORVIG, 2004] Russell, S.J. and Norvig, P., “Inteligencia artificial”, 2004.

[CYBENKO; 1989] Cybenko, G., “Approximation by Superpositions of a Sigmoidal Func-

tion”, Math. Control Signals Systems, 2, 303-314, 1989.

Page 84: Monografia fabiano rates

Bibliografia 81

[MINSKY; PAPERT; 1972] Minsky, M.L. and Papert, S., “Perceptrons: An Introduction

to Computational Geometry”, 1972.

Page 85: Monografia fabiano rates

82

I Apendice 1 - Imagens Utilizadas no Treinamento das RNAs

Figura I.1: Imagens Utilizadas no Treinamento das RNAs - Quadrado

Figura I.2: Imagens Utilizadas no Treinamento das RNAs - Triangulos

Figura I.3: Imagens Utilizadas no Treinamento das RNAs - Cırculos

Page 86: Monografia fabiano rates

83

II Apendice 2 - Imagens Utilizadas na Validacao das RNAs

Figura II.1: Imagens utilizadas na Validacao das RNAs - Quadrados

Figura II.2: Imagens Utilizadas na Validacao das RNAs - Triangulos

Figura II.3: Imagens Utilizadas na Validacao das RNAs - Cırculos

Page 87: Monografia fabiano rates

84

III Apendice 3 - Resultados dos Treinamentos das RNAs Treinadas

Utilizando Backpropagation

Tabela dos treinamentos da Backpropagation disponibilizadas no link a seguir:

https://dl.dropboxusercontent.com/u/7497292/Monografia-Apendices.rar

Page 88: Monografia fabiano rates

85

IV Apendice 4 - Resultados dos Treinamentos das RNAs Treinadas

Utilizando Resilient Propagation

Tabela IV.1: Resultado do treinamento das RNAs utilizando Resilient Propagation

Codigo Configuracao Exemplos Epocas Quadrado Triangulo Cırculo Total Acertos

1 1 30 30 10/10 100% 10/10 100% 10/10 100% 30/30 100%

2 2 30 34 10/10 100% 10/10 100% 10/10 100% 30/30 100%

1216 5 30 27 10/10 100% 10/10 100% 10/10 100% 30/30 100%

4 4 30 25 10/10 100% 10/10 100% 10/10 100% 30/30 100%

5 1 90 73 30/30 100% 30/30 100% 30/30 100% 90/90 100%

6 2 90 85 30/30 100% 30/30 100% 30/30 100% 90/90 100%

1217 5 90 57 30/30 100% 30/30 100% 30/30 100% 90/90 100%

8 4 90 46 30/30 100% 30/30 100% 30/30 100% 90/90 100%

9 1 150 109 50/50 100% 50/50 100% 50/50 100% 150/150 100%

10 2 150 124 50/50 100% 50/50 100% 50/50 100% 150/150 100%

1218 5 150 79 50/50 100% 50/50 100% 50/50 100% 150/150 100%

12 4 150 74 50/50 100% 50/50 100% 50/50 100% 149/150 100%

Tabela IV.2: Resultado da validacao das RNAs utilizando Resilient Propagation

Codigo Configuracao Exemplos Epocas Quadrado Triangulo Cırculo Total Acertos

1 1 30 30 42/50 84% 36/50 72% 29/50 58% 107/150 71%

2 2 30 34 40/50 80% 34/50 68% 25/50 50% 99/150 66%

1216 5 30 27 43/50 86% 33/50 66% 33/50 66% 109/150 73%

4 4 30 25 45/50 90% 29/50 58% 29/50 58% 103/150 69%

5 1 90 73 39/50 78% 34/50 68% 41/50 82% 114/150 76%

6 2 90 85 40/50 80% 36/50 72% 39/50 78% 115/150 77%

1217 5 90 57 37/50 74% 40/50 80% 41/50 82% 118/150 79%

8 4 90 46 41/50 82% 40/50 80% 41/50 82% 122/150 81%

9 1 150 109 43/50 86% 36/50 72% 39/50 78% 118/150 79%

10 2 150 124 41/50 82% 32/50 64% 43/50 86% 116/150 77%

1218 5 150 79 43/50 86% 38/50 76% 44/50 88% 125/150 83%

12 4 150 74 44/50 88% 42/50 84% 42/50 84% 128/150 85%

Page 89: Monografia fabiano rates

86

V Apendice 5 - Codigo Fonte e Aplicacao

O codigo fonte esta disponibilizado no link a seguir:

https://dl.dropboxusercontent.com/u/7497292/Monografia-CodigoFonte.rar

Enquanto que a aplicacao esta disponibilizada em:

https://dl.dropboxusercontent.com/u/7497292/Monografia-Aplicacao.rar