SlideShare uma empresa Scribd logo
1 de 89
Baixar para ler offline
Universidade de Ita´una
Faculdade de Engenharia
Curso de Ciˆencia da Computac¸˜ao
Fabiano de Oliveira Rates
Estudo Comparativo entre os Algoritmos para Treinamento
de Redes Neurais Artificiais: Backpropagation e Resilient
Propagation
Ita´una
2013
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 Ita´una como requisito par-
cial para a obten¸c˜ao do t´ıtulo de BACHAREL em
Ciˆencia da Computa¸c˜ao.
Orientador: Paulo de Tarso Gomide Castro Silva
Ita´una
2013
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 Ita´una como requisito par-
cial para a obten¸c˜ao do t´ıtulo de BACHAREL em
Ciˆencia da Computa¸c˜ao.
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
`A minha m˜ae e minha irm˜a.
Em mem´oria a meu pai.
`A minha namorada pelo apoio.
Aos meus amigos pelo companheirismo.
Resumo
Essa monografia realiza um trabalho comparativo entre dois algoritmos para treinamento
de redes neurais: Backpropagation e Resilient Propagation. A principal diferen¸ca pr´atica
entre esses algoritmos ´e que o treinamento atrav´es do algoritmo Backpropagation demanda
o ajuste de v´arios parˆametros a ele pertencentes, enquanto o algoritmo Resilient Propa-
gation n˜ao precisa do ajuste de nenhum parˆametro antes do treinamento. Entre outros
pontos a serem comparados, com base nessas informa¸c˜oes, ser´a analisado se, mesmo n˜ao
possuindo um conjunto t˜ao vasto de configura¸c˜oes, o treinamento via Resilient Propaga-
tion apresentar´a efic´acia e eficiˆencia compar´avel ao Backpropagation. Para essa an´alise
ser´a considerada a predi¸c˜ao de formas geom´etricas simples para verifica¸c˜ao como qua-
drado, triˆangulo e c´ırculo, apresentando um n´ıvel de ru´ıdos significante, j´a que os mesmos
ser˜ao informados manualmente.
Palavras-chaves: Inteligˆencia Artificial, Redes Neurais Artificiais, Algoritmos de Trei-
namento, Backpropagation, Resilient Propagation.
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.
Agradecimentos
Agrade¸co 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 m˜ae Irene que sempre
esteve junto comigo, me ajudando a ser melhor a cada dia, gra¸cas ao seu aprendizado que
me foi passado, minha irm˜a Franciele pelo grande apoio que meu deu nesse per´ıodo. `A
minha namorada Juliana pela motiva¸c˜ao e compreens˜ao.
Ao meu orientador Paulo Gomide, pelo apoio que me deu para que esse trabalho fosse
realizado.
Agrade¸co tamb´em a todos os meus amigos, que me incentivaram a nunca desistir.
Principalmente ao Marcelo pelas discuss˜oes e ideias, e por me ajudar a escolher o tema.
“O verdadeiro homem mede a sua for¸ca,
quando se defronta com o obst´aculo.”
Antoine de Saint-Exup´ery
Sum´ario
Lista de Figuras 10
Lista de Tabelas 13
1 Introdu¸c˜ao 15
1.1 Contexto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.2 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3 Proposta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.6 M´etodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.7 Escopo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2 Contextualiza¸c˜ao 19
2.1 Inteligˆencia Artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.1 Hist´oria da Inteligˆencia Artificial . . . . . . . . . . . . . . . . . . . 19
2.1.2 O nascimento da Inteligˆencia Artificial . . . . . . . . . . . . . . . . 20
2.1.3 Redes Neurais Artificiais . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1.4 Neurˆonios biol´ogicos . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.1.5 Neurˆonios artificiais . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.1.6 Fun¸c˜oes de Ativa¸c˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.1.7 Classifica¸c˜ao das RNAs . . . . . . . . . . . . . . . . . . . . . . . . . 28
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 Limita¸c˜oes do Perceptrons . . . . . . . . . . . . . . . . . . . . . . . 34
3.0.13 Perceptrons de M´ultiplas Camadas . . . . . . . . . . . . . . . . . . 35
3.0.14 Algoritmo de Treinamento Backpropagation . . . . . . . . . . . . . 35
3.0.15 N´umero de Camadas . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.0.16 N´umero de Neurˆonios . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.1 Resilient Propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2 Crit´erios de Parada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4 Metodologia 41
4.1 Defini¸c˜oes Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.2 Obten¸c˜ao dos Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.3 Tratamento dos Dados para a RNA . . . . . . . . . . . . . . . . . . . . . . 43
4.4 Implementa¸c˜ao e Execu¸c˜ao dos Treinamentos e Testes com as RNAs . . . . 46
4.5 Processamento e An´alise dos Dados Gerados pela RNA . . . . . . . . . . . 49
5 Resultados Obtidos 50
5.1 Defini¸c˜oes das RNAs Utilizadas na Compara¸c˜ao . . . . . . . . . . . . . . . 50
5.1.1 Fun¸c˜ao de Ativa¸c˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.1.2 N´umero de Camadas Ocultas . . . . . . . . . . . . . . . . . . . . . 50
7
5.1.3 N´umero de Neurˆonios em Cada Camada . . . . . . . . . . . . . . . 51
5.1.4 Quantidade de Exemplos no Treinamento . . . . . . . . . . . . . . . 53
5.1.5 Quantidade de Exemplos na Valida¸c˜ao . . . . . . . . . . . . . . . . 54
5.2 Resultados Obtidos Pelos Algoritmos . . . . . . . . . . . . . . . . . . . . . 54
5.2.1 Configura¸c˜ao 1 - Utilizando a Regra do Valor M´edio para Determi-
nar o N´umero de Neurˆonios Ocultos . . . . . . . . . . . . . . . . . . 55
5.2.2 Configura¸c˜ao 2 - Utilizando a Regra de Kolmogorov para Determi-
nar o N´umero de Neurˆonios Ocultos . . . . . . . . . . . . . . . . . . 60
5.2.3 Configura¸c˜ao 3 - Utilizando a Regra de Fletcher-Gloss para Deter-
minar o N´umero de Neurˆonios Ocultos . . . . . . . . . . . . . . . . 64
5.2.4 Configura¸c˜ao 4 - Utilizando a Regra da Raiz Quadrada para Deter-
minar o N´umero de Neurˆonios Ocultos . . . . . . . . . . . . . . . . 68
5.2.5 Resumo dos testes utilizando as 4 configura¸c˜oes . . . . . . . . . . . 73
5.3 O Melhor Backpropagation versus O Melhor Resilient Propagation . . . . 73
5.4 O Pior Backpropagation versus O Pior Resilient Propagation . . . . . . . . 75
6 Conclus˜ao 77
7 Trabalhos Futuros 79
Bibliografia 80
I Apˆendice 1 - Imagens Utilizadas no Treinamento das RNAs 82
II Apˆendice 2 - Imagens Utilizadas na Valida¸c˜ao das RNAs 83
IIIApˆendice 3 - Resultados dos Treinamentos das RNAs Treinadas Utili-
zando Backpropagation 84
8
IV Apˆendice 4 - Resultados dos Treinamentos das RNAs Treinadas Utili-
zando Resilient Propagation 85
V Apˆendice 5 - C´odigo Fonte e Aplica¸c˜ao 86
Lista de Figuras
2.1 Neurˆonio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2 Fun¸c˜ao Degrau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.3 Fun¸c˜ao Sigm´oide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4 Fun¸c˜ao Tangente Hiperb´olica . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.5 RNAs Alimentadas Adiante com Camada ´Unica . . . . . . . . . . . . . . . 29
2.6 RNAs Alimentadas Diretamente com M´ultiplas Camadas . . . . . . . . . . 29
2.7 RNA Recorrente de Hopfield . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.1 Evolu¸c˜ao do Erro Durante o Treinamento da RNA . . . . . . . . . . . . . . 39
4.1 Formas Geom´etricas Definidas: C´ırculo, Quadrado e Triˆangulo . . . . . . . 42
4.2 Exemplo de Inser¸c˜ao de Dados para a RNA . . . . . . . . . . . . . . . . . 43
4.3 Normaliza¸c˜ao - Divis˜ao das partes . . . . . . . . . . . . . . . . . . . . . . . 45
4.4 Resultado da Normaliza¸c˜ao de uma imagem . . . . . . . . . . . . . . . . . 45
4.5 Fases da Expans˜ao de Imagens Menores . . . . . . . . . . . . . . . . . . . . 46
4.6 Diagrama do Banco de Dados . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.1 ´Epocas x Erro - BP com a Configura¸c˜ao 1 e 30 Exemplos . . . . . . . . . . 56
5.2 ´Epocas x Erro - RP com a Configura¸c˜ao 1 e 30 Exemplos . . . . . . . . . . 57
5.3 ´Epocas x Erro - BP com a Configura¸c˜ao 1 e 90 Exemplos . . . . . . . . . . 58
5.4 ´Epocas x Erro - RP com a Configura¸c˜ao 1 e 90 Exemplos . . . . . . . . . . 58
5.5 ´Epocas x Erro - BP com a Configura¸c˜ao 1 e 150 Exemplos . . . . . . . . . 59
5.6 ´Epocas x Erro - RP com a Configura¸c˜ao 1 e 150 Exemplos . . . . . . . . . 59
5.7 ´Epocas x Erro - BP com a Configura¸c˜ao 2 e 30 Exemplos . . . . . . . . . . 61
5.8 ´Epocas x Erro - RP com a Configura¸c˜ao 2 e 30 Exemplos . . . . . . . . . . 61
5.9 ´Epocas x Erro - BP com a Configura¸c˜ao 2 e 90 Exemplos . . . . . . . . . . 62
5.10 ´Epocas x Erro - RP com a Configura¸c˜ao 2 e 90 Exemplos . . . . . . . . . . 62
5.11 ´Epocas x Erro - BP com a Configura¸c˜ao 2 e 150 Exemplos . . . . . . . . . 63
5.12 ´Epocas x Erro - RP com a Configura¸c˜ao 2 e 150 Exemplos . . . . . . . . . 64
5.13 ´Epocas x Erro - BP com a Configura¸c˜ao 3 e 30 Exemplos . . . . . . . . . . 65
5.14 ´Epocas x Erro - RP com a Configura¸c˜ao 3 e 30 Exemplos . . . . . . . . . . 65
5.15 ´Epocas x Erro - BP com a Configura¸c˜ao 3 e 90 Exemplos . . . . . . . . . . 66
5.16 ´Epocas x Erro - RP com a Configura¸c˜ao 3 e 90 Exemplos . . . . . . . . . . 67
5.17 ´Epocas x Erro - BP com a Configura¸c˜ao 3 e 150 Exemplos . . . . . . . . . 67
5.18 ´Epocas x Erro - RP com a Configura¸c˜ao 3 e 150 Exemplos . . . . . . . . . 68
5.19 ´Epocas x Erro - BP com a Configura¸c˜ao 4 e 30 Exemplos . . . . . . . . . . 69
5.20 ´Epocas x Erro - RP com a Configura¸c˜ao 4 e 30 Exemplos . . . . . . . . . . 70
5.21 ´Epocas x Erro - BP com a Configura¸c˜ao 4 e 90 Exemplos . . . . . . . . . . 71
5.22 ´Epocas x Erro - RP com a Configura¸c˜ao 4 e 90 Exemplos . . . . . . . . . . 71
5.23 ´Epocas x Erro - BP com a Configura¸c˜ao 4 e 150 Exemplos . . . . . . . . . 72
5.24 ´Epocas x Erro - RP com a Configura¸c˜ao 4 e 150 Exemplos . . . . . . . . . 72
5.25 Resumo dos Resultados de Todos os Testes Realizados . . . . . . . . . . . 73
5.26 ´Epocas x Erro - Melhor BP - Configura¸c˜ao 3 e 150 Exemplos . . . . . . . . 74
5.27 ´Epocas x Erro - Melhor RP - Configura¸c˜ao 4 e 150 Exemplos . . . . . . . . 75
5.28 ´Epocas x Erro - Pior BP - Configura¸c˜ao 2 e 30 Exemplos . . . . . . . . . . 76
11
5.29 ´Epocas x Erro - Pior RP - Configura¸c˜ao 2 e 30 Exemplos . . . . . . . . . . 76
I.1 Imagens Utilizadas no Treinamento das RNAs - Quadrado . . . . . . . . . 82
I.2 Imagens Utilizadas no Treinamento das RNAs - Triˆangulos . . . . . . . . . 82
I.3 Imagens Utilizadas no Treinamento das RNAs - C´ırculos . . . . . . . . . . 82
II.1 Imagens utilizadas na Valida¸c˜ao das RNAs - Quadrados . . . . . . . . . . 83
II.2 Imagens Utilizadas na Valida¸c˜ao das RNAs - Triˆangulos . . . . . . . . . . . 83
II.3 Imagens Utilizadas na Valida¸c˜ao das RNAs - C´ırculos . . . . . . . . . . . . 83
Lista de Tabelas
4.1 Tabela de dados das formas geom´etricas . . . . . . . . . . . . . . . . . . . 42
5.1 Tabela de resultados dos treinamentos com configura¸c˜ao 1 e 30 exemplos . 56
5.2 Tabela de resultados dos treinamentos com configura¸c˜ao 1 e 90 exemplos . 57
5.3 Tabela de resultados dos treinamentos com configura¸c˜ao 1 e 150 exemplos . 59
5.4 Tabela de resultados dos treinamentos com configura¸c˜ao 2 e 30 exemplos . 61
5.5 Tabela de resultados dos treinamentos com configura¸c˜ao 2 e 90 exemplos . 62
5.6 Tabela de resultados dos treinamentos com configura¸c˜ao 2 e 150 exemplos . 63
5.7 Tabela de resultados dos treinamentos com configura¸c˜ao 3 e 30 exemplos . 65
5.8 Tabela de resultados dos treinamentos com configura¸c˜ao 3 e 90 exemplos . 66
5.9 Tabela de resultados dos treinamentos com configura¸c˜ao 3 e 150 exemplos . 67
5.10 Tabela de resultados dos treinamentos com configura¸c˜ao 4 e 30 exemplos . 69
5.11 Tabela de resultados dos treinamentos com configura¸c˜ao 4 e 90 exemplos . 70
5.12 Tabela de resultados dos treinamentos com configura¸c˜ao 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 valida¸c˜ao das RNAs utilizando Resilient Propagation . . . . . 85
14
Lista de Siglas e Abreviaturas
GPS General Problem Solver
IA Inteligˆencia Artificial
IAS Inteligˆencia Artificial Simb´olica
MCP referˆencia a Warren McCulloch e Walter Pitts
MLP Multilayer Perceptron
PMC Perceptron de M´ultiplas Camadas
RNA Rede Neural Artificial
RNAs Redes Neurais Artificiais
RPROP Resilient Propagation
BP Backpropagation
RP Resilient Propagation
15
1 Introdu¸c˜ao
A Inteligˆencia Artificial (IA) tem, como principal objetivo, representar o comporta-
mento humano atrav´es de modelos computacionais, constituindo-se em campo de pesquisa
aberto e dinˆamico, tratando do estudo da solu¸c˜ao de problemas atrav´es da distribui¸c˜ao
de conhecimento entre diversas entidades(BITTENCOURT,2001).
Nesse sentido, as Redes Neurais Artificiais (RNAs) s˜ao sistemas computacionais, inspi-
rados no sistema nervoso biol´ogico(BRAGA; CARVALHO; LUDERMIR, 2000). Segundo
Haykin (2001), uma rede neural ´e um processador maci¸co e paralelamente distribu´ıdo,
constitu´ıdo de unidades de processamento simples (neurˆonios), que tˆem a propens˜ao 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 v´arias unidades de processamento,
cujo funcionamento ´e bastante simples. Essas unidades, geralmente s˜ao conectadas por
canais de comunica¸c˜ao que est˜ao associados a um determinado peso. As unidades fazem
opera¸c˜oes apenas sobre seus dados locais, que s˜ao entradas recebidas pelas suas conex˜oes
(HAYKIN,2001).
O comportamento inteligente de uma Rede Neural Artificial vem das intera¸c˜oes entre
as unidades de processamento da rede, que tˆem uma grande habilidade de aprender com os
dados a ela informados, e com isso, melhorar seu desempenho, sendo feito atrav´es de um
processo iterativo de ajustes a seus pesos. Ao processo que contempla essas itera¸c˜oes e seus
ajustes de pesos, d´a-se o nome de treinamento. O aprendizado da RNA ocorre quando a
mesma atinge uma solu¸c˜ao generalizada para uma classe de problemas (HAYKIN, 2001).
Um algoritmo de aprendizado ´e um conjunto de regras bem definidas para a solu¸c˜ao
de um problema de aprendizado. Existem muitos tipos de algoritmos de aprendizado
espec´ıficos para determinados modelos de redes neurais. Estes algoritmos diferem entre
1.2 Problema 16
si, principalmente, pelo modo como os pesos s˜ao modificados, por isso, ao criar uma rede
neural, ´e indispens´avel analisar qual ´e o algoritmo de aprendizado mais eficiente para a
aplica¸c˜ao em quest˜ao (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 padr˜oes.
Por´em, ´e tido por muitos como sendo um algoritmo “caixa preta”, devido ao fato de a
busca pela melhor configura¸c˜ao deste algoritmo n˜ao ser muito bem compreendida gra¸cas
ao n´umero excessivo de parˆametros que devem ser configurados, sendo que muitos desses
parˆametros apenas s˜ao bem definidos atrav´es de um ´arduo processo de tentativa e erro.
Por conta do excessivo n´umero de parˆametros, de acordo com o seu car´ater trabalhoso
de configura¸c˜ao, ao longo dos anos, foram surgindo deriva¸c˜oes do algoritmo Backpropa-
gation, na busca de tentar facilitar o processo de ajuste da Rede Neural. Uma dessas
deriva¸c˜oes ´e o algoritmo Resilient Propagation, que requer, segundo a literatura, um es-
for¸co muito reduzido de configura¸c˜ao, em compara¸c˜ao ao Backpropagation.
1.3 Proposta
Em meio `a dificuldade de configura¸c˜ao do algoritmo Backpropagation, este trabalho
busca, atrav´es de uma an´alise comparativa, inferir se o algoritmo Resilient Propagation ´e
capaz de prover resultados t˜ao satisfat´orios quanto seu antecessor, mesmo utilizando um
n´umero reduzido de parˆametros, se comparados ao mesmo.
O objetivo do trabalho, portanto, n˜ao ´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 rela¸c˜ao ao reconhecimento de padr˜oes, se faz necess´aria
a realiza¸c˜ao da compara¸c˜ao com seu antecessor, que, reconhecidamente, possui resultados
satisfat´orios.
1.4 Justificativa 17
1.4 Justificativa
Atualmente, avan¸cos tecnol´ogicos mostram que as aplica¸c˜oes tendem a ser cada vez
mais independentes, tornando necess´aria a escolha da melhor t´ecnica de treinamento para
a cria¸c˜ao de aplica¸c˜oes complexas que possua uma inteligˆencia embutida.
Existem v´arios 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 n˜ao 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
aplica¸c˜ao com inteligˆencia artificial, por´em que n˜ao seja eficiente. Com isso, um estudo
comparativo de algoritmos para treinamento de redes neurais se faz v´alido.
1.5 Objetivos
O objetivo desse trabalho ´e a realiza¸c˜ao da an´alise dos algoritmos para treinamento
de RNAs Backpropagation e Resilient Propagation, utilizando, como fonte de estudo, uma
aplica¸c˜ao para reconhecimento de imagens. Para que essa an´alise possa ser realizada, ´e
proposta a implementa¸c˜ao de uma aplica¸c˜ao para reconhecimento de formas geom´etricas
b´asicas, como quadrados, retˆangulos e c´ırculos.
De acordo com a literatura, o algoritmo Resilient Propagation, por ser um algoritmo
derivado do Backpropagation, possui um n´umero reduzido de parˆametros a serem confi-
gurados, o que, teoricamente, reduziria a complexidade na configura¸c˜ao da rede neural.
Ap´os a configura¸c˜ao da rede, com os resultados encontrados da classifica¸c˜ao das imagens,
poder´a ser verificado se o algoritmo Resilient Propagation realmente possui uma simpli-
fica¸c˜ao para que possa ser configurado e, se possui resultados satisfat´orios, mesmo com
essa poss´ıvel redu¸c˜ao de sua complexidade de configura¸c˜ao.
1.6 M´etodos
Inicialmente, foi realizado um estudo de processamento das imagens e de RNAs, com
ˆenfase nos algoritmos para treinamento de redes neurais. Ap´os o processamento da ima-
gem ela ser´a utilizada como entrada para os dois algoritmos, ambas ser˜ao treinadas com
1.7 Escopo 18
os mesmos exemplos para verificar, com base nas mesmas informa¸c˜oes, qual seria a mais
eficiente no reconhecimento dessas formas. Com base nos resultados, foi realizada uma
an´alise de ambos os algoritmos para treinamento de redes neurais.
1.7 Escopo
Ser˜ao analisados os resultados encontrados com os dois algoritmos, utilizando, para
isso, uma aplica¸c˜ao desktop para reconhecimento de imagens. Com base nessa an´alise,
n˜ao necessariamente pretende-se encontrar um algoritmo que realize o reconhecimento
de forma mais r´apida ou com maior percentual de acertos, mas, a fonte de an´alise, est´a
em identificar se, mesmo com um n´umero reduzido de parˆametros em compara¸c˜ao ao
algoritmo Backpropagation, sua deriva¸c˜ao, o algoritmo Resilient Propagation, possui um
desempenho t˜ao satisfat´orio quando seu antecessor.
19
2 Contextualiza¸c˜ao
2.1 Inteligˆencia Artificial
A Inteligˆencia Artificial (IA) tem, como objetivo central, a cria¸c˜ao de modelos para a
inteligˆencia e a constru¸c˜ao 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 inteligˆencia humana, desenvolvimento de aplica¸c˜oes
educacionais, comerciais ou industriais, assim como a explora¸c˜ao e experimenta¸c˜ao de
t´ecnicas computacionais que apresentem potencial para a simula¸c˜ao do comportamento
inteligente (BITTENCOURT, 2001).
Apesar de ser um ramo, de certa forma, recente da ciˆencia da computa¸c˜ao, a Inte-
ligˆencia Artificial foi constru´ıda a partir de ideias filos´oficas, cient´ıficas, tecnol´ogicas e
matem´aticas, herdadas de outras ciˆencias, desde muito tempo atr´as (BITTENCOURT,
2001).
De acordo com (RUSSEL; NORVIG, 2004), os fil´osofos (desde 400 a.C), tornaram a IA
conceb´ıvel, considerando que a mente ´e, em alguns aspectos, semelhante a uma m´aquina,
de que ela opera sobre o conhecimento codificado em alguma linguagem interna e que o
pensamento pode ser usado para escolher as a¸c˜oes que dever˜ao ser executadas..
Alguns fil´osofos definiram que se as m´aquinas talvez pudessem simular a inteligˆencia
humana, essas m´aquinas podem ser consideradas como possuidoras de uma IA Fraca.
Por outro lado, caso as m´aquinas que o fazem n˜ao estejam apenas simulando um com-
portamento, mas sim realmente pensando, essas m´aquinas podem ser consideradas como
possuidoras de uma IA Forte (RUSSEL; NORVIG, 2004).
2.1.1 Hist´oria da Inteligˆencia Artificial
O primeiro trabalho reconhecido como IA foi realizado por Warren McCulloch e Walter
Pitts (1943), no qual se basearam em trˆes fontes: o conhecimento da fisiologia b´asica e
da fun¸c˜ao dos neurˆonios no c´erebro, uma an´alise formal da l´ogica proposicional criada
2.1 Inteligˆencia Artificial 20
por Russell e Whitehead, e a teoria da computa¸c˜ao de Turing. Eles propuseram um
modelo de neurˆonios artificiais, no qual cada neurˆonio se caracteriza por estar “ligado ou
desligado”. Com isso, eles mostraram que qualquer fun¸c˜ao comput´avel podia ser calculada
por uma certa rede de neurˆonios conectados, e que todos os conectivos l´ogicos podiam
ser implementados por estruturas de redes simples. Eles tamb´em sugeriram que redes
definidas adequadamente seriam capazes de aprender (RUSSEL; NORVIG, 2004).
Marvin Minsky e Dean Edmonds, dois alunos do departamento de matem´atica de
Princeton, constru´ıram o primeiro computador de rede neural em 1951. Mais tarde,
Minsky acabou provando teoremas importantes que mostravam as limita¸c˜oes da pesquisa
em redes neurais (RUSSEL; NORVIG, 2004).
Apesar dos v´arios exemplos de trabalhos que podem ser caracterizados como IA, Tu-
ring foi quem primeiro articulou uma vis˜ao 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 m´aquina, algoritmos gen´eticos e aprendizagem
por refor¸co (RUSSEL; NORVIG, 2004).
2.1.2 O nascimento da Inteligˆencia Artificial
Ap´os sua gradua¸c˜ao, 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 ajud´a-lo a reunir pesquisadores dos Estados Unidos interessados
em teoria de autˆomatos, redes neurais e no estudo da inteligˆencia. Eles organizaram um
semin´ario de dois meses em Dartmouth que, apesar de n˜ao trazer nenhuma novidade,
apresentou uns aos outros os personagens importantes da hist´oria da IA. Talvez o resul-
tado mais duradouro do semin´ario tenha sido um acordo para adotar o nome sugerido por
McCarthy para o campo: Inteligˆencia Artificial (RUSSEL; NORVIG, 2004).
Pode-se dizer que a´ı nasceram, simultaneamente, os dois paradigmas da inteligˆencia
artificial: simb´olica e conexionista. Na Inteligˆencia Artificial Simb´olica (IAS), o com-
portamento global ´e simulado, sem levar em considera¸c˜ao os mecanismos respons´aveis
por este comportamento. Na Inteligˆencia Artificial Conexionista (IAC), acredita-se que
construindo uma m´aquina que imite a estrutura do c´erebro, ela apresentar´a inteligˆencia
(BARRETO, 2001).
2.1 Inteligˆencia Artificial 21
Os primeiros anos da IA foram repletos de sucesso, por´em de forma limitada, visto que
os computadores e ferramentas de programa¸c˜ao da ´epoca eram extremamente limitados.
O General Problem Solver (GPS), ou em portuguˆes 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 resolu¸c˜ao de problemas
(RUSSEL; NORVIG, 2004).
A partir de 1952, Arthur Samuel escreveu uma s´erie 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 s´o pudessem realizar as atividades para as quais
foram programados. Seu programa aprendeu rapidamente a jogar melhor que seu criador
e foi demonstrado na televis˜ao em 1956, causando uma impress˜ao 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 programa¸c˜ao dominante em IA. O trabalho
pioneiro baseado nas redes neurais de McCulloch e Pitts tamb´em prosperou. Os m´etodos
de aprendizado de Hebb foram aperfei¸coados por Bernie Widrow, que denominou suas
redes Adalines, e por Frank Rosenblatt com seus perceptrons. Rosenblatt provou o teorema
da convergˆencia do perceptron, mostrando que seu algoritmo de aprendizado podia ajustar
os pesos da conex˜ao de um perceptron para corresponderem a quaisquer dados de entrada,
desde que existisse tal correspondˆencia (RUSSEL; NORVIG, 2004).
Simon fez a previs˜ao de que, dentro de dez anos, um computador seria campe˜ao
de xadrez e que um teorema matem´atico significativo seria provado por uma m´aquina.
Entretanto, essas previs˜oes 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 combina¸c˜oes de passos at´e encontrar
a solu¸c˜ao. Esta estrat´egia funcionou inicialmente, porque os micromundos continham
pouqu´ıssimos objetos, com um n´umero muito pequeno de a¸c˜oes poss´ıveis e sequˆencias de
solu¸c˜oes muito curtas, mas o otimismo inicial foi logo ofuscado quando os pesquisadores
n˜ao conseguiram provar teoremas que envolviam mais de algumas dezenas de fatos.
Uma terceira dificuldade surgiu devido algumas limita¸c˜oes nas estruturas b´asicas que
2.1 Inteligˆencia Artificial 22
estavam sendo utilizadas para gerar o comportamento inteligente (RUSSEL; NORVIG,
2004).
O perceptron b´asico, e algumas de suas generaliza¸c˜oes naquele tempo, eram sim-
plesmente inadequados para a maioria das tarefas de reconhecimento de padr˜oes de im-
portˆancia pr´atica. 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 vis˜ao desencorajadora da limita¸c˜ao das m´aquinas do tipo
perceptrons foi mantida at´e meados da d´ecada de 1980, com os novos algoritmos de apren-
dizado por retropropaga¸c˜ao para redes de v´arias camadas(MINSKY; PAPERT, 1972).
Resultados na coletˆanea Parallel Distributed Processing (Rumelhart e McClelland,
1986), tratando do desenvolvimento de novos algoritmos para perceptrons multicamadas
mudaram consideravelmente a situa¸c˜ao. O m´etodo b´asico desses autores fornece um
treinamento efetivo para m´aquinas de m´ultiplas camadas. Esse sucesso estabeleceu as
m´aquinas do tipo perceptrons com m´ultiplas 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 s˜ao uma forma de computa¸c˜ao n˜ao-algor´ıtmica, caracteri-
zada por sistemas que lembram a estrutura do c´erebro humano. Por n˜ao ser baseada em
regras ou programas, a computa¸c˜ao neural se constitui em uma alternativa `a computa¸c˜ao
algor´ıtmica convencional (BRAGA; CARVALHO; LUDERMIR, 2000).
As redes neurais artificiais tˆem ra´ızes na neurociˆencia, matem´atica, estat´ıstica, f´ısica,
ciˆencia da computa¸c˜ao 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 c´erebro humano de
desenvolver suas pr´oprias regras, que usualmente chamamos “experiˆencia”. Um neurˆonio
em desenvolvimento ´e sinˆonimo de um c´erebro pl´astico, 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 neurˆonios, tamb´em ela o ´e com rela¸c˜ao
`as redes neurais artificiais (HAYKIN, 2001).
2.1 Inteligˆencia Artificial 23
Na sua forma mais geral, a rede neural ´e uma m´aquina projetada para modelar a ma-
neira como o c´erebro realiza uma tarefa particular ou fun¸c˜ao de interesse. O procedimento
utilizado para realizar o processo de aprendizagem ´e chamado de algoritmo de aprendi-
zagem, cuja fun¸c˜ao ´e modificar os pesos sin´apticos da rede de uma forma ordenada, para
alcan¸car um objetivo de projeto desejado (HAYKIN, 2001).
2.1.4 Neurˆonios biol´ogicos
O c´erebro humano possui em torno de 1011
neurˆonios. Cada um destes neurˆonios
processa e se comunica com milhares de outros, continuamente e em paralelo. A estru-
tura individual dos nodos, a topologia de suas conex˜oes e o comportamento conjunto
destes nodos naturais, formam a base para o estudo das RNAs (BRAGA; CARVALHO;
LUDERMIR, 2000).
As RNAs tentam reproduzir as fun¸c˜oes das redes biol´ogicas, buscando implementar
seu comportamento b´asico. Como caracter´ısticas comuns, os dois sistemas s˜ao baseados
em unidades de computa¸c˜ao paralela e distribu´ıda que se comunicam por meio de conex˜oes
sin´apticas. Apesar da pouca similaridade, do ponto de vista biol´ogico, entre os dois
sistemas, estas caracter´ısticas comuns permitem `as RNAs reproduzir com fidelidade v´arias
fun¸c˜oes somente encontradas nos seres humanos (BRAGA; CARVALHO; LUDERMIR,
2000).
Os neurˆonios s˜ao divididos em trˆes se¸c˜oes: o corpo da c´elula, os dendritos e o axˆonio.
Os dendritos tˆem por fun¸c˜ao receber as informa¸c˜oes, ou impulsos nervosos, oriundas de
outros neurˆonios e conduzi-las at´e o corpo celular. Com isso, a informa¸c˜ao ´e processada, e
novos impulsos s˜ao gerados. Estes impulsos s˜ao transmitidos a outros neurˆonios, passando
atrav´es do axˆonio at´e os dendritos dos neurˆonios seguintes. O ponto de contato entre a
termina¸c˜ao axˆonica de um neurˆonio e o dendrito de outro, ´e chamado de sinapse. Os sinais
oriundos dos neurˆonios pr´e-sin´apticos s˜ao passados para o corpo do neurˆonio p´os-sin´aptico,
onde s˜ao comparados com os outros sinais recebidos pelo mesmo. Se o percentual em um
intervalo curto de tempo ´e suficientemente alto, a c´elula dispara, produzindo um impulso
que ´e transmitido para as c´elulas seguintes (BRAGA; CARVALHO; LUDERMIR, 2000).
2.1 Inteligˆencia Artificial 24
2.1.5 Neurˆonios artificiais
O primeiro modelo de redes neurais foi proposto por (MCCULLOCH, 1943), que
propos um modelo de sistema neural, onde as unidades b´asicas, os neurˆonios, s˜ao 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 neurˆonio proposto por McCulloch e Pitts (fig. 2.1.5), ´e uma simplifica¸c˜ao
do que se sabia a respeito do neurˆonio biol´ogico.
Figura 2.1: Neurˆonio
Supondo que tenha-se os valores de entrada x1, x2, . . . , xp, com os pesos w1, w2, . . . , wp,
uma sa´ıda y, uma fun¸c˜ao respons´avel pelo c´alculo da entrada efetiva para o neurˆonio
denominada fun¸c˜ao soma e uma fun¸c˜ao de ativa¸c˜ao. Assim, o neurˆonio tem a sa´ıda igual
a soma dos produtos obtidos entre os valores de entrada e os seus pesos correspondentes
(fun¸c˜ao soma), descrita na equa¸c˜ao 2.1.
m
j=1
wjxj, (2.1)
onde:
• m ´e o n´umero de entradas do neurˆonio;
• wj ´e o peso associado `a entrada xj.
Ap´os isso, o resultado ´e comparado a um limiar estipulado que, uma vez atingido,
propaga a sa´ıda para os neurˆonios da camada seguinte. Essa propaga¸c˜ao da sa´ıda para
os demais neurˆonios ´e realizada pela fun¸c˜ao de ativa¸c˜ao (Haykin, 2001).
2.1 Inteligˆencia Artificial 25
No modelo MCP, a fun¸c˜ao de ativa¸c˜ao ´e dada pela fun¸c˜ao de limiar linear, descrita
na equa¸c˜ao 2.2.
y =



1, se wjxj >= 0
0, se wjxj < 0
(2.2)
O modelo geral de um neurˆonio ´e uma generaliza¸c˜ao do modelo de McCulloch e Pitts.
Um valor auxiliar, chamado de bias tamb´em pode ser aplicado externamente. O bias tem
o efeito de aumentar ou diminuir a entrada l´ıquida da fun¸c˜ao de ativa¸c˜ao, dependendo se
ele ´e positivo ou negativo, respectivamente (HAYKIN, 2001).
A partir do modelo proposto por McCulloch e Pitts, foram derivados v´arios outros
modelos que permitem a produ¸c˜ao de uma sa´ıda qualquer, n˜ao necessariamente zero ou
um, e com diferentes fun¸c˜oes de ativa¸c˜ao (BRAGA; CARVALHO; LUDERMIR, 2000).
Em termos matem´aticos, pode-se descrever um neurˆonio k escrevendo o seguinte par
de equa¸c˜oes:
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 s˜ao os pesos sin´apticos do neurˆonio k;
• xkj s˜ao os sinais de entrada do neurˆonio k;
• bk ´e o bias do neurˆonio k;
• ϕ ´e fun¸c˜ao de ativa¸c˜ao;
• yk ´e o sinal de sa´ıda do neurˆonio k.
2.1 Inteligˆencia 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 equa¸c˜ao 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 Fun¸c˜oes de Ativa¸c˜ao
Fun¸c˜oes ativa¸c˜ao s˜ao fun¸c˜oes, geralmente, n˜ao 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 neurˆonio biol´ogico, com o objetivo de reproduzir o
mais pr´oximo poss´ıvel o comportamento deste. Elas s˜ao `as vezes referidas como fun¸c˜oes
de transferˆencia n˜ao lineares, relacionando a sa´ıda do neurˆonio artificial `a sua entrada.
As fun¸c˜oes ativa¸c˜oes mais usadas s˜ao:
• Fun¸c˜ao Impulso Unit´ario (Degrau);
• Fun¸c˜ao Sigm´oide;
• Fun¸c˜ao Tangente Hiperb´olica;
2.1 Inteligˆencia Artificial 27
Fun¸c˜ao Impulso Unit´ario (Degrau)
A fun¸c˜ao degrau pode ser expressa segundo a equa¸c˜ao:
y = f(net) =



1, se net ≥ 0
0, se net < 0
(2.10)
Conforme ilustrado no gr´afico da figura 2.2.
Figura 2.2: Fun¸c˜ao Degrau
Fun¸c˜ao Sigm´oide
A fun¸c˜ao Sigm´oide ´e vantajosa ao usar redes neurais treinadas utilizando algoritmos
de retropropaga¸c˜ao, por ser f´acil de distinguir, e ser capaz de minimizar a capacidade
de computa¸c˜ao para o treinamento. O termo sigm´oide significa ”forma de S”e por ter a
forma log´ıstica dos mapas sigm´oide.
A fun¸c˜ao Sigm´oide pode ser expressa segundo a seguinte equa¸c˜ao:
g(x) =
1
(1 + e−1
(2.11)
Conforme ilustrado no gr´afico da figura 2.3.
Figura 2.3: Fun¸c˜ao Sigm´oide
2.1 Inteligˆencia Artificial 28
Fun¸c˜ao Tangente Hiperb´olica
Uma outra fun¸c˜ao log´ıstica n˜ao linear muito utilizada como fun¸c˜ao ativa¸c˜ao ´e a tan-
gente hiperb´olica dada a seguir:
tanh(x) =
sinh(x)
cosh(x)
=
ex
− e−
x
ex + x−1
(2.12)
A fun¸c˜ao Tangente hiperb´olica ´e similar a fun¸c˜ao Sigm´oide, sua faixa de valores ´e de
-1 a 1 como pode ser visto na figura 2.4.
Figura 2.4: Fun¸c˜ao Tangente Hiperb´olica
2.1.7 Classifica¸c˜ao das RNAs
Existem dois crit´erios b´asicos para a classifica¸c˜ao das redes neurais artificiais: a ar-
quitetura e a forma de treinamento.
2.1.8 Arquiteturas da Rede
A maneira na qual os neurˆonios de uma rede neural est˜ao estruturados est´a ligada ao
algoritmo de aprendizado para treinar a rede. Em geral, ´e poss´ıvel identificar trˆes classes
de arquiteturas (estruturas) de rede fundamentalmente diferentes:
1. RNAs Alimentadas Adiante com Camada ´Unica;
2. RNAs Alimentadas Diretamente com M´ultiplas Camadas;
3. RNAs Recorrentes.
2.1 Inteligˆencia 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 neurˆonios, mas n˜ao 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 designa¸c˜ao se refere `a camada de sa´ıda, pois nela ´e que ´e realizada
a computa¸c˜ao (HAYKIN, 2001).
RNAs Alimentadas Diretamente com M´ultiplas Camadas
Esta classe se distingue pela presen¸ca de uma ou mais camadas ocultas, como pode
ser observado na figura 2.6.
Figura 2.6: RNAs Alimentadas Diretamente com M´ultiplas Camadas
A fun¸c˜ao dos neurˆonios ocultos ´e intervir entre a entrada externa e a sa´ıda da rede de
2.1 Inteligˆencia Artificial 30
uma maneira ´util. A habilidade de os neurˆonios ocultos extra´ırem estat´ısticas de ordem
elevada ´e valiosa quando o tamanho da camada de entrada ´e grande (HAYKIN, 2001).
Os n´os de fonte da camada de entrada da rede fornecem os respectivos elementos
do padr˜ao de ativa¸c˜ao (vetor de entrada). Os seus sinais de sa´ıda s˜ao utilizados como
entradas para a segunda camada, e assim por diante para o resto da rede. Dessa forma,
os neurˆonios em cada camada da rede tˆem como suas entradas apenas os sinais de sa´ıda
da camada precedente. O conjunto de sinais de sa´ıda dos neurˆonios da camada de sa´ıda
da rede constitui a resposta global da rede para o padr˜ao de ativa¸c˜ao fornecido pelos n´os
de fonte da camada de entrada (HAYKIN, 2001).
As redes alimentadas diretamente com m´ultiplas camadas podem ser totalmente co-
nectadas, quando cada um dos n´os de uma camada da rede est´a conectado a todos os
n´os da camada adjacente seguinte, ou parcialmente conectadas, quando alguns dos elos
de comunica¸c˜ao estiverem faltando na rede (HAYKIN, 2001).
RNAs Recorrentes
Esta classe possui pelo menos um la¸co de realimenta¸c˜ao, ou seja, a sa´ıda de algum
neurˆonio 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
2.1 Inteligˆencia 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 parˆametros
da rede, isto ´e, ajustes dos pesos das conex˜oes entre as unidades de processamento, que
guardam, ao final do processo, o conhecimento que a rede adquiriu do ambiente em que
est´a operando (BRAGA; CARVALHO; LUDERMIR, 2000).
Neste contexto, pode-se destacar trˆes tipos diferentes de RNAs:
1. RNAs com Treinamento Supervisionado;
2. RNAs com Treinamento N˜ao-supervisionado;
3. RNAs com Aprendizado por Refor¸co.
RNAs com Treinamento Supervisionado
No estudo da aprendizagem supervisionada, uma condi¸c˜ao fundamental ´e a existˆencia
de um “professor” capaz de fornecer corre¸c˜oes exatas para as sa´ıdas da rede quando um
erro ocorrer (HAYKIN, 2001).
Este m´etodo de aprendizado ´e o mais comum no treinamento das RNAs. O objetivo ´e
ajustar os parˆametros da rede, de forma a encontrar uma liga¸c˜ao 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 N˜ao-supervisionado
No paradigma de aprendizagem n˜ao-supervisionado, como o nome implica, n˜ao h´a
um “professor” para supervisionar o processo de aprendizagem, o que significa que n˜ao
h´a exemplos rotulados da fun¸c˜ao a ser aprendida pela rede (HAYKIN, 2001).
2.1 Inteligˆencia Artificial 32
RNAs com Aprendizado por Refor¸co
O aprendizado por refor¸co refere-se `a utiliza¸c˜ao de alguma fun¸c˜ao heur´ıstica (definida
a priori), que descreva o qu˜ao boa ´e a resposta da rede a uma dada entrada, e da busca
da maximiza¸c˜ao de tal fun¸c˜ao (Xing; Pham, 1995 apud Neto, 2007).
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 solu¸c˜ao 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 s˜ao 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 classifica¸c˜ao de padr˜oes
ditos linearmente separ´aveis. Basicamente, ele consiste de um ´unico neurˆonio com pesos
sin´apticos ajust´aveis e bias. O algoritmo usado para ajustar os parˆametros 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 b´asicas, nodos MCP e uma regra de aprendizado. Alguns anos mais tarde,
Rosenblatt demonstrou o teorema de convergˆencia do perceptron, que mostra que um
nodo MCP treinado com o algoritmo de aprendizado do perceptron sempre converge caso
o problema em quest˜ao seja linearmente separ´avel, 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 sin´aptico
wkj do neurˆonio k excitado por um elemento xj(n) do vetor de sinal x(n) no passo de
3 Algoritmos de Treinamento 34
tempo n, de acordo com a regra delta, o ajuste δwkj(n) aplicado ao peso sin´aptico 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 avan¸ca
em um passo no processo de aprendizagem.
Em outras palavras, a regra delta pode ser formulada como: “O ajuste feito em um
peso sin´aptico de um neurˆonio ´e proporcional ao produto do sinal de erro pelo sinal em
quest˜ao” (HAYKIN, 2001, p.78).
Tendo calculado o ajuste sin´aptico δwkj(n), o valor atualizado do peso sin´aptico wkj
´e determinado por:
wkj(n + 1) = wkj(n) + δwkj(n) (3.2)
3.0.12 Limita¸c˜oes do Perceptrons
Apesar de ter causado grande euforia na comunidade cient´ıfica da ´epoca, o percep-
tron n˜ao 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 n˜ao poderia generalizar nem em rela¸c˜ao `a no¸c˜ao de
paridade, muito menos fazer abstra¸c˜oes gen´ericas. As limita¸c˜oes computacionais do per-
ceptron foram, depois, enquadradas em uma fundamenta¸c˜ao matem´atica s´olida 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 v´arias outras formas avan¸cadas de RNAs
mais poderosas que o perceptron, do ponto de vista computacional. Por exemplo, os
perceptrons de m´ultiplas camadas, treinados com o algoritmo de retropropaga¸c˜ao.
3 Algoritmos de Treinamento 35
3.0.13 Perceptrons de M´ultiplas Camadas
Uma rede perceptron de m´ultiplas camadas (PMC), ou em inglˆes multilayer perceptron
(MLP), consiste de um conjunto de unidades sensoriais (n´os de frente), que constituem a
camada de entrada, uma ou mais camadas ocultas de n´os computacionais e uma camada
de sa´ıda de n´os computacionais. O sinal de entrada se propaga para frente atrav´es da
rede, camada por camada (HAYKIN, 2001).
O algoritmo de aprendizado mais conhecido para treinamento destas redes ´e o algo-
ritmo de retropropaga¸c˜ao de erro (Error Backpropagation ou simplesmente Backpropaga-
tion).
Um perceptron de m´ultiplas camadas possui trˆes caracter´ısticas distintivas:
1. O modelo de cada neurˆonio da rede inclui uma fun¸c˜ao de ativa¸c˜ao n˜ao-linear;
2. A rede cont´em uma ou mais camada de neurˆonios ocultos, que n˜ao s˜ao parte da
entrada ou da sa´ıda da rede;
3. A rede exibe um alto grau de conectividade, determinado pelas sinapses da rede.
´E atrav´es da combina¸c˜ao destas caracter´ısticas, juntamente com a habilidade de apren-
der, que o perceptron de m´ultiplas camadas deriva seu poder computacional.
3.0.14 Algoritmo de Treinamento Backpropagation
O algoritmo de treinamento backpropagation, ou em portuguˆes retropropaga¸c˜ao, ´e um
m´etodo que se baseia em gradiente descendente utilizando a regra delta, sendo chamada
tamb´em de regra delta generalizada. Para que a regra delta generalizada possa ser usada,
a fun¸c˜ao de ativa¸c˜ao precisa ser cont´ınua, diferenci´avel e, de preferˆencia, n˜ao-decrescente.
Conforme visto na se¸c˜ao 2.1.6, diversas fun¸c˜oes de ativa¸c˜ao com as propriedades de
n˜ao-linearidade e diferencia¸c˜ao tˆem sido propostas para redes multicamadas. Dentre essas
diversas fun¸c˜oes de ativa¸c˜ao, a mais utilizada ´e a fun¸c˜ao sigmoidal log´ıstica. As fun¸c˜oes
precisam ser diferenci´aveis para que o gradiente possa ser calculado, direcionando o ajuste
dos pesos (BRAGA; CARVALHO; LUDERMIR, 2000).
3 Algoritmos de Treinamento 36
O treinamento ocorre em duas fases: um passo para frente, a propaga¸c˜ao (forward),
e um passo para tr´as, a retropropaga¸c˜ao (backward).
No passo para frente, um padr˜ao de atividade (vetor de entrada) ´e aplicado aos n´os
sensoriais da rede e seu efeito se propaga atrav´es da rede, camada por camada. Com isso,
um conjunto de sa´ıdas ´e produzido como a resposta real da rede. Durante o passo de
propaga¸c˜ao, os pesos sin´apticos da rede s˜ao todos fixos.
No passo para tr´as, os pesos sin´apticos s˜ao todos ajustados de acordo com a regra
de corre¸c˜ao 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, ent˜ao, propagado para tr´as,
contra a dire¸c˜ao das conex˜oes sin´apticas. Os pesos sin´apticos s˜ao 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 N´umero de Camadas
As camadas intermedi´arias de uma rede PMC funcionam como detectores de ca-
racter´ısticas. Elas geram uma codifica¸c˜ao interna dos padr˜oes de entrada, que ´e ent˜ao
utilizada para a defini¸c˜ao de sa´ıda da rede. Com um n´umero suficientemente grande de
unidades intermedi´arias, ´e poss´ıvel formar representa¸c˜oes internas para qualquer conjunto
de padr˜oes de entrada.
Para uma rede com pelo menos duas camadas intermedi´arias, pode-se dizer que o
seguinte processamento ocorre em cada uma das camadas:
• Camada de Entrada: propaga os valores recebidos como entrada para a pr´oxima
camada;
• Primeira Camada Intermedi´aria: cada nodo tra¸ca retas no espa¸co de padr˜oes de
treinamento;
• Segunda Camada Intermedi´aria: cada nodo combina as retas tra¸cadas pelos neurˆo-
nios da camada anterior conectados a ele, formando regi˜oes convexas, onde o n´umero
de lados ´e definido pelo n´umero de unidades a ele conectadas;
3 Algoritmos de Treinamento 37
• Camada de Sa´ıda: cada nodo forma regi˜oes que s˜ao combina¸c˜oes das regi˜oes con-
vexas definidas pelos nodos a ele conectados da camada anterior. Dessa forma, os
nodos determinam regi˜oes com formatos abstratos.
De acordo com Cybenko, uma camada intermedi´aria, combinando as tarefas das duas
camadas intermedi´arias descritas acima, ´e suficiente para aproximar qualquer fun¸c˜ao
cont´ınua. E duas camadas intermedi´arias s˜ao suficientes para aproximar qualquer fun¸c˜ao
matem´atica [CYBENKO; 1989].
Para alguns casos, no entanto, a utiliza¸c˜ao de duas ou mais camadas intermedi´arias
pode facilitar o treinamento da rede. Por outro lado, um n´umero muito grande de camadas
intermedi´arias n˜ao ´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 no¸c˜ao precisa do erro cometido pela rede
´e a camada de sa´ıda.
3.0.16 N´umero de Neurˆonios
O n´umero de neurˆonios na camada intermedi´aria, em geral, ´e definido empiricamente,
sendo que ele depende de v´arios fatores, como o n´umero de exemplos de treinamento, a
quantidade de ru´ıdo presente nos exemplos e a complexidade da fun¸c˜ao a ser aprendida.
Este n´umero depende da distribui¸c˜ao dos padr˜oes de treinamento e valida¸c˜ao da rede.
Por´em, alguns m´etodos tˆem sido propostos como: (i) definir o n´umero de neurˆonios
ocultos em fun¸c˜ao do n´umero de neurˆonios de entrada e sa´ıda; e (ii) utilizar um n´umero
de conex˜oes dez vezes menor que o n´umero de exemplos.
Deve-se sempre tomar cuidado para n˜ao se utilizar um n´umero muito grande de
neurˆonios nas camadas intermedi´arias. Utilizando-se um n´umero excessivo de neurˆonios,
pode-se fazer com que a rede memorize os padr˜oes de treinamento (overfitting), em vez
de extrair as caracter´ısticas gerais que a permitir˜ao generalizar ou reconhecer os padr˜oes
n˜ao vistos durante o treinamento. Por outro lado, um n´umero muito pequeno far´a com
que a rede gaste um tempo muito grande at´e que consiga encontrar uma representa¸c˜ao
´otima (underfitting).
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 inv´es de utilizar constantes para a atualiza¸c˜ao dos pesos, ele utiliza uma vari´avel
associada a cada peso que determina quanto ele ir´a atualizar o seu peso [RIEDMIL-
LER,1993].
Essa atualiza¸c˜ao ´e realizada a cada itera¸c˜ao de acordo com a seguinte regra de apren-
dizagem:
1. Se o sinal do erro cometido tiver sido alterado, ent˜ao a taxa de ajuste foi exagerada
e deve ser diminu´ıda.
Essa abordagem ´e equivalente a cada peso ter sua pr´opria taxa de aprendizado. Logo,
a vantagem deste algoritmo ´e de que n˜ao se precisa definir uma taxa de aprendizagem
constante, j´a que ela ´e calculada em fun¸c˜ao do gradiente descendente. O valor de sua
inicializa¸c˜ao tamb´em n˜ao tem grandes impactos no treinamento [RIEDMILLER,1993].
Um das principais vantagens da Resilient Propagation, para muitos problemas, ´e que
nenhum parˆametro dela precisa ser informado, acelerando tanto o processo de modelagem
da RNA, quanto a sua convergˆencia.
3.2 Crit´erios de Parada
Como pode ser visto na figura 3.1, a cada itera¸c˜ao, o resultado calculado pela RNA
aproxima-se mais dos valores do conjunto de treinamento. Portanto, enquanto o treina-
mento continuar ´e prov´avel 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 padr˜oes de treinamento, afetando sua capacidade
de generaliza¸c˜ao (overfitting). Portanto, ´e de fundamental importˆancia, estabelecer um
ou mais crit´erios de parada para a fase de treinamento.
Dois crit´erios de paradas cl´assicos s˜ao descritos abaixo:
3.2 Crit´erios de Parada 39
Figura 3.1: Evolu¸c˜ao 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 alcan¸cada, o treinamento para e a RNA ´e considerada treinada;
• N´umero m´aximo de itera¸c˜oes: ´e definida por quantas itera¸c˜oes a rede deve ser
treinada e quando chegar na itera¸c˜ao definida, o treinamento acaba e a RNA ´e dada
como treinada.
Uma combina¸c˜ao dos dois casos pode ser aplicada para ter um crit´erio mais robusto
como o treinamento deve parar quando o erro m´edio percentual absoluto do conjunto de
teste for 0,1% ou ocorrer 20.000 itera¸c˜oes. Esses crit´erios 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
satisfat´orio 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 ter´a um
desempenho abaixo do que poderia ser obtido, problema ´e conhecido como underfitting.
Para evitar esses problemas existe o crit´erio de parada conhecido como valida¸c˜ao cru-
zada. Na valida¸c˜ao cruzada, al´em de um conjunto de dados de treinamento, ´e considerado
outro conjunto de dados: o conjunto de valida¸c˜ao cruzada, cujos dados devem ser estatis-
ticamente representativos. Esse crit´erio funciona da seguinte forma [VALENC¸A, 2010]:
1. Ao final de cada itera¸c˜ao ´e calculado o erro do conjunto de treinamento e do conjunto
de valida¸c˜ao cruzada;
2. O valor dos erros de ambos os conjuntos s˜ao comparados. Enquanto a RNA es-
tiver aprendendo corretamente, o valor das taxas de erro decrescer˜ao juntas e o
3.2 Crit´erios de Parada 40
treinamento deve continuar;
3. Quando o erro do conjunto de valida¸c˜ao cruzada passar a aumentar enquanto a do
conjunto de treinamento continuar a diminuir, ´e o sinal de que a rede agora est´a
sofrendo um superajustamento e o treinamento deve ser encerrado.
No pr´oximo capitulo, ser´a relatado como foram realizados os testes, os algoritmos
implementados, as dificuldades encontradas nos caminho e as solu¸c˜oes desses problemas.
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:
• Defini¸c˜oes iniciais;
• Obten¸c˜ao dos dados de treinamento e valida¸c˜ao;
• Tratamento dos dados obtidos para a RNA;
• Implementa¸c˜ao e execu¸c˜ao dos treinamentos e testes com as RNAs;
• Processamento e an´alise dos dados gerados pelo passo anterior.
Nas se¸c˜oes a seguir, ´e descrita cada etapa detalhadamente, de forma a esclarecer o
processo realizado em cada etapa.
4.1 Defini¸c˜oes Iniciais
Primeiro foi definido quais padr˜oes a RNA iria se propor a reconhecer. Inicialmente a
ideia era a cria¸c˜ao de 10 elementos, que seriam todos os algarismos de 0 a 9, por´em, quanto
mais elementos, maior seria o n´umero de exemplos, e como o objetivo deste trabalho ´e a
compara¸c˜ao dos algoritmos de treinamento das redes neurais, foi escolhido um dom´ınio
menor, composto por trˆes formas geom´etricas simples, sendo elas o c´ırculo, o quadrado e
o triˆangulo.
A figura 4.1 mostra uma ilustra¸c˜ao dos desenhos correspondentes `as formas geom´etricas
a serem reconhecidas pelas RNAs. Os mesmos foram desenhados manualmente, conforme
ser´a feito durante os processos de treinamento, valida¸c˜ao e execu¸c˜ao das RNAs.
Como pode ser observado na tabela 4.1, cada forma geom´etrica possui um c´odigo para
identific´a-lo, de forma a distinguir cada uma delas. Al´em disso, cada forma geom´etrica
possui tamb´em uma faixa de valores, que come¸ca com um valor m´ınimo, indo at´e um
valor m´aximo, que representa os poss´ıveis retornos da rede neural para aquela forma.
4.2 Obten¸c˜ao dos Dados 42
Figura 4.1: Formas Geom´etricas Definidas: C´ırculo, Quadrado e Triˆangulo
Caso o valor de sa´ıda da rede neural, para uma forma geom´etrica, 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 ser´a o valor ideal, que corresponde
`a m´edia dos valores m´ınimo e m´aximo. O processo de treinamento e utiliza¸c˜ao desses
valores ser´a melhor explicado na se¸c˜ao 4.4.
Tabela 4.1: Tabela de dados das formas geom´etricas
C´odigo Forma Valor M´ınimo Valor Ideal Valor M´aximo
1 Quadrado 0 0,16 0,33
2 Triˆangulo 0,34 0,5 0,66
3 C´ırculo 0,67 0,83 0,99
Definido isso, foi necess´ario obter os dados de alguma maneira, sendo este o pr´oximo
item a ser descrito.
4.2 Obten¸c˜ao dos Dados
Ap´os as defini¸c˜oes iniciais, os dados precisaram ser inseridos manualmente por uma
pessoa, de forma que essa pessoa realiza o desenho da figura geom´etrica, e ela mesma
informa qual c´odigo representa a forma geom´etrica desenhada, de acordo com os c´odigos
da tabela 4.1.
Observando a figura 4.2, pode-se observar a interface disponibilizada para que os dados
de treinamento e valida¸c˜ao pudesse ser inseridos. No exemplo em quest˜ao, ´e inserido um
quadrado com o c´odigo 1 no treinamento, enquanto que, na valida¸c˜ao, ´e inserido um
triˆangulo com o c´odigo 2, conforme tabela 4.1.
4.3 Tratamento dos Dados para a RNA 43
Figura 4.2: Exemplo de Inser¸c˜ao de Dados para a RNA
Todas as imagens utilizadas no treinamento (figuras I.1, I.2, I.3) e na valida¸c˜ao (figuras
II.1, II.2, II.3 ), est˜ao presentes no apˆendice desse trabalho.
Apenas com esses dados inseridos, a rede neural ainda n˜ao ´e capaz de prever qual
a forma da imagem fornecida, pois, primeiro, ´e necess´ario um tratamento desses dados
inseridos pelo usu´ario, de forma a facilitar o reconhecimento da rede, como pode ser
verificado na pr´oxima se¸c˜ao.
4.3 Tratamento dos Dados para a RNA
Para que a RNA consiga receber os dados desenhados pelo usu´ario, n˜ao basta sim-
plesmente indicar que a entrada ser´a aquela imagem informada. Para isso, ´e necess´ario
um tratamento dos dados de entrada a serem inseridos no treinamento da RNA, pois se
nenhum tratamento fosse realizado, a entrada n˜ao seria bem aceita pelo treinamento da
rede, tornando-o mais demorado e menos preciso.
No caso deste trabalho, foram realizados v´arios testes, com as mais variadas maneiras
de tratamento, para a entrada da rede neural. Todas essas maneiras s˜ao 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 redu¸c˜ao das imagens, passando,
inicialmente, de uma imagem com uma resolu¸c˜ao de 100 x 100 pixels para uma imagem
de 15 x 15 pixels. Para isso, foram utilizados alguns dos algoritmos mais populares
4.3 Tratamento dos Dados para a RNA 44
de redu¸c˜ao de imagem, com v´arios modos de interpola¸c˜ao, tais como Bicubic, Bilinear,
Nearest Neighbor e High Quality Bicubic.
Ap´os essas redu¸c˜oes, as imagens foram convertidas para preto e branco. Com isso, a
imagem passou a possuir apenas duas cores, onde no padr˜ao 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 neurˆonios bin´arios para a RNA, sendo cada neurˆonio correspondente
a um dos bits da imagem.
Mesmo com tais manipula¸c˜oes na imagem, a rede n˜ao se mostrou muito eficiente,
apresentando treinamento demorado, com v´arias ´epocas geradas durante o processo, e
um baixo percentual de acerto ap´os sua conclus˜ao.
Visando melhorar o padr˜ao de entrada de dados da RNA, foi realizada uma norma-
liza¸c˜ao dos dados de entrada. Para isso, a imagem original de resolu¸c˜ao 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 regi˜oes,
cada regi˜ao com 10 x 10 pixels. Ap´os isso, foi realizada a normaliza¸c˜ao da “popula¸c˜ao” de
bits de cada regi˜ao da imagem, que nada mais ´e que contabilizar os pontos pretos daquela
parte. Essa quantidade de pontos pretos da regi˜ao ´e exatamente o valor do x da f´ormula
de normaliza¸c˜ao 4.1 e, com esse valor normalizado, pode-se gerar o valor de entrada da
rede neural daquela parte.
4.3 Tratamento dos Dados para a RNA 45
Figura 4.3: Normaliza¸c˜ao - Divis˜ao das partes
A imagem inicial com seu resultado final da normaliza¸c˜ao pode ser observado no
exemplo da figura 4.4.
Figura 4.4: Resultado da Normaliza¸c˜ao de uma imagem
Utilizando a normaliza¸c˜ao, tornou-se poss´ıvel reduzir a entrada da rede neural de
225 neurˆonios para 100 neurˆonios, muda muito e melhorando bastante a efic´acia dos
treinamentos em geral.
A normaliza¸c˜ao foi ´util para dados com um determinado tamanho informado nos trei-
namentos. Por´em, ao se informar formas geom´etricas de tamanhos variados, a RNA n˜ao
conseguiu distingu´ı-los, pois os variados tamanhos geravam valores diferentes na norma-
liza¸c˜ao, sendo assim necess´arios uma maior quantidade de exemplos com os mais variados
tamanhos das formas geom´etricas, tornando essa possibilidade invi´avel.
Para solucionar esse problema, ap´os realizar v´arias pesquisas, foi verificado que se
fossem consideradas imagens de v´arios 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 regi˜ao onde a figura deve ser informada, as entradas produ-
zidas para a RNA estariam padronizadas, auxiliando com isso o treinamento e a predi¸c˜ao
4.4 Implementa¸c˜ao e Execu¸c˜ao dos Treinamentos e Testes com as RNAs 46
da forma geom´etrica informada.
Para realizar essas padroniza¸c˜ao, foi utilizada a API gr´afica AForge, realizando-se os
passos ilustrados na figura 4.5 e descritos a seguir:
• Fase 1 - imagem original;
• Fase 2 - para a utiliza¸c˜ao 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 - ap´os a expans˜ao, a imagem ´e invertida novamente para fundo branco e
forma preta.
Figura 4.5: Fases da Expans˜ao de Imagens Menores
Ap´os conseguir padronizar os dados de entrada da RNA, verificou-se que os resultados
gerados foram bem mais eficientes. Dessa maneira, a rede pˆode aproveitar melhor a
entrada e, com isso, reduzir a quantidade de exemplos necess´arios para o treinamento,
aumentando a qualidade e a diversidade de tamanhos poss´ıveis para a predi¸c˜ao da RNA.
4.4 Implementa¸c˜ao e Execu¸c˜ao dos Treinamentos e Testes com as RNAs
Como este trabalho necessita de que todos os dados sejam armazenadas para uma
r´apida consulta a qualquer momento e tamb´em para que se tenha uma base consistente
para an´alise de todas as informa¸c˜oes geradas por todos os treinamentos e valida¸c˜oes, todas
as informa¸c˜oes foram armazenadas em um banco de dados. O diagrama a seguir apresenta
uma vis˜ao geral de como os dados foram armazenados:
4.4 Implementa¸c˜ao e Execu¸c˜ao 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 informa¸c˜oes sobre o treinamento das RNAs como:
qual RNA foi utilizada, qual algoritmo foi utilizado, quais os valores dos parˆametros de
treinamento, dentre outras informa¸c˜oes.
Durante o treinamento, cada ´epoca tem sua margem de erro armazenada na tabela
LogTreinamento, para que a an´alise a ser realizada e tamb´em a gera¸c˜ao dos gr´aficos
utilizados na compara¸c˜ao sejam facilitadas. E, ap´os 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 informa¸c˜oes p´os treinamento informando se a forma foi vali-
4.4 Implementa¸c˜ao e Execu¸c˜ao dos Treinamentos e Testes com as RNAs 48
dada conforme o esperado ou n˜ao. Com isso, tem-se um controle das formas validadas,
facilitando a identifica¸c˜ao 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, s˜ao encontradas todas as formas que a rede pode predizer. No
caso deste trabalho, s˜ao exatamente as formas descritas na tabela 4.1.
A valida¸c˜ao da rede neural ocorre de maneira semelhante ao processo de treinamento,
apresentando n ValidacaoDados, que armazenam informa¸c˜oes sobre determinada imagem
presente em DadosValidacao. Para n˜ao prejudicar o processo de valida¸c˜ao da RNA, nessa
etapa n˜ao ´e utilizado nenhuma imagem j´a considerada no processo de treinamento.
A tabela DadosRedeNeural cont´em as configura¸c˜oes das RNAs como: o n´umero de
neurˆonios presentes em cada uma de suas trˆes camadas (camada de entrada, camada
oculta e camada de sa´ıda) e os pesos iniciais atribu´ıdos aos neurˆonios e `as suas liga¸c˜oes
antes da etapa de treinamento.
Utilizando toda essa estrutura descrita, os treinamentos foram realizados considerando
trˆes quantidade de exemplos: 10, 30 e 50 exemplos de cada forma geom´etrica. Como
crit´erios de parada, foi considerada uma margem de erro de 0, 1% ou um limite m´aximo
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 parˆametros do processo de treinamento ser˜ao explicados de forma
mais detalhada no cap´ıtulo de 5.
Todas as imagens utilizadas no treinamento est˜ao presentes no apˆendice 1 (veja figuras
I.1, I.2, I.3).
Descrito o processo de treinamento, na se¸c˜ao a seguir, ´e relatado como foram feitas
as valida¸c˜oes das RNAs treinadas.
4.5 Processamento e An´alise dos Dados Gerados pela RNA 49
4.5 Processamento e An´alise dos Dados Gerados pela RNA
Ap´os a realiza¸c˜ao de todos os treinamentos, foram realizados os testes de valida¸c˜ao
com exemplos totalmente diferentes daqueles utilizados no treinamento. Atrav´es da etapa
de valida¸c˜ao, foi poss´ıvel verificar se as RNAs conseguiram uma alta eficiˆencia na predi¸c˜ao
das formas geom´etricas (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 valida¸c˜ao est˜ao presentes no apˆendice
2 (figuras II.1, II.2, II.3).
O seguinte processo foi realizado para todas as imagens da valida¸c˜ao para a realiza¸c˜ao
da valida¸c˜ao:
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, ap´os ser criada,
os dados de cada imagem s˜ao computados pela rede, retornando um valor que,
analisando as faixas de valores definidas inicialmente para cada elemento, pode-se
dizer qual ´e a forma geom´etrica correspondente;
3. Com o valor computado pela RNA, ´e verificado se o valor retornado pela mesma ´e
pr´oximo 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 valida¸c˜ao s˜ao 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 inser¸c˜ao daquela forma geom´etrica, apontando a valida¸c˜ao daquela imagem como v´alida
ou n˜ao.
Com base em todos esses dados dos treinamentos e valida¸c˜oes, foi poss´ıvel obter os
dados necess´arios para a realiza¸c˜ao das compara¸c˜oes entre os algoritmos de treinamento
Backpropagation e Resilient Propagation, que s˜ao apresentados no pr´oximo cap´ıtulo.
50
5 Resultados Obtidos
Neste cap´ıtulo ser˜ao discutidos os resultados obtidos pelos testes das RNAs, apresen-
tando, inicialmente, todos os parˆametros e defini¸c˜oes dos treinamentos realizados como
exemplo: a fun¸c˜ao de ativa¸c˜ao utilizada, o n´umero de camadas ocultas, o n´umero de
neurˆonios em cada camada e a quantidade de exemplos utilizados no treinamento e na
valida¸c˜ao.
5.1 Defini¸c˜oes das RNAs Utilizadas na Compara¸c˜ao
Esta se¸c˜ao possui um breve resumo de todas as defini¸c˜oes que foram utilizadas na
an´alise 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 compreens˜ao.
5.1.1 Fun¸c˜ao de Ativa¸c˜ao
Uma das etapas necess´arias para a cria¸c˜ao das RNAs foi a defini¸c˜ao de qual fun¸c˜ao
de ativa¸c˜ao utilizar. A fun¸c˜ao de ativa¸c˜ao escolhida foi a Sigm´oide, pois esta fun¸c˜ao pode
assumir todos os valores entre 0 e 1. Com isso, ela aceita todas as faixas escolhidas para
a representa¸c˜ao das formas geom´etricas.
5.1.2 N´umero de Camadas Ocultas
Foi estabelecido que as RNAs apresentar˜ao apenas uma camada oculta, pois uma vez
que o intuito do trabalho ´e apenas comparar os algoritmos de treinamento, a defini¸c˜ao de
mais de uma camada oculta implicaria em um grau de complexidade a mais, sem qual-
quer necessidade. Al´em disso, testes emp´ıricos com a rede neural MLP n˜ao conseguiram
comprovar vantagem significante no uso de mais de uma camada oculta (HAYKIN, 2001).
5.1 Defini¸c˜oes das RNAs Utilizadas na Compara¸c˜ao 51
5.1.3 N´umero de Neurˆonios em Cada Camada
A camada de entrada das RNAs proposta apresentam 100 neurˆonios, representando
cada um dos elementos da matriz 10 x 10 que representa a forma geom´etrica a ser clas-
sificada, ap´os a normaliza¸c˜ao realizada sobre a imagem original descrita na se¸c˜ao 4.4. J´a
na camada de sa´ıda, as RNAs possuem apenas 1 neurˆonio, para retornar o valor predito
que representa a imagem a ser identificada. E, por fim, para a defini¸c˜ao do n´umero de
neurˆonios presentes na camada oculta, foram utilizadas quatro configura¸c˜oes calculadas
pelas seguintes regras:
Regra do Valor M´edio
A regra do valor m´edio pode ser definida pela seguinte equa¸c˜ao:
n1 + n2
2
, (5.1)
onde:
• n1 ´e o n´umero de neurˆonios na camada de entrada;
• e n2 ´e o n´umero de neurˆonios na camada de sa´ıda.
Regra de Kolmogorov
A regra de Kolmogorov pode ser definida pela seguinte equa¸c˜ao:
(2 ∗ n1) + n2, (5.2)
onde:
• n1 ´e o n´umero de neurˆonios na camada de entrada;
• e n2 ´e o n´umero de neurˆonios na camada de sa´ıda.
5.1 Defini¸c˜oes das RNAs Utilizadas na Compara¸c˜ao 52
Regra de Fletcher-Gloss
A regra de Fletcher-Gloss pode ser definida pela seguinte equa¸c˜ao:
(2 ∗
√
n1) + n2, (5.3)
onde:
• n1 ´e o n´umero de neurˆonios na camada de entrada;
• e n2 ´e o n´umero de neurˆonios na camada de sa´ıda.
Regra da Raiz Quadrada
A regra da raiz quadrada pode ser definida pela seguinte equa¸c˜ao:
√
n1 + n2, (5.4)
onde:
• n1 ´e o n´umero de neurˆonios na camada de entrada;
• e n2 ´e o n´umero de neurˆonios na camada de sa´ıda.
Defini¸c˜oes das Configura¸c˜oes
Baseando nas formas citadas anteriormente, obtˆem-se as seguintes configura¸c˜oes de
redes neurais:
• Configura¸c˜ao 1 - Utilizando a regra do valor m´edio:
– Camada de Entrada: 100 neurˆonios;
– Camada Oculta: 50 neurˆonios;
– Camada de Sa´ıda: 1 neurˆonio.
5.1 Defini¸c˜oes das RNAs Utilizadas na Compara¸c˜ao 53
• Configura¸c˜ao 2 - Utilizando a regra de Kolmogorov:
– Camada de Entrada: 100 neurˆonios;
– Camada Oculta: 201 neurˆonios;
– Camada de Sa´ıda: 1 neurˆonio.
• Configura¸c˜ao 3 - Utilizando a regra de Fletcher-Gloss:
– Camada de Entrada: 100 neurˆonios;
– Camada Oculta: 21 neurˆonios;
– Camada de Sa´ıda: 1 neurˆonio.
• Configura¸c˜ao 4 - Utilizando a regra da raiz quadrada:
– Camada de Entrada: 100 neurˆonios;
– Camada Oculta: 10 neurˆonios;
– Camada de Sa´ıda: 1 neurˆonio.
Para evitar qualquer injusti¸ca ou falha nessas compara¸c˜oes, todas as redes de uma
determinada configura¸c˜ao come¸cam sempre com os mesmos pesos iniciais. Para arma-
zenar os pesos de uma RNA ap´os o treinamento, foram utilizados m´etodos do pr´oprio
framework Encog, facilitando assim a reutiliza¸c˜ao dessa rede, sem a necessidade de um
novo treinamento.
5.1.4 Quantidade de Exemplos no Treinamento
Ap´os a defini¸c˜ao das configura¸c˜oes das RNAs utilizadas nas compara¸c˜oes, ´e preciso
definir o n´umero 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 ser˜ao 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.
5.2 Resultados Obtidos Pelos Algoritmos 54
A fim de por em prova a capacidade das RNAs distinguirem padr˜oes mesmo com um
razo´avel volume de ru´ıdos, todos os exemplos foram desenhados manualmente (por uma
pessoa utilizando o mouse), podendo apresentar, al´em de tamanhos variados, pequenas
deforma¸c˜oes inseridas propositalmente, para que a RNA n˜ao trabalhe apenas com formas
perfeitas.
5.1.5 Quantidade de Exemplos na Valida¸c˜ao
No caso da valida¸c˜ao, todas as 150 imagens presentes nas figuras II.3, II.1 e II.2 pre-
sentes no apˆendice 2 foram utilizadas para todas as configura¸c˜oes das RNAs, de forma a
seguirem sempre um padr˜ao na valida¸c˜ao das formas que n˜ao foram utilizadas no treina-
mento.
5.2 Resultados Obtidos Pelos Algoritmos
Nessa sess˜ao s˜ao exibidos todos os resultados obtidos, divididos por configura¸c˜ao da
RNA e pelo n´umero 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 n˜ao possui parˆametros de configura¸c˜ao 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.
J´a para as RNAs treinadas pelo algoritmo BP, foi necess´aria a realiza¸c˜ao de diversos
treinamentos, j´a que as mesmas possuem dois parˆametros de configura¸c˜ao. S˜ao eles:
• Taxa de aprendizagem: respons´avel por definir a forma de ajuste dos pesos em cada
itera¸c˜ao, tem grande influˆencia 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 oscila¸c˜oes no treinamento e impede a
convergˆencia do processo de aprendizado. Geralmente seu valor varia de 0.1 a 1.0;
5.2 Resultados Obtidos Pelos Algoritmos 55
• Momentum: respons´avel por evitar que o treinamento se estabilize em m´ınimos/m´aximos
locais, o momentum aumenta a velocidade de treinamento da RNA e reduz o perigo
de instabilidade. Este parˆametro pode ou n˜ao ser usado durante o treinamento e
seu valor, em geral, varia de 0.0 (n˜ao utiliza¸c˜ao) 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 combina¸c˜ao (configura¸c˜ao,quantidade de exemplos).
5.2.1 Configura¸c˜ao 1 - Utilizando a Regra do Valor M´edio para Determinar
o N´umero de Neurˆonios Ocultos
Entende-se como configura¸c˜ao 1, aquela que utiliza a regra do valor m´edio para de-
terminar o n´umero de neurˆonios 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
triˆangulos e 10 c´ırculos, nessa primeira configura¸c˜ao das RNAs, com base na tabela 5.1,
pode-se verificar que as melhores RNAs de cada algoritmo n˜ao alcan¸caram a faixa de 80%
de acertos.
Como era esperado, a RNA treinada com o algoritmo Resilient Propagation convergiu
em um n´umero menor de ´epocas, apresentando apenas 30 ´epocas, enquanto que aquela
treinada com o algoritmo Backpropagation precisou de 109 ´epocas para convergir. Essa
diferen¸ca aponta uma eficiˆencia da RNA treinada pelo RP cerca de 3 vezes maior que
5.2 Resultados Obtidos Pelos Algoritmos 56
a mesma rede treinada pelo BP. Em rela¸c˜ao ao percentual de acerto, n˜ao foi vista uma
grande vantagem para nenhum dos dois tipos de treinamento, tendo o BP apresentado uma
acertividade m´edia de 74%, e o RP de 76%. Esses ´ındices de acerto abaixo do esperado
se devem, provavelmente, ao baixo n´umero de exemplos utilizados no treinamento.
Tabela 5.1: Tabela de resultados dos treinamentos com configura¸c˜ao 1 e 30 exemplos
Informa¸c˜oes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na Valida¸c˜ao
Total Acertos
Treinamento Algoritmo ´Epocas Quadrado Triˆangulo C´ırculo Total Quadrado Triˆangulo 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 gr´aficos 5.1 e 5.2, que apresentam a evolu¸c˜ao 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 oscila¸c˜oes e, provavelmente por esse
motivo, gerou um alto n´umero de ´epocas para a convergˆencia do treinamento. J´a no
treinamento utilizando o RP, ocorreram apenas 3 grandes oscila¸c˜oes, que podem ser veri-
ficadas nas ´epocas 5, 7 e 10, mas, com a mudan¸ca de sinal, o pr´oprio treinamento mudou
o sentido de aumento do erro para uma diminui¸c˜ao do erro de forma mais r´apida, como
explicado no cap´ıtulo 3.
Figura 5.1: ´Epocas x Erro - BP com a Configura¸c˜ao 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 n˜ao apresentar uma acertividade muito maior, apresentou convergˆencia em um n´umero
menor de ´epocas no treinamento.
5.2 Resultados Obtidos Pelos Algoritmos 57
Figura 5.2: ´Epocas x Erro - RP com a Configura¸c˜ao 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 triˆangulos, 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 n´umero de exemplos, ambas as RNAs apresentaram um aumento
expressivo no percentual de acertos.
Al´em disse, pode ser observado que com o aumento da quantidade de exemplos, au-
mentou tamb´em o n´umero de ´epocas necess´arias para os algoritmos convergirem. O RP
precisou de mais 43 ´epocas, ao passo que o BP aumentou aproximadamente 20 vezes o
n´umero de ´epocas necess´arias para convergir, resultando numa esperar bem maior para a
realiza¸c˜ao do treinamento.
Tabela 5.2: Tabela de resultados dos treinamentos com configura¸c˜ao 1 e 90 exemplos
Informa¸c˜oes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na Valida¸c˜ao
Total Acertos
Treinamento Algoritmo ´Epocas Quadrado Triˆangulo C´ırculo Total Quadrado Triˆangulo 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 gr´aficos 5.3 e 5.4, pode-se perceber que novamente o RP apresentou
raras oscila¸c˜oes, enquanto o BP teve uma grande quantidade de oscila¸c˜oes, sempre au-
mentando e diminuindo o erro durante o treinamento, motivo do expressivo aumento do
n´umero de ´epocas para a convergˆencia.
5.2 Resultados Obtidos Pelos Algoritmos 58
Figura 5.3: ´Epocas x Erro - BP com a Configura¸c˜ao 1 e 90 Exemplos
Figura 5.4: ´Epocas x Erro - RP com a Configura¸c˜ao 1 e 90 Exemplos
Ap´os essas compara¸c˜oes, verificou-se que neste caso quem se saiu melhor foi o BP,
por´em em casos que o n´umero de ´epocas do treinamento ´e importante, o RP deve ser
considerado j´a que apresenta um n´umero de ´epocas para convergˆencia 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 triˆangulos, pode-se observar que a quantidade de acertos aumentou muito
pouco com a adi¸c˜ao 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 rela¸c˜ao ao n´umero de ´epocas para convergˆencia de cada treinamento, os gr´aficos
5.5 e 5.6 mostram o mesmo comportamento dos cen´arios anteriores, apresentando o BP
com muitas oscila¸c˜oes e convergˆencia com muitas ´epocas (2034 ´epocas), e o RP com
5.2 Resultados Obtidos Pelos Algoritmos 59
Tabela 5.3: Tabela de resultados dos treinamentos com configura¸c˜ao 1 e 150 exemplos
Informa¸c˜oes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na Valida¸c˜ao
Total Acertos
Treinamento Algoritmo ´Epocas Quadrado Triˆangulo C´ırculo Total Quadrado Triˆangulo 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 oscila¸c˜oes e convergˆencia em um n´umero 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, por´em teve um percentual de acertos menor.
Figura 5.5: ´Epocas x Erro - BP com a Configura¸c˜ao 1 e 150 Exemplos
Figura 5.6: ´Epocas x Erro - RP com a Configura¸c˜ao 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 tamb´em um bom n´ıvel de acertividade com
um n´umero menor de ´epocas para convergˆencia bem menor.
5.2 Resultados Obtidos Pelos Algoritmos 60
An´alise dos Resultados da Configura¸c˜ao 1
Com 50 neurˆonios na camada oculta, as RNAs treinadas tanto por BP quanto por RP
se mostraram menos eficientes ao predizer as formas geom´etricas com poucos exemplos
e foram aumentando o percentual de acertos a medida que o n´umero de exemplos no
treinamento aumentava, chegando ao limite de 92% de acertividade com o BP e de 89%
com o RP.
Em rela¸c˜ao ao n´umero de ´epocas para a convergˆencia, enquanto o BP aumentou de
maneira dr´astica o n´umero de ´epocas necess´arias para convergir seu treinamento, chegando
a superar a casa das 2000 ´epocas, o RP precisou de no m´aximo 109 ´epocas para conver-
gir. J´a em rela¸c˜ao `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 aceit´avel e com poucas oscila¸c˜oes. J´a o BP se saiu melhor no percentual de
acertos, por´em deixou a desejar em rela¸c˜ao ao n´umero de ´epocas no treinamento.
5.2.2 Configura¸c˜ao 2 - Utilizando a Regra de Kolmogorov para Determinar
o N´umero de Neurˆonios Ocultos
Entende-se como configura¸c˜ao 2, aquela que utiliza a regra de Kolmogorov para de-
terminar o n´umero de neurˆonios presentes na camada oculta.
Nesta configura¸c˜ao, a RNA apresenta o maior n´umero de neurˆonios 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 n˜ao conseguiram alcan¸car 75%
de acertos, o BP apresentou uma acertividade um pouco maior com 73%, enquanto que
o RP teve 72% de acerto.
Analisando os gr´aficos de cada algoritmo nas figuras 5.7 e 5.8, ´e poss´ıvel perceber que
o algoritmo BP apresentou um n´umero menor de oscila¸c˜oes se comparado aos gr´aficos
5.2 Resultados Obtidos Pelos Algoritmos 61
Tabela 5.4: Tabela de resultados dos treinamentos com configura¸c˜ao 2 e 30 exemplos
Informa¸c˜oes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na Valida¸c˜ao
Total Acertos
Treinamento Algoritmo ´Epocas Quadrado Triˆangulo C´ırculo Total Quadrado Triˆangulo 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 Configura¸c˜ao 2 e 30 Exemplos
Figura 5.8: ´Epocas x Erro - RP com a Configura¸c˜ao 2 e 30 Exemplos
Para essa configura¸c˜ao e n´umero de exemplos, os dois algoritmos apresentaram resul-
tados bem similares, apresentando uma acertividade discreta e convergˆencia acelerada.
Utilizando 90 Exemplos de Entrada
Aumentando o n´umero de exemplos, mesmo pela primeira vez tendo errado 1 quadrado
durante o treinamento, o BP aumentou seu percentual de acertos de 73% para 89%,
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 configura¸c˜ao 2 e 90 exemplos
Informa¸c˜oes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na Valida¸c˜ao
Total Acertos
Treinamento Algoritmo ´Epocas Quadrado Triˆangulo C´ırculo Total Quadrado Triˆangulo 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 gr´aficos 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 oscila¸c˜oes. Esse excesso de oscila¸c˜oes no BP fez com que o treinamento
do BP demandasse cerca de 26 vezes mais ´epocas que o BP, que apresentou pouca redu¸c˜ao
no n´umero de ´epocas para convergˆencia.
Figura 5.9: ´Epocas x Erro - BP com a Configura¸c˜ao 2 e 90 Exemplos
Figura 5.10: ´Epocas x Erro - RP com a Configura¸c˜ao 2 e 90 Exemplos
Com 90 exemplos no treinamento, o BP se saiu melhor quanto ao percentual de
5.2 Resultados Obtidos Pelos Algoritmos 63
acertos, por´em o RP manteve uma acertividade pr´oxima com uma convergˆencia bem
mais acelerada.
Utilizando 150 Exemplos de Entrada
Aumentando um pouco mais o n´umero 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 diferen¸ca de 3% ou 10 formas geom´etricas.
Tabela 5.6: Tabela de resultados dos treinamentos com configura¸c˜ao 2 e 150 exemplos
Informa¸c˜oes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na Valida¸c˜ao
Total Acertos
Treinamento Algoritmo ´Epocas Quadrado Triˆangulo C´ırculo Total Quadrado Triˆangulo 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 gr´aficos 5.11 e 5.12, por´em, como nos demais treinamentos, o BP apre-
sentou muitas oscila¸c˜oes e precisou de muitas ´epocas para convergir, enquanto que o RP
manteve o baixo n´umero de oscila¸c˜oes e um n´umero menor de ´epocas para a convergˆencia.
Figura 5.11: ´Epocas x Erro - BP com a Configura¸c˜ao 2 e 150 Exemplos
An´alise dos Resultados da Configura¸c˜ao 2
Conforme esperado, com 201 neurˆonios na camada oculta, as RNAs treinadas tanto
pelo BP quanto que pelo RP, apresentaram um aumento no seu percentual de acerto
5.2 Resultados Obtidos Pelos Algoritmos 64
Figura 5.12: ´Epocas x Erro - RP com a Configura¸c˜ao 2 e 150 Exemplos
proporcional ao aumento na quantidade de exemplos, conseguindo um acerto m´aximo
de 92% de acerto com o BP e 89% com o RP. ´E interessante observar, que esses foram
exatamente os mesmos valores m´aximos obtidos pelas RNAs com a configura¸c˜ao 1.
Nessa configura¸c˜ao, mais uma vez, de uma forma geral, o BP se saiu melhor no
percentual de acertos, mas apresentou um n´umero maior de ´epoca necess´arias para a
convergˆencia em todos os casos. J´a o RP convergiu em um n´umero menor de ´epocas e
com poucas oscila¸c˜oes, mas apresentou margem de acertos um pouco inferior.
5.2.3 Configura¸c˜ao 3 - Utilizando a Regra de Fletcher-Gloss para Determinar
o N´umero de Neurˆonios Ocultos
Entende-se como configura¸c˜ao 3, aquela que utiliza a regra de Fletcher-Gloss para
determinar o n´umero de neurˆonios 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 gr´aficos, pode-se observar que o gr´afico do RP, figura 5.14, n˜ao tem
tantas oscila¸c˜oes quanto a do BP, figura 5.13, demandando um n´umero bem menor de
5.2 Resultados Obtidos Pelos Algoritmos 65
Tabela 5.7: Tabela de resultados dos treinamentos com configura¸c˜ao 3 e 30 exemplos
Informa¸c˜oes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na Valida¸c˜ao
Total Acertos
Treinamento Algoritmo ´Epocas Quadrado Triˆangulo C´ırculo Total Quadrado Triˆangulo 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 Configura¸c˜ao 3 e 30 Exemplos
Figura 5.14: ´Epocas x Erro - RP com a Configura¸c˜ao 3 e 30 Exemplos
Nesta configura¸c˜ao com 21 neurˆonios 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 trˆes vezes menos ´epocas que
o BP, que precisou de 87 ´epocas para convergir.
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
geom´etricas.
Tabela 5.8: Tabela de resultados dos treinamentos com configura¸c˜ao 3 e 90 exemplos
Informa¸c˜oes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na Valida¸c˜ao
Total Acertos
Treinamento Algoritmo ´Epocas Quadrado Triˆangulo C´ırculo Total Quadrado Triˆangulo 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 oscila¸c˜oes que ocasionaram um n´umero excessivo de ´epocas necess´arias para con-
vergir, enquanto o RP manteve um n´umero reduzido de oscila¸c˜oes, conseguindo convergir
em um n´umero menor de ´epocas.
Figura 5.15: ´Epocas x Erro - BP com a Configura¸c˜ao 3 e 90 Exemplos
´E poss´ıvel notar que com o aumento de exemplos no treinamento, o BP melhorou
significativamente sua acertividade, por´em experimentou 12.000 ´epocas at´e a sua con-
vergˆencia. Se comparado ao RP, que precisou de apenas 57 ´epocas, apresentou uma
acertividade um pouco maior, mas uma convergˆencia com 210 vezes mais ´epocas.
5.2 Resultados Obtidos Pelos Algoritmos 67
Figura 5.16: ´Epocas x Erro - RP com a Configura¸c˜ao 3 e 90 Exemplos
Utilizando 150 Exemplos de Entrada
Aumentando novamente o n´umero de exemplos, pode-se observar na tabela 5.9, que
ambas as RNAs conseguiram acertar mais de 90% das formas geom´etricas, mostrando
que nessa configura¸c˜ao 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 configura¸c˜ao 3 e 150 exemplos
C´odigoTreinamento
Informa¸c˜oesTreinamento AcertosObtidosnoTreinamento AcertosObtidosnaValida¸c˜ao
TotalAcertos
Algoritmo ´Epocas Quadrado Triˆangulo C´ırculo Total Quadrado Triˆangulo 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
oscila¸c˜oes se comparada com o RP, necessitando de 767 ´epocas contra apenas 79 do RP.
Figura 5.17: ´Epocas x Erro - BP com a Configura¸c˜ao 3 e 150 Exemplos
Monografia sobre Inteligência artificial para comparar algoritmos de treinamento de redes neurais artificiais
Monografia sobre Inteligência artificial para comparar algoritmos de treinamento de redes neurais artificiais
Monografia sobre Inteligência artificial para comparar algoritmos de treinamento de redes neurais artificiais
Monografia sobre Inteligência artificial para comparar algoritmos de treinamento de redes neurais artificiais
Monografia sobre Inteligência artificial para comparar algoritmos de treinamento de redes neurais artificiais
Monografia sobre Inteligência artificial para comparar algoritmos de treinamento de redes neurais artificiais
Monografia sobre Inteligência artificial para comparar algoritmos de treinamento de redes neurais artificiais
Monografia sobre Inteligência artificial para comparar algoritmos de treinamento de redes neurais artificiais
Monografia sobre Inteligência artificial para comparar algoritmos de treinamento de redes neurais artificiais
Monografia sobre Inteligência artificial para comparar algoritmos de treinamento de redes neurais artificiais
Monografia sobre Inteligência artificial para comparar algoritmos de treinamento de redes neurais artificiais
Monografia sobre Inteligência artificial para comparar algoritmos de treinamento de redes neurais artificiais
Monografia sobre Inteligência artificial para comparar algoritmos de treinamento de redes neurais artificiais
Monografia sobre Inteligência artificial para comparar algoritmos de treinamento de redes neurais artificiais
Monografia sobre Inteligência artificial para comparar algoritmos de treinamento de redes neurais artificiais
Monografia sobre Inteligência artificial para comparar algoritmos de treinamento de redes neurais artificiais
Monografia sobre Inteligência artificial para comparar algoritmos de treinamento de redes neurais artificiais
Monografia sobre Inteligência artificial para comparar algoritmos de treinamento de redes neurais artificiais
Monografia sobre Inteligência artificial para comparar algoritmos de treinamento de redes neurais artificiais

Mais conteúdo relacionado

Mais procurados

Manual geral trocadores de calor a placas - bermo (1)
Manual geral   trocadores de calor a placas - bermo (1)Manual geral   trocadores de calor a placas - bermo (1)
Manual geral trocadores de calor a placas - bermo (1)Wartsila Brasil
 
2013 artur bontempolima
2013 artur bontempolima2013 artur bontempolima
2013 artur bontempolimaJosh Santos
 
Fisica 003 optica
Fisica   003 opticaFisica   003 optica
Fisica 003 opticacon_seguir
 
Aprenda a Programar com C#
Aprenda a Programar com C#Aprenda a Programar com C#
Aprenda a Programar com C#Antonio Trigo
 
Apostila de pspice petee ufmg
Apostila de pspice petee ufmgApostila de pspice petee ufmg
Apostila de pspice petee ufmgedwirmarcelo
 
Dispositivos optoelectronicos
Dispositivos optoelectronicosDispositivos optoelectronicos
Dispositivos optoelectronicosAlberto Alonso
 
Avaliação de um Mecanismo Autonômico para Segurança em Rede Baseado em Metodo...
Avaliação de um Mecanismo Autonômico para Segurança em Rede Baseado em Metodo...Avaliação de um Mecanismo Autonômico para Segurança em Rede Baseado em Metodo...
Avaliação de um Mecanismo Autonômico para Segurança em Rede Baseado em Metodo...Jean Pablo
 
Apostila lineares.pdf
Apostila lineares.pdfApostila lineares.pdf
Apostila lineares.pdfSENAI SP
 
Controle da máquina de corrente contínua utilizando processos de otimização n...
Controle da máquina de corrente contínua utilizando processos de otimização n...Controle da máquina de corrente contínua utilizando processos de otimização n...
Controle da máquina de corrente contínua utilizando processos de otimização n...José Alberto Gobbes Cararo
 
Almeida marisley hirinea_de
Almeida marisley hirinea_deAlmeida marisley hirinea_de
Almeida marisley hirinea_demafrooos
 
Almeida marisley hirinea_de
Almeida marisley hirinea_deAlmeida marisley hirinea_de
Almeida marisley hirinea_deFares Mafros
 
Livro de algebra linear cópia
Livro de algebra linear   cópiaLivro de algebra linear   cópia
Livro de algebra linear cópiaLuiz Henrique
 
Algoritmos jabour
Algoritmos jabourAlgoritmos jabour
Algoritmos jabourfjabour
 
48655010 formacao-de-suporte-tecnico-proinfo
48655010 formacao-de-suporte-tecnico-proinfo48655010 formacao-de-suporte-tecnico-proinfo
48655010 formacao-de-suporte-tecnico-proinfoWallerson Kessler Aguiar
 

Mais procurados (19)

Manual geral trocadores de calor a placas - bermo (1)
Manual geral   trocadores de calor a placas - bermo (1)Manual geral   trocadores de calor a placas - bermo (1)
Manual geral trocadores de calor a placas - bermo (1)
 
2013 artur bontempolima
2013 artur bontempolima2013 artur bontempolima
2013 artur bontempolima
 
Fisica 003 optica
Fisica   003 opticaFisica   003 optica
Fisica 003 optica
 
Aprenda a Programar com C#
Aprenda a Programar com C#Aprenda a Programar com C#
Aprenda a Programar com C#
 
Curso estatistica descritiva no r
Curso   estatistica descritiva no rCurso   estatistica descritiva no r
Curso estatistica descritiva no r
 
Apostila de pspice petee ufmg
Apostila de pspice petee ufmgApostila de pspice petee ufmg
Apostila de pspice petee ufmg
 
Dispositivos optoelectronicos
Dispositivos optoelectronicosDispositivos optoelectronicos
Dispositivos optoelectronicos
 
Avaliação de um Mecanismo Autonômico para Segurança em Rede Baseado em Metodo...
Avaliação de um Mecanismo Autonômico para Segurança em Rede Baseado em Metodo...Avaliação de um Mecanismo Autonômico para Segurança em Rede Baseado em Metodo...
Avaliação de um Mecanismo Autonômico para Segurança em Rede Baseado em Metodo...
 
Ap
ApAp
Ap
 
Apostila lineares.pdf
Apostila lineares.pdfApostila lineares.pdf
Apostila lineares.pdf
 
Controle da máquina de corrente contínua utilizando processos de otimização n...
Controle da máquina de corrente contínua utilizando processos de otimização n...Controle da máquina de corrente contínua utilizando processos de otimização n...
Controle da máquina de corrente contínua utilizando processos de otimização n...
 
Almeida marisley hirinea_de
Almeida marisley hirinea_deAlmeida marisley hirinea_de
Almeida marisley hirinea_de
 
Almeida marisley hirinea_de
Almeida marisley hirinea_deAlmeida marisley hirinea_de
Almeida marisley hirinea_de
 
Resmat2007a
Resmat2007aResmat2007a
Resmat2007a
 
Precalculo pt
Precalculo ptPrecalculo pt
Precalculo pt
 
Redes
RedesRedes
Redes
 
Livro de algebra linear cópia
Livro de algebra linear   cópiaLivro de algebra linear   cópia
Livro de algebra linear cópia
 
Algoritmos jabour
Algoritmos jabourAlgoritmos jabour
Algoritmos jabour
 
48655010 formacao-de-suporte-tecnico-proinfo
48655010 formacao-de-suporte-tecnico-proinfo48655010 formacao-de-suporte-tecnico-proinfo
48655010 formacao-de-suporte-tecnico-proinfo
 

Destaque

Monografia fabiano rates
Monografia fabiano ratesMonografia fabiano rates
Monografia fabiano ratesFabiano Rates
 
Extrapyramidal disorders
Extrapyramidal disordersExtrapyramidal disorders
Extrapyramidal disordersAmr Hassan
 
10 Reasons to Join Capgemini
10 Reasons to Join Capgemini10 Reasons to Join Capgemini
10 Reasons to Join CapgeminiCapgemini
 
The Collaboration Imperative in Utility Distribution
The Collaboration Imperative in Utility DistributionThe Collaboration Imperative in Utility Distribution
The Collaboration Imperative in Utility Distributionaccenture
 
relaciones entre conjuntos
relaciones entre conjuntosrelaciones entre conjuntos
relaciones entre conjuntosfooledd fooledd
 
Big Talk From Small Libraries 2017 - PROWL the Library: An Introduction to Li...
Big Talk From Small Libraries 2017 - PROWL the Library: An Introduction to Li...Big Talk From Small Libraries 2017 - PROWL the Library: An Introduction to Li...
Big Talk From Small Libraries 2017 - PROWL the Library: An Introduction to Li...Nebraska Library Commission
 
Impétigo1
Impétigo1Impétigo1
Impétigo1Mony Fel
 
презентация майстер клас
презентация майстер класпрезентация майстер клас
презентация майстер класAndy Levkovich
 
The greatest picnics in paintings
The greatest picnics in paintingsThe greatest picnics in paintings
The greatest picnics in paintingsguimera
 
Getting to Equal 2017
Getting to Equal 2017Getting to Equal 2017
Getting to Equal 2017accenture
 
A conservação ambiental de áreas montanhosas
A conservação ambiental de áreas montanhosasA conservação ambiental de áreas montanhosas
A conservação ambiental de áreas montanhosasFlávio Pontes Paris
 
Fátima salgueroromán impress_práctica_1
Fátima salgueroromán impress_práctica_1Fátima salgueroromán impress_práctica_1
Fátima salgueroromán impress_práctica_1Fátima Salguero
 
Presentation
PresentationPresentation
Presentationkmtd99
 
Aspectos destacados de la actualización de las guías de la AHA para RCP y ACE...
Aspectos destacados de la actualización de las guías de la AHA para RCP y ACE...Aspectos destacados de la actualización de las guías de la AHA para RCP y ACE...
Aspectos destacados de la actualización de las guías de la AHA para RCP y ACE...Diagnostico X
 
Participation in politics
Participation in politicsParticipation in politics
Participation in politicsSteven Duke
 

Destaque (16)

Monografia fabiano rates
Monografia fabiano ratesMonografia fabiano rates
Monografia fabiano rates
 
Extrapyramidal disorders
Extrapyramidal disordersExtrapyramidal disorders
Extrapyramidal disorders
 
10 Reasons to Join Capgemini
10 Reasons to Join Capgemini10 Reasons to Join Capgemini
10 Reasons to Join Capgemini
 
The Collaboration Imperative in Utility Distribution
The Collaboration Imperative in Utility DistributionThe Collaboration Imperative in Utility Distribution
The Collaboration Imperative in Utility Distribution
 
relaciones entre conjuntos
relaciones entre conjuntosrelaciones entre conjuntos
relaciones entre conjuntos
 
Big Talk From Small Libraries 2017 - PROWL the Library: An Introduction to Li...
Big Talk From Small Libraries 2017 - PROWL the Library: An Introduction to Li...Big Talk From Small Libraries 2017 - PROWL the Library: An Introduction to Li...
Big Talk From Small Libraries 2017 - PROWL the Library: An Introduction to Li...
 
Impétigo1
Impétigo1Impétigo1
Impétigo1
 
презентация майстер клас
презентация майстер класпрезентация майстер клас
презентация майстер клас
 
The greatest picnics in paintings
The greatest picnics in paintingsThe greatest picnics in paintings
The greatest picnics in paintings
 
Getting to Equal 2017
Getting to Equal 2017Getting to Equal 2017
Getting to Equal 2017
 
1635315582
 1635315582 1635315582
1635315582
 
A conservação ambiental de áreas montanhosas
A conservação ambiental de áreas montanhosasA conservação ambiental de áreas montanhosas
A conservação ambiental de áreas montanhosas
 
Fátima salgueroromán impress_práctica_1
Fátima salgueroromán impress_práctica_1Fátima salgueroromán impress_práctica_1
Fátima salgueroromán impress_práctica_1
 
Presentation
PresentationPresentation
Presentation
 
Aspectos destacados de la actualización de las guías de la AHA para RCP y ACE...
Aspectos destacados de la actualización de las guías de la AHA para RCP y ACE...Aspectos destacados de la actualización de las guías de la AHA para RCP y ACE...
Aspectos destacados de la actualización de las guías de la AHA para RCP y ACE...
 
Participation in politics
Participation in politicsParticipation in politics
Participation in politics
 

Semelhante a Monografia sobre Inteligência artificial para comparar algoritmos de treinamento de redes neurais artificiais

Dissertation: Genetic Algorithms as a pre processing strategy for imbalanced ...
Dissertation: Genetic Algorithms as a pre processing strategy for imbalanced ...Dissertation: Genetic Algorithms as a pre processing strategy for imbalanced ...
Dissertation: Genetic Algorithms as a pre processing strategy for imbalanced ...marcelobeckmann
 
Redes de Petri
Redes de PetriRedes de Petri
Redes de Petriuern
 
Conceitos básicos de Software R
Conceitos básicos de Software RConceitos básicos de Software R
Conceitos básicos de Software RThais Amaral
 
Handbook de ti para concursos
Handbook de ti para concursosHandbook de ti para concursos
Handbook de ti para concursosalalves31
 
257553303-Resumo-TI-Para-Concursos.pdf
257553303-Resumo-TI-Para-Concursos.pdf257553303-Resumo-TI-Para-Concursos.pdf
257553303-Resumo-TI-Para-Concursos.pdfRicardoZorekDaniel1
 
Fortran_95_curso_basico_Editora_XXX.pdf
Fortran_95_curso_basico_Editora_XXX.pdfFortran_95_curso_basico_Editora_XXX.pdf
Fortran_95_curso_basico_Editora_XXX.pdfMarcosSilva130534
 
Dissertação Mestrado
Dissertação MestradoDissertação Mestrado
Dissertação MestradoJoel Carvalho
 
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosF ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosRicardo Borges
 
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosF ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmospaula maria
 
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosF ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmososmarpx
 
Ncl e Lua - desenvolvendo aplicações interativas para tv digital
Ncl e Lua - desenvolvendo aplicações interativas para tv digitalNcl e Lua - desenvolvendo aplicações interativas para tv digital
Ncl e Lua - desenvolvendo aplicações interativas para tv digitalRafael Carvalho
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaJooMarcos614503
 

Semelhante a Monografia sobre Inteligência artificial para comparar algoritmos de treinamento de redes neurais artificiais (20)

Dissertation: Genetic Algorithms as a pre processing strategy for imbalanced ...
Dissertation: Genetic Algorithms as a pre processing strategy for imbalanced ...Dissertation: Genetic Algorithms as a pre processing strategy for imbalanced ...
Dissertation: Genetic Algorithms as a pre processing strategy for imbalanced ...
 
Redes de Petri
Redes de PetriRedes de Petri
Redes de Petri
 
Conceitos básicos de Software R
Conceitos básicos de Software RConceitos básicos de Software R
Conceitos básicos de Software R
 
Arquitetura computadores
Arquitetura computadoresArquitetura computadores
Arquitetura computadores
 
Apostila de Bioestatística
Apostila de BioestatísticaApostila de Bioestatística
Apostila de Bioestatística
 
Handbook de ti para concursos
Handbook de ti para concursosHandbook de ti para concursos
Handbook de ti para concursos
 
257553303-Resumo-TI-Para-Concursos.pdf
257553303-Resumo-TI-Para-Concursos.pdf257553303-Resumo-TI-Para-Concursos.pdf
257553303-Resumo-TI-Para-Concursos.pdf
 
Fortran_95_curso_basico_Editora_XXX.pdf
Fortran_95_curso_basico_Editora_XXX.pdfFortran_95_curso_basico_Editora_XXX.pdf
Fortran_95_curso_basico_Editora_XXX.pdf
 
Dissertação Mestrado
Dissertação MestradoDissertação Mestrado
Dissertação Mestrado
 
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosF ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmos
 
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosF ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmos
 
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosF ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmos
 
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosF ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmos
 
Principio de Ánalise
Principio de Ánalise Principio de Ánalise
Principio de Ánalise
 
monografia
monografiamonografia
monografia
 
AME.pdf
AME.pdfAME.pdf
AME.pdf
 
Ncl e Lua - desenvolvendo aplicações interativas para tv digital
Ncl e Lua - desenvolvendo aplicações interativas para tv digitalNcl e Lua - desenvolvendo aplicações interativas para tv digital
Ncl e Lua - desenvolvendo aplicações interativas para tv digital
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 
Taxonomias
TaxonomiasTaxonomias
Taxonomias
 
Php
PhpPhp
Php
 

Monografia sobre Inteligência artificial para comparar algoritmos de treinamento de redes neurais artificiais

  • 1. Universidade de Ita´una Faculdade de Engenharia Curso de Ciˆencia da Computac¸˜ao Fabiano de Oliveira Rates Estudo Comparativo entre os Algoritmos para Treinamento de Redes Neurais Artificiais: Backpropagation e Resilient Propagation Ita´una 2013
  • 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 Ita´una como requisito par- cial para a obten¸c˜ao do t´ıtulo de BACHAREL em Ciˆencia da Computa¸c˜ao. Orientador: Paulo de Tarso Gomide Castro Silva Ita´una 2013
  • 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 Ita´una como requisito par- cial para a obten¸c˜ao do t´ıtulo de BACHAREL em Ciˆencia da Computa¸c˜ao. 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
  • 4. `A minha m˜ae e minha irm˜a. Em mem´oria a meu pai. `A minha namorada pelo apoio. Aos meus amigos pelo companheirismo.
  • 5. Resumo Essa monografia realiza um trabalho comparativo entre dois algoritmos para treinamento de redes neurais: Backpropagation e Resilient Propagation. A principal diferen¸ca pr´atica entre esses algoritmos ´e que o treinamento atrav´es do algoritmo Backpropagation demanda o ajuste de v´arios parˆametros a ele pertencentes, enquanto o algoritmo Resilient Propa- gation n˜ao precisa do ajuste de nenhum parˆametro antes do treinamento. Entre outros pontos a serem comparados, com base nessas informa¸c˜oes, ser´a analisado se, mesmo n˜ao possuindo um conjunto t˜ao vasto de configura¸c˜oes, o treinamento via Resilient Propaga- tion apresentar´a efic´acia e eficiˆencia compar´avel ao Backpropagation. Para essa an´alise ser´a considerada a predi¸c˜ao de formas geom´etricas simples para verifica¸c˜ao como qua- drado, triˆangulo e c´ırculo, apresentando um n´ıvel de ru´ıdos significante, j´a que os mesmos ser˜ao informados manualmente. Palavras-chaves: Inteligˆencia Artificial, Redes Neurais Artificiais, Algoritmos de Trei- namento, Backpropagation, Resilient Propagation.
  • 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.
  • 7. Agradecimentos Agrade¸co 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 m˜ae Irene que sempre esteve junto comigo, me ajudando a ser melhor a cada dia, gra¸cas ao seu aprendizado que me foi passado, minha irm˜a Franciele pelo grande apoio que meu deu nesse per´ıodo. `A minha namorada Juliana pela motiva¸c˜ao e compreens˜ao. Ao meu orientador Paulo Gomide, pelo apoio que me deu para que esse trabalho fosse realizado. Agrade¸co tamb´em a todos os meus amigos, que me incentivaram a nunca desistir. Principalmente ao Marcelo pelas discuss˜oes e ideias, e por me ajudar a escolher o tema.
  • 8. “O verdadeiro homem mede a sua for¸ca, quando se defronta com o obst´aculo.” Antoine de Saint-Exup´ery
  • 9. Sum´ario Lista de Figuras 10 Lista de Tabelas 13 1 Introdu¸c˜ao 15 1.1 Contexto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.2 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.3 Proposta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.4 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.5 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.6 M´etodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.7 Escopo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2 Contextualiza¸c˜ao 19 2.1 Inteligˆencia Artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.1.1 Hist´oria da Inteligˆencia Artificial . . . . . . . . . . . . . . . . . . . 19 2.1.2 O nascimento da Inteligˆencia Artificial . . . . . . . . . . . . . . . . 20 2.1.3 Redes Neurais Artificiais . . . . . . . . . . . . . . . . . . . . . . . . 22 2.1.4 Neurˆonios biol´ogicos . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.1.5 Neurˆonios artificiais . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.1.6 Fun¸c˜oes de Ativa¸c˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.1.7 Classifica¸c˜ao das RNAs . . . . . . . . . . . . . . . . . . . . . . . . . 28
  • 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 Limita¸c˜oes do Perceptrons . . . . . . . . . . . . . . . . . . . . . . . 34 3.0.13 Perceptrons de M´ultiplas Camadas . . . . . . . . . . . . . . . . . . 35 3.0.14 Algoritmo de Treinamento Backpropagation . . . . . . . . . . . . . 35 3.0.15 N´umero de Camadas . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.0.16 N´umero de Neurˆonios . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.1 Resilient Propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.2 Crit´erios de Parada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4 Metodologia 41 4.1 Defini¸c˜oes Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.2 Obten¸c˜ao dos Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3 Tratamento dos Dados para a RNA . . . . . . . . . . . . . . . . . . . . . . 43 4.4 Implementa¸c˜ao e Execu¸c˜ao dos Treinamentos e Testes com as RNAs . . . . 46 4.5 Processamento e An´alise dos Dados Gerados pela RNA . . . . . . . . . . . 49 5 Resultados Obtidos 50 5.1 Defini¸c˜oes das RNAs Utilizadas na Compara¸c˜ao . . . . . . . . . . . . . . . 50 5.1.1 Fun¸c˜ao de Ativa¸c˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.1.2 N´umero de Camadas Ocultas . . . . . . . . . . . . . . . . . . . . . 50 7
  • 11. 5.1.3 N´umero de Neurˆonios em Cada Camada . . . . . . . . . . . . . . . 51 5.1.4 Quantidade de Exemplos no Treinamento . . . . . . . . . . . . . . . 53 5.1.5 Quantidade de Exemplos na Valida¸c˜ao . . . . . . . . . . . . . . . . 54 5.2 Resultados Obtidos Pelos Algoritmos . . . . . . . . . . . . . . . . . . . . . 54 5.2.1 Configura¸c˜ao 1 - Utilizando a Regra do Valor M´edio para Determi- nar o N´umero de Neurˆonios Ocultos . . . . . . . . . . . . . . . . . . 55 5.2.2 Configura¸c˜ao 2 - Utilizando a Regra de Kolmogorov para Determi- nar o N´umero de Neurˆonios Ocultos . . . . . . . . . . . . . . . . . . 60 5.2.3 Configura¸c˜ao 3 - Utilizando a Regra de Fletcher-Gloss para Deter- minar o N´umero de Neurˆonios Ocultos . . . . . . . . . . . . . . . . 64 5.2.4 Configura¸c˜ao 4 - Utilizando a Regra da Raiz Quadrada para Deter- minar o N´umero de Neurˆonios Ocultos . . . . . . . . . . . . . . . . 68 5.2.5 Resumo dos testes utilizando as 4 configura¸c˜oes . . . . . . . . . . . 73 5.3 O Melhor Backpropagation versus O Melhor Resilient Propagation . . . . 73 5.4 O Pior Backpropagation versus O Pior Resilient Propagation . . . . . . . . 75 6 Conclus˜ao 77 7 Trabalhos Futuros 79 Bibliografia 80 I Apˆendice 1 - Imagens Utilizadas no Treinamento das RNAs 82 II Apˆendice 2 - Imagens Utilizadas na Valida¸c˜ao das RNAs 83 IIIApˆendice 3 - Resultados dos Treinamentos das RNAs Treinadas Utili- zando Backpropagation 84 8
  • 12. IV Apˆendice 4 - Resultados dos Treinamentos das RNAs Treinadas Utili- zando Resilient Propagation 85 V Apˆendice 5 - C´odigo Fonte e Aplica¸c˜ao 86
  • 13. Lista de Figuras 2.1 Neurˆonio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.2 Fun¸c˜ao Degrau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.3 Fun¸c˜ao Sigm´oide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.4 Fun¸c˜ao Tangente Hiperb´olica . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.5 RNAs Alimentadas Adiante com Camada ´Unica . . . . . . . . . . . . . . . 29 2.6 RNAs Alimentadas Diretamente com M´ultiplas Camadas . . . . . . . . . . 29 2.7 RNA Recorrente de Hopfield . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.1 Evolu¸c˜ao do Erro Durante o Treinamento da RNA . . . . . . . . . . . . . . 39 4.1 Formas Geom´etricas Definidas: C´ırculo, Quadrado e Triˆangulo . . . . . . . 42 4.2 Exemplo de Inser¸c˜ao de Dados para a RNA . . . . . . . . . . . . . . . . . 43 4.3 Normaliza¸c˜ao - Divis˜ao das partes . . . . . . . . . . . . . . . . . . . . . . . 45 4.4 Resultado da Normaliza¸c˜ao de uma imagem . . . . . . . . . . . . . . . . . 45 4.5 Fases da Expans˜ao de Imagens Menores . . . . . . . . . . . . . . . . . . . . 46 4.6 Diagrama do Banco de Dados . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.1 ´Epocas x Erro - BP com a Configura¸c˜ao 1 e 30 Exemplos . . . . . . . . . . 56 5.2 ´Epocas x Erro - RP com a Configura¸c˜ao 1 e 30 Exemplos . . . . . . . . . . 57 5.3 ´Epocas x Erro - BP com a Configura¸c˜ao 1 e 90 Exemplos . . . . . . . . . . 58 5.4 ´Epocas x Erro - RP com a Configura¸c˜ao 1 e 90 Exemplos . . . . . . . . . . 58 5.5 ´Epocas x Erro - BP com a Configura¸c˜ao 1 e 150 Exemplos . . . . . . . . . 59
  • 14. 5.6 ´Epocas x Erro - RP com a Configura¸c˜ao 1 e 150 Exemplos . . . . . . . . . 59 5.7 ´Epocas x Erro - BP com a Configura¸c˜ao 2 e 30 Exemplos . . . . . . . . . . 61 5.8 ´Epocas x Erro - RP com a Configura¸c˜ao 2 e 30 Exemplos . . . . . . . . . . 61 5.9 ´Epocas x Erro - BP com a Configura¸c˜ao 2 e 90 Exemplos . . . . . . . . . . 62 5.10 ´Epocas x Erro - RP com a Configura¸c˜ao 2 e 90 Exemplos . . . . . . . . . . 62 5.11 ´Epocas x Erro - BP com a Configura¸c˜ao 2 e 150 Exemplos . . . . . . . . . 63 5.12 ´Epocas x Erro - RP com a Configura¸c˜ao 2 e 150 Exemplos . . . . . . . . . 64 5.13 ´Epocas x Erro - BP com a Configura¸c˜ao 3 e 30 Exemplos . . . . . . . . . . 65 5.14 ´Epocas x Erro - RP com a Configura¸c˜ao 3 e 30 Exemplos . . . . . . . . . . 65 5.15 ´Epocas x Erro - BP com a Configura¸c˜ao 3 e 90 Exemplos . . . . . . . . . . 66 5.16 ´Epocas x Erro - RP com a Configura¸c˜ao 3 e 90 Exemplos . . . . . . . . . . 67 5.17 ´Epocas x Erro - BP com a Configura¸c˜ao 3 e 150 Exemplos . . . . . . . . . 67 5.18 ´Epocas x Erro - RP com a Configura¸c˜ao 3 e 150 Exemplos . . . . . . . . . 68 5.19 ´Epocas x Erro - BP com a Configura¸c˜ao 4 e 30 Exemplos . . . . . . . . . . 69 5.20 ´Epocas x Erro - RP com a Configura¸c˜ao 4 e 30 Exemplos . . . . . . . . . . 70 5.21 ´Epocas x Erro - BP com a Configura¸c˜ao 4 e 90 Exemplos . . . . . . . . . . 71 5.22 ´Epocas x Erro - RP com a Configura¸c˜ao 4 e 90 Exemplos . . . . . . . . . . 71 5.23 ´Epocas x Erro - BP com a Configura¸c˜ao 4 e 150 Exemplos . . . . . . . . . 72 5.24 ´Epocas x Erro - RP com a Configura¸c˜ao 4 e 150 Exemplos . . . . . . . . . 72 5.25 Resumo dos Resultados de Todos os Testes Realizados . . . . . . . . . . . 73 5.26 ´Epocas x Erro - Melhor BP - Configura¸c˜ao 3 e 150 Exemplos . . . . . . . . 74 5.27 ´Epocas x Erro - Melhor RP - Configura¸c˜ao 4 e 150 Exemplos . . . . . . . . 75 5.28 ´Epocas x Erro - Pior BP - Configura¸c˜ao 2 e 30 Exemplos . . . . . . . . . . 76 11
  • 15. 5.29 ´Epocas x Erro - Pior RP - Configura¸c˜ao 2 e 30 Exemplos . . . . . . . . . . 76 I.1 Imagens Utilizadas no Treinamento das RNAs - Quadrado . . . . . . . . . 82 I.2 Imagens Utilizadas no Treinamento das RNAs - Triˆangulos . . . . . . . . . 82 I.3 Imagens Utilizadas no Treinamento das RNAs - C´ırculos . . . . . . . . . . 82 II.1 Imagens utilizadas na Valida¸c˜ao das RNAs - Quadrados . . . . . . . . . . 83 II.2 Imagens Utilizadas na Valida¸c˜ao das RNAs - Triˆangulos . . . . . . . . . . . 83 II.3 Imagens Utilizadas na Valida¸c˜ao das RNAs - C´ırculos . . . . . . . . . . . . 83
  • 16. Lista de Tabelas 4.1 Tabela de dados das formas geom´etricas . . . . . . . . . . . . . . . . . . . 42 5.1 Tabela de resultados dos treinamentos com configura¸c˜ao 1 e 30 exemplos . 56 5.2 Tabela de resultados dos treinamentos com configura¸c˜ao 1 e 90 exemplos . 57 5.3 Tabela de resultados dos treinamentos com configura¸c˜ao 1 e 150 exemplos . 59 5.4 Tabela de resultados dos treinamentos com configura¸c˜ao 2 e 30 exemplos . 61 5.5 Tabela de resultados dos treinamentos com configura¸c˜ao 2 e 90 exemplos . 62 5.6 Tabela de resultados dos treinamentos com configura¸c˜ao 2 e 150 exemplos . 63 5.7 Tabela de resultados dos treinamentos com configura¸c˜ao 3 e 30 exemplos . 65 5.8 Tabela de resultados dos treinamentos com configura¸c˜ao 3 e 90 exemplos . 66 5.9 Tabela de resultados dos treinamentos com configura¸c˜ao 3 e 150 exemplos . 67 5.10 Tabela de resultados dos treinamentos com configura¸c˜ao 4 e 30 exemplos . 69 5.11 Tabela de resultados dos treinamentos com configura¸c˜ao 4 e 90 exemplos . 70 5.12 Tabela de resultados dos treinamentos com configura¸c˜ao 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 valida¸c˜ao das RNAs utilizando Resilient Propagation . . . . . 85
  • 17. 14 Lista de Siglas e Abreviaturas GPS General Problem Solver IA Inteligˆencia Artificial IAS Inteligˆencia Artificial Simb´olica MCP referˆencia a Warren McCulloch e Walter Pitts MLP Multilayer Perceptron PMC Perceptron de M´ultiplas Camadas RNA Rede Neural Artificial RNAs Redes Neurais Artificiais RPROP Resilient Propagation BP Backpropagation RP Resilient Propagation
  • 18. 15 1 Introdu¸c˜ao A Inteligˆencia Artificial (IA) tem, como principal objetivo, representar o comporta- mento humano atrav´es de modelos computacionais, constituindo-se em campo de pesquisa aberto e dinˆamico, tratando do estudo da solu¸c˜ao de problemas atrav´es da distribui¸c˜ao de conhecimento entre diversas entidades(BITTENCOURT,2001). Nesse sentido, as Redes Neurais Artificiais (RNAs) s˜ao sistemas computacionais, inspi- rados no sistema nervoso biol´ogico(BRAGA; CARVALHO; LUDERMIR, 2000). Segundo Haykin (2001), uma rede neural ´e um processador maci¸co e paralelamente distribu´ıdo, constitu´ıdo de unidades de processamento simples (neurˆonios), que tˆem a propens˜ao 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 v´arias unidades de processamento, cujo funcionamento ´e bastante simples. Essas unidades, geralmente s˜ao conectadas por canais de comunica¸c˜ao que est˜ao associados a um determinado peso. As unidades fazem opera¸c˜oes apenas sobre seus dados locais, que s˜ao entradas recebidas pelas suas conex˜oes (HAYKIN,2001). O comportamento inteligente de uma Rede Neural Artificial vem das intera¸c˜oes entre as unidades de processamento da rede, que tˆem uma grande habilidade de aprender com os dados a ela informados, e com isso, melhorar seu desempenho, sendo feito atrav´es de um processo iterativo de ajustes a seus pesos. Ao processo que contempla essas itera¸c˜oes e seus ajustes de pesos, d´a-se o nome de treinamento. O aprendizado da RNA ocorre quando a mesma atinge uma solu¸c˜ao generalizada para uma classe de problemas (HAYKIN, 2001). Um algoritmo de aprendizado ´e um conjunto de regras bem definidas para a solu¸c˜ao de um problema de aprendizado. Existem muitos tipos de algoritmos de aprendizado espec´ıficos para determinados modelos de redes neurais. Estes algoritmos diferem entre
  • 19. 1.2 Problema 16 si, principalmente, pelo modo como os pesos s˜ao modificados, por isso, ao criar uma rede neural, ´e indispens´avel analisar qual ´e o algoritmo de aprendizado mais eficiente para a aplica¸c˜ao em quest˜ao (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 padr˜oes. Por´em, ´e tido por muitos como sendo um algoritmo “caixa preta”, devido ao fato de a busca pela melhor configura¸c˜ao deste algoritmo n˜ao ser muito bem compreendida gra¸cas ao n´umero excessivo de parˆametros que devem ser configurados, sendo que muitos desses parˆametros apenas s˜ao bem definidos atrav´es de um ´arduo processo de tentativa e erro. Por conta do excessivo n´umero de parˆametros, de acordo com o seu car´ater trabalhoso de configura¸c˜ao, ao longo dos anos, foram surgindo deriva¸c˜oes do algoritmo Backpropa- gation, na busca de tentar facilitar o processo de ajuste da Rede Neural. Uma dessas deriva¸c˜oes ´e o algoritmo Resilient Propagation, que requer, segundo a literatura, um es- for¸co muito reduzido de configura¸c˜ao, em compara¸c˜ao ao Backpropagation. 1.3 Proposta Em meio `a dificuldade de configura¸c˜ao do algoritmo Backpropagation, este trabalho busca, atrav´es de uma an´alise comparativa, inferir se o algoritmo Resilient Propagation ´e capaz de prover resultados t˜ao satisfat´orios quanto seu antecessor, mesmo utilizando um n´umero reduzido de parˆametros, se comparados ao mesmo. O objetivo do trabalho, portanto, n˜ao ´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 rela¸c˜ao ao reconhecimento de padr˜oes, se faz necess´aria a realiza¸c˜ao da compara¸c˜ao com seu antecessor, que, reconhecidamente, possui resultados satisfat´orios.
  • 20. 1.4 Justificativa 17 1.4 Justificativa Atualmente, avan¸cos tecnol´ogicos mostram que as aplica¸c˜oes tendem a ser cada vez mais independentes, tornando necess´aria a escolha da melhor t´ecnica de treinamento para a cria¸c˜ao de aplica¸c˜oes complexas que possua uma inteligˆencia embutida. Existem v´arios 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 n˜ao 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 aplica¸c˜ao com inteligˆencia artificial, por´em que n˜ao seja eficiente. Com isso, um estudo comparativo de algoritmos para treinamento de redes neurais se faz v´alido. 1.5 Objetivos O objetivo desse trabalho ´e a realiza¸c˜ao da an´alise dos algoritmos para treinamento de RNAs Backpropagation e Resilient Propagation, utilizando, como fonte de estudo, uma aplica¸c˜ao para reconhecimento de imagens. Para que essa an´alise possa ser realizada, ´e proposta a implementa¸c˜ao de uma aplica¸c˜ao para reconhecimento de formas geom´etricas b´asicas, como quadrados, retˆangulos e c´ırculos. De acordo com a literatura, o algoritmo Resilient Propagation, por ser um algoritmo derivado do Backpropagation, possui um n´umero reduzido de parˆametros a serem confi- gurados, o que, teoricamente, reduziria a complexidade na configura¸c˜ao da rede neural. Ap´os a configura¸c˜ao da rede, com os resultados encontrados da classifica¸c˜ao das imagens, poder´a ser verificado se o algoritmo Resilient Propagation realmente possui uma simpli- fica¸c˜ao para que possa ser configurado e, se possui resultados satisfat´orios, mesmo com essa poss´ıvel redu¸c˜ao de sua complexidade de configura¸c˜ao. 1.6 M´etodos Inicialmente, foi realizado um estudo de processamento das imagens e de RNAs, com ˆenfase nos algoritmos para treinamento de redes neurais. Ap´os o processamento da ima- gem ela ser´a utilizada como entrada para os dois algoritmos, ambas ser˜ao treinadas com
  • 21. 1.7 Escopo 18 os mesmos exemplos para verificar, com base nas mesmas informa¸c˜oes, qual seria a mais eficiente no reconhecimento dessas formas. Com base nos resultados, foi realizada uma an´alise de ambos os algoritmos para treinamento de redes neurais. 1.7 Escopo Ser˜ao analisados os resultados encontrados com os dois algoritmos, utilizando, para isso, uma aplica¸c˜ao desktop para reconhecimento de imagens. Com base nessa an´alise, n˜ao necessariamente pretende-se encontrar um algoritmo que realize o reconhecimento de forma mais r´apida ou com maior percentual de acertos, mas, a fonte de an´alise, est´a em identificar se, mesmo com um n´umero reduzido de parˆametros em compara¸c˜ao ao algoritmo Backpropagation, sua deriva¸c˜ao, o algoritmo Resilient Propagation, possui um desempenho t˜ao satisfat´orio quando seu antecessor.
  • 22. 19 2 Contextualiza¸c˜ao 2.1 Inteligˆencia Artificial A Inteligˆencia Artificial (IA) tem, como objetivo central, a cria¸c˜ao de modelos para a inteligˆencia e a constru¸c˜ao 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 inteligˆencia humana, desenvolvimento de aplica¸c˜oes educacionais, comerciais ou industriais, assim como a explora¸c˜ao e experimenta¸c˜ao de t´ecnicas computacionais que apresentem potencial para a simula¸c˜ao do comportamento inteligente (BITTENCOURT, 2001). Apesar de ser um ramo, de certa forma, recente da ciˆencia da computa¸c˜ao, a Inte- ligˆencia Artificial foi constru´ıda a partir de ideias filos´oficas, cient´ıficas, tecnol´ogicas e matem´aticas, herdadas de outras ciˆencias, desde muito tempo atr´as (BITTENCOURT, 2001). De acordo com (RUSSEL; NORVIG, 2004), os fil´osofos (desde 400 a.C), tornaram a IA conceb´ıvel, considerando que a mente ´e, em alguns aspectos, semelhante a uma m´aquina, de que ela opera sobre o conhecimento codificado em alguma linguagem interna e que o pensamento pode ser usado para escolher as a¸c˜oes que dever˜ao ser executadas.. Alguns fil´osofos definiram que se as m´aquinas talvez pudessem simular a inteligˆencia humana, essas m´aquinas podem ser consideradas como possuidoras de uma IA Fraca. Por outro lado, caso as m´aquinas que o fazem n˜ao estejam apenas simulando um com- portamento, mas sim realmente pensando, essas m´aquinas podem ser consideradas como possuidoras de uma IA Forte (RUSSEL; NORVIG, 2004). 2.1.1 Hist´oria da Inteligˆencia Artificial O primeiro trabalho reconhecido como IA foi realizado por Warren McCulloch e Walter Pitts (1943), no qual se basearam em trˆes fontes: o conhecimento da fisiologia b´asica e da fun¸c˜ao dos neurˆonios no c´erebro, uma an´alise formal da l´ogica proposicional criada
  • 23. 2.1 Inteligˆencia Artificial 20 por Russell e Whitehead, e a teoria da computa¸c˜ao de Turing. Eles propuseram um modelo de neurˆonios artificiais, no qual cada neurˆonio se caracteriza por estar “ligado ou desligado”. Com isso, eles mostraram que qualquer fun¸c˜ao comput´avel podia ser calculada por uma certa rede de neurˆonios conectados, e que todos os conectivos l´ogicos podiam ser implementados por estruturas de redes simples. Eles tamb´em sugeriram que redes definidas adequadamente seriam capazes de aprender (RUSSEL; NORVIG, 2004). Marvin Minsky e Dean Edmonds, dois alunos do departamento de matem´atica de Princeton, constru´ıram o primeiro computador de rede neural em 1951. Mais tarde, Minsky acabou provando teoremas importantes que mostravam as limita¸c˜oes da pesquisa em redes neurais (RUSSEL; NORVIG, 2004). Apesar dos v´arios exemplos de trabalhos que podem ser caracterizados como IA, Tu- ring foi quem primeiro articulou uma vis˜ao 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 m´aquina, algoritmos gen´eticos e aprendizagem por refor¸co (RUSSEL; NORVIG, 2004). 2.1.2 O nascimento da Inteligˆencia Artificial Ap´os sua gradua¸c˜ao, 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 ajud´a-lo a reunir pesquisadores dos Estados Unidos interessados em teoria de autˆomatos, redes neurais e no estudo da inteligˆencia. Eles organizaram um semin´ario de dois meses em Dartmouth que, apesar de n˜ao trazer nenhuma novidade, apresentou uns aos outros os personagens importantes da hist´oria da IA. Talvez o resul- tado mais duradouro do semin´ario tenha sido um acordo para adotar o nome sugerido por McCarthy para o campo: Inteligˆencia Artificial (RUSSEL; NORVIG, 2004). Pode-se dizer que a´ı nasceram, simultaneamente, os dois paradigmas da inteligˆencia artificial: simb´olica e conexionista. Na Inteligˆencia Artificial Simb´olica (IAS), o com- portamento global ´e simulado, sem levar em considera¸c˜ao os mecanismos respons´aveis por este comportamento. Na Inteligˆencia Artificial Conexionista (IAC), acredita-se que construindo uma m´aquina que imite a estrutura do c´erebro, ela apresentar´a inteligˆencia (BARRETO, 2001).
  • 24. 2.1 Inteligˆencia Artificial 21 Os primeiros anos da IA foram repletos de sucesso, por´em de forma limitada, visto que os computadores e ferramentas de programa¸c˜ao da ´epoca eram extremamente limitados. O General Problem Solver (GPS), ou em portuguˆes 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 resolu¸c˜ao de problemas (RUSSEL; NORVIG, 2004). A partir de 1952, Arthur Samuel escreveu uma s´erie 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 s´o pudessem realizar as atividades para as quais foram programados. Seu programa aprendeu rapidamente a jogar melhor que seu criador e foi demonstrado na televis˜ao em 1956, causando uma impress˜ao 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 programa¸c˜ao dominante em IA. O trabalho pioneiro baseado nas redes neurais de McCulloch e Pitts tamb´em prosperou. Os m´etodos de aprendizado de Hebb foram aperfei¸coados por Bernie Widrow, que denominou suas redes Adalines, e por Frank Rosenblatt com seus perceptrons. Rosenblatt provou o teorema da convergˆencia do perceptron, mostrando que seu algoritmo de aprendizado podia ajustar os pesos da conex˜ao de um perceptron para corresponderem a quaisquer dados de entrada, desde que existisse tal correspondˆencia (RUSSEL; NORVIG, 2004). Simon fez a previs˜ao de que, dentro de dez anos, um computador seria campe˜ao de xadrez e que um teorema matem´atico significativo seria provado por uma m´aquina. Entretanto, essas previs˜oes 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 combina¸c˜oes de passos at´e encontrar a solu¸c˜ao. Esta estrat´egia funcionou inicialmente, porque os micromundos continham pouqu´ıssimos objetos, com um n´umero muito pequeno de a¸c˜oes poss´ıveis e sequˆencias de solu¸c˜oes muito curtas, mas o otimismo inicial foi logo ofuscado quando os pesquisadores n˜ao conseguiram provar teoremas que envolviam mais de algumas dezenas de fatos. Uma terceira dificuldade surgiu devido algumas limita¸c˜oes nas estruturas b´asicas que
  • 25. 2.1 Inteligˆencia Artificial 22 estavam sendo utilizadas para gerar o comportamento inteligente (RUSSEL; NORVIG, 2004). O perceptron b´asico, e algumas de suas generaliza¸c˜oes naquele tempo, eram sim- plesmente inadequados para a maioria das tarefas de reconhecimento de padr˜oes de im- portˆancia pr´atica. 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 vis˜ao desencorajadora da limita¸c˜ao das m´aquinas do tipo perceptrons foi mantida at´e meados da d´ecada de 1980, com os novos algoritmos de apren- dizado por retropropaga¸c˜ao para redes de v´arias camadas(MINSKY; PAPERT, 1972). Resultados na coletˆanea Parallel Distributed Processing (Rumelhart e McClelland, 1986), tratando do desenvolvimento de novos algoritmos para perceptrons multicamadas mudaram consideravelmente a situa¸c˜ao. O m´etodo b´asico desses autores fornece um treinamento efetivo para m´aquinas de m´ultiplas camadas. Esse sucesso estabeleceu as m´aquinas do tipo perceptrons com m´ultiplas 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 s˜ao uma forma de computa¸c˜ao n˜ao-algor´ıtmica, caracteri- zada por sistemas que lembram a estrutura do c´erebro humano. Por n˜ao ser baseada em regras ou programas, a computa¸c˜ao neural se constitui em uma alternativa `a computa¸c˜ao algor´ıtmica convencional (BRAGA; CARVALHO; LUDERMIR, 2000). As redes neurais artificiais tˆem ra´ızes na neurociˆencia, matem´atica, estat´ıstica, f´ısica, ciˆencia da computa¸c˜ao 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 c´erebro humano de desenvolver suas pr´oprias regras, que usualmente chamamos “experiˆencia”. Um neurˆonio em desenvolvimento ´e sinˆonimo de um c´erebro pl´astico, 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 neurˆonios, tamb´em ela o ´e com rela¸c˜ao `as redes neurais artificiais (HAYKIN, 2001).
  • 26. 2.1 Inteligˆencia Artificial 23 Na sua forma mais geral, a rede neural ´e uma m´aquina projetada para modelar a ma- neira como o c´erebro realiza uma tarefa particular ou fun¸c˜ao de interesse. O procedimento utilizado para realizar o processo de aprendizagem ´e chamado de algoritmo de aprendi- zagem, cuja fun¸c˜ao ´e modificar os pesos sin´apticos da rede de uma forma ordenada, para alcan¸car um objetivo de projeto desejado (HAYKIN, 2001). 2.1.4 Neurˆonios biol´ogicos O c´erebro humano possui em torno de 1011 neurˆonios. Cada um destes neurˆonios processa e se comunica com milhares de outros, continuamente e em paralelo. A estru- tura individual dos nodos, a topologia de suas conex˜oes e o comportamento conjunto destes nodos naturais, formam a base para o estudo das RNAs (BRAGA; CARVALHO; LUDERMIR, 2000). As RNAs tentam reproduzir as fun¸c˜oes das redes biol´ogicas, buscando implementar seu comportamento b´asico. Como caracter´ısticas comuns, os dois sistemas s˜ao baseados em unidades de computa¸c˜ao paralela e distribu´ıda que se comunicam por meio de conex˜oes sin´apticas. Apesar da pouca similaridade, do ponto de vista biol´ogico, entre os dois sistemas, estas caracter´ısticas comuns permitem `as RNAs reproduzir com fidelidade v´arias fun¸c˜oes somente encontradas nos seres humanos (BRAGA; CARVALHO; LUDERMIR, 2000). Os neurˆonios s˜ao divididos em trˆes se¸c˜oes: o corpo da c´elula, os dendritos e o axˆonio. Os dendritos tˆem por fun¸c˜ao receber as informa¸c˜oes, ou impulsos nervosos, oriundas de outros neurˆonios e conduzi-las at´e o corpo celular. Com isso, a informa¸c˜ao ´e processada, e novos impulsos s˜ao gerados. Estes impulsos s˜ao transmitidos a outros neurˆonios, passando atrav´es do axˆonio at´e os dendritos dos neurˆonios seguintes. O ponto de contato entre a termina¸c˜ao axˆonica de um neurˆonio e o dendrito de outro, ´e chamado de sinapse. Os sinais oriundos dos neurˆonios pr´e-sin´apticos s˜ao passados para o corpo do neurˆonio p´os-sin´aptico, onde s˜ao comparados com os outros sinais recebidos pelo mesmo. Se o percentual em um intervalo curto de tempo ´e suficientemente alto, a c´elula dispara, produzindo um impulso que ´e transmitido para as c´elulas seguintes (BRAGA; CARVALHO; LUDERMIR, 2000).
  • 27. 2.1 Inteligˆencia Artificial 24 2.1.5 Neurˆonios artificiais O primeiro modelo de redes neurais foi proposto por (MCCULLOCH, 1943), que propos um modelo de sistema neural, onde as unidades b´asicas, os neurˆonios, s˜ao 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 neurˆonio proposto por McCulloch e Pitts (fig. 2.1.5), ´e uma simplifica¸c˜ao do que se sabia a respeito do neurˆonio biol´ogico. Figura 2.1: Neurˆonio Supondo que tenha-se os valores de entrada x1, x2, . . . , xp, com os pesos w1, w2, . . . , wp, uma sa´ıda y, uma fun¸c˜ao respons´avel pelo c´alculo da entrada efetiva para o neurˆonio denominada fun¸c˜ao soma e uma fun¸c˜ao de ativa¸c˜ao. Assim, o neurˆonio tem a sa´ıda igual a soma dos produtos obtidos entre os valores de entrada e os seus pesos correspondentes (fun¸c˜ao soma), descrita na equa¸c˜ao 2.1. m j=1 wjxj, (2.1) onde: • m ´e o n´umero de entradas do neurˆonio; • wj ´e o peso associado `a entrada xj. Ap´os isso, o resultado ´e comparado a um limiar estipulado que, uma vez atingido, propaga a sa´ıda para os neurˆonios da camada seguinte. Essa propaga¸c˜ao da sa´ıda para os demais neurˆonios ´e realizada pela fun¸c˜ao de ativa¸c˜ao (Haykin, 2001).
  • 28. 2.1 Inteligˆencia Artificial 25 No modelo MCP, a fun¸c˜ao de ativa¸c˜ao ´e dada pela fun¸c˜ao de limiar linear, descrita na equa¸c˜ao 2.2. y =    1, se wjxj >= 0 0, se wjxj < 0 (2.2) O modelo geral de um neurˆonio ´e uma generaliza¸c˜ao do modelo de McCulloch e Pitts. Um valor auxiliar, chamado de bias tamb´em pode ser aplicado externamente. O bias tem o efeito de aumentar ou diminuir a entrada l´ıquida da fun¸c˜ao de ativa¸c˜ao, dependendo se ele ´e positivo ou negativo, respectivamente (HAYKIN, 2001). A partir do modelo proposto por McCulloch e Pitts, foram derivados v´arios outros modelos que permitem a produ¸c˜ao de uma sa´ıda qualquer, n˜ao necessariamente zero ou um, e com diferentes fun¸c˜oes de ativa¸c˜ao (BRAGA; CARVALHO; LUDERMIR, 2000). Em termos matem´aticos, pode-se descrever um neurˆonio k escrevendo o seguinte par de equa¸c˜oes: 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 s˜ao os pesos sin´apticos do neurˆonio k; • xkj s˜ao os sinais de entrada do neurˆonio k; • bk ´e o bias do neurˆonio k; • ϕ ´e fun¸c˜ao de ativa¸c˜ao; • yk ´e o sinal de sa´ıda do neurˆonio k.
  • 29. 2.1 Inteligˆencia 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 equa¸c˜ao 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 Fun¸c˜oes de Ativa¸c˜ao Fun¸c˜oes ativa¸c˜ao s˜ao fun¸c˜oes, geralmente, n˜ao 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 neurˆonio biol´ogico, com o objetivo de reproduzir o mais pr´oximo poss´ıvel o comportamento deste. Elas s˜ao `as vezes referidas como fun¸c˜oes de transferˆencia n˜ao lineares, relacionando a sa´ıda do neurˆonio artificial `a sua entrada. As fun¸c˜oes ativa¸c˜oes mais usadas s˜ao: • Fun¸c˜ao Impulso Unit´ario (Degrau); • Fun¸c˜ao Sigm´oide; • Fun¸c˜ao Tangente Hiperb´olica;
  • 30. 2.1 Inteligˆencia Artificial 27 Fun¸c˜ao Impulso Unit´ario (Degrau) A fun¸c˜ao degrau pode ser expressa segundo a equa¸c˜ao: y = f(net) =    1, se net ≥ 0 0, se net < 0 (2.10) Conforme ilustrado no gr´afico da figura 2.2. Figura 2.2: Fun¸c˜ao Degrau Fun¸c˜ao Sigm´oide A fun¸c˜ao Sigm´oide ´e vantajosa ao usar redes neurais treinadas utilizando algoritmos de retropropaga¸c˜ao, por ser f´acil de distinguir, e ser capaz de minimizar a capacidade de computa¸c˜ao para o treinamento. O termo sigm´oide significa ”forma de S”e por ter a forma log´ıstica dos mapas sigm´oide. A fun¸c˜ao Sigm´oide pode ser expressa segundo a seguinte equa¸c˜ao: g(x) = 1 (1 + e−1 (2.11) Conforme ilustrado no gr´afico da figura 2.3. Figura 2.3: Fun¸c˜ao Sigm´oide
  • 31. 2.1 Inteligˆencia Artificial 28 Fun¸c˜ao Tangente Hiperb´olica Uma outra fun¸c˜ao log´ıstica n˜ao linear muito utilizada como fun¸c˜ao ativa¸c˜ao ´e a tan- gente hiperb´olica dada a seguir: tanh(x) = sinh(x) cosh(x) = ex − e− x ex + x−1 (2.12) A fun¸c˜ao Tangente hiperb´olica ´e similar a fun¸c˜ao Sigm´oide, sua faixa de valores ´e de -1 a 1 como pode ser visto na figura 2.4. Figura 2.4: Fun¸c˜ao Tangente Hiperb´olica 2.1.7 Classifica¸c˜ao das RNAs Existem dois crit´erios b´asicos para a classifica¸c˜ao das redes neurais artificiais: a ar- quitetura e a forma de treinamento. 2.1.8 Arquiteturas da Rede A maneira na qual os neurˆonios de uma rede neural est˜ao estruturados est´a ligada ao algoritmo de aprendizado para treinar a rede. Em geral, ´e poss´ıvel identificar trˆes classes de arquiteturas (estruturas) de rede fundamentalmente diferentes: 1. RNAs Alimentadas Adiante com Camada ´Unica; 2. RNAs Alimentadas Diretamente com M´ultiplas Camadas; 3. RNAs Recorrentes.
  • 32. 2.1 Inteligˆencia 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 neurˆonios, mas n˜ao 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 designa¸c˜ao se refere `a camada de sa´ıda, pois nela ´e que ´e realizada a computa¸c˜ao (HAYKIN, 2001). RNAs Alimentadas Diretamente com M´ultiplas Camadas Esta classe se distingue pela presen¸ca de uma ou mais camadas ocultas, como pode ser observado na figura 2.6. Figura 2.6: RNAs Alimentadas Diretamente com M´ultiplas Camadas A fun¸c˜ao dos neurˆonios ocultos ´e intervir entre a entrada externa e a sa´ıda da rede de
  • 33. 2.1 Inteligˆencia Artificial 30 uma maneira ´util. A habilidade de os neurˆonios ocultos extra´ırem estat´ısticas de ordem elevada ´e valiosa quando o tamanho da camada de entrada ´e grande (HAYKIN, 2001). Os n´os de fonte da camada de entrada da rede fornecem os respectivos elementos do padr˜ao de ativa¸c˜ao (vetor de entrada). Os seus sinais de sa´ıda s˜ao utilizados como entradas para a segunda camada, e assim por diante para o resto da rede. Dessa forma, os neurˆonios em cada camada da rede tˆem como suas entradas apenas os sinais de sa´ıda da camada precedente. O conjunto de sinais de sa´ıda dos neurˆonios da camada de sa´ıda da rede constitui a resposta global da rede para o padr˜ao de ativa¸c˜ao fornecido pelos n´os de fonte da camada de entrada (HAYKIN, 2001). As redes alimentadas diretamente com m´ultiplas camadas podem ser totalmente co- nectadas, quando cada um dos n´os de uma camada da rede est´a conectado a todos os n´os da camada adjacente seguinte, ou parcialmente conectadas, quando alguns dos elos de comunica¸c˜ao estiverem faltando na rede (HAYKIN, 2001). RNAs Recorrentes Esta classe possui pelo menos um la¸co de realimenta¸c˜ao, ou seja, a sa´ıda de algum neurˆonio 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
  • 34. 2.1 Inteligˆencia 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 parˆametros da rede, isto ´e, ajustes dos pesos das conex˜oes entre as unidades de processamento, que guardam, ao final do processo, o conhecimento que a rede adquiriu do ambiente em que est´a operando (BRAGA; CARVALHO; LUDERMIR, 2000). Neste contexto, pode-se destacar trˆes tipos diferentes de RNAs: 1. RNAs com Treinamento Supervisionado; 2. RNAs com Treinamento N˜ao-supervisionado; 3. RNAs com Aprendizado por Refor¸co. RNAs com Treinamento Supervisionado No estudo da aprendizagem supervisionada, uma condi¸c˜ao fundamental ´e a existˆencia de um “professor” capaz de fornecer corre¸c˜oes exatas para as sa´ıdas da rede quando um erro ocorrer (HAYKIN, 2001). Este m´etodo de aprendizado ´e o mais comum no treinamento das RNAs. O objetivo ´e ajustar os parˆametros da rede, de forma a encontrar uma liga¸c˜ao 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 N˜ao-supervisionado No paradigma de aprendizagem n˜ao-supervisionado, como o nome implica, n˜ao h´a um “professor” para supervisionar o processo de aprendizagem, o que significa que n˜ao h´a exemplos rotulados da fun¸c˜ao a ser aprendida pela rede (HAYKIN, 2001).
  • 35. 2.1 Inteligˆencia Artificial 32 RNAs com Aprendizado por Refor¸co O aprendizado por refor¸co refere-se `a utiliza¸c˜ao de alguma fun¸c˜ao heur´ıstica (definida a priori), que descreva o qu˜ao boa ´e a resposta da rede a uma dada entrada, e da busca da maximiza¸c˜ao de tal fun¸c˜ao (Xing; Pham, 1995 apud Neto, 2007).
  • 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 solu¸c˜ao 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 s˜ao 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 classifica¸c˜ao de padr˜oes ditos linearmente separ´aveis. Basicamente, ele consiste de um ´unico neurˆonio com pesos sin´apticos ajust´aveis e bias. O algoritmo usado para ajustar os parˆametros 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 b´asicas, nodos MCP e uma regra de aprendizado. Alguns anos mais tarde, Rosenblatt demonstrou o teorema de convergˆencia do perceptron, que mostra que um nodo MCP treinado com o algoritmo de aprendizado do perceptron sempre converge caso o problema em quest˜ao seja linearmente separ´avel, 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 sin´aptico wkj do neurˆonio k excitado por um elemento xj(n) do vetor de sinal x(n) no passo de
  • 37. 3 Algoritmos de Treinamento 34 tempo n, de acordo com a regra delta, o ajuste δwkj(n) aplicado ao peso sin´aptico 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 avan¸ca em um passo no processo de aprendizagem. Em outras palavras, a regra delta pode ser formulada como: “O ajuste feito em um peso sin´aptico de um neurˆonio ´e proporcional ao produto do sinal de erro pelo sinal em quest˜ao” (HAYKIN, 2001, p.78). Tendo calculado o ajuste sin´aptico δwkj(n), o valor atualizado do peso sin´aptico wkj ´e determinado por: wkj(n + 1) = wkj(n) + δwkj(n) (3.2) 3.0.12 Limita¸c˜oes do Perceptrons Apesar de ter causado grande euforia na comunidade cient´ıfica da ´epoca, o percep- tron n˜ao 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 n˜ao poderia generalizar nem em rela¸c˜ao `a no¸c˜ao de paridade, muito menos fazer abstra¸c˜oes gen´ericas. As limita¸c˜oes computacionais do per- ceptron foram, depois, enquadradas em uma fundamenta¸c˜ao matem´atica s´olida 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 v´arias outras formas avan¸cadas de RNAs mais poderosas que o perceptron, do ponto de vista computacional. Por exemplo, os perceptrons de m´ultiplas camadas, treinados com o algoritmo de retropropaga¸c˜ao.
  • 38. 3 Algoritmos de Treinamento 35 3.0.13 Perceptrons de M´ultiplas Camadas Uma rede perceptron de m´ultiplas camadas (PMC), ou em inglˆes multilayer perceptron (MLP), consiste de um conjunto de unidades sensoriais (n´os de frente), que constituem a camada de entrada, uma ou mais camadas ocultas de n´os computacionais e uma camada de sa´ıda de n´os computacionais. O sinal de entrada se propaga para frente atrav´es da rede, camada por camada (HAYKIN, 2001). O algoritmo de aprendizado mais conhecido para treinamento destas redes ´e o algo- ritmo de retropropaga¸c˜ao de erro (Error Backpropagation ou simplesmente Backpropaga- tion). Um perceptron de m´ultiplas camadas possui trˆes caracter´ısticas distintivas: 1. O modelo de cada neurˆonio da rede inclui uma fun¸c˜ao de ativa¸c˜ao n˜ao-linear; 2. A rede cont´em uma ou mais camada de neurˆonios ocultos, que n˜ao s˜ao parte da entrada ou da sa´ıda da rede; 3. A rede exibe um alto grau de conectividade, determinado pelas sinapses da rede. ´E atrav´es da combina¸c˜ao destas caracter´ısticas, juntamente com a habilidade de apren- der, que o perceptron de m´ultiplas camadas deriva seu poder computacional. 3.0.14 Algoritmo de Treinamento Backpropagation O algoritmo de treinamento backpropagation, ou em portuguˆes retropropaga¸c˜ao, ´e um m´etodo que se baseia em gradiente descendente utilizando a regra delta, sendo chamada tamb´em de regra delta generalizada. Para que a regra delta generalizada possa ser usada, a fun¸c˜ao de ativa¸c˜ao precisa ser cont´ınua, diferenci´avel e, de preferˆencia, n˜ao-decrescente. Conforme visto na se¸c˜ao 2.1.6, diversas fun¸c˜oes de ativa¸c˜ao com as propriedades de n˜ao-linearidade e diferencia¸c˜ao tˆem sido propostas para redes multicamadas. Dentre essas diversas fun¸c˜oes de ativa¸c˜ao, a mais utilizada ´e a fun¸c˜ao sigmoidal log´ıstica. As fun¸c˜oes precisam ser diferenci´aveis para que o gradiente possa ser calculado, direcionando o ajuste dos pesos (BRAGA; CARVALHO; LUDERMIR, 2000).
  • 39. 3 Algoritmos de Treinamento 36 O treinamento ocorre em duas fases: um passo para frente, a propaga¸c˜ao (forward), e um passo para tr´as, a retropropaga¸c˜ao (backward). No passo para frente, um padr˜ao de atividade (vetor de entrada) ´e aplicado aos n´os sensoriais da rede e seu efeito se propaga atrav´es da rede, camada por camada. Com isso, um conjunto de sa´ıdas ´e produzido como a resposta real da rede. Durante o passo de propaga¸c˜ao, os pesos sin´apticos da rede s˜ao todos fixos. No passo para tr´as, os pesos sin´apticos s˜ao todos ajustados de acordo com a regra de corre¸c˜ao 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, ent˜ao, propagado para tr´as, contra a dire¸c˜ao das conex˜oes sin´apticas. Os pesos sin´apticos s˜ao 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 N´umero de Camadas As camadas intermedi´arias de uma rede PMC funcionam como detectores de ca- racter´ısticas. Elas geram uma codifica¸c˜ao interna dos padr˜oes de entrada, que ´e ent˜ao utilizada para a defini¸c˜ao de sa´ıda da rede. Com um n´umero suficientemente grande de unidades intermedi´arias, ´e poss´ıvel formar representa¸c˜oes internas para qualquer conjunto de padr˜oes de entrada. Para uma rede com pelo menos duas camadas intermedi´arias, pode-se dizer que o seguinte processamento ocorre em cada uma das camadas: • Camada de Entrada: propaga os valores recebidos como entrada para a pr´oxima camada; • Primeira Camada Intermedi´aria: cada nodo tra¸ca retas no espa¸co de padr˜oes de treinamento; • Segunda Camada Intermedi´aria: cada nodo combina as retas tra¸cadas pelos neurˆo- nios da camada anterior conectados a ele, formando regi˜oes convexas, onde o n´umero de lados ´e definido pelo n´umero de unidades a ele conectadas;
  • 40. 3 Algoritmos de Treinamento 37 • Camada de Sa´ıda: cada nodo forma regi˜oes que s˜ao combina¸c˜oes das regi˜oes con- vexas definidas pelos nodos a ele conectados da camada anterior. Dessa forma, os nodos determinam regi˜oes com formatos abstratos. De acordo com Cybenko, uma camada intermedi´aria, combinando as tarefas das duas camadas intermedi´arias descritas acima, ´e suficiente para aproximar qualquer fun¸c˜ao cont´ınua. E duas camadas intermedi´arias s˜ao suficientes para aproximar qualquer fun¸c˜ao matem´atica [CYBENKO; 1989]. Para alguns casos, no entanto, a utiliza¸c˜ao de duas ou mais camadas intermedi´arias pode facilitar o treinamento da rede. Por outro lado, um n´umero muito grande de camadas intermedi´arias n˜ao ´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 no¸c˜ao precisa do erro cometido pela rede ´e a camada de sa´ıda. 3.0.16 N´umero de Neurˆonios O n´umero de neurˆonios na camada intermedi´aria, em geral, ´e definido empiricamente, sendo que ele depende de v´arios fatores, como o n´umero de exemplos de treinamento, a quantidade de ru´ıdo presente nos exemplos e a complexidade da fun¸c˜ao a ser aprendida. Este n´umero depende da distribui¸c˜ao dos padr˜oes de treinamento e valida¸c˜ao da rede. Por´em, alguns m´etodos tˆem sido propostos como: (i) definir o n´umero de neurˆonios ocultos em fun¸c˜ao do n´umero de neurˆonios de entrada e sa´ıda; e (ii) utilizar um n´umero de conex˜oes dez vezes menor que o n´umero de exemplos. Deve-se sempre tomar cuidado para n˜ao se utilizar um n´umero muito grande de neurˆonios nas camadas intermedi´arias. Utilizando-se um n´umero excessivo de neurˆonios, pode-se fazer com que a rede memorize os padr˜oes de treinamento (overfitting), em vez de extrair as caracter´ısticas gerais que a permitir˜ao generalizar ou reconhecer os padr˜oes n˜ao vistos durante o treinamento. Por outro lado, um n´umero muito pequeno far´a com que a rede gaste um tempo muito grande at´e que consiga encontrar uma representa¸c˜ao ´otima (underfitting).
  • 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 inv´es de utilizar constantes para a atualiza¸c˜ao dos pesos, ele utiliza uma vari´avel associada a cada peso que determina quanto ele ir´a atualizar o seu peso [RIEDMIL- LER,1993]. Essa atualiza¸c˜ao ´e realizada a cada itera¸c˜ao de acordo com a seguinte regra de apren- dizagem: 1. Se o sinal do erro cometido tiver sido alterado, ent˜ao a taxa de ajuste foi exagerada e deve ser diminu´ıda. Essa abordagem ´e equivalente a cada peso ter sua pr´opria taxa de aprendizado. Logo, a vantagem deste algoritmo ´e de que n˜ao se precisa definir uma taxa de aprendizagem constante, j´a que ela ´e calculada em fun¸c˜ao do gradiente descendente. O valor de sua inicializa¸c˜ao tamb´em n˜ao tem grandes impactos no treinamento [RIEDMILLER,1993]. Um das principais vantagens da Resilient Propagation, para muitos problemas, ´e que nenhum parˆametro dela precisa ser informado, acelerando tanto o processo de modelagem da RNA, quanto a sua convergˆencia. 3.2 Crit´erios de Parada Como pode ser visto na figura 3.1, a cada itera¸c˜ao, o resultado calculado pela RNA aproxima-se mais dos valores do conjunto de treinamento. Portanto, enquanto o treina- mento continuar ´e prov´avel 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 padr˜oes de treinamento, afetando sua capacidade de generaliza¸c˜ao (overfitting). Portanto, ´e de fundamental importˆancia, estabelecer um ou mais crit´erios de parada para a fase de treinamento. Dois crit´erios de paradas cl´assicos s˜ao descritos abaixo:
  • 42. 3.2 Crit´erios de Parada 39 Figura 3.1: Evolu¸c˜ao 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 alcan¸cada, o treinamento para e a RNA ´e considerada treinada; • N´umero m´aximo de itera¸c˜oes: ´e definida por quantas itera¸c˜oes a rede deve ser treinada e quando chegar na itera¸c˜ao definida, o treinamento acaba e a RNA ´e dada como treinada. Uma combina¸c˜ao dos dois casos pode ser aplicada para ter um crit´erio mais robusto como o treinamento deve parar quando o erro m´edio percentual absoluto do conjunto de teste for 0,1% ou ocorrer 20.000 itera¸c˜oes. Esses crit´erios 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 satisfat´orio 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 ter´a um desempenho abaixo do que poderia ser obtido, problema ´e conhecido como underfitting. Para evitar esses problemas existe o crit´erio de parada conhecido como valida¸c˜ao cru- zada. Na valida¸c˜ao cruzada, al´em de um conjunto de dados de treinamento, ´e considerado outro conjunto de dados: o conjunto de valida¸c˜ao cruzada, cujos dados devem ser estatis- ticamente representativos. Esse crit´erio funciona da seguinte forma [VALENC¸A, 2010]: 1. Ao final de cada itera¸c˜ao ´e calculado o erro do conjunto de treinamento e do conjunto de valida¸c˜ao cruzada; 2. O valor dos erros de ambos os conjuntos s˜ao comparados. Enquanto a RNA es- tiver aprendendo corretamente, o valor das taxas de erro decrescer˜ao juntas e o
  • 43. 3.2 Crit´erios de Parada 40 treinamento deve continuar; 3. Quando o erro do conjunto de valida¸c˜ao cruzada passar a aumentar enquanto a do conjunto de treinamento continuar a diminuir, ´e o sinal de que a rede agora est´a sofrendo um superajustamento e o treinamento deve ser encerrado. No pr´oximo capitulo, ser´a relatado como foram realizados os testes, os algoritmos implementados, as dificuldades encontradas nos caminho e as solu¸c˜oes desses problemas.
  • 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: • Defini¸c˜oes iniciais; • Obten¸c˜ao dos dados de treinamento e valida¸c˜ao; • Tratamento dos dados obtidos para a RNA; • Implementa¸c˜ao e execu¸c˜ao dos treinamentos e testes com as RNAs; • Processamento e an´alise dos dados gerados pelo passo anterior. Nas se¸c˜oes a seguir, ´e descrita cada etapa detalhadamente, de forma a esclarecer o processo realizado em cada etapa. 4.1 Defini¸c˜oes Iniciais Primeiro foi definido quais padr˜oes a RNA iria se propor a reconhecer. Inicialmente a ideia era a cria¸c˜ao de 10 elementos, que seriam todos os algarismos de 0 a 9, por´em, quanto mais elementos, maior seria o n´umero de exemplos, e como o objetivo deste trabalho ´e a compara¸c˜ao dos algoritmos de treinamento das redes neurais, foi escolhido um dom´ınio menor, composto por trˆes formas geom´etricas simples, sendo elas o c´ırculo, o quadrado e o triˆangulo. A figura 4.1 mostra uma ilustra¸c˜ao dos desenhos correspondentes `as formas geom´etricas a serem reconhecidas pelas RNAs. Os mesmos foram desenhados manualmente, conforme ser´a feito durante os processos de treinamento, valida¸c˜ao e execu¸c˜ao das RNAs. Como pode ser observado na tabela 4.1, cada forma geom´etrica possui um c´odigo para identific´a-lo, de forma a distinguir cada uma delas. Al´em disso, cada forma geom´etrica possui tamb´em uma faixa de valores, que come¸ca com um valor m´ınimo, indo at´e um valor m´aximo, que representa os poss´ıveis retornos da rede neural para aquela forma.
  • 45. 4.2 Obten¸c˜ao dos Dados 42 Figura 4.1: Formas Geom´etricas Definidas: C´ırculo, Quadrado e Triˆangulo Caso o valor de sa´ıda da rede neural, para uma forma geom´etrica, 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 ser´a o valor ideal, que corresponde `a m´edia dos valores m´ınimo e m´aximo. O processo de treinamento e utiliza¸c˜ao desses valores ser´a melhor explicado na se¸c˜ao 4.4. Tabela 4.1: Tabela de dados das formas geom´etricas C´odigo Forma Valor M´ınimo Valor Ideal Valor M´aximo 1 Quadrado 0 0,16 0,33 2 Triˆangulo 0,34 0,5 0,66 3 C´ırculo 0,67 0,83 0,99 Definido isso, foi necess´ario obter os dados de alguma maneira, sendo este o pr´oximo item a ser descrito. 4.2 Obten¸c˜ao dos Dados Ap´os as defini¸c˜oes iniciais, os dados precisaram ser inseridos manualmente por uma pessoa, de forma que essa pessoa realiza o desenho da figura geom´etrica, e ela mesma informa qual c´odigo representa a forma geom´etrica desenhada, de acordo com os c´odigos da tabela 4.1. Observando a figura 4.2, pode-se observar a interface disponibilizada para que os dados de treinamento e valida¸c˜ao pudesse ser inseridos. No exemplo em quest˜ao, ´e inserido um quadrado com o c´odigo 1 no treinamento, enquanto que, na valida¸c˜ao, ´e inserido um triˆangulo com o c´odigo 2, conforme tabela 4.1.
  • 46. 4.3 Tratamento dos Dados para a RNA 43 Figura 4.2: Exemplo de Inser¸c˜ao de Dados para a RNA Todas as imagens utilizadas no treinamento (figuras I.1, I.2, I.3) e na valida¸c˜ao (figuras II.1, II.2, II.3 ), est˜ao presentes no apˆendice desse trabalho. Apenas com esses dados inseridos, a rede neural ainda n˜ao ´e capaz de prever qual a forma da imagem fornecida, pois, primeiro, ´e necess´ario um tratamento desses dados inseridos pelo usu´ario, de forma a facilitar o reconhecimento da rede, como pode ser verificado na pr´oxima se¸c˜ao. 4.3 Tratamento dos Dados para a RNA Para que a RNA consiga receber os dados desenhados pelo usu´ario, n˜ao basta sim- plesmente indicar que a entrada ser´a aquela imagem informada. Para isso, ´e necess´ario um tratamento dos dados de entrada a serem inseridos no treinamento da RNA, pois se nenhum tratamento fosse realizado, a entrada n˜ao seria bem aceita pelo treinamento da rede, tornando-o mais demorado e menos preciso. No caso deste trabalho, foram realizados v´arios testes, com as mais variadas maneiras de tratamento, para a entrada da rede neural. Todas essas maneiras s˜ao 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 redu¸c˜ao das imagens, passando, inicialmente, de uma imagem com uma resolu¸c˜ao de 100 x 100 pixels para uma imagem de 15 x 15 pixels. Para isso, foram utilizados alguns dos algoritmos mais populares
  • 47. 4.3 Tratamento dos Dados para a RNA 44 de redu¸c˜ao de imagem, com v´arios modos de interpola¸c˜ao, tais como Bicubic, Bilinear, Nearest Neighbor e High Quality Bicubic. Ap´os essas redu¸c˜oes, as imagens foram convertidas para preto e branco. Com isso, a imagem passou a possuir apenas duas cores, onde no padr˜ao 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 neurˆonios bin´arios para a RNA, sendo cada neurˆonio correspondente a um dos bits da imagem. Mesmo com tais manipula¸c˜oes na imagem, a rede n˜ao se mostrou muito eficiente, apresentando treinamento demorado, com v´arias ´epocas geradas durante o processo, e um baixo percentual de acerto ap´os sua conclus˜ao. Visando melhorar o padr˜ao de entrada de dados da RNA, foi realizada uma norma- liza¸c˜ao dos dados de entrada. Para isso, a imagem original de resolu¸c˜ao 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 regi˜oes, cada regi˜ao com 10 x 10 pixels. Ap´os isso, foi realizada a normaliza¸c˜ao da “popula¸c˜ao” de bits de cada regi˜ao da imagem, que nada mais ´e que contabilizar os pontos pretos daquela parte. Essa quantidade de pontos pretos da regi˜ao ´e exatamente o valor do x da f´ormula de normaliza¸c˜ao 4.1 e, com esse valor normalizado, pode-se gerar o valor de entrada da rede neural daquela parte.
  • 48. 4.3 Tratamento dos Dados para a RNA 45 Figura 4.3: Normaliza¸c˜ao - Divis˜ao das partes A imagem inicial com seu resultado final da normaliza¸c˜ao pode ser observado no exemplo da figura 4.4. Figura 4.4: Resultado da Normaliza¸c˜ao de uma imagem Utilizando a normaliza¸c˜ao, tornou-se poss´ıvel reduzir a entrada da rede neural de 225 neurˆonios para 100 neurˆonios, muda muito e melhorando bastante a efic´acia dos treinamentos em geral. A normaliza¸c˜ao foi ´util para dados com um determinado tamanho informado nos trei- namentos. Por´em, ao se informar formas geom´etricas de tamanhos variados, a RNA n˜ao conseguiu distingu´ı-los, pois os variados tamanhos geravam valores diferentes na norma- liza¸c˜ao, sendo assim necess´arios uma maior quantidade de exemplos com os mais variados tamanhos das formas geom´etricas, tornando essa possibilidade invi´avel. Para solucionar esse problema, ap´os realizar v´arias pesquisas, foi verificado que se fossem consideradas imagens de v´arios 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 regi˜ao onde a figura deve ser informada, as entradas produ- zidas para a RNA estariam padronizadas, auxiliando com isso o treinamento e a predi¸c˜ao
  • 49. 4.4 Implementa¸c˜ao e Execu¸c˜ao dos Treinamentos e Testes com as RNAs 46 da forma geom´etrica informada. Para realizar essas padroniza¸c˜ao, foi utilizada a API gr´afica AForge, realizando-se os passos ilustrados na figura 4.5 e descritos a seguir: • Fase 1 - imagem original; • Fase 2 - para a utiliza¸c˜ao 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 - ap´os a expans˜ao, a imagem ´e invertida novamente para fundo branco e forma preta. Figura 4.5: Fases da Expans˜ao de Imagens Menores Ap´os conseguir padronizar os dados de entrada da RNA, verificou-se que os resultados gerados foram bem mais eficientes. Dessa maneira, a rede pˆode aproveitar melhor a entrada e, com isso, reduzir a quantidade de exemplos necess´arios para o treinamento, aumentando a qualidade e a diversidade de tamanhos poss´ıveis para a predi¸c˜ao da RNA. 4.4 Implementa¸c˜ao e Execu¸c˜ao dos Treinamentos e Testes com as RNAs Como este trabalho necessita de que todos os dados sejam armazenadas para uma r´apida consulta a qualquer momento e tamb´em para que se tenha uma base consistente para an´alise de todas as informa¸c˜oes geradas por todos os treinamentos e valida¸c˜oes, todas as informa¸c˜oes foram armazenadas em um banco de dados. O diagrama a seguir apresenta uma vis˜ao geral de como os dados foram armazenados:
  • 50. 4.4 Implementa¸c˜ao e Execu¸c˜ao 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 informa¸c˜oes sobre o treinamento das RNAs como: qual RNA foi utilizada, qual algoritmo foi utilizado, quais os valores dos parˆametros de treinamento, dentre outras informa¸c˜oes. Durante o treinamento, cada ´epoca tem sua margem de erro armazenada na tabela LogTreinamento, para que a an´alise a ser realizada e tamb´em a gera¸c˜ao dos gr´aficos utilizados na compara¸c˜ao sejam facilitadas. E, ap´os 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 informa¸c˜oes p´os treinamento informando se a forma foi vali-
  • 51. 4.4 Implementa¸c˜ao e Execu¸c˜ao dos Treinamentos e Testes com as RNAs 48 dada conforme o esperado ou n˜ao. Com isso, tem-se um controle das formas validadas, facilitando a identifica¸c˜ao 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, s˜ao encontradas todas as formas que a rede pode predizer. No caso deste trabalho, s˜ao exatamente as formas descritas na tabela 4.1. A valida¸c˜ao da rede neural ocorre de maneira semelhante ao processo de treinamento, apresentando n ValidacaoDados, que armazenam informa¸c˜oes sobre determinada imagem presente em DadosValidacao. Para n˜ao prejudicar o processo de valida¸c˜ao da RNA, nessa etapa n˜ao ´e utilizado nenhuma imagem j´a considerada no processo de treinamento. A tabela DadosRedeNeural cont´em as configura¸c˜oes das RNAs como: o n´umero de neurˆonios presentes em cada uma de suas trˆes camadas (camada de entrada, camada oculta e camada de sa´ıda) e os pesos iniciais atribu´ıdos aos neurˆonios e `as suas liga¸c˜oes antes da etapa de treinamento. Utilizando toda essa estrutura descrita, os treinamentos foram realizados considerando trˆes quantidade de exemplos: 10, 30 e 50 exemplos de cada forma geom´etrica. Como crit´erios de parada, foi considerada uma margem de erro de 0, 1% ou um limite m´aximo 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 parˆametros do processo de treinamento ser˜ao explicados de forma mais detalhada no cap´ıtulo de 5. Todas as imagens utilizadas no treinamento est˜ao presentes no apˆendice 1 (veja figuras I.1, I.2, I.3). Descrito o processo de treinamento, na se¸c˜ao a seguir, ´e relatado como foram feitas as valida¸c˜oes das RNAs treinadas.
  • 52. 4.5 Processamento e An´alise dos Dados Gerados pela RNA 49 4.5 Processamento e An´alise dos Dados Gerados pela RNA Ap´os a realiza¸c˜ao de todos os treinamentos, foram realizados os testes de valida¸c˜ao com exemplos totalmente diferentes daqueles utilizados no treinamento. Atrav´es da etapa de valida¸c˜ao, foi poss´ıvel verificar se as RNAs conseguiram uma alta eficiˆencia na predi¸c˜ao das formas geom´etricas (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 valida¸c˜ao est˜ao presentes no apˆendice 2 (figuras II.1, II.2, II.3). O seguinte processo foi realizado para todas as imagens da valida¸c˜ao para a realiza¸c˜ao da valida¸c˜ao: 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, ap´os ser criada, os dados de cada imagem s˜ao computados pela rede, retornando um valor que, analisando as faixas de valores definidas inicialmente para cada elemento, pode-se dizer qual ´e a forma geom´etrica correspondente; 3. Com o valor computado pela RNA, ´e verificado se o valor retornado pela mesma ´e pr´oximo 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 valida¸c˜ao s˜ao 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 inser¸c˜ao daquela forma geom´etrica, apontando a valida¸c˜ao daquela imagem como v´alida ou n˜ao. Com base em todos esses dados dos treinamentos e valida¸c˜oes, foi poss´ıvel obter os dados necess´arios para a realiza¸c˜ao das compara¸c˜oes entre os algoritmos de treinamento Backpropagation e Resilient Propagation, que s˜ao apresentados no pr´oximo cap´ıtulo.
  • 53. 50 5 Resultados Obtidos Neste cap´ıtulo ser˜ao discutidos os resultados obtidos pelos testes das RNAs, apresen- tando, inicialmente, todos os parˆametros e defini¸c˜oes dos treinamentos realizados como exemplo: a fun¸c˜ao de ativa¸c˜ao utilizada, o n´umero de camadas ocultas, o n´umero de neurˆonios em cada camada e a quantidade de exemplos utilizados no treinamento e na valida¸c˜ao. 5.1 Defini¸c˜oes das RNAs Utilizadas na Compara¸c˜ao Esta se¸c˜ao possui um breve resumo de todas as defini¸c˜oes que foram utilizadas na an´alise 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 compreens˜ao. 5.1.1 Fun¸c˜ao de Ativa¸c˜ao Uma das etapas necess´arias para a cria¸c˜ao das RNAs foi a defini¸c˜ao de qual fun¸c˜ao de ativa¸c˜ao utilizar. A fun¸c˜ao de ativa¸c˜ao escolhida foi a Sigm´oide, pois esta fun¸c˜ao pode assumir todos os valores entre 0 e 1. Com isso, ela aceita todas as faixas escolhidas para a representa¸c˜ao das formas geom´etricas. 5.1.2 N´umero de Camadas Ocultas Foi estabelecido que as RNAs apresentar˜ao apenas uma camada oculta, pois uma vez que o intuito do trabalho ´e apenas comparar os algoritmos de treinamento, a defini¸c˜ao de mais de uma camada oculta implicaria em um grau de complexidade a mais, sem qual- quer necessidade. Al´em disso, testes emp´ıricos com a rede neural MLP n˜ao conseguiram comprovar vantagem significante no uso de mais de uma camada oculta (HAYKIN, 2001).
  • 54. 5.1 Defini¸c˜oes das RNAs Utilizadas na Compara¸c˜ao 51 5.1.3 N´umero de Neurˆonios em Cada Camada A camada de entrada das RNAs proposta apresentam 100 neurˆonios, representando cada um dos elementos da matriz 10 x 10 que representa a forma geom´etrica a ser clas- sificada, ap´os a normaliza¸c˜ao realizada sobre a imagem original descrita na se¸c˜ao 4.4. J´a na camada de sa´ıda, as RNAs possuem apenas 1 neurˆonio, para retornar o valor predito que representa a imagem a ser identificada. E, por fim, para a defini¸c˜ao do n´umero de neurˆonios presentes na camada oculta, foram utilizadas quatro configura¸c˜oes calculadas pelas seguintes regras: Regra do Valor M´edio A regra do valor m´edio pode ser definida pela seguinte equa¸c˜ao: n1 + n2 2 , (5.1) onde: • n1 ´e o n´umero de neurˆonios na camada de entrada; • e n2 ´e o n´umero de neurˆonios na camada de sa´ıda. Regra de Kolmogorov A regra de Kolmogorov pode ser definida pela seguinte equa¸c˜ao: (2 ∗ n1) + n2, (5.2) onde: • n1 ´e o n´umero de neurˆonios na camada de entrada; • e n2 ´e o n´umero de neurˆonios na camada de sa´ıda.
  • 55. 5.1 Defini¸c˜oes das RNAs Utilizadas na Compara¸c˜ao 52 Regra de Fletcher-Gloss A regra de Fletcher-Gloss pode ser definida pela seguinte equa¸c˜ao: (2 ∗ √ n1) + n2, (5.3) onde: • n1 ´e o n´umero de neurˆonios na camada de entrada; • e n2 ´e o n´umero de neurˆonios na camada de sa´ıda. Regra da Raiz Quadrada A regra da raiz quadrada pode ser definida pela seguinte equa¸c˜ao: √ n1 + n2, (5.4) onde: • n1 ´e o n´umero de neurˆonios na camada de entrada; • e n2 ´e o n´umero de neurˆonios na camada de sa´ıda. Defini¸c˜oes das Configura¸c˜oes Baseando nas formas citadas anteriormente, obtˆem-se as seguintes configura¸c˜oes de redes neurais: • Configura¸c˜ao 1 - Utilizando a regra do valor m´edio: – Camada de Entrada: 100 neurˆonios; – Camada Oculta: 50 neurˆonios; – Camada de Sa´ıda: 1 neurˆonio.
  • 56. 5.1 Defini¸c˜oes das RNAs Utilizadas na Compara¸c˜ao 53 • Configura¸c˜ao 2 - Utilizando a regra de Kolmogorov: – Camada de Entrada: 100 neurˆonios; – Camada Oculta: 201 neurˆonios; – Camada de Sa´ıda: 1 neurˆonio. • Configura¸c˜ao 3 - Utilizando a regra de Fletcher-Gloss: – Camada de Entrada: 100 neurˆonios; – Camada Oculta: 21 neurˆonios; – Camada de Sa´ıda: 1 neurˆonio. • Configura¸c˜ao 4 - Utilizando a regra da raiz quadrada: – Camada de Entrada: 100 neurˆonios; – Camada Oculta: 10 neurˆonios; – Camada de Sa´ıda: 1 neurˆonio. Para evitar qualquer injusti¸ca ou falha nessas compara¸c˜oes, todas as redes de uma determinada configura¸c˜ao come¸cam sempre com os mesmos pesos iniciais. Para arma- zenar os pesos de uma RNA ap´os o treinamento, foram utilizados m´etodos do pr´oprio framework Encog, facilitando assim a reutiliza¸c˜ao dessa rede, sem a necessidade de um novo treinamento. 5.1.4 Quantidade de Exemplos no Treinamento Ap´os a defini¸c˜ao das configura¸c˜oes das RNAs utilizadas nas compara¸c˜oes, ´e preciso definir o n´umero 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 ser˜ao 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.
  • 57. 5.2 Resultados Obtidos Pelos Algoritmos 54 A fim de por em prova a capacidade das RNAs distinguirem padr˜oes mesmo com um razo´avel volume de ru´ıdos, todos os exemplos foram desenhados manualmente (por uma pessoa utilizando o mouse), podendo apresentar, al´em de tamanhos variados, pequenas deforma¸c˜oes inseridas propositalmente, para que a RNA n˜ao trabalhe apenas com formas perfeitas. 5.1.5 Quantidade de Exemplos na Valida¸c˜ao No caso da valida¸c˜ao, todas as 150 imagens presentes nas figuras II.3, II.1 e II.2 pre- sentes no apˆendice 2 foram utilizadas para todas as configura¸c˜oes das RNAs, de forma a seguirem sempre um padr˜ao na valida¸c˜ao das formas que n˜ao foram utilizadas no treina- mento. 5.2 Resultados Obtidos Pelos Algoritmos Nessa sess˜ao s˜ao exibidos todos os resultados obtidos, divididos por configura¸c˜ao da RNA e pelo n´umero 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 n˜ao possui parˆametros de configura¸c˜ao 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. J´a para as RNAs treinadas pelo algoritmo BP, foi necess´aria a realiza¸c˜ao de diversos treinamentos, j´a que as mesmas possuem dois parˆametros de configura¸c˜ao. S˜ao eles: • Taxa de aprendizagem: respons´avel por definir a forma de ajuste dos pesos em cada itera¸c˜ao, tem grande influˆencia 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 oscila¸c˜oes no treinamento e impede a convergˆencia do processo de aprendizado. Geralmente seu valor varia de 0.1 a 1.0;
  • 58. 5.2 Resultados Obtidos Pelos Algoritmos 55 • Momentum: respons´avel por evitar que o treinamento se estabilize em m´ınimos/m´aximos locais, o momentum aumenta a velocidade de treinamento da RNA e reduz o perigo de instabilidade. Este parˆametro pode ou n˜ao ser usado durante o treinamento e seu valor, em geral, varia de 0.0 (n˜ao utiliza¸c˜ao) 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 combina¸c˜ao (configura¸c˜ao,quantidade de exemplos). 5.2.1 Configura¸c˜ao 1 - Utilizando a Regra do Valor M´edio para Determinar o N´umero de Neurˆonios Ocultos Entende-se como configura¸c˜ao 1, aquela que utiliza a regra do valor m´edio para de- terminar o n´umero de neurˆonios 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 triˆangulos e 10 c´ırculos, nessa primeira configura¸c˜ao das RNAs, com base na tabela 5.1, pode-se verificar que as melhores RNAs de cada algoritmo n˜ao alcan¸caram a faixa de 80% de acertos. Como era esperado, a RNA treinada com o algoritmo Resilient Propagation convergiu em um n´umero menor de ´epocas, apresentando apenas 30 ´epocas, enquanto que aquela treinada com o algoritmo Backpropagation precisou de 109 ´epocas para convergir. Essa diferen¸ca aponta uma eficiˆencia da RNA treinada pelo RP cerca de 3 vezes maior que
  • 59. 5.2 Resultados Obtidos Pelos Algoritmos 56 a mesma rede treinada pelo BP. Em rela¸c˜ao ao percentual de acerto, n˜ao foi vista uma grande vantagem para nenhum dos dois tipos de treinamento, tendo o BP apresentado uma acertividade m´edia de 74%, e o RP de 76%. Esses ´ındices de acerto abaixo do esperado se devem, provavelmente, ao baixo n´umero de exemplos utilizados no treinamento. Tabela 5.1: Tabela de resultados dos treinamentos com configura¸c˜ao 1 e 30 exemplos Informa¸c˜oes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na Valida¸c˜ao Total Acertos Treinamento Algoritmo ´Epocas Quadrado Triˆangulo C´ırculo Total Quadrado Triˆangulo 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 gr´aficos 5.1 e 5.2, que apresentam a evolu¸c˜ao 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 oscila¸c˜oes e, provavelmente por esse motivo, gerou um alto n´umero de ´epocas para a convergˆencia do treinamento. J´a no treinamento utilizando o RP, ocorreram apenas 3 grandes oscila¸c˜oes, que podem ser veri- ficadas nas ´epocas 5, 7 e 10, mas, com a mudan¸ca de sinal, o pr´oprio treinamento mudou o sentido de aumento do erro para uma diminui¸c˜ao do erro de forma mais r´apida, como explicado no cap´ıtulo 3. Figura 5.1: ´Epocas x Erro - BP com a Configura¸c˜ao 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 n˜ao apresentar uma acertividade muito maior, apresentou convergˆencia em um n´umero menor de ´epocas no treinamento.
  • 60. 5.2 Resultados Obtidos Pelos Algoritmos 57 Figura 5.2: ´Epocas x Erro - RP com a Configura¸c˜ao 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 triˆangulos, 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 n´umero de exemplos, ambas as RNAs apresentaram um aumento expressivo no percentual de acertos. Al´em disse, pode ser observado que com o aumento da quantidade de exemplos, au- mentou tamb´em o n´umero de ´epocas necess´arias para os algoritmos convergirem. O RP precisou de mais 43 ´epocas, ao passo que o BP aumentou aproximadamente 20 vezes o n´umero de ´epocas necess´arias para convergir, resultando numa esperar bem maior para a realiza¸c˜ao do treinamento. Tabela 5.2: Tabela de resultados dos treinamentos com configura¸c˜ao 1 e 90 exemplos Informa¸c˜oes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na Valida¸c˜ao Total Acertos Treinamento Algoritmo ´Epocas Quadrado Triˆangulo C´ırculo Total Quadrado Triˆangulo 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 gr´aficos 5.3 e 5.4, pode-se perceber que novamente o RP apresentou raras oscila¸c˜oes, enquanto o BP teve uma grande quantidade de oscila¸c˜oes, sempre au- mentando e diminuindo o erro durante o treinamento, motivo do expressivo aumento do n´umero de ´epocas para a convergˆencia.
  • 61. 5.2 Resultados Obtidos Pelos Algoritmos 58 Figura 5.3: ´Epocas x Erro - BP com a Configura¸c˜ao 1 e 90 Exemplos Figura 5.4: ´Epocas x Erro - RP com a Configura¸c˜ao 1 e 90 Exemplos Ap´os essas compara¸c˜oes, verificou-se que neste caso quem se saiu melhor foi o BP, por´em em casos que o n´umero de ´epocas do treinamento ´e importante, o RP deve ser considerado j´a que apresenta um n´umero de ´epocas para convergˆencia 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 triˆangulos, pode-se observar que a quantidade de acertos aumentou muito pouco com a adi¸c˜ao 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 rela¸c˜ao ao n´umero de ´epocas para convergˆencia de cada treinamento, os gr´aficos 5.5 e 5.6 mostram o mesmo comportamento dos cen´arios anteriores, apresentando o BP com muitas oscila¸c˜oes e convergˆencia com muitas ´epocas (2034 ´epocas), e o RP com
  • 62. 5.2 Resultados Obtidos Pelos Algoritmos 59 Tabela 5.3: Tabela de resultados dos treinamentos com configura¸c˜ao 1 e 150 exemplos Informa¸c˜oes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na Valida¸c˜ao Total Acertos Treinamento Algoritmo ´Epocas Quadrado Triˆangulo C´ırculo Total Quadrado Triˆangulo 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 oscila¸c˜oes e convergˆencia em um n´umero 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, por´em teve um percentual de acertos menor. Figura 5.5: ´Epocas x Erro - BP com a Configura¸c˜ao 1 e 150 Exemplos Figura 5.6: ´Epocas x Erro - RP com a Configura¸c˜ao 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 tamb´em um bom n´ıvel de acertividade com um n´umero menor de ´epocas para convergˆencia bem menor.
  • 63. 5.2 Resultados Obtidos Pelos Algoritmos 60 An´alise dos Resultados da Configura¸c˜ao 1 Com 50 neurˆonios na camada oculta, as RNAs treinadas tanto por BP quanto por RP se mostraram menos eficientes ao predizer as formas geom´etricas com poucos exemplos e foram aumentando o percentual de acertos a medida que o n´umero de exemplos no treinamento aumentava, chegando ao limite de 92% de acertividade com o BP e de 89% com o RP. Em rela¸c˜ao ao n´umero de ´epocas para a convergˆencia, enquanto o BP aumentou de maneira dr´astica o n´umero de ´epocas necess´arias para convergir seu treinamento, chegando a superar a casa das 2000 ´epocas, o RP precisou de no m´aximo 109 ´epocas para conver- gir. J´a em rela¸c˜ao `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 aceit´avel e com poucas oscila¸c˜oes. J´a o BP se saiu melhor no percentual de acertos, por´em deixou a desejar em rela¸c˜ao ao n´umero de ´epocas no treinamento. 5.2.2 Configura¸c˜ao 2 - Utilizando a Regra de Kolmogorov para Determinar o N´umero de Neurˆonios Ocultos Entende-se como configura¸c˜ao 2, aquela que utiliza a regra de Kolmogorov para de- terminar o n´umero de neurˆonios presentes na camada oculta. Nesta configura¸c˜ao, a RNA apresenta o maior n´umero de neurˆonios 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 n˜ao conseguiram alcan¸car 75% de acertos, o BP apresentou uma acertividade um pouco maior com 73%, enquanto que o RP teve 72% de acerto. Analisando os gr´aficos de cada algoritmo nas figuras 5.7 e 5.8, ´e poss´ıvel perceber que o algoritmo BP apresentou um n´umero menor de oscila¸c˜oes se comparado aos gr´aficos
  • 64. 5.2 Resultados Obtidos Pelos Algoritmos 61 Tabela 5.4: Tabela de resultados dos treinamentos com configura¸c˜ao 2 e 30 exemplos Informa¸c˜oes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na Valida¸c˜ao Total Acertos Treinamento Algoritmo ´Epocas Quadrado Triˆangulo C´ırculo Total Quadrado Triˆangulo 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 Configura¸c˜ao 2 e 30 Exemplos Figura 5.8: ´Epocas x Erro - RP com a Configura¸c˜ao 2 e 30 Exemplos Para essa configura¸c˜ao e n´umero de exemplos, os dois algoritmos apresentaram resul- tados bem similares, apresentando uma acertividade discreta e convergˆencia acelerada. Utilizando 90 Exemplos de Entrada Aumentando o n´umero de exemplos, mesmo pela primeira vez tendo errado 1 quadrado durante o treinamento, o BP aumentou seu percentual de acertos de 73% para 89%,
  • 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 configura¸c˜ao 2 e 90 exemplos Informa¸c˜oes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na Valida¸c˜ao Total Acertos Treinamento Algoritmo ´Epocas Quadrado Triˆangulo C´ırculo Total Quadrado Triˆangulo 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 gr´aficos 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 oscila¸c˜oes. Esse excesso de oscila¸c˜oes no BP fez com que o treinamento do BP demandasse cerca de 26 vezes mais ´epocas que o BP, que apresentou pouca redu¸c˜ao no n´umero de ´epocas para convergˆencia. Figura 5.9: ´Epocas x Erro - BP com a Configura¸c˜ao 2 e 90 Exemplos Figura 5.10: ´Epocas x Erro - RP com a Configura¸c˜ao 2 e 90 Exemplos Com 90 exemplos no treinamento, o BP se saiu melhor quanto ao percentual de
  • 66. 5.2 Resultados Obtidos Pelos Algoritmos 63 acertos, por´em o RP manteve uma acertividade pr´oxima com uma convergˆencia bem mais acelerada. Utilizando 150 Exemplos de Entrada Aumentando um pouco mais o n´umero 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 diferen¸ca de 3% ou 10 formas geom´etricas. Tabela 5.6: Tabela de resultados dos treinamentos com configura¸c˜ao 2 e 150 exemplos Informa¸c˜oes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na Valida¸c˜ao Total Acertos Treinamento Algoritmo ´Epocas Quadrado Triˆangulo C´ırculo Total Quadrado Triˆangulo 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 gr´aficos 5.11 e 5.12, por´em, como nos demais treinamentos, o BP apre- sentou muitas oscila¸c˜oes e precisou de muitas ´epocas para convergir, enquanto que o RP manteve o baixo n´umero de oscila¸c˜oes e um n´umero menor de ´epocas para a convergˆencia. Figura 5.11: ´Epocas x Erro - BP com a Configura¸c˜ao 2 e 150 Exemplos An´alise dos Resultados da Configura¸c˜ao 2 Conforme esperado, com 201 neurˆonios na camada oculta, as RNAs treinadas tanto pelo BP quanto que pelo RP, apresentaram um aumento no seu percentual de acerto
  • 67. 5.2 Resultados Obtidos Pelos Algoritmos 64 Figura 5.12: ´Epocas x Erro - RP com a Configura¸c˜ao 2 e 150 Exemplos proporcional ao aumento na quantidade de exemplos, conseguindo um acerto m´aximo de 92% de acerto com o BP e 89% com o RP. ´E interessante observar, que esses foram exatamente os mesmos valores m´aximos obtidos pelas RNAs com a configura¸c˜ao 1. Nessa configura¸c˜ao, mais uma vez, de uma forma geral, o BP se saiu melhor no percentual de acertos, mas apresentou um n´umero maior de ´epoca necess´arias para a convergˆencia em todos os casos. J´a o RP convergiu em um n´umero menor de ´epocas e com poucas oscila¸c˜oes, mas apresentou margem de acertos um pouco inferior. 5.2.3 Configura¸c˜ao 3 - Utilizando a Regra de Fletcher-Gloss para Determinar o N´umero de Neurˆonios Ocultos Entende-se como configura¸c˜ao 3, aquela que utiliza a regra de Fletcher-Gloss para determinar o n´umero de neurˆonios 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 gr´aficos, pode-se observar que o gr´afico do RP, figura 5.14, n˜ao tem tantas oscila¸c˜oes quanto a do BP, figura 5.13, demandando um n´umero bem menor de
  • 68. 5.2 Resultados Obtidos Pelos Algoritmos 65 Tabela 5.7: Tabela de resultados dos treinamentos com configura¸c˜ao 3 e 30 exemplos Informa¸c˜oes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na Valida¸c˜ao Total Acertos Treinamento Algoritmo ´Epocas Quadrado Triˆangulo C´ırculo Total Quadrado Triˆangulo 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 Configura¸c˜ao 3 e 30 Exemplos Figura 5.14: ´Epocas x Erro - RP com a Configura¸c˜ao 3 e 30 Exemplos Nesta configura¸c˜ao com 21 neurˆonios 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 trˆes vezes menos ´epocas que o BP, que precisou de 87 ´epocas para convergir.
  • 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 geom´etricas. Tabela 5.8: Tabela de resultados dos treinamentos com configura¸c˜ao 3 e 90 exemplos Informa¸c˜oes Treinamento Acertos Obtidos no Treinamento Acertos Obtidos na Valida¸c˜ao Total Acertos Treinamento Algoritmo ´Epocas Quadrado Triˆangulo C´ırculo Total Quadrado Triˆangulo 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 oscila¸c˜oes que ocasionaram um n´umero excessivo de ´epocas necess´arias para con- vergir, enquanto o RP manteve um n´umero reduzido de oscila¸c˜oes, conseguindo convergir em um n´umero menor de ´epocas. Figura 5.15: ´Epocas x Erro - BP com a Configura¸c˜ao 3 e 90 Exemplos ´E poss´ıvel notar que com o aumento de exemplos no treinamento, o BP melhorou significativamente sua acertividade, por´em experimentou 12.000 ´epocas at´e a sua con- vergˆencia. Se comparado ao RP, que precisou de apenas 57 ´epocas, apresentou uma acertividade um pouco maior, mas uma convergˆencia com 210 vezes mais ´epocas.
  • 70. 5.2 Resultados Obtidos Pelos Algoritmos 67 Figura 5.16: ´Epocas x Erro - RP com a Configura¸c˜ao 3 e 90 Exemplos Utilizando 150 Exemplos de Entrada Aumentando novamente o n´umero de exemplos, pode-se observar na tabela 5.9, que ambas as RNAs conseguiram acertar mais de 90% das formas geom´etricas, mostrando que nessa configura¸c˜ao 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 configura¸c˜ao 3 e 150 exemplos C´odigoTreinamento Informa¸c˜oesTreinamento AcertosObtidosnoTreinamento AcertosObtidosnaValida¸c˜ao TotalAcertos Algoritmo ´Epocas Quadrado Triˆangulo C´ırculo Total Quadrado Triˆangulo 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 oscila¸c˜oes se comparada com o RP, necessitando de 767 ´epocas contra apenas 79 do RP. Figura 5.17: ´Epocas x Erro - BP com a Configura¸c˜ao 3 e 150 Exemplos