You are on page 1of 0

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL

INSTITUTO DE INFORMTICA
CURSO DE ENGENHARIA DA COMPUTAO

JOREL SETTIN

Um Algoritmo de Aprendizado por Reforo Para Redes Neurais


Utilizando Metaotimizao Estatstica

Trabalho de Diplomao.

Prof. Dr. Paulo Martins Engel


Orientador

Porto Alegre, dezembro de 2010.

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL


Reitor: Prof. Carlos Alexandre Netto
Vice-Reitor: Prof. Rui Vicente Oppermann
Pr-Reitora de Graduao: Profa. Valquiria Link Bassani
Diretor do Instituto de Informtica: Prof. Flvio Rech Wagner
Coordenador do ECP: Prof. Gilson Incio Wirth
Bibliotecria-Chefe do Instituto de Informtica: Beatriz Regina Bastos Haro

AGRADECIMENTOS
Devo esse trabalho e minha jornada de aprendizado minha famlia, que sempre me
incentivou e apoiou o meu desejo de estudar.
Agradeo aos colegas que estiveram comigo durante minha vida acadmica,
especialmente ao Rodrigo, Fernando e Maurcio, e a todos os amigos que estiveram
juntos durante minha vida.
Realizo esse trabalho com esforo e dedicao aos professores, to pacientes, que
contriburam com sua experincia para a formao do meu intelecto e carter, bem
como aos membros da universidade.
Devo minha autoconfiana aos meus colegas e amigos, que reavivaram minha
vontade e capacidade de realizar uma grande obra, especialmente a Shankar Dev e
Lakshmi.
Dedico os resultados desse trabalho somente para o bem e evoluo da sociedade.
Finalmente, relembro de Deus, a Quem todas as causas e resultados pertencem.

SUMRIO

LISTA DE ABREVIATURAS E SIGLAS...............................................................6


LISTA DE FIGURAS.............................................................................................7
LISTA DE TABELAS............................................................................................8
RESUMO..............................................................................................................9
ABSTRACT........................................................................................................10
1 INTRODUO................................................................................................11
1.1 Aprendizado por Reforo..............................................................................................................12
1.2 Principais Mtodos de Aprendizado Aplicveis ao Problema...................................................14
1.2.1 Mtodos Genticos.................................................................................................................14
1.2.2 Recozimento Simulado...........................................................................................................15
1.2.3 Mtodo do Gradiente Ascendente...........................................................................................15

2 ANLISE DO ESTADO DA ARTE.................................................................17


2.1 Neuroevoluo de Topologias Aumentativas ..............................................................................17
2.1.1 Descrio................................................................................................................................17
2.1.2 Avaliao do Desempenho do Mtodo NEAT........................................................................19
2.2 Recozimento Simulado Adaptativo..............................................................................................20
2.2.1 Descrio................................................................................................................................21
2.3 Aprendizado de Redes Neurais em Cascata................................................................................21

3 EM BUSCA DE UMA NOVA ABORDAGEM..................................................23


3.1 Topologias Crescentes...................................................................................................................23
3.2 Arquitetura da Rede Neural.........................................................................................................24
3.2.1 O Problema da Dupla Representao.....................................................................................25
3.2.2 A Recombinao de Redes Neurais........................................................................................27
3.2.3 Uma Abordagem Mais Simples..............................................................................................27

3.3 timos Locais................................................................................................................................28


3.4 Nichos de Solues.........................................................................................................................29
3.4.1 Mtrica de Distncia Entre Redes Neurais.............................................................................30
3.4.2 Distncia Entre Redes Neurais de Topologias Diferentes......................................................31
3.5 Gerador de Candidatos.................................................................................................................31
3.6 Algoritmo de Aprendizado............................................................................................................32

4 TESTES, RESULTADOS E COMPARAES..............................................34


4.1 Duplo Carro-Pndulo....................................................................................................................34
4.2 Carro-Pndulo...............................................................................................................................35
4.2.1 Evoluo da Clusterizao no Problema de Carro-Pndulo...................................................35
4.2.2 O Espao de Busca no Problema do Carro-Pndulo..............................................................36

5 CONCLUSO.................................................................................................37
5.1 As Contribuies Desse Trabalho.................................................................................................37
5.2 Os Problemas.................................................................................................................................38
5.2.1 Continuum de solues...........................................................................................................38
5.2.2 Amostragem para conhecimento do espao de busca.............................................................38
5.2.3 Perda da informao nos algoritmos de estatstica online......................................................39
5.2.4 Busca Inversa a Partir de um Ponto........................................................................................40
5.3 Tcnicas Relevantes.......................................................................................................................40
5.3.1 Estatstica No Paramtrica....................................................................................................40
5.3.2 Mtricas de Distncia Entre Distribuies Normais Multidimensionais................................42
5.3.3 Visualizao do espao de busca............................................................................................42
5.4 Trabalho Futuro............................................................................................................................44

REFERNCIAS..................................................................................................46
ANEXO ARTIGO DA PROPOSTA DESSE TRABALHO...............................48
APNDICE TABELAS DE RESULTADOS ....................................................62

LISTA DE ABREVIATURAS E SIGLAS


x

derivada de uma varivel qualquer (x) em relao ao tempo

funo gradiente

distncia, segundo alguma mtrica

mdia de uma varivel (x)

desvio-padro

parcela de uma populao de uma distribuio

N(u, )

distribuio normal com mdia u e desvio-padro

N1 U N2

unio dos elementos de duas distribuies normais

probabilidade de uma varivel em uma distribuio

tempo

Temperatura em funo do tempo no algoritmo de recozimento simulado

T0

Temperatura inicial no algoritmo de recozimento simulado

[a,b]

faixa contnua de valores entre a e b

uma constante qualquer

sgm(x)

funo sigmoide de x, expressa por

NEAT

Neuroevoluo de topologias
Augmenting Topologies)

1
1e x
aumentativas

(NeuroEvolution

of

LISTA DE FIGURAS
Figura 1.1: Problema do carro-pndulo...........................................................................12
Figura 1.2: Rede neural multicamada..............................................................................13
Figura 1.3: Modelo de aprendizado por reforo..............................................................14
Figura 1.4: Mtodo do gradiente ascendente...................................................................16
Figura 2.1: Casando genomas de diferentes topologias no NEAT..................................18
Figura 2.2: Os dois tipos de mutao estrutural no NEAT..............................................19
Figura 2.3: Problema de classificao de N-Pontos........................................................19
Figura 2.4: Desempenho do NEAT no problema de N-Pontos .......................................20
Figura 2.5: Mtodo de aprendizagem em cascata............................................................22
Figura 2.6: Algoritmo de aprendizado para redes neurais evolutivas em cascata...........22
Figura 3.1: Deteco de representatividade para aprendizado por reforo.....................24
Figura 3.2: Arquiteturas de redes neurais........................................................................25
Figura 3.3: Dupla representatividade por pesos e bias diferentes...................................25
Figura 3.4: Dupla representatividade estrutural..............................................................26
Figura 3.5: Dupla representatividade por soma de componentes....................................26
Figura 3.6: Alteraes nas funes durante recombinao no mtodo NEAT................27
Figura 3.7: Recombinao em redes neurais de camada simples....................................27
Figura 3.8: Arquitetura de rede neural proposta..............................................................28
Figura 3.9: Histograma do espao de busca e taxa de aceitao ()................................28
Figura 3.10: Exemplo de clusterizao proposta.............................................................30
Figura 3.11: Distncia entre duas distribuies normais.................................................30
Figura 3.12: Mapeando redes neurais de diferentes topologias.......................................31
Figura 3.13: Exemplo da gerao de candidatos baseada em estatstica.........................32
Figura 3.14: Algoritmo de treinamento...........................................................................33
Figura 4.1: Evoluo de clusters no problema de carro-pndulo....................................35
Figura 4.2: Espao de busca do carro-pndulo................................................................36
Figura 5.1: Continuum de solues no problema N-Pontos............................................38
Figura 5.2: Diferente nmero de timos locais do espao de busca ...............................39
Figura 5.3: Problema da perda de informao, impedindo a reclusterizao..................40
Figura 5.4: Aproximao iterativa do mtodo EM..........................................................40
Figura 5.5: Histograma multidimensional dinmico.......................................................41
Figura 5.6: Mtodo de ncleo para estimativa de densidade...........................................41
Figura 5.7: Distncia de Mahalanobis.............................................................................42
Figura 5.8: Espao de busca em mtodos genticos........................................................43
Figura 5.9: Espao de busca no mtodo de recozimento simulado.................................43
Figura 5.10: O mtodo de reduo de dimensionalidade................................................44
Figura 5.11: Rede Neural Recorrente de Elman..............................................................45

LISTA DE TABELAS
Tabela 1 Resultados do algoritmo no problema de carro-pndulo...............................62
Tabela 2 Resultados do algoritmo no problema de duplo carro-pndulo.....................63

RESUMO
Esse trabalho analisa as principais tcnicas de treinamento de redes neurais para
problemas de aprendizado por reforo, e finalmente prope um novo modelo utilizando
suas melhores caractersticas, alm de metaotimizao baseada em amostragem
estatstica. O estudo tem por objetivos a obteno de um mtodo com alta taxa de
sucesso, baixo nmero de simulaes do problema, mnima necessidade de prvia
especificao de parmetros de treinamento, adaptabilidade a diversas classes de
problemas, ter um comportamento determinstico para obter solues com a mnima
complexidade necessria, e de baixo custo computacional. Compara-se o desempenho
do algoritmo proposto s tcnicas utilizadas no atual estado da arte, em problemas de
controle de sistemas fsicos, e outros comumente utilizados como teste de desempenho.

Palavras-Chave: metaotimizao estatstica, aprendizado por reforo, treinamento


de redes neurais, arquiteturas de redes neurais, recozimento simulado, algoritmos
genticos, algoritmos evolutivos, redes neurais cascateadas.

A Reinforcement Learning Algorithm for Neural Networks


Using Statistical Meta Optimization

ABSTRACT
This work analyzes the main techniques for training neural networks in
reinforcement learning problems, and finally proposes a new algorithm using their best
features, and besides, utilizing meta-optimization based on statistical sampling. The
study aims to obtain a method with a high rate of success, low number of the simulated
problem evaluations, minimal needs of prior training parameters specification,
adaptability to different problem classes, deterministic behavior for obtaining minimal
complexity solutions, and low computational cost. The performance of the new
algorithm is compared to the main techniques used in state of the art, in problems of
physical system control and other usual benchmarks.

Keywords: statistical meta-optimization, reinforcement learning, neural network


training, neural network architecture, simulated annealing, genetic algorithms,
evolutionary algorithms, cascaded neural networks.

11

1 INTRODUO

Tcnicas de aprendizado por reforo so utilizadas quando se deseja omitir o


trabalho de desenvolver a soluo de um problema, porm devendo especificar uma
mtrica de qualidade de uma soluo qualquer para o problema, normalmente uma
medida quantitativa chamada escore. Desse modo cria-se uma funo que avalia os
resultados das aes de um ator em um ambiente de simulao, e utiliza-se o poder
computacional para heuristicamente encontrar uma soluo aceitvel baseando-se na
avaliao de diversas solues. Usualmente uma soluo pode ser representada por uma
rede neural, que controla as aes do ator.
Problemas complexos caracterizam-se por possurem solues com estratgias
diferentes que podem atingir a qualidade desejada; onde a qualidade das solues cresce
variavelmente com a complexidade da rede neural; onde a qualidade de solues
dificilmente avaliada e pouco representativa da proximidade da funo tima; e onde at
mesmo se desconhece se o problema possui soluo ou qual a soluo tima, alm de
possuir subsolues no timas que devem ser evitadas. Essas situaes tm como
exemplo a natureza, onde so encontradas diversas solues muitas vezes inspiradoras
para a rea da robtica; a complexidade algortmica de estratgias de jogos, onde a
complexidade computacional exigida para a obteno de uma estratgia inicial
desconhecida; sistemas fsicos caticos, como a aerodinmica; e minerao de dados.
Um dos principais objetivos dos mtodos heursticos para a busca de uma soluo
que o algoritmo deve ser capaz de transpor timos locais, que so subsolues de baixa
qualidade, sendo capaz de alcanar solues que cumpram o objetivo especificado, ou
alcanando o timo global, que representa a melhor soluo para um problema.
As duas principais abordagens para os algoritmos heursticos de busca de solues
em problemas de aprendizado por reforo utilizando redes neurais so: as baseadas em
algoritmos genticos, que mantm uma populao de redes neurais dividida em
espcies, sofrendo mutaes e recombinaes ao longo do tempo, e sendo reavaliadas; e
a dos mtodos de recozimento simulado (Simulated Annealing), que iniciam com uma
taxa de variao mxima para a rede neural, e ao longo do tempo diminuem a taxa de
variao, desse modo convergindo para uma soluo tima.
No atual estado da arte tm sido propostas vrias arquiteturas de redes neurais e
variaes e combinaes dos algoritmos de aprendizagem, conseguindo-se bons
resultados para aplicaes especficas. Porm, ainda h poucos estudos que unifiquem a
teoria de aprendizado de forma prtica, e que descrevam porque cada heurstica obtm
um desempenho melhor em cada classe de problemas. Desse modo, ainda tarefa do
desenvolvedor decidir qual algoritmo utilizar e ajustar diversos parmetros do
aprendizado, o que pode ser uma tarefa exaustiva.

12
Neste trabalho objetiva-se analisar as principais heursticas utilizadas atualmente,
tentando fundamentar matematicamente a grande flexibilidade dos algoritmos
genticos, e analisando a complexidade computacional e desempenho nem sempre
aceitveis, porm mais precisos, dos mtodos de recozimento simulado.

1.1 Aprendizado por Reforo


O problema de aprendizado por reforo foi introduzido para que sistemas
computacionais pudessem controlar sistemas fsicos (SUTTON, 1983), que contm
elementos complexos obedecendo s leis matemticas. Como se desconhecia a soluo
matemtica exata para o problema, foi tentado utilizar o poder computacional para achar
uma soluo aceitvel que cumprisse um determinado objetivo, sendo determinada
apenas uma funo que avalia o escore de uma soluo.
Embora o conceito de aprendizado por reforo seja amplo, nesse trabalho o estudo
ser restringido ao uso de redes neurais para a obteno de solues, bem como o
aprendizado por reforo ser restringido ao sistema no supervisionado, significando
que o treino de redes neurais no visa corrigir aes individuais da rede neural no
sistema fsico, mas avalia somente o resultado final (escore) de uma rede neural na
simulao do problema a ser resolvido.
O algoritmo deve possuir sensores, ou entradas, que obtm uma informao do atual
estado do sistema fsico simulado, e, alm disso, deve possuir atuadores, ou sadas, que
realizam uma determinada ao no meio simulado.

Figura 1.1: Problema do carro-pndulo


(cart-pole)
A figura 1.1 ilustra um problema tpico de controle, onde um carro pode mover-se
horizontalmente no eixo X, atravs da aplicao de uma fora horizontal F, devendo

13
manter o pndulo equilibrado em relao vertical. A soluo desse problema pode ser
calculada matematicamente utilizando como variveis a posio do carro (X), a
velocidade do carro X , a posio angular do pndulo () e a velocidade angular do
. A medida de qualidade de uma soluo o tempo em que o sistema
pndulo
consegue manter o pndulo equilibrado sem o carro ultrapassar um limite de posio
(lt).
A figura 1.2 apresenta uma arquitetura tpica de rede neural, onde neurnios de
entrada (an) recebem valores dos sensores do sistema, os neurnios ocultos (bn)
calculam a funo de transferncia do valor da soma das entradas multiplicadas por seus
respectivos pesos (vnp), e os neurnios de sada (cn) calculam a funo de transferncia
do valor da soma dos neurnios ocultos multiplicados por seus respectivos pesos (wnp), e
finalmente obtm um valor de sada que ser utilizado por um atuador no sistema
simulado.

Figura 1.2: Rede neural multicamada


(feed-forward multilayer neural network)
A figura 1.3 ilustra o modelo de aprendizado por reforo supervisionado, onde um
ator exerce uma ao sobre o ambiente, e o ambiente fornece variveis de entrada
(estado) para o ator. O crtico capaz de alterar o funcionamento do ator segundo uma
poltica, buscando melhorar seu desempenho, de acordo com a recompensa que
proporcional a qualidade da soluo do ator. O mtodo da figura difere brevemente do
mtodo utilizado nesse trabalho, que um mtodo no supervisionado. Nos mtodos
no supervisionados o crtico no conhece o estado atual do sistema, nem analisa as
aes individuais do ator, assim leva em conta somente a recompensa oferecida pelo
ambiente, e fornece algum parmetro (por exemplo: um fator de mutao nos mtodos
genticos, ou a temperatura nos mtodos de recozimento simulado) ao ator para a
realizao do aprendizado. Assim, o problema simulado desconhecido ao mtodo de
treinamento (BLACK Box, 2010).

14

Figura 1.3: Modelo de aprendizado por reforo


(SUTTON, 1983)

1.2 Principais Mtodos de Aprendizado Aplicveis ao Problema


1.2.1 Mtodos Genticos
Os mtodos de aprendizado genticos baseiam-se fortemente na evoluo biolgica
dos seres vivos. Cada neurnio e conexo de uma rede neural podem ser representados
por genes, portanto a rede neural representada por um conjunto de genes ou genoma.
Usualmente mantida uma especiao, ou seja, os genomas mais parecidos, segundo
alguma mtrica, so agrupados em espcies. Ao longo de geraes, ocorrem mutaes
nos genes, representando mutaes nos pesos da rede neural, ou so criados novos
genes, representando a criao de novos neurnios e conexes em uma rede neural.
Tambm realizada a recombinao gentica entre indivduos da mesma espcie, na
esperana de aproveitar as melhores caractersticas de dois genomas.
Existem diversas variaes dos algoritmos genticos, contendo diferentes
representaes dos gentipos e fentipos, diferentes tcnicas de recombinao gentica
e de mutaes, e diferentes tcnicas de seleo das melhores solues.
Normalmente a utilizao de algoritmos genticos exige a escolha de parmetros
como o tamanho populacional, para garantir uma grande variabilidade de solues
iniciais; o grau de especiao, para manter a variabilidade de nichos de solues; o grau
de mutao; o grau de eliminao de espcies que no apresentam melhora de
desempenho, para evitar timos locais; e o grau de seleo das melhores solues para
realizar a recombinao gentica. Pode ser necessrio um grande nmero de tentativas
at escolherem-se parmetros timos para obter uma soluo aceitvel de um
determinado problema.

15
1.2.2 Recozimento Simulado
Os mtodos de recozimento simulado de aprendizado baseiam-se na termodinmica,
especificamente na ideia de recozimento da siderurgia, onde aquecendo um material a
uma alta temperatura faz com que os tomos sejam capazes de desprenderem-se de suas
posies iniciais, e ento, lentamente resfriando o material, os tomos tendem a entrar
em um estado ordenado de baixa energia. Analogamente, no sistema de aprendizado
chamado recozimento simulado (Simulated Annealing) inicia-se com uma grande taxa
de variao (anlogo a uma alta temperatura), causando uma grande variabilidade de
solues, e gradualmente reduz-se a taxa de variao (anlogo ao resfriamento), porm
utilizando uma taxa de aceitao que d preferncia a estados onde a soluo possui
maior desempenho (anlogo ao fato dos tomos tenderem a estados de baixa energia).
Desse modo, conforme a temperatura, ou taxa de variao, baixada, obtido o
refinamento de uma soluo at tender ao timo global. Normalmente apresentada
uma prova matemtica de convergncia ao timo global, assumindo distribuies de
probabilidades de estados similares ao processo termodinmico.
Os primeiros algoritmos de recozimento simulado eram fortemente baseados na
termodinmica, inclusive utilizando as mesmas equaes de distribuio de
probabilidades do espao de busca. O mtodo original descrito deve utilizar um roteiro
de resfriamento muito lento com T =T 0 /logt , sendo T a temperatura no instante t,
alm de iniciar com uma temperatura alta suficiente para sair de qualquer timo local
presente no espao de busca, o que leva a um tempo de computao excessivamente alto
para objetivos prticos. Alm disso, o espao de solues percorrido pelo algoritmo
muito superior ao prprio tamanho do espao de solues, pois o algoritmo mantm
apenas um estado atual, podendo regressar ao mesmo aleatoriamente. Devido a esses
problemas tm sido propostas diversas formas de acelerar o processo. Para evitar o
contratempo de percorrer o espao de solues aleatoriamente, uma das solues
iniciar em vrios pontos do espao de busca, assim sendo possvel iniciar com uma
temperatura menor e convergir em menos tempo. Para aumentar a probabilidade de
obter bons candidatos a prximos estados, possvel utilizar alguma heurstica sobre os
melhores candidatos j encontrados, como analisar os pesos e bias das solues
(INGBER, 1989). O roteiro do resfriamento e a taxa de aceitao de candidatos esto
intrinsecamente ligados ao gerador de candidatos, portanto muitos estudos propem
ambos relacionadamente.
De uma forma geral, os principais parmetros a ser escolhidos para o algoritmo so:
a energia (qualidade da soluo) alvo; o gerador de candidatos; a probabilidade de
aceitao, pois o algoritmo deve aceitar estados piores do que o atual com alguma
probabilidade a fim de transpor timos locais e percorrer o espao de solues; a
temperatura inicial; e o roteiro de resfriamento de temperatura.
1.2.3 Mtodo do Gradiente Ascendente
O mtodo do gradiente ascendente (gradient ascent) baseia-se na ideia de que
possvel derivar a qualidade de uma soluo em relao aos pesos e bias de uma rede
neural, obtendo o gradiente () do escore e assim variando-os em direo ao mximo
escore.
A figura 1.4 ilustra quatro passos sucessivos (xn) na busca do timo global do espao
de busca (pequeno crculo central).

16

Figura 1.4: Mtodo do gradiente ascendente

O mtodo do gradiente ascendente exige que o espao de busca seja convexo.


Portanto, raramente funciona em um ambiente de aprendizado por reforo, embora seja
presumvel que haja algum grau de convexidade local nos problemas matemticos e
possa ser utilizado para um ajuste final dos pesos e bias da rede neural.
Foram desenvolvidos vrios mtodos matemticos para o algoritmo ser capaz de
transpor timos locais. Nesse trabalho no ser abordado em detalhes esse mtodo,
porm sim algumas tcnicas que foram desenvolvidas em decorrncia das dificuldades
desse mtodo, na seo 2.3.

17

2 ANLISE DO ESTADO DA ARTE

Nessa seo so descritos dois dos mais eficientes mtodos utilizados para
otimizao de problemas de aprendizado por reforo, sendo o primeiro gentico e o
segundo de recozimento simulado. Em seguida, na seo 2.3 so apresentados os
mtodos de aprendizado de redes neurais cascateadas, por conterem um princpio
determinstico eficiente na busca de solues a partir da complexidade mnima.

2.1 Neuroevoluo de Topologias Aumentativas


Um dos mtodos mais promissores, entre os que clamam ser o melhor mtodo
gentico, est o algoritmo de neuroevoluo de topologias aumentativas
(NeuroEvolution of Augmenting Topologies NEAT). Esse mtodo reuniu um conjunto
de tcnicas e obteve o melhor resultado entre diversos algoritmos genticos,
especialmente em tarefas de controle de jogos (STANLEY, 2005).
2.1.1 Descrio
O mtodo NEAT se baseia nos princpios de recombinao e mutao gentica de
indivduos de uma populao candidatos soluo do problema. Os genes (gentipo)
contm uma representao de uma rede neural (fentipo). Atravs das geraes,
acontecem recombinaes de genes e mutaes, sendo esperado que uma soluo
melhor seja encontrada.
Os principais motivos pelo qual o mtodo NEAT tem se mostrado promissor em
buscas de estratgias complexas so: a manuteno de um nmero de inovao para
cada novo gene, a fim de recombinar genes relacionados entre si; a especiao baseada
em uma medida de diferena entre os genomas, calculada atravs do nmero de genes
disjuntos (presentes em somente uma rede neural), o nmero de genes excessivos
(presentes aps o ltimo gene relacionado), e a mdia da diferena de pesos entre os
genes relacionados; a criao de uma populao inicial com quantidade mnima de
genes, aplicando o princpio de que mais fcil treinar uma rede neural de dimenso
pequena; e a manuteno de uma quantidade razovel de espcies, dando oportunidade
de evoluo em vrios nichos de solues.
Segue a explicao da figura 2.1 obtida do trabalho original, ilustrando o processo
de recombinao gentica do NEAT: Embora o Pai 1 e o Pai 2 paream diferentes, seus
nmeros de inovao (mostrados na parte superior de cada gene) nos mostra quais genes
esto relacionados entre si. Mesmo sem qualquer anlise topolgica, uma nova estrutura
pode ser criada, combinando as intersees dos dois pais bem como suas partes
diferentes. Genes relacionados so herdados aleatoriamente, enquanto genes disjuntos

18
(aqueles no relacionados, mostrados entre o primeiro e o ltimo gene relacionado) e
genes em excesso (aqueles no relacionados, mostrados aps o ltimo gene relacionado)
so herdados do Pai mais adaptado. Nesse caso, igual adaptao assumida, ento os
genes disjuntos e os genes em excesso so tambm herdados aleatoriamente. Os genes
desabilitados podem se tornar habilitados novamente em futuras geraes: existe uma
chance pr-determinada que um gene herdado esteja desabilitado se ele estiver
desabilitado no pai tambm. (STANLEY, 2001). Nesse caso, adaptao refere-se ao
escore de uma rede neural.

Figura 2.1: Casando genomas de diferentes topologias no NEAT


(STANLEY, 2001)
Segue a explicao original da figura 2.2 ilustrando as possveis mutaes do
mtodo NEAT. Ambos os tipos de mutao, adicionando uma conexo e adicionando
um nodo, so ilustrados com os genes conectores de uma rede neural, mostrados acima
de seus fentipos. O nmero superior ao genoma o nmero da inovao daquele gene.
Os nmeros de inovaes so marcadores histricos que identificam o ancestral
histrico original de cada gene. Para os novos genes criados o nmero incrementado.
Adicionando uma conexo, um simples novo gene de conexo adicionado ao fim do
genoma dado o prximo nmero da inovao disponvel. Adicionando um nodo, o gene
de conexo sendo dividido desabilitado, e dois novos genes de conexo so
adicionados ao fim do genoma. O novo nodo fica entre as duas novas conexes. Um
novo gene de nodo adicionado ao genoma. (STANLEY, 2001).
O NEAT utiliza um tamanho fixo para populao, e para manter um nmero mnimo
de espcies, o escore de cada indivduo dividido pelo nmero de indivduos na mesma
espcie. Isso evita que uma espcie que obteve rapidamente um alto desempenho cresa
demasiadamente e impea a progresso de outras espcies, candidatas ao objetivo.

19

Figura 2.2: Os dois tipos de mutao estrutural no NEAT


(STANLEY, 2001)
2.1.2 Avaliao do Desempenho do Mtodo NEAT
O algoritmo NEAT se mostrou eficiente para topologias relativamente pequenas,
sendo suficiente para criar uma estratgia iterativa em jogos. Porm, um estudo
apresentado a seguir ilustra as limitaes do algoritmo quando exigida uma topologia
mais complexa e que exige um alto grau de variabilidade das solues, demonstrando
sua baixa eficincia nesses ambientes (KOHL, 2009).

Figura 2.3: Problema de classificao de N-Pontos


(KOHL, 2009)
A figura 2.3 ilustra o problema da classificao de pontos em duas situaes, uma
com baixa variabilidade (v) em (a), outra com alta variabilidade em (b).
A figura 2.4 ilustra os resultados do desempenho do algoritmo NEAT para os
diferentes graus de variabilidade exigidos. Conforme v aumenta, a variabilidade
necessria para resolver o problema tambm aumenta, e o desempenho do NEAT cai. O

20
mesmo ocorre conforme N aumenta. Esse resultado reala a dificuldade do NEAT em
produzir solues com alta variabilidade. (KOHL, 2009).

Figura 2.4: Desempenho do NEAT no problema de N-Pontos


(para N = 3, 5, 7, 10 e v = 0.01..10). (KOHL, 2009).
Kohl (2009) analisa os motivos do baixo desempenho do algoritmo NEAT, chegando
concluso que redes neurais com um nmero maior de neurnios haviam obtido
melhores resultados. Assim, Kohl prope aumentar a taxa de mutaes estruturais do
algoritmo de aprendizado, porm novamente obtendo resultados insatisfatrios. Chegase a concluso que tais tipos de problema necessitam a construo gradual e
cuidadosamente controlada da rede neural. Finalmente Kohl prope uma arquitetura
Cascade-NEAT, onde novos neurnios so adicionados exatamente com os mesmos
tipos de conexes apresentados no mtodo Cascade-Correlation Neural Network,
ilustrado na figura 2.5, obtendo solues ligeiramente melhores do que o algoritmo
original para o problema de N-Pontos, porm obtendo solues piores para o problema
de carro-pndulo. Uma explicao do motivo do baixo desempenho no problema de
carro-pndulo que esse problema exige apenas um neurnio para obteno da soluo,
conforme comentado na seo 4.1.

2.2 Recozimento Simulado Adaptativo


O mtodo de recozimento simulado adaptativo (Adaptive Simulated Annealing)
desenvolvido por Ingber (1989), previamente conhecido como Very Fast Simulated
Reannealing, foi uma melhora matemtica na frmula para gerao de candidatos do
algoritmo de recozimento simulado que obteve uma acelerao significativa do
algoritmo original, permitindo um roteiro de resfriamento com taxas exponenciais, e

21
assim tornando o algoritmo prtico para diversos tipos de problemas, porm nem
sempre alcanando o timo global.
2.2.1 Descrio
A verso anterior, chamada Fast Simulated Annealing, de H. Szu e R. Hartley, utiliza
uma distribuio estatstica de Cauchy (similar a uma distribuio normal, podendo
assumir valores infinitos) para a gerao de pesos e bias da rede neural, requerendo um
roteiro para a queda de temperatura proporcional a T =T 0 /t para obteno do timo
global. Finalmente Ingber props que os pesos e bias a ser otimizados encontram-se em
uma faixa finita de valores [Ai,Bi], e que esta faixa poderia iniciar com valores fixos de
A e B e ser amostrada e estimada durante a execuo do algoritmo de treinamento. Isso
1
D

permitiu que o planejamento de resfriamento da temperatura fosse T =T 0 /e kt sendo k


uma constante a ser estimada pelo algoritmo de aprendizado ou empiricamente; D o
nmero de dimenses a ser otimizadas (pesos e bias da rede neural); e t o tempo de
simulao do algoritmo de aprendizado, permitindo assim a obteno do timo global
em um tempo prtico.
Foram utilizadas vrias tcnicas para amostragem dos valores dos pesos e bias e
assim obter um gerador de candidatos eficiente: o simples reescalonamento para uma
distribuio uniforme [Ai,Bi]; a anlise de covarincia entre todos os valores (INGBER,
1992); e o clculo da sensitividade da qualidade da soluo em relao a cada parmetro
a ser otimizado.

2.3 Aprendizado de Redes Neurais em Cascata


No contexto da poca do estudo (FAHLMAN, 1991), um dos principais problemas
de utilizar redes neurais de topologia fixa, que iniciam com um nmero fixo de
neurnios e no so criados novos, que usualmente era causado um sobreajuste (overfitting) de pesos e bias da rede neural. Isso significa que o algoritmo de aprendizado
tentava ajustar-se a um timo local, devido ao desconhecimento de quais conjuntos de
teste eram mais significativos para a obteno de uma soluo de boa qualidade em
relao a todo o conjunto de teste. Alm disso, o clculo do gradiente ascendente para
vrios neurnios pode causar que os passos em direo ao timo global acabam no
convergindo na direo correta, e desse modo deve-se reduzir o tamanho do passo a
valores ineficientemente pequenos.
Fahlman (1991) props a arquitetura de redes neurais chamada Arquitetura de
Aprendizado de Correlao Cascateada (The Cascade-Correlation Learning
Architecture), onde a rede neural inicia sem nenhum neurnio oculto, e somente um
neurnio adicionando e treinado a cada iterao, conforme a figura 2.5, assim obtendo
automaticamente um tamanho mnimo para a rede neural, e evitando o sobreajuste por
identificar as entradas mais relevantes para o desempenho da rede neural.
O mtodo de aprendizado cascateado foi novamente melhorado, permitindo
identificar quais as entradas mais relevantes da rede neural, testando ordenadamente
suas representatividades em relao qualidade de uma soluo (SCHETININ, 2003),
conforme ilustrado na figura 2.6. Primeiramente avaliada a relevncia de todas as
entradas (xn) (no ilustrado), obtendo a entrada x36 como mais relevante, seguido de x23,
x10 e x60. Inicialmente criado o neurnio z1 conectado a x36 e x23. Aps, z2 criado

22
conectado novamente a x36 e x23, alm de z1. Como o candidato z2 no aumentou a
qualidade da soluo, o neurnio descartado, e a prxima entrada (x10) utilizada na
prxima iterao. Novamente z2 criado conectado a z1, x36 e x10, melhorando a
qualidade da soluo e, portanto sendo consolidado, e assim por diante. Quando todas as
entradas foram utilizadas, o algoritmo interrompido.

Figura 2.5: Mtodo de aprendizagem em cascata


(Cascade-Correlation Neural Network) (FAHLMAN, 1991, p. 4)

Figura 2.6: Algoritmo de aprendizado para redes


neurais evolutivas em cascata
(SCHETININ, 2003)

23

3 EM BUSCA DE UMA NOVA ABORDAGEM

Nessa seo so analisados os principais detalhes arquiteturais de redes neurais e


algoritmos de treinamento at ento vistos, entre outros, com o objetivo de chegar a
concluses sobre as principais vantagens de cada mtodo e projetar um novo mtodo
hbrido com alta probabilidade de sucesso e alta eficincia computacional baseado em
mtodos de amostragem estatstica.

3.1 Topologias Crescentes


O treinamento de redes neurais a partir de uma estrutura mnima mostrou-se crucial
ao longo da histria para obteno rpida e precisa de resultados. Estruturas pequenas
possuem uma quantidade reduzida de dimenses, diminuindo o espao de buscas
(ELMAN, 1993).
O mtodo NEAT utiliza esse conceito na forma de que se inicia o processo com uma
populao de topologia mnima, e novos neurnios e conexes so adicionados de
forma no determinstica, atravs de mutaes. Devido ao baixo desempenho relatado
por Kohl (2009), descrita na seo 2.1.2, levada em conta a abordagem dos mtodos
de aprendizagem cascateados, criando um novo neurnio e o otimizando ao mximo a
cada iterao, de uma forma determinstica.
Refletindo sobre a aplicao do princpio de aprendizado cascateado em ambientes
de aprendizado por reforo, pode-se supor que a adio de um nico neurnio a cada
iterao (ou uma conexo a uma nica entrada da rede neural), e seu posterior
treinamento, no seja suficiente para obter uma lgica mnima representativa de uma
soluo (LAHNAJRVI, 2002). Outra dificuldade que para identificar a
complexidade mnima da rede neural devem-se treinar todas as possibilidades, partindo
da mais simples at a mais complexa. Na prtica, desejado um meio-termo entre uma
topologia mnima e uma boa taxa de aprendizado, portanto deve-se definir
empiricamente um passo de aprendizado que seja relevante ao problema a ser
solucionado, e que minimize razoavelmente o nmero de dimenses a ser otimizadas a
cada iterao.
A figura 3.1 ilustra uma proposta de busca crescente em complexidade (da esquerda
para a direita) de solues. So mostradas trs solues com um neurnio a ser
avaliadas, tendo como entrada A, B, ou ambas. O prximo passo utilizar dois
neurnios com diferentes permutaes de entradas. O algoritmo segue aumentando o
nmero de neurnios at encontrar uma soluo representativa (ou mais representativa
do que as outras). O nmero de dimenses exemplificado na figura refere-se aos pesos
das conexes das entradas aos neurnios ocultos, aos bias dos neurnios ocultos, aos
pesos das conexes entre os neurnios ocultos e o neurnio de sada (supondo uma

24
nica sada) e ao bias do neurnio de sada (no ilustrados na figura) (detalhes da
arquitetura da rede neural so apresentados na seo 3.2).

Figura 3.1: Deteco de representatividade para aprendizado por reforo


Outro problema relacionado deteco de representatividade ocorre no problema de
carro-pndulo. No problema original proposto, o carro inicia exatamente no centro de
seu espao disponvel, e dessa forma a soluo matemtica para o problema de
equilibrar o pndulo no necessariamente depende da posio atual do carro (x), porm
assim necessitando uma capacidade de equilibrar o pndulo muito mais precisa baseada
nas outras entradas. J se for utilizada a posio do carro (x), mais fcil obter solues
para o problema, porm normalmente o carro acaba se equilibrando em uma distncia
longe do centro (x0). Ento o problema da representatividade de entradas acabaria
encontrando a soluo mais complexa, no dependendo da posio do carro (x). Sendo
assim, presumvel que testar vrias topologias paralelamente mais aceitvel para
obter uma soluo mais simples, mesmo que com uma topologia contendo mais
conexes e neurnios.

3.2 Arquitetura da Rede Neural


Nessa seo feita uma anlise das arquiteturas de redes neurais de alimentaoavante (feed-forward) mais comumente utilizadas. Todas elas seguem o princpio do
teorema de aproximao universal, que prova que qualquer funo pode ser aproximada
por um somatrio de um peso multiplicado por uma funo de transferncia continua e
monotnica da soma das entradas multiplicadas por respectivos pesos, e adicionalmente
um bias (CYBENKO, 1989). Devido a detalhes dos algoritmos de treinamento
desenvolvidos, foram criadas vrias formas de representar uma rede neural.
Na figura 3.2 representado em (a) uma rede neural de uma nica camada
escondida (hidden layer), podendo conter quantos neurnios escondidos forem
necessrios para representar a funo de sada desejada. Alguns algoritmos de
treinamento so automaticamente capazes de criar novos neurnios escondidos
conforme a necessidade, outros algoritmos iniciam com um nmero fixo de neurnios.
A rede neural representada em (b) tpica dos algoritmos genticos como o NEAT, pois
as mutaes de criao de novos neurnios e conexes podem acontecer em quaisquer
outros neurnios ou conexes, portanto criando redes neurais de mltiplas camadas. A
rede neural em (c) do modelo cascateada, onde novos neurnios ocultos so criados
conectados a todos os outros neurnios oculto e s entradas da rede neural.

25
Uma vantagem dessas arquiteturas apresentadas na figura 3.2 que um mesmo
neurnio oculto pode realizar um clculo relevante para vrias sadas, visto que, em um
problema de controle, as sadas podem estar relacionadas identificao de um
determinado estado das entradas.

Figura 3.2: Arquiteturas de redes neurais


3.2.1 O Problema da Dupla Representao
No contexto desse trabalho, onde se deseja realizar amostragem estatstica dos pesos
e bias da rede neural, atravs da clusterizao de solues similares (ser abordado na
seo 3.4), ser vantajoso se no houver dupla representao de redes neurais. Isso
significa que no deve haver topologias de neurnios diferentes, tampouco duas
configuraes de pesos e bias de um neurnio, que possam ter como sada a mesma
funo. As seguintes figuras ilustram algumas situaes em que o problema acontece,
utilizando a funo de transferncia sigmoide (sgm).

1sgm x00=1sgmx01
Figura 3.3: Dupla representatividade por pesos e bias diferentes

26
O problema apresentado na figura 3.3 pode ser resolvido utilizando somente pesos
positivos nos neurnios, embora isso impea a utilizao de um mesmo neurnio oculto
em duas sadas da rede neural, caso uma necessite o peso positivo, e outra necessite o
peso negativo.

1sgm x 004.32sgm 1sgm x01.16


Figura 3.4: Dupla representatividade estrutural

1sgm x00=0.5sgm x00.5sgm x00


Figura 3.5: Dupla representatividade por soma de componentes
O problema da figura 3.4 e 3.5 seria automaticamente solucionado pela busca em
topologias de menor complexidade. No entanto, no mtodo NEAT, por as mutaes
estruturais serem aleatrias, possvel que haja duas topologias equivalentes. O
problema da figura 3.5 poderia ocasionar que a insero de um novo neurnio oculto
equivalente (em pesos e bias) a um j existente cause uma divergncia ao invs da
convergncia nos valores, pois haveria infinitas possibilidades de pesos que representam
a mesma funo, dessa forma, seria prudente reduzir os neurnios equivalentes a apenas
um, atravs da soma de seus pesos. Outro problema de infinitas solues, porm
relacionado ao escore, ser visto na seo 5.2.1.
Outro problema que surge so neurnios com peso zero na conexo com neurnios
de sada, pois no alteram a funo realizada. Neurnios que possuem todos os pesos
zero em suas conexes com as entradas podem ocasionar um bias adicional no neurnio
de sada, portanto devem ser eliminados.

27
3.2.2 A Recombinao de Redes Neurais
A adio de novos neurnios, bem como a recombinao gentica utilizados no
mtodo NEAT, aplicados em redes neurais multicamada, conforme a figura 3.2 (b),
causam uma grande alterao na funo calculada pela rede neural. A figura 3.6 ilustra a
adio de um novo neurnio, da mesma forma que o problema de dupla representao
apresentado na figura 3.4. O fator 4,9 utilizado pelo NEAT consegue minimizar os
efeitos da adio de um novo neurnio, devido ao comportamento linear da funo
sigmoide utilizando esse fator. Porm percebida a alterao drstica na funo
realizada pelos neurnios.

sgm4.9X

sgm4.9sgm4.9X

Figura 3.6: Alteraes nas funes durante recombinao no mtodo NEAT


Essas alteraes justificam que o mtodo NEAT aps realizar uma mutao estrutural
tambm realize mutaes nos pesos e bias da rede neural, levando em conta que a
funo original da figura 3.6 poderia ser corrigida com pequenas alteraes nos pesos e
bias, experimentalmente pela seguinte funo:
1.2sgm 4.9sgm 4.9 0.8X 2.50.1
Analisando a recombinao de redes neurais de camada simples, utilizando uma
funo de transferncia linear no neurnio de sada, ilustrada na figura 3.7, obtemos
resultados ligeiramente melhores, necessitando apenas eventuais ajustes nos pesos.

sgm x3sgm x4

sgm x4sgm x3

sgm

Figura 3.7: Recombinao em redes neurais de camada simples


3.2.3 Uma Abordagem Mais Simples
Devido aos problemas apresentados nas sees 3.2.1 e 3.2.2, nesse trabalho optada
uma implementao mais simples, utilizando neurnios de sada com funo de
transferncia linear, conforme a figura 3.7, alm de no permitir conexes entre
neurnios ocultos, devido ao problema apresentado na figura 3.6. Assim, evitando os
problemas de dupla representatividade, e obtendo um bom desempenho em eventuais
recombinaes de redes neurais. A figura 3.8 ilustra um exemplo de tal rede neural,
contendo duas entradas, e trs neurnios ocultos contendo conexes hipotticas.

28

Figura 3.8: Arquitetura de rede neural proposta

3.3 timos Locais


O mtodo de recozimento simulado capaz de transpor timos locais atravs de sua
funo de aceitao, que conforme a temperatura do processo baixada, a probabilidade
de aceitao de um escore inferior ao estado atual diminuda. Desse modo, quando um
grande nmero de candidatos seguidos no for aceito, ou a taxa de candidatos aceitos
pelo nmero de candidatos gerados estiver abaixo de um valor, o algoritmo encerrado,
presumindo que o timo global foi alcanado. Os clculos normalmente so baseados
em distribuies de probabilidades predefinidas baseadas na termodinmica. Se o
problema no apresentar tal probabilidade de distribuies, pode ocorrer um baixo
desempenho. O algoritmo Adaptive Simulated Annealing permite que sejam
especificadas outras distribuies.
J o mtodo NEAT elimina espcies que no apresentem melhora de desempenho em
um nmero predefinido de geraes, ou, se nenhuma espcie apresentar melhora de
desempenho, somente s duas melhores ser permitida a reproduo.
Para evitar o problema de assumir uma distribuio, nesse trabalho ser proposta a
utilizao do armazenamento de um histograma, que uma tcnica estatstica no
paramtrica, o que significa que ela no assume qualquer predefinio na probabilidade
de distribuies. Ento, para a gerao de candidatos, somente so aceitos candidatos
com escore superior a uma grande parcela da populao, conforme a figura 3.9 ilustra
(para =0.1, somente so aceitos candidatos com escore superior a 90% da populao).

Figura 3.9: Histograma do espao de busca e taxa de aceitao ()

29
Conforme so gerados candidatos com escore superior, eles so agrupados
(conforme a seo 3.4 explica) e seus pesos e bias analisados, avaliando a mdia e
desvios-padro, e assim esperado um aumento gradual nos escores de um
agrupamento. Porm, para realizar a deteco de timos locais que devem ser
eliminados, ser utilizada uma abordagem parecida do mtodo de recozimento
simulado, ou seja, quando a quantidade de candidatos gerados aceitos for menor do que
uma parcela de candidatos gerados, assumido que o agrupamento atingiu um timo
local. Por exemplo, caso seja utilizado =0.1, esperado que 10% dos candidatos
gerados atinjam o escore superior a 90% dos candidatos at ento amostrados. Pode-se
utilizar uma margem de segurana para evitar a eliminao incorreta do agrupamento,
levando em conta que o mtodo estatstico.

3.4 Nichos de Solues


O mtodo NEAT utiliza a especiao de solues para a identificao de timos
locais, bem como para permitir a coevoluo de nichos de solues, levando em conta
que diferentes estratgias podem solucionar um problema de controle.
O mtodo de recozimento simulado no possui tal caracterstica, j que o algoritmo
objetiva alcanar unicamente o timo global, ou uma nica soluo aceitvel.
Nesse trabalho proposta a utilizao de anlise de clusters (cluster analysis) para
agrupamento de solues similares, equivalentemente a especiao dos mtodos
genticos. H vrios algoritmos de clusterizao, com diferentes graus de
determinismo, confiana e custo computacional. Por realizarmos o processo de
clusterizao com poucas amostras, escolhido um mtodo de fcil implementao,
determinstico, de custo cbico em relao ao nmero de amostras, o mtodo
aglomerativo do vizinho-mais-prximo (Agglomerative Nearest-neighbour) (STREHL,
2002).
A explicao do mtodo segue: uma vez que o algoritmo possua uma quantidade
predefinida de candidatos com escore superior, medida a distncia entre todos eles
(chamados pontos), e iniciada a aglomerao a partir da menor distncia. Os pontos
so unidos, formando um cluster, e a mdia e desvios-padro dos pesos e bias so
calculados. Uma vez que um novo ponto candidato aglomerao no mesmo cluster,
verificada a distncia, segundo alguma mtrica (ver seo 3.4.1), para permisso ou
recusa da aglomerao. Caso um ponto candidato aglomerao j esteja inserido em
um cluster, avaliada a possibilidade de unio dos dois clusters. Caso acontea a recusa
da aglomerao, ambos os ponto (ou cluster) e cluster so considerados terminados, no
sendo permitidas mais aglomeraes. O algoritmo prossegue at que todas as distncias
calculadas inicialmente sejam testadas, ou todos os clusters e pontos estejam
finalizados.
observado que o algoritmo encontra automaticamente o nmero de clusters, e
sempre obtm o mesmo resultado caso os pontos sejam avaliados em ordem diferente.
O exemplo da figura 3.10 ilustra um espao de busca hipottica com duas dimenses
(X e Y) (representando pesos e bias). Ocorre a identificao de dois clusters, e dois
pontos mantm-se no clusterizados. As linhas interligando os pontos representam as
distncias calculadas inicialmente, porm somente as que foram relevantes para o
processo, at que todos os pontos e clusters foram considerados finalizados.

30

Figura 3.10: Exemplo de clusterizao proposta


3.4.1 Mtrica de Distncia Entre Redes Neurais
Existem diversas mtricas para obteno da medida de distncia em espaos
multidimensionais (AGGARWAL), e mais ainda para distncias entre distribuies
normais. Algumas mtricas mais avanadas so brevemente vistas na seo 5.3.2.
Para simplificao, e supostamente por eficcia, nesse trabalho, a distncia D ser
medida pela mdia da soma das distncias (medida em desvios-padro, portanto a mdia
dever ser o valor quadrtico mdio) entre as distribuies normais das dimenses
(pesos e bias), expressa pela seguinte frmula:
D=

2
N
u1xu2x
1

N x=1 N 1x N 2x

D N 2,0.5 , N 2,0.5=1.94

D N 2,5 , N 2,5=0.74

Sendo a distncia: D N 1, N 2=

u1 u2
N 1N 2

Figura 3.11: Distncia entre duas distribuies normais


A figura 3.11 ilustra um exemplo de distncia entre duas distribuies normais com
a mesma mdia, porm desvios-padro diferentes (grfico da esquerda e da direita). O
resultado D a medida em desvios-padro (rea preenchida) da soma das distribuies.

31
3.4.2 Distncia Entre Redes Neurais de Topologias Diferentes
A arquitetura de rede neural apresentada na seo 3.2.3 permite que seja calculada
uma distncia entre duas redes neurais de diferentes topologias. Segue a explicao do
algoritmo: so calculadas as distncias entre todos pares possveis das duas redes
neurais, e ento criado o mapa de neurnios mais parecidos entre as duas redes
neurais, a partir das menores distncias.
A figura 3.12 ilustra o caso onde durante a comparao de dois neurnios eles
contenham diferentes conexes s entradas da rede neural (d falta na segunda rede
neural), pode-se assumir que a distribuio normal de pesos da conexo faltante seja
zero. Caso as redes neurais contenham diferente nmero de neurnios, assume-se que os
neurnios faltantes possuem peso zero (b, conexo com o neurnio de sada), porm
assim no so calculadas as distncias entre os pesos e bias das conexes com os
neurnios de entrada. Ento realizado o clculo do valor mdio quadrtico dos pesos
(a), (b), (c), (d), e dos bias (e) e (f).

Figura 3.12: Mapeando redes neurais de diferentes topologias

3.5 Gerador de Candidatos


O mtodo NEAT no utiliza qualquer heurstica sobre os pesos e bias dos indivduos
presentes em uma espcie para a gerao de novos candidatos (NEUROEVOLUTION,
2010). J o mtodo Adaptive Simulated Annealing possui recursos para amostrar os
mximos e mnimos de pesos e bias relevantes ao espao de busca, bem como sua
mdia, permitindo ao usurio definir suas prprias funes geradoras de candidatos,
porm, a tcnica mais utilizada como um auxlio para um ajuste inicial (ADAPTIVE,
2010).
Na proposta desse trabalho, h dois momentos em que h a necessidade de obter
novos candidatos de alto escore. Num primeiro momento, so obtidos novos candidatos
a partir de todo o espao de busca. Quando so formados clusters, so obtidos novos
candidatos a partir das mdias e desvios-padro calculados em cada cluster. Caso o
candidato apresente escore acima da parcela do espao de busca do cluster, ele
includo nas estatsticas do cluster para a gerao de novos candidatos. utilizado o
clculo de mdias e desvios-padro ponderados, ou seja, amostras com maior escore
influenciam mais nos resultados.
No momento inicial do treino, quando ainda desconhecido (ou erroneamente
estimado) o valor de alto escore do espao de busca, devem-se finalizar clusters que,

32
posteriormente sua criao, venham a ser identificados como de baixo escore. Porm,
do mesmo modo, os clusters que eram considerados de baixo escore podem vir a ser
reabilitados.
Cada cluster tambm mantm estatsticas sobre todos os candidatos gerados, a fim
de detectar timos locais, conforme explicado na seo 3.3.
A figura 3.13 ilustra o comportamento esperado para a busca de candidatos. X e Y
representam duas dimenses hipotticas (pesos e bias) de uma rede neural. Inicialmente
as duas redes neurais representadas pelos pontos na elipse cinza-clara, obtidas pela
amostragem de todo o espao de busca, formam um cluster. Em seguida, so obtidos os
dois pontos da elipse cinza-mdia, representando um alto escore em relao elipse
cinza-clara. A partir dos pontos da elipse cinza-mdia, finalmente obtido o timo local
representado pela elipse cinza-escura.

Figura 3.13: Exemplo da gerao de candidatos baseada em estatstica

3.6 Algoritmo de Aprendizado


O algoritmo proposto mostrado na figura 3.14. So utilizadas tcnicas de sumrio
estatstico, que no armazenam toda a informao amostrada, exigindo tempo e espao
constante para clculo de mdia e desvio-padro. Os histogramas armazenados podem
ocupar um tamanho mximo pr-determinado, porm foi utilizada uma tcnica que
permite armazenar os valores de amostras somente nas faixas de valores realmente
utilizadas. Essas tcnicas permitem um grande desempenho computacional, porm no
permitem obter os valores originais amostrados, impedindo, por exemplo, que os
elementos de um cluster sejam reclusterizados. As desvantagens dessas tcnicas sero
discutidas na seo 5.2.3.

33
// Parmetros de treinamento
// Parcela da populao considerada de alto escore // Conforme seo 3.3
clustering_
// distncia em desvios-padro permitidos para clusterizao // Seo 3.4
passo_mximo // a quantidade de novos neurnios, ou novas entradas, adicionados a cada
passo de treinamento, conforme seo 3.1
// Classes
classe TOPOLOGIA
{
ESTATSTICAS_CANDIDATOS
// de todos os candidatos gerados pela TOPOLOGIA
CLUSTERS
// Lista de CLUSTER
}
classe CLUSTER
{
ESTATSTICAS_CANDIDATOS
// de todos os candidatos gerados pelo CLUSTER
ESTATSTICAS_MEMBROS
// somente dos candidatos de alto escore
}
// Variveis globais
TOPOLOGIAS
AMOSTRAS

// Lista de topologias
// Lista de candidatos de alto escore a ser clusterizados

// Algoritmo
Faa
{
TOPOLOGIAS so criadas topologias, ou so adicionados neurnios e entradas conforme
passo_mximo // Conforme seo 3.1.
Para cada TOPOLOGIA em TOPOLOGIAS
{
se o nmero de candidatos gerados pela TOPOLOGIA < nmero desejado // Seo 5.2.2.
{
gerar CANDIDATO
adicionar escore do CANDIDATO s ESTATSTICAS da TOPOLOGIA
se escore do CANDIDATO > ESCORE_ALTO_TOPOLOGIA // Conforme seo 3.3.
adicionar CANDIDATO s AMOSTRAS
}
para cada CLUSTER em TOPOLOGIA
{
caso a taxa (nmero de membros/nmero de candidatos) > (*margem_segurana)
{
o CLUSTER finalizado // um timo local, conforme seo 3.3.
prossegue o lao de CLUSTER
}
caso o escore do CLUSTER < alto escore da TOPOLOGIA
finaliza o CLUSTER
caso contrrio, reabilita o CLUSTER // Ver seo 3.5.
// Opcionalmente pode-se finalizar clusters de baixo escore em relao a outros
clusters.
// Opcionalmente pode-se favorecer clusters de alto escore em relao a outros
clusters, gerando vrios candidatos.
gerar CANDIDATO de CLUSTER
// Conforme seo 3.5.
adicionar escore do CANDIDATO s ESTATSTICAS_CANDIDATOS do CLUSTER
se escore do CANDIDATO > ESCORE_ALTO_MEMBROS
// Conforme seo 3.3.
adicionar CANDIDATO s AMOSTRAS
adicionar escore do CANDIDATO s ESTATSTICAS_MEMBROS do CLUSTER
}
caso nmero de AMOSTRAS da TOPOLOGIA > MIN_AMOSTRAS
clusterizar CLUSTERS e AMOSTRAS, com desvio-padro clustering_
caso nmero de AMOSTRAS da TOPOLOGIA > FINAL_AMOSTRAS & CLUSTERS est vazia
o treino da TOPOLOGIA encerrado // ver seo 5.2.2.
}
Opcionalmente:
{
Para cada TOPOLOGIA em TOPOLOGIAS
estatsticas da TOPOLOGIA Estatsticas do melhor CLUSTER da TOPOLOGIA
TOPOLOGIAS de escore mximo inferior a outras topologias so eliminadas
}
Clusterizar TOPOLOGIAS, com desvio-padro clustering_ // Ver seo 3.4.2
Caso no houve aumento de escore nas topologias, considera-se o algoritmo encerrado
}

Figura 3.14: Algoritmo de treinamento

34

4 TESTES, RESULTADOS E COMPARAES

4.1 Duplo Carro-Pndulo


O problema de duplo carro-pndulo similar ao apresentado na seo 1.1, porm
contendo dois pndulos de tamanhos diferentes. Deve-se levar em conta o estado inicial
do sistema. No problema proposto por Stanley (2001), o carro inicializado na posio
central do espao, e o pndulo maior inicializado a um grau em relao parte superior.
Diferentes inicializaes podem obter resultados diferentes. A mtrica para medida da
soluo o nmero de passos da simulao que ambos os pndulos mantm-se
equilibrados na parte superior, devendo alcanar 100000 (1000 segundos simulados)
para ser considerada uma soluo aceita. O cdigo-fonte de simulao foi obtido de uma
implementao do mtodo NEAT (ANJI, 2005).
A soluo para o problema de duplo carro-pndulo pode ser obtida pela seguinte

equao: F =k 1sgm k 2X k 3X k 4k
5 (GEVA, 1993), sendo (F) a fora
aplicada ao carro, (X) a posio do carro, ( X ) a velocidade do carro, () a posio
angular do pndulo, ( ) a velocidade angular do pndulo, e (kn) as constantes a ser
otimizadas.
Devido simplicidade da equao soluo do problema, estimado que um nico
neurnio, tanto no mtodo NEAT quanto no mtodo proposto nesse trabalho, ser
suficiente para obter uma soluo. Levando em conta que o mtodo NEAT inicia sua
populao com todas as entradas conectadas ao neurnio de sada, concludo que o
processo iniciado com a topologia ideal para a soluo do problema. Portanto nesse
trabalho ser utilizada a mesma topologia inicial, para fins de comparao, e, portanto
servindo como teste somente para a eficincia da clusterizao e da busca pelos pesos e
bias. Foram feitas diversas execues do algoritmo proposto, para vrias configuraes
de parmetros. Os resultados podem ser vistos nas tabelas do Apndice.
Os melhores resultados obtidos foram uma mdia de 1824 execues do algoritmo
do carro-pndulo, com erro mximo de 182 execues, com 95% de confiana, com
desvio-padro de 1213 execues, at a obteno de uma soluo, utilizando =0.1;
sem eliminao de clusters de baixo desempenho; com desvio-padro para
clusterizao de 2,8; e com um nmero mnimo de amostras de alto escore para realizar
a clusterizao de uma amostras.
O mtodo NEAT necessita em mdia 3600 execues da simulao fsica, com
desvio-padro de 2704 execues, nenhuma falha, sendo os dados obtidos de 120
execues (STANLEY, 2001). Assim, assume-se que a mdia possa ter um erro de 644
execues, com 95% de confiana, assumindo uma distribuio normal.

35

4.2 Carro-Pndulo
O problema de carro-pndulo simples possui apenas um pndulo, sendo, portanto de
soluo mais fcil. Nesse trabalho, o problema utilizado de forma mais complexa,
devendo equilibrar o pndulo iniciando de vrias configuraes iniciais crticas (GEVA,
1993), ou seja: com o carro nos dois extremos do espao disponvel, movimentando-se
para fora da pista, com o pndulo caindo em direo ao centro da pista, e com um
ngulo inicial do pndulo tambm direcionado ao centro da pista. Esse o nico modo
em que o problema difcil suficiente para que uma busca aleatria no seja suficiente
(GEVA, 1993).
Foram utilizadas 2,2 amostras por dimenso, para a minimizao de falhas (no
encontrar nenhuma soluo) conforme a seo 5.2.2 explica. Alm disso, foi necessrio
utilizar um fator de seis vezes para margem de segurana da eliminao de clusters, ou
seja, se =0.1, elimina-se um cluster quando a taxa de amostras aceitas pelo nmero de
amostras geradas for 0.1/6 (conforme seo 3.3). Os resultados podem ser vistos nas
tabelas do Apndice.
A cada situao resolvida dentre as duas configuraes iniciais, esperado um
aumento de aproximadamente cinco pontos no escore. Tambm, em cada situao, o
escore pode dobrar proporcionalmente ao tempo em que o carro fica mais prximo do
centro do espao disponvel. Portanto, o escore mximo vinte, e o escore considerado
uma soluo aceitvel foi 19,25.
4.2.1 Evoluo da Clusterizao no Problema de Carro-Pndulo

Figura 4.1: Evoluo de clusters no problema de carro-pndulo


A figura 4.1 apresenta a evoluo dos clusters no problema do carro-pndulo para
=0.1, sem eliminao de clusters de baixo desempenho. No eixo vertical,
representado o escore que aceito como um alto escore, e no simplesmente o melhor
escore at ento obtido. Esporadicamente novos clusters so gerados, porm so
rapidamente absorvidos por seus clusters originais.

36
4.2.2 O Espao de Busca no Problema do Carro-Pndulo

Figura 4.2: Espao de busca do carro-pndulo


(GEVA, 1993)
O estudo do problema do carro-pndulo realizado por Geva (1993) analisou o
espao de busca de forma emprica, obtendo o grfico da figura 4.2. A figura representa
a qualidade da soluo (passos at a falha) em funo dos pesos e bias, porm
representando os pesos e bias segundo um ngulo. Observa-se que h muitos timos
locais que devem ser evitados, e h mais de uma soluo para o problema (picos no eixo
vertical). A definio de uma soluo aceitvel que o problema inicializado em uma
posio considerada difcil, e o carro deve centralizar no espao disponvel equilibrando
o pndulo.

37

5 CONCLUSO

Os resultados obtidos nos problemas de carro-pndulo justificaram a utilizao de


estatstica como uma boa abordagem para problemas de controle. Foram utilizados os
princpios de convergncia dos mtodos de recozimento simulado, combinados com a
especiao dos algoritmos genticos, atravs da clusterizao de solues.
Apesar da analogia com os mtodos de recozimento simulado, o algoritmo
estatstico possui o princpio de funcionamento diferente. Enquanto o recozimento
simulado percorre o espao de busca, tendendo s solues de alto escore, o mtodo
estatstico tende a conhecer o espao de busca, procurando solues no espao ainda
desconhecido, atravs da anlise de pontos aleatrios (amostras) obtidos.
A utilizao dos mtodos de aprendizado por reforo transfere o esforo de
encontrar uma soluo de um problema para a definio da qualidade de uma soluo de
um problema, visto que o escore a nica fonte de conhecimento para a heurstica
convergir a uma soluo ideal. Um exemplo do problema causado por definies
ambguas ou incompletas da funo escore apresentado na seo 5.2.1.
Embora no foi apresentada uma prova de convergncia para o algoritmo proposto,
razovel presumir que a utilizao de estatstica faz o algoritmo convergir de uma forma
probabilstica, conforme os parmetros de confiana especificados. Isso deve acontecer
desde que as distribuies que so assumidas realmente representem o espao de busca,
ou sejam utilizadas tcnicas de estatstica no paramtrica, que so vistas na seo 5.3.1.
Mesmo os algoritmos de recozimento simulado, que apresentam prova de convergncia
ao timo global, falham (INGBER, 1992). Isso se deve a que os problemas a ser
resolvidos no necessariamente possuem as distribuies da termodinmica assumidas.
Os mtodos estatsticos online utilizados permitem que os clusters armazenem
somente as mdias e os desvios-padro dos pontos amostrados, sem necessariamente
manter todos os pontos na memria de execuo do algoritmo, e atualizando o clculo a
cada ponto inserido em tempo linear. Esses mtodos so altamente eficientes,
aproximadamente apenas 5% do tempo de computao necessrio para resolver os
problemas de carro-pndulo foram utilizados pelo algoritmo de treinamento, e o resto
do tempo foi utilizado para a simulao fsica do problema. Isso abre espao para a
possibilidade de utilizar tcnicas mais avanadas, mesmo que mais custosas
computacionalmente, visando minimizar o nmero de simulaes do problema.
Algumas tcnicas proeminentes so vistas na seo 5.3.

5.1 As Contribuies Desse Trabalho


Esse trabalho apresentou diversos problemas decorrentes da utilizao de redes
neurais multicamada, especialmente o problema de dupla representao, que podem
afetar dramaticamente o desempenho dos mtodos genticos. A amenizao do

38
problema da dupla representao e da recombinao de redes neurais atravs de
correes matemticas; o desenvolvimento de um eficiente gerador de candidatos
baseado em amostras das redes neurais obtidas; a fundamentao matemtica para a
eliminao de timos locais; a utilizao de topologias crescentes de forma bem
controlada; e as mtricas de distncia entre redes neurais so tcnicas que podem
imediatamente ser incorporadas nos algoritmos genticos existentes, devendo ser
cuidadosamente testadas em diversas classes de problemas, e validadas ou rejeitadas.
A boa eficincia do mtodo proposto nesse trabalho justifica a utilizao de
metaotimizao estatstica, bem como a clusterizao, devendo servir de inspirao para
futuras pesquisas. Embora o mtodo proposto ainda esteja longe de tornar-se um
mtodo que resolva qualquer classe de problemas, alguns passos adiante foram dados. A
identificao do problema do continuum de solues (seo 5.2.1), do nmero de
amostras necessrios para conhecer o espao de busca (seo 5.2.2), a identificao das
vantagens das topologias cascateadas, o bom desempenho obtido no carro-pndulo
utilizando distribuies normais como heurstica, e algumas tcnicas que so vistas na
seo 5.3 prometem contribuir para a criao de um mtodo altamente adaptativo.

5.2 Os Problemas
5.2.1 Continuum de solues
A figura 5.1 mostra trs solues que classificam corretamente pontos no problema
de N-Pontos, criando assim um continuum de solues podendo chegar a valores
infinitos para pesos e bias que classificam corretamente os pontos. Isso causou com que
o algoritmo proposto divergisse ao invs de convergir para uma soluo, criando um
nmero insuportvel de clusters.
Para a soluo desse problema, dois pontos devem ser levados em conta: as
distncias entre a funo realizada pela rede neural e o ponto a ser classificado devem
ser minimizadas; e os pesos das entradas nos neurnios devem ser artificialmente
limitados, ou implementar um mecanismo que detecte a divergncia de solues.

sgm1.7E 06.7

sgm3E 0 10.5

sgm7E 0 23.5

Figura 5.1: Continuum de solues no problema N-Pontos


5.2.2 Amostragem para conhecimento do espao de busca
O nmero de amostras necessrio at ser obtidos todos os timos locais do espao de
busca deve ser levado em conta. O nmero de amostras cresce exponencialmente com o
nmero de dimenses. Por exemplo, caso seja desejado duas amostras por dimenso a
ser otimizada, em uma dimenso necessitamos 21 =2 amostras, em duas dimenses

39
2 2=4 amostras, e assim por diante.
O problema de duplo carro-pndulo funcionou razoavelmente bem com duas
amostras por dimenso, obtendo uma baixa taxa de falhas, indicando que h certa
convexidade no espao de busca. J o problema do carro-pndulo, devido a sua maior
complexidade (ver seo 4.2) e presena de timos locais obteve um nmero maior de
falhas. Assim, a figura 5.1 ilustra um espao de busca com apenas um timo global (a) e
um espao de busca com vrios timos locais (b), bem como a quantidade de pontos
necessrios para o conhecimento deles.
Pode-se amenizar esse problema aumentando o nmero de amostras a cada cluster
encontrado. Assim amostras=clusters1N dimenses , sendo N o nmero de amostras
por dimenso desejado, devendo ser alto o suficiente para amenizar as chances de uma
aleatorizao ruim ou de m sorte, que recai em mnimos globais, e no se devem
contar amostras que recaiam em clusters j conhecidos.

Figura 5.2: Diferente nmero de timos locais do espao de busca


Alm de desse problema, a utilizao de (parcela da populao aceita como alto
escore) pode levar a um treino desnecessrio de clusters de baixo desempenho.
5.2.3 Perda da informao nos algoritmos de estatstica online
Os clusters utilizados no algoritmo proposto no guardam a informao individual
de cada ponto para o clculo das mdias e desvios-padro dos pesos e bias. Dessa
forma, caso um cluster seja formado contendo dois ou mais timos locais, impossvel
realizar a reclusterizao dos pontos em dois clusters distintos. A figura na seo 5.2.3
ilustra um caso hipottico dessa situao, onde o cluster formado pelos dois pontos
brancos no podem convergir aos dois timos locais (crculos cinza-escuros).
Outro problema da clusterizao que no levado em conta o escore, apenas a
distncia entre pesos e bias. Isso causa que um timo local encontrado na periferia de
um cluster j existente incorporado ao cluster, causando uma divergncia nos valores
mdios, ao invs de formar um novo cluster. A utilizao de estatstica ponderada
tambm altamente dependente da frmula do escore das solues, assim deve-se levar
em conta a utilizao de escores quadrticos ou exponenciais, de acordo com o grau de
convergncia do problema. Esses problemas justificam a necessidade de ajuste
diferenciado dos parmetros e nmero de amostras e desvios-padro para
clusterizao, em diferentes problemas, conforme os resultados na seo 4.

40

Figura 5.3: Problema da perda de informao, impedindo a reclusterizao


5.2.4 Busca Inversa a Partir de um Ponto
Durante o processo de amostragem do espao de estados, provvel que sejam
encontradas solues de alto escore que possam demorar a ser identificadas como parte
de um cluster, impedindo-as de gerar novos candidatos prximos a si, tendo que esperar
pela gerao de um ponto prximo ao acaso para a formao de um cluster.
Seria vivel realizar uma busca inversa, prxima ao ponto, na esperana de
identificar um novo cluster e um timo local. Os desvios-padro dos pesos e bias
poderiam ser obtidos do processo de clusterizao, devendo ser menor do que a menor
distncia (que uma mdia quadrtica dos desvios-padro) at qualquer outro ponto ou
cluster j amostrado, assim, assegurando, ou tentando evitar, que um novo candidato
gerado a partir do ponto no ir sobrepor-se aos outros pontos j amostrados.

5.3 Tcnicas Relevantes


5.3.1 Estatstica No Paramtrica
Os mtodos estatsticos no paramtricos no assumem que variveis sigam uma
determinada distribuio especfica. Esses mtodos podem ser ideais para ambientes
altamente caticos, como os problemas de controle.
5.3.1.1 Mtodo EM (Expectation-Maximization)
O mtodo EM permite criar uma distribuio normal multidimensional
correlacionadamente. Essa tcnica poderia ser utilizada no gerador de candidatos dos
clusters no algoritmo proposto. um algoritmo iterativo que tem custo logartmico. A
figura 5.4 exemplifica as iteraes da esquerda para a direita.

Figura 5.4: Aproximao iterativa do mtodo EM

41
5.3.1.2 Histograma multidimensional
Outra abordagem, ao invs de utilizar clusterizao baseada em distribuies
normais, seria utilizar um histograma completo do espao de busca. Baseando-se na
anlise do histograma obtido atravs de amostras, pode-se criar um eficiente gerador de
candidatos, tentando explorar espaos prximos a solues de alto escore, permitindo
alcanar e identificar todos os timos locais. A figura 5.5 ilustra um eficiente algoritmo
adaptativo que mantm aproximaes (b) de uma amostra real (a).

Figura 5.5: Histograma multidimensional dinmico


(THAPER, 2002)
5.3.1.3 Mtodo de ncleo para estimativa de densidade (Kernel Density Estimation)
Tendo um histograma das variveis, conforme ilustrado na figura 5.5, necessrio
identificar os ncleos da distribuio, ou seja, assumido que uma distribuio
qualquer formada pela soma de vrias distribuies normais. Sendo obtidas essas
componentes normais, elas podem ser utilizadas para uma eficiente gerao de
candidatos nos pontos ainda desconhecidos. A figura 5.6 ilustra como uma distribuio
qualquer pode ser aproximada por um conjunto de distribuies normais, utilizando o
mtodo de ncleo.

Figura 5.6: Mtodo de ncleo para estimativa de densidade

42
5.3.2 Mtricas de Distncia Entre Distribuies Normais Multidimensionais
Um estudo analisou o desempenho de diferentes mtricas de distncia em espaos
multidimensionais para vrias classes de problemas (AGGARWAL), obtendo resultados
variados em qualidade. A seguir so apresentadas algumas tcnicas de estatstica
paramtrica relevantes ao problema de clusterizao realizado no mtodo proposto
nesse trabalho.
5.3.2.1 Distncia de Mahalanobis
A mtrica de distncia de Mahalanobis permite uma anlise mais precisa da
correlao entre uma distribuio normal em vrias dimenses, permitindo calcular a
componente diagonal, conforme a figura 5.7 ilustra.

Figura 5.7: Distncia de Mahalanobis


O problema ilustrado na figura 5.1 poderia ser facilmente calculado utilizando essa
tcnica, j que podemos supor que o peso e o bias necessrios para representao da
soluo variam de forma linearmente correlacionada.
5.3.2.2 Distncia de Bhattacharyya
A distncia de Bhattacharyya baseia-se no coeficiente de Bhattacharyya, que mede a
interseo entre duas distribuies. De uma forma geral, pode-se dizer que para sua
utilizao em distribuies gaussianas multidimensionais, sua abordagem parecida
distncia de Mahalanobis.
5.3.3 Visualizao do espao de busca
Visualizar o espao de busca pode ajudar consideravelmente a entender o problema
a ser resolvido e o funcionamento do algoritmo de aprendizado.
Os seguintes sites mostram o processo de busca dos algoritmos genticos:
http://www.obitko.com/tutorials/genetic-algorithms/example-3d-function.php
A figura 5.8 ilustra um espao de buscas hipottico, com a melhor soluo
(minimizar a funo para baixo) e buscas prximas.

43

Figura 5.8: Espao de busca em mtodos genticos


O seguinte site mostra o processo de busca do algoritmo de recozimento simulado:
http://mars.wiwi.huberlin.de/mediawiki/teachwiki/index.php/Univariate_optimization#Simulated_annealing

Figura 5.9: Espao de busca no mtodo de recozimento simulado


A figura 5.9 ilustra um espao de busca hipottico unidimensional, e a capacidade do
mtodo de recozimento simulado em alcanar o mnimo global (para baixo representa
soluo de maior qualidade).
A visualizao de um espao de busca em uma ou duas dimenses trivial, porm
quando se deseja observar um conjunto maior de variveis (no caso, o escore em funo
dos pesos e bias da rede neural) possvel utilizar tcnicas de reduo de
dimensionalidade. Um exemplo est no seguinte site:
http://www.cs.mcgill.ca/~sqrt/dimr/dimreduction.html

44

Figura 5.10: O mtodo de reduo de dimensionalidade


A figura 5.10 esquerda ilustra trs dimenses sendo projetadas em apenas duas, e
mesmo assim, apresentando 97% da varincia das componentes (dimetro, distncia ao
sol, e densidade). A figura direita ilustra o erro de representao na terceira dimenso.

5.4 Trabalho Futuro


Foram apresentadas vrias dificuldades para a validao do mtodo proposto em
ambientes complexos. Uma grande variedade de testes apresentada na literatura,
porm aparentemente cada autor utiliza o teste que mais convm para uma determinada
arquitetura, sem importar-se muito nos problemas reais, e tentando promover novos
mtodos. Dever ser estudado um conjunto de testes que represente todas as situaes
possveis de espaos de busca.
A aplicabilidade de redes neurais em problemas fsicos muitas vezes exige que haja
conexes recorrentes na rede neural. Isso significa que a rede neural capaz de analisar
o prprio estado das sadas e manter um controle de um estado atual, alm da
capacidade de analisar a variao, ou derivada das entradas, e manter um controle
temporal. Muitas tcnicas realizam o treinamento dessas redes neurais baseando-se na
ideia de que deve haver certa estabilidade na rede neural, evitando configuraes que
sejam caticas, assim possvel que o simples treinamento proposto nesse trabalho no
possa competir com tais mtodos. A figura 5.11 ilustra a arquitetura de redes neurais
recorrentes mais parecidas proposta nesse trabalho.
A utilizao dos mtodos de visualizao apresentados na seo 5.3.3 pode ser de
ajuda extrema para o desenvolvimento de algoritmos de treinamento, dando uma grande
noo intuitiva das tcnicas que devem ser aplicadas a cada tipo de problema.
As anlises feitas nesse trabalho tem aplicao imediata nos j utilizados mtodos
genticos, bem como nos de recozimento simulado, podendo aumentar seus
desempenhos. A anlise de mdia e desvios-padro dos pesos e bias de cada espcie
pode acelerar e diminuir a necessidade de parmetros pr-especificados (poder de
mutao de pesos) no mtodo NEAT, bem como reduzir o espao de busca nos mtodos
de recozimento simulado.

45

Figura 5.11: Rede Neural Recorrente de Elman

46

REFERNCIAS
ADAPTIVE
Simulated
Annealing

Readme.
Disponvel
<http://www.ingber.com/ASA-README.html>. Acesso em: nov. 2010.

em

AGGARWAL, C. C., Hinneburg, A., Keim, D. A. On the Surprising Behavior of


Distance Metrics in High Dimensional Space. IBM T. J. Watson Research Center.
Yorktown Heights, NY, 10598, USA.
ANJI Another NEAT Java Implementation. Sourceforge. Verso 2.0 (22/08/2005).
Disponvel em <http://anji.sourceforge.net/>. Acesso em: set. 2010;
BLACK Box. Wikipedia. Disponvel em <http://en.wikipedia.org/wiki/Black_box>.
Acesso em: jun. 2010.
CYBENKO, G. Approximation by Superposition of a Sigmoidal Function. Math.
Control Signal Systems, n. 2, p. 303-314, 1989.
ELMAN, J. L. Learning and development in neural networks: the importance of starting
small. Cognition, 48. Departments of Cognitive Science and Linguistics, University of
California, San Diego, La Jolla, CA 92093-0526, USA. 1993.
FAHLMAN, S. E; Lebiere, C. The Cascade-Correlation Learning Architecture.
School of Computer Science, Carnegie Mellon University, Pittsburgh, 1991.
GEVA, S., Sitte, J. A Cartpole Experiment Benchmark for Trainable Controllers.
Control Systems Magazine, IEEE, v. 13, issue 5, p. 40-51, 1993.
HAYKIN, S. Mquinas Estocsticas e suas Aproximaes Baseadas na Mecnica
Estatstica. In: HAYKIN, S. (Au.) Redes Neurais: Princpios e prtica. Trad. Paulo
Martins Engel. 2.ed. Porto Alegre: Bookman, 2001. p. 591-642.
INGBER, L. Very Fast Simulated Re-Annealing. Physics Department, Naval
Postgraduate School Monterey, CA 93943 and U.S. Army Concepts Analysis Agency
8120 Woodmont Avenue, Bethesda, MD 20814-2797, 1989.
INGBER, L; Rosen, B. Genetic Algorithms and Very Fast Simulated Reannealing: a
Comparison. Mathematical and Computer Modeling, n. 16(11), p. 87-100, 1992.
KOHL, N. F; B.A; M.S. Learning in Fractured Problems with Constructive Neural
Network Algorithms. 2009. 173 f. Thesis (Doctorate in Philosophy) Faculty of the
Graduate School, The University of Texas at Austin.

47
LAHNAJRVI, J. J. T., Lehtokangas, M. I., Saarinen, J. P. P. Evaluation of
Constructive Neural Networks With Cascaded Architectures. Neurocomputing 48, p.
573607, 2002.
MAHFOUD, S. W.; Goldberg, D. E. Parallel Recombinative Simulated Annealing: A
Genetic Algorithm. Parallel Computing, n. 21, p.1-28, 1995.
NEUROEVOLUTION. The Neuroevolution of Augmenting Topologies (NEAT) Users
Page. Disponvel em <http://www.cs.ucf.edu/~kstanley/neat.html>. ltimo update:
19/7/2010. Acesso em: nov. 2010.
PADERSEN, M. E. H. Tuning & Simplifying Heuristical Optimization. 2010, 204 f.
Thesis (Doctorate in Philosophy) School of Engineering Sciences, University of
Southampton.
RAM, D. J; Sreenivas, T. H; Subramaniam, K. G. Parallel Simulated Annealing
Algorithms. Journal of Parallel and Distributed Computing 37, n. 121, p. 207212,
1996.
SCHETININ, V. A Learning Algorithm for Evolving Cascade Neural Networks. Neural
Processing Letters 17, p. 2131, 2003.
STANLEY, K. O., Miikkulainen, R. Evolving Neural Networks through Augmenting
Topologies. 2001. Department of Computer Sciences, The University of Texas at
Austin, Austin, TX.
STANLEY, K. O., Bryiant B. D., Miikkulainen, R. Evolving Neural Network Agents in
the NERO Video Game. 2005. Proceedings of the IEEE 2005 Symposium on
Computational Intelligence and Games.
STHREL, Alexander. Relationship-based Clustering and Cluster Ensembles for
High-dimensional Data Mining. 2002, 214 f. Dissertation (Doctorate in Philosophy)
Faculty of the Graduate School of The University of Texas at Austin.
SUTTON, R. S.; Barto, A. G.; Anderson, C. W. Neuronlike Adaptive Elements That Can
Solve Difficult Learning Control Problems. 1983. IEEE Transactions on Systems,
Man and Cybernetics, Vol. SMC-13, n. 5, p. 835-846.
THAPER, N. et al. Dynamic Multidimensional Histograms. ACM SIGMOD '2002
June 4-6, Madison, Wisconsin, USA. 2002.

48

ANEXO ARTIGO DA PROPOSTA DESSE TRABALHO

49

Algoritmo de Aprendizado para Ambientes Complexos


Baseado em Recozimento Simulado Paralelo e Redes Neurais
em Cascata Utilizando Metaotimizao Estatstica
Jorel Settin1, Paulo M. Engel1
Instituto de Informtica Universidade Federal do Rio Grande do Sul (UFRGS)
Caixa Postal 15.064 91.501-970 Porto Alegre RS Brasil

{jsettin,engel}@inf.ufrgs.br

Resumo. Este trabalho apresenta um algoritmo de aprendizagem para redes


neurais com objetivo de alcanar solues timas com grande probabilidade
em problemas onde no se tem o conhecimento prvio da soluo tima a ser
atingida e da complexidade da rede neural necessria. Utiliza-se estatstica
como metaotimizao para obteno automtica dos parmetros dos
algoritmos de Recozimento Simulado Paralelo (Parallel Simulated Annealing)
e de Redes Neurais em Cascata (Cascaded Neural Network), analisando a
variabilidade das solues encontradas. A eficincia do algoritmo
verificada no problema de aproximao de funes.

1. Introduo
Este trabalho apresenta uma proposta de algoritmo de aprendizado de redes neurais para
situaes complexas e de incerteza onde h solues diferentes que podem atingir a
qualidade desejada, onde a complexidade da rede neural necessria para alcanar uma
soluo desconhecida, e onde a qualidade de solues dificilmente avaliada devido a
complexidade do ambiente ou problema simulado [Black Box 2010]. Essas situaes
podem ter de exemplo a natureza, onde so encontradas solues diversas como as
diferentes maneiras que os animais desenvolveram para caminhar ou correr
eficientemente [Basso 2005], sendo uma rea inspiradora para a robtica. Pode-se citar
a complexidade algortmica de estratgias de jogos, onde a complexidade
computacional exigida para a obteno de uma estratgia inicial desconhecida
[Neyman 2003] [Stanley 2005], e sistemas caticos, como aerodinmica e outros
sistemas fsicos, que podem variar bruscamente a qualidade de uma soluo com
pequenas mudanas.
No corrente estado da arte, tm sido propostas vrias arquiteturas de redes
neurais e de algoritmos de aprendizagem, conseguindo-se bons resultados para
aplicaes especficas. Porm so demonstradas vrias dificuldades em ambientes
complexos, e mesmo mtodos como algoritmos genticos tem se mostrado ineficientes
por apresentar uma baixa variabilidade na procura de solues [Kohl 2009], justificando
a utilizao do mtodo probabilstico de Recozimento Simulado (Simulated Annealing)
onde a busca por solues tem a variabilidade controlada dinamicamente pelo
parmetro temperatura.
A arquitetura de Redes Neurais Evolutivas em Cascata (Evolving Cascade
Neural Networks - ECNN) tem se mostrado promissora para obter solues aceitveis
com nmero mnimo de neurnios e conexes, por primeiramente avaliar as entradas
mais relevantes de um sistema [Schetinin 2003], portanto uma escolha razovel como

50

base desse trabalho.


Devido tecnologia atual, a utilizao de computao massivamente paralela
tem sido amplamente utilizada. Assim, algoritmos paralelos de aprendizado tm sido
propostos, justificando a utilizao de populaes para obter uma grande variabilidade
de solues bem como a paralelizao do algoritmo [Ram 1996].
Para diminuir a complexidade computacional dos mtodos de aprendizado e a
dificuldade em escolher os parmetros ideais dos algoritmos, como tamanho de
populaes e o grau de variao dos parmetros da rede neural (pesos e limiares), so
utilizados mtodos de metaotimizao, sendo o mtodo estatstico uma escolha aceitvel
para ambos os problemas [Padersen 2010].
A eficincia do algoritmo proposto ser analisada atravs do teste de
aproximao de funes por erro quadrtico mdio, que amplamente aceito como
mtodo para avaliar algoritmos de otimizao [Root Mean Square Deviation 2010]. Para
simular uma situao onde h vrias solues aceitveis, proposto um teste onde a
rede neural deve aproximar uma dentre vrias funes pr-determinadas.

2. Anlise de Arquiteturas de Redes Neurais para Ambientes Complexos


Na seo 2.1 ser apresentado o algoritmo gentico NEAT, o qual tem sido utilizado
para o treinamento de estratgia de jogos de operaes robticas (Neuro Evolving
Robotic Operatives NERO) por apresentar solues intuitivamente criativas [Stanley
2005]. Em seguida, na seo 2.2, apresentado um estudo que sugere que o mtodo
NEAT no apresenta um grau de variabilidade suficiente para obter a melhor soluo
com alta probabilidade [Kohl 2009]. Devido a essa contradio da eficincia da
arquitetura NEAT, nesse trabalho recorre-se aos mtodos no genticos amplamente
utilizados que descobrem sistematicamente a relevncia das entradas da rede neural,
sendo esperado obter uma rede neural de tamanho mnimo e prxima ao timo global,
sendo apresentada a arquitetura evolutiva em cascata na seo 2.3 [Schetinin 2003].
Na definio da implementao desse trabalho (seo 3) ento proposta uma
adaptao das arquiteturas evolutivas em cascata para ambientes complexos,
justificando que o mtodo at ento apresentado assume que uma nica entrada da rede
neural ou um nico neurnio sempre apresenta uma soluo significativa e mensurvel.
realizada uma analogia entre o mtodo gentico e o mtodo sistemtico apresentado,
tentando utilizar as melhores caractersticas dos dois mtodos para ambientes
complexos.
2.1. Neuroevoluo de Topologias Aumentativas (NeuroEvolution of Augmenting
Topologies NEAT)
Os mtodos genticos se baseiam nos princpios de recombinao e mutao gentica de
indivduos de uma populao candidatos soluo do problema. Os genes (gentipo)
contm uma representao de uma rede neural (fentipo). Atravs das geraes,
acontecem recombinaes de genes e mutaes, sendo esperado que uma soluo
melhor seja encontrada.
O primeiro motivo pelo qual o mtodo NEAT tem se mostrado promissor em
buscas de estratgias complexas para jogos que ele possui um algoritmo base de
recombinao gentica, onde os genes que representam neurnios possuem uma numero
identificador passado atravs das geraes, permitindo realizar a recombinao de
conexes e neurnios realmente relacionados entre si e assim aumentando as chances de

51

manter as melhores topologias da rede neural. A figura 1 ilustra o algoritmo de


recombinao.

Figura 1. Casando genomas de diferentes topologias usando nmeros de


inovao. Embora o Pai 1 e o Pai 2 paream diferentes, seus nmeros de
inovao (mostrados na parte superior de cada gene) nos mostra quais genes
esto relacionados entre si. Mesmo sem qualquer anlise topolgica, uma nova
estrutura pode ser criada, combinando as intersees dos dois pais bem como
suas partes diferentes. Genes relacionados so herdados randomicamente,
enquanto genes disjuntos (aqueles que no casam, mostrados no meio) e
genes em excesso (aqueles que no casam, mostrados ao final) so herdados
do Pai mais adaptado. Nesse caso, igual adaptao assumida, ento os
genes disjuntos e os genes em excesso so tambm herdados
randomicamente. Os genes desabilitados podem se tornar habilitados
novamente em futuras geraes: existe uma chance pr-determinada que um
gene herdado esteja desabilitado se ele est desabilitado no pai tambm.
[Stanley 2001]

O segundo motivo pelo qual o mtodo NEAT encontra solues complexas


porque, partindo de uma estrutura mnima, incrementalmente adiciona novos neurnios
e conexes. A figura 2 ilustra esses dois tipos de mutao.

52

Figura 2. Os dois tipos de mutao estrutural no NEAT. Ambos os tipos,


adicionando uma conexo e adicionando um nodo, so ilustrados com os
genes conectores de uma rede neural, mostrados acima de seus fentipos. O
nmero superior em genoma o nmero da inovao daquele gene. Os
nmeros de inovaes so marcadores histricos que identificam o ancestral
histrico original de cada gene. Para os novos genes criados o nmero
incrementado. Adicionando uma conexo, um simples nono gene de conexo
adicionado ao fim do genoma dado o prximo nmero da inovao disponvel.
Adicionando um nodo, o gene de conexo sendo dividido desabilitado, e dois
novos genes de conexo so adicionando ao fim do genoma. O novo nodo fica
entre as duas novas conexes. Um novo gene de nodo adicionado ao
genoma. [Stanley 2001]

Atravs de sucessivas pequenas mutaes na topologia e nos pesos da rede


neural, o algoritmo NEAT se mostrou eficiente para topologias relativamente pequenas,
sendo suficiente para criar uma estratgia iterativa em jogos. Porm, um estudo
apresentado na prxima seo (seo 2.2) demonstra as limitaes do algoritmo quando
exigida uma topologia mais complexa.
2.2. Avaliao do NEAT em Problemas Fraturados
Uma avaliao do algoritmo NEAT problemas que exigem um alto grau de
variabilidade das solues demonstrou sua baixa eficincia nesses ambientes [Kohl
2009].
A figura 3 ilustra o problema da classificao de pontos em duas situaes, uma
com baixa variabilidade, outra com alta.

53

Figura 3. Exemplo de solues para o problema de N-Pontos com N=5 e a


separao entre as duas classes de pontos (a) v=0.1 e (b) v=0.8. Conforme v
aumenta, as duas classes de pontos movem-se mais longe uma da outra, e a
variao mnima necessria para descrever a fronteira entre as duas classes
aumenta. [Kohl 2009]

A figura 4 ilustra os resultados do desempenho do algoritmo NEAT para os


diferentes graus de variabilidade exigidos.

Figura 4. Desempenho do NEAT no problema de N-Pontos para N = 3, 5, 7, 10 e


v = 0.01..10. Conforme v aumenta, a variabilidade necessria para resolver o
problema tambm aumenta, e o desempenho do NEAT cai. O mesmo ocorre
conforme N aumenta. Esse resultado reala a dificuldade do NEAT em produzir
solues com alta variabilidade. [Kohl 2009]

54

2.3. Redes Neurais Evolutivas em Cascata (Evolving Cascade Neural Network


ECNN)
Ao contrrio dos algoritmos genticos, os mtodos de aprendizado de redes neurais em
cascata buscam sistematicamente solues, partindo de um nico neurnio e
aumentando gradualmente. Tais mtodos classificam a relevncia de cada entrada da
rede neural, inserindo novos neurnios utilizando primeiramente as entradas mais
relevantes para evitar que a rede neural seja treinada por rudos das entradas,
dificultando o treinamento com as entradas relevantes, e terminando quando a soluo
atinge a qualidade desejada [Schetinin, 2003].
O seguinte pseudoalgoritmo proposto na arquitetura ECNN:
(1) Calcular a adaptabilidade para um neurnio conectado a cada entrada da rede
neural.
(2) Ordenar os valores calculados e salv-los em uma lista, sendo a primeira
entrada a mais relevante.
(3) Nmero da entrada h 2.
(4) Treinar um novo neurnio candidato conectado aos neurnios previamente
inseridos, primeira entrada, e entrada h.
(5) Se a qualidade da soluo no passo 4 piorou, h h+1 e voltar ao passo 4, ou
terminar caso h>nmero de entradas.
(6) Caso contrrio, adicione o neurnio treinado e volte ao passo 4, mantendo o
valor de h.
A figura 5 ilustra uma rede neural treinada por esse algoritmo.

Figura 5. Primeiramente avalia-se a relevncia de todas as entradas xn (no


ilustrado), obtendo-se a entrada x36 como mais relevante, seguido de x23, x10
e x60. Inicialmente criado o neurnio z1 conectado a x36 e x23. Aps, z2
criado conectado novamente a x36 e x23 , alm de z1. Como o candidato z2 no
aumentou a qualidade da soluo, o neurnio descartado, e a prxima
entrada (x10) utilizada na prxima iterao. Novamente z2 criado conectado
a z1, x36 e x10, melhorando a qualidade da soluo e portanto sendo
consolidado, e assim por diante. Quando todas as entradas foram utilizadas, o
algoritmo interrompido.

55

O mtodo apresentado mostra-se eficiente pois treina a rede neural inicialmente


com as entradas mais relevantes, evitando rudos.
Analisando o mtodo, espera-se que ele falhe em ambientes complexos pelos
seguintes motivos: em ambientes complexos, a relevncia de uma nica entrada de um
sistema pode ser insignificante em todos os casos, pois no se alcana um nvel mnimo
necessrio de complexidade para obter algum resultado mensurvel, e assim o algoritmo
apresentado falharia em ordenar a relevncia de cada entrada; em ambientes complexos,
a insero de apenas um neurnio candidato em cada iterao pode ser insignificante na
qualidade da soluo, pelo mesmo motivo do item anterior.
Por esses motivos, proposta uma adaptao desse algoritmo para ambientes
complexos na seo 3.

3. Proposta de Algoritmo de Aprendizado para Ambientes Complexos


Na seo anterior pode-se concluir que o mtodo NEAT capaz de evoluir a topologia
de redes neurais, criando novos neurnios e conexes, e assim aumentando a
complexidade da soluo. Porm, o mtodo NEAT falha na capacidade de gerar alta
variabilidade de solues, existindo um parmetro pr-determinado indicando a
mutao mxima dos pesos sinpticos e do crescimento da topologia. Em outro
extremo, a rede neural evolutiva em cascata possui um grau de variabilidade mximo
para os pesos sinpticos, porm sua estrutura topolgica cresce em apenas um neurnio
por iterao, e caso esse nico neurnio no aumente a qualidade da soluo, o neurnio
descartado e a respectiva entrada testada no ser mais utilizada, causando que a
soluo fique presa em um mnimo local.
Os problemas dos mtodos at ento apresentados abre espao para a pesquisa
de um mtodo que no falhe nas situaes descritas. Ou seja, deve possuir um grau de
variabilidade mximo, mesmo que isso aumente o custo computacional, almejando
atingir o timo global; alm disso, devem permitir grandes variaes da topologia da
rede neural, criando mltiplos novos neurnios tendo como conexes vrias
combinaes das entradas da rede neural.
A principal caracterstica do mtodo de Recozimento Simulado que ele possui
uma alta variabilidade no incio do treinamento, tentando aleatoriamente alcanar uma
soluo inicial razovel, e gradualmente diminui a variabilidade, que nesse caso
chamada de temperatura, e sua a diminuio chamada de taxa de resfriamento, assim
diminuindo o espao de busca da rede neural e tendendo a convergir para um timo
global. O ajuste dinmico da taxa de variabilidade uma grande vantagem, podendo ser
ajustado pela anlise estatstica das solues encontradas a cada iterao do algoritmo, e
assim chegar a uma soluo tima com um tempo de processamento otimizado
[Padersen 2010]. Normalmente o mtodo de Recozimento Simulado aplicado para
topologias fixas, onde o nmero de neurnio pr-estabelecido, e todos os pesos
sinpticos passam pelo processo de treinamento simultaneamente, causando um espao
de busca muitas vezes impraticvel quando o nmero de neurnio muito alto.
A proposta desse trabalho, finalmente, utilizar um algoritmo hbrido de
recozimento simulado, porm iniciar com o nmero mnimo de neurnios e aumentar a
cada iterao, similarmente ao mtodo de redes neurais evolutivas em cascata. Nas
prximas sees so apresentados detalhamentos da proposta.

56

3.1. Arquitetura da Rede Neural e da Busca por Solues


Ser tomada uma abordagem parecida a das redes neurais evolutivas em cascata
apresentadas na seo 2. Na figura 3 mostrada a sequencia de busca de solues,
partindo de solues simples (a partir de um nico neurnio), com diferentes
combinaes das entradas (A e B), e incrementando gradualmente o nmero de
neurnios para buscar solues mais complexas.

Figura 6. Sequncia de deteco de solues partindo de uma soluo simples


(ilustrada a esquerda) at uma soluo mais complexa (ilustrada a direita). A
explicao se segue. Os neurnios de entrada (A e B) so como sensores que
obtm valores do ambiente externo. As conexes so como sinapses dos
neurnios de entrada at neurnios ocultos ou neurnios de sada, ou
sinapses dos neurnios ocultos at os neurnios de sada. A rede neural
hipottica aqui ilustrada contm apenas um nico neurnio de sada, mas
usualmente em casos reais pode conter mais. Neurnios ocultos e neurnios
de sada implementam uma funo transferncia tendo como parmetros os
valores conectados ao neurnio atravs das conexes. As conexes
usualmente possuem um peso, que um fator multiplicativo para a sua
entrada. A primeira tentativa de obter uma soluo ilustrada a esquerda,
contendo um nico neurnio de sada conectado a entrada A, ou seja,
presume-se que a sada tima ser obtida apenas com uma nica funo de
transferncia dependendo da entrada A, e ento o neurnio treinado pelo
mtodo de recozimento simulado. Em seguida, ilustrada imediatamente a
direita da soluo anterior, testado um nico neurnio conectado a entrada
B. Em seguida testado um neurnio contendo duas conexes, tanto para a
entrada A quanto para a entrada B, supondo assim que a sada deva depender
de uma combinao linear das duas entradas. Caso uma soluo significativa
seja encontrada nos trs casos anteriores, pode-se continuar ou no a busca,
dependendo de parmetros estatsticos pr-estabelecidos que indicam se a
soluo encontrada obedece a um critrio desejado. Caso a busca continue, o
prximo passo testar novamente diferentes combinaes de entradas, mas
dessa vez contendo dois neurnios, um oculto, e outro de sada. Quando h
mais de um neurnio, cada neurnio acrescentado conectado tambm aos
neurnios ocultos anteriores. A busca pode continuar at um nmero prdeterminado de neurnios.

57

3.2. Algoritmo de Aprendizado


Um pseudoalgoritmo de treinamento proposto. Para cada iterao, realiza-se a busca
proposta na seo 3.1. Aps ser obtida uma amostra representativa das solues, dois
passos so executados: o primeiro passo consiste em agrupar as solues parecidas,
dando origem a uma nica rede neural com a temperatura dos parmetros neuronais
(pesos e limiares) ajustados de acordo com a variabilidade dos parmetros nas solues
agrupadas, analisando-se estatisticamente os valores; o segundo passo consiste em
separar solues distintas, dando origem a novas redes neurais na populao de
solues. Aps esses passos, inicia-se uma nova iterao na esperana de refinar a
qualidade das solues at ento encontradas.
// Variveis
ENTRADAS // Entradas da rede neural
SOLUES // Populao de solues encontradas
NN // Nmero de neurnios
// Variveis pr-estabelecidas
MNN // Nmero mximo de neurnios
// Algoritmo de treinamento
SOLUES soluo inicial aleatria com mximo grau de variabilidade
FAA, paralelamente para as SOLUES at ento encontradas
FAA
PARA (NN=1 at MNN)
PARA (diferentes combinaes de entradas)
Adicionar NN neurnios
Testar solues
Salvar solues encontradas em SOLUES
FIM
FIM
Realizar clculo estatstico das SOLUES
AT QUE (seja encontrada uma amostra representativa do problema)
Medir diferenas entre redes neurais em SOLUES
Agrupar solues parecidas, calculando a variao mxima dos pesos e
limiares (temperatura)
Separar solues distintas, recolocando-as em SOLUES
Realizar clculo estatstico das SOLUES
AT QUE (seja encontrada uma amostra representativa do problema)

4. Definio das Funes a Serem Aproximadas


O principal objetivo dessa proposta obter solues em ambientes complexos. Para
validar cientificamente essa capacidade, proposta uma adaptao do teste de
aproximao de funes.
Para simplificao, as funes a serem aproximadas e as funes de
transferncia utilizadas nos neurnios sero as mesmas. Assim, pode-se avaliar se a rede
neural foi capaz de encontrar a soluo com o nmero mnimo de neurnios ocultos e de
conexes, pois assim o nmero de neurnios dever corresponder s componentes da
funo a ser aproximada, e o nmero de conexes dever corresponder aos parmetros
do qual a funo a ser aproximada depende. A figura 7 e 8 mostram um exemplo de

58

funo a ser aproximada, bem como a respectiva rede neural mnima que capaz de
representar a funo.

Figura 7. Exemplo de funo a ser aproximada contendo a soma de trs


componentes sigmoides. A primeira sigmoide (primeiro termo da soma)
depende unicamente da entrada X multiplicada por um fator k1 somada com
um limiar b1. A segunda sigmoide depende unicamente da entrada Y
multiplicada por um fator k2 somada com um limiar b2. A terceira sigmoide
depende de ambas as entradas X e Y, cada qual multiplicada por um fator k3 e
k4, e somado com um limiar b3. As sigmoides so multiplicadas por
constantes k5, k6 e k7 e finalmente somadas com o limiar b4.

Figura 8. Rede neural mnima a ser obtida para representao da funo a ser
aproximada ilustrada na figura 7. A funo de sada da rede neural idntica
funo a ser aproximada.

59

O grfico da figura 9 ilustra o espao de estados da rede neural em relao


qualidade da soluo que deve ser simulado por trs solues a ser aproximadas,
representando as mltiplas solues a serem obtidas pelo algoritmo de treinamento.

Figura 9. Exemplo do espao de estados a ser simulado. As solues A e C so


distintas, sendo simuladas por duas funes com pesos e limiares
completamente diferentes. esperado do algoritmo de treinamento identificar
ambas as solues em uma primeira iterao. A soluo B representa uma
especializao da soluo A, contendo componentes adicionais em relao a
A, porm complexa e especfica demais (representao estreita no grfico)
para ser encontrada com alta probabilidade em uma primeira iterao, devendo
ser encontrada em uma segunda iterao do algoritmo. O espao de estados
deve conter regies onde a qualidade da soluo nula (energia mxima),
simulando o efeito caixa-preta de incerteza, e o algoritmo de aprendizado deve
ignorar tais solues encontradas.

As solues mais largas A e C representadas na figura 9 devem ser mais


facilmente encontradas pelo algoritmo de treinamento, assim a qualidade da soluo
admite maior variabilidade. J a soluo B representada de forma estreita no grfico, o
que significa que o algoritmo de treinamento ter maior dificuldade em encontrar os
pesos e limiares para represent-la. Alm disso, a soluo B a de melhor qualidade, e
assim que a rede neural conseguir encontr-la, dever terminar o algoritmo de
treinamento.

60

5. Planejamento de Atividades
Tabela 1: Plano de atividades

Tarefa

Horas Risco Comple-

Importncia

Ordem

xidade
Arquitetura bsica
da rede neural

20

Baixo

Alta

Servir de base para desenvolver


o algoritmo de treinamento.

Interface de
criao de novos
neurnios

10

Baixo

Mdia

Servir de base para desenvolver


o algoritmo de treinamento.

Interface de
medida de
diferena entre
redes neurais

10

Alto

Baixo

Mtrica importante para avaliar


diferentes solues encontradas
pelo algoritmo de treinamento.

Funes a serem
aproximadas
(Black Box)

Baixo

Baixa

Principal parmetro para a


validao do algoritmo, devendo
simular ambientes complexos.

Algoritmo de
treinamento

10

Baixo

Alto

Parte do projeto onde ainda


podero ser feitas pesquisas e
melhoras.

Estatstica

20

Alto

Alto

Deve-se buscar implementaes


prontas, ou em outro caso,
implement-las.

Teste, possveis
aprimoramentos,
concluses e
monografia

25

Baixo

Mdio

Boa formulao das concluses e


futuro trabalho.

Total

100

6. Concluso
O problema de aprendizado de mquina tem se mostrado um problema de difcil
soluo, com diversas adaptaes para situaes especficas. A adaptao de tcnicas
tornou-se um procedimento padro, exigindo vrios ajustes em parmetros de
algoritmos e muitas vezes no se conseguindo alcanar solues aceitveis.
Com este projeto espera-se obter um mtodo eficiente de aprendizado nos
seguintes requisitos: alcanar a soluo tima com alta probabilidade e preciso;
alcanar a soluo tima minimizando o tamanho da rede neural; minimizar o nmero
de parmetros ajustveis pr-escolhidos; alcanar a soluo tima com desempenho
aceitvel (alta eficincia computacional); alcanar a soluo tima sistematicamente
independente da complexidade da rede neural exigida para a soluo.
O algoritmo de treinamento de redes neurais proposto utiliza um misto de
tcnicas j amplamente utilizadas e validadas no corrente estado da arte. Algumas
modificaes nos algoritmos originais foram apresentadas, aumentando a complexidade
do projeto para a integrao dos mtodos escolhidos.

61

Referncias
Basso, D. M. (2005) Arquitetura Neural para Controle da Locomoo de um Rob
Quadrpede Baseada em Referncias Biolgicas. 2005. 54 f. Dissertao (Mestrado
em Cincia da Computao) Instituto de Informtica, UFRGS, Porto Alegre.
Black Box. Wikipedia. Disponvel em <http://en.wikipedia.org/wiki/Black_box>.
Acesso em: jun. 2010.
Elman, J. L. (1993) Learning and development in neural networks: the importance of
starting small Cognition, 48. Departments of Cognitive Science and Linguistics,
University of California, San Diego, La Jolla, CA 92093-0526, USA.
Fahlman, S. E. e Lebiere, C. (1991) The Cascade-Correlation Learning Architecture.
School of Computer Science, Carnegie Mellon University, Pittsburgh.
Interactive Statistical Calculation Pages. Disponvel em <http://statpages.org>. Acesso
em: jun. 2010.
Kohl, N. (2009) Learning in Fractured Problems with Constructive Neural Network
Algorithms. Thesis (Doctorate in Philosophy) Faculty of the Graduate School,
The University of Texas at Austin.
Neyman, A. (2003) Algorithmic Strategy Complexity. Hebrew University of
Jerusalem,
Jerusalem
Israel.
Disponvel
em:
<http://ratio.huji.ac.il/dp/neyman/algorslidesnwu.pdf>. Acesso em: jun. 2010.
Padersen, M. E. H. (2010) Tuning & Simplifying Heuristical Optimization. Thesis
(Doctorate in Philosophy) School of Engineering Sciences, University of
Southampton.
Ram, D. J., Sreenivas, T. H., Subramaniam, K. G. (1996) Parallel Simulated Annealing
Algorithms. Journal of Parallel and Distributed Computing 37, n. 121, p. 207212.
Root
Mean
Square
Deviation.
Wikipedia.
Disponvel
em
<http://en.wikipedia.org/wiki/Root_mean_square_deviation>. Acesso em: jun. 2010.
Schetinin, V. A. Learning Algorithm for Evolving Cascade Neural Networks. Neural
Processing Letters 17, p. 2131, 2003.
Stanley, K. O., Miikkulainen, R. (2001) Evolving Neural Networks through
Augmenting Topologies Department of Computer Sciences, The University of
Texas at Austin, Austin, TX.
Stanley, K. O., Bryiant B. D., Miikkulainen, R. (2005) Evolving Neural Network
Agents in the NERO Video Game. Proceedings of the IEEE 2005 Symposium on
Computational Intelligence and Games.
Universal
Approximation
Theorem.
Wikipedia.
Disponvel
em
<http://en.wikipedia.org/wiki/Universal_approximation_theorem>. Acesso em: jul.
2010.

62

APNDICE TABELAS DE RESULTADOS


Segue uma breve explicao das tabelas:
() refere-se parcela da distribuio de probabilidades que deve ser aceita como
amostra, conforme a seo 3.3 explica;
(1/2/4/8), no eixo vertical, refere-se ao nmero mnimo de amostras necessrio para
realizar uma nova clusterizao de amostras, conforme a seo 3.4.
(x u, x ): x refere-se confiana em desvios-padro da medida que o algoritmo de
clusterizao utiliza para unir dois clusters (ou uma rede neural e um cluster), conforme
a seo 3.4.
(u e ) a mdia e desvio-padro do nmero de execues da simulao fsica do
duplo carro-pndulo at obteno da soluo.
(falhas / N) refere-se ao nmero de falhas (o algoritmo no encontrou uma soluo)
em relao ao nmero total de execues do algoritmo (N).

Tabela 1 Resultados do algoritmo no problema de carro-pndulo1


1,2 u 1,2

=0,2
=0,15
=0,1
=0,05

1,4 u 1,4 1,6 u 1,6 1,8 u 1,8


1
10342 6816 10175 5273 9273 6149
1 8968 4350 5362 2705 5989 3175 5823 2902
1 7882 5905 6569 8979 4386 3297 3699 2142
1
9531 16291

2,2 u
8912
5735
4230

2,2
5833
3151
2633

1 O nmero de amostras foi ajustado para obter um erro mximo de 20% na mdia, com confiana de
95%, assumindo uma distribuio normal.

63

Tabela 2 Resultados do algoritmo no problema de duplo carro-pndulo2


=0,15
=0,15
=0,15
=0,15

=0,1
=0,1
=0,1
=0,1

=0,05
=0,05
=0,05
=0,05

1
2
4
8

2,0 u 2,0 2,4 u


2642
2226
2537
3145

2,0 u
1 2083
2 2166
4 2927
8

1
2
4
8

2,0
1279
1308
3750

2,4
1508
1419
2558
4185

2,8 u
2465
2336
2581
2727

2,8
2048
1654
1912
2457

3,2 u
2422
2308
2275
2783

3,2
1307
1216
2114
2523

2,4 u
2028
2160
2540
2671

2,4
1386
1367
2836
2889

2,8 u
1824
2038
2194
2668

2,8
1213
1402
1626
2628

3,2 u
1962
2136
2361
2494

3,2
1205
1231
2130
1920

2,4 u
2085
2278
2721
3022

2,4
1707
2181
2894
3279

2,8 u
1931
1954
2310
3027

2,8
1188
1284
1796
3816

3,2 u
2026
1978
2116
2539

3,2
1828
1194
1703
2467

2 O nmero de amostras foi ajustado para obter um erro mximo de 10% na mdia, com confiana de
95%, assumindo uma distribuio normal.

You might also like