Page 1
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
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
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
A minha mae e minha irma.
Em memoria a meu pai.
A minha namorada pelo apoio.
Aos meus amigos pelo companheirismo.
Page 5
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
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
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
“O verdadeiro homem mede a sua forca,
quando se defronta com o obstaculo.”
Antoine de Saint-Exupery
Page 9
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
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
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
IV Apendice 4 - Resultados dos Treinamentos das RNAs Treinadas Utili-
zando Resilient Propagation 85
V Apendice 5 - Codigo Fonte e Aplicacao 86
Page 13
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Bibliografia 81
[MINSKY; PAPERT; 1972] Minsky, M.L. and Papert, S., “Perceptrons: An Introduction
to Computational Geometry”, 1972.
Page 85
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
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
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
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
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