You are on page 1of 4

Proposta de uma Unidade de Memria para Acelerar a Otimizao das Redes

Neurais Recorrentes em Ambientes Parcialmente Observveis 1


Eldair F. Dornelles
Introduo
Com o uso das estruturas de redes neurais artificiais, possvel evoluir programas
que podem proporcionar aos agentes inteligentes a capacidade de atuar em
diversos ambientes (SILVA, 2010). Na modelagem da estrutura de uma Rede Neural
Artificial (RNA), que tem por objetivo evoluir um programa que ir representar a
inteligncia de um agente, deve ser amplamente considerado o seu ambiente de
atuao. Em determinados ambientes, tais como os parcialmente observveis, a
RNA pode apresentar dificuldades ou ser incapaz de evoluir. Isto ocorre devido ao
conceito de memria de curto prazo implementada pelas RNAs (MACHADO, 2011).
Para aumentar a eficincia de uma RNA convencional, quando necessrio
armazenar informaes por longos perodos, pode-se adicionar a essas estruturas
alguns blocos de memria. Uma alternativa adicionar s redes neurais
convencionais, blocos de memrias Long Short Term Memory (LSTM).
Tendo em vista algumas limitaes apresentadas pelas estruturas das redes neurais
artificiais convencionais, foi proposto neste trabalho a modelagem de uma unidade
de memria para ser incorporada estrutura de uma RNA, visando acelerar o seu
processo de otimizao e oferecer menor custo de processamento que os blocos
LSTM. Conforme (LINDEN, 2011), o processo de evoluo foi realizado por meio da
meta heurstica nominada de algoritmo gentico, o qual foi responsvel pelo ajuste
dos pesos sinpticos.
A estrutura proposta foi utilizada para evoluir um programa que tem por objetivo
representar a inteligncia de um agente com capacidade de atuar em ambientes
parcialmente observveis. Mais precisamente, o agente em questo foi aplicado a
uma verso modificada do problema presa predador (LTZ, 2011).

Metodologia
Para o desenvolvimento deste trabalho, buscou-se, primeiramente, conhecimentos
tericos sobre as tcnicas a serem utilizadas. Nesta fase foi realizado um estudo
sobre agentes inteligentes, ambientes de tarefas, redes neurais recorrentes,
estruturas de memrias, e algoritmos genticos. Em seguida foi modelada e
implementada a unidade de memria e o problema presa predador (modificado).
Tambm foram realizadas implementaes de um framework de redes neurais e um
framework de algoritmo gentico. As implementaes foram todas realizadas em
linguagem de programao C++, utilizando a IDE Eclipse. Por fim realizou-se uma
anlise de desempenho do modelo computacional com unidades de memria
aplicado ao problema citado anteriormente e inferido o quo prximo, ou melhor o
seu desempenho em relao a uma RNA recorrente convencional.
Na verso modificada do problema presa predador foi definido um ambiente de
dimenso 10x10. Neste ambiente, existe apenas um predador, uma presa, dois

arbustos venosos e um arbusto no venoso. O objetivo do predador capturar a


presa sem encostar nos arbustos venosos. Ao iniciar o jogo, os arbustos venosos
so posicionados nas coordenadas [3,3] e [7,5] da matriz que representa o
ambiente, a presa posicionada na coordenada [5,5], o predador inicializado na
posio [0,0] da matriz-ambiente e o arbusto no-venoso posicionado de forma
aleatria em uma posio que esteja vazia. Os movimentos da presa e do predador
so intercalados. Os movimentos da presa so todos realizados buscando se
posicionar junto ao arbusto no venoso, com o objetivo de se esconder do predador.
O predador recebe as informaes da localizao de todos os componentes do jogo,
inclusive a prpria posio. A partir do momento que a presa se esconde no arbusto
no venoso, a informao referente sua posio no mais recebida, desse modo
a nica informao recebida pelo predador a prpria posio e o posicionamento
dos trs arbustos, porm sem o conhecimento de suas caractersticas. Uma
ilustrao deste ambiente apresentada na Figura 1.

Figura 1 Ilustrao do modelo presa-predador(modificado).

As percepes so passadas ao agente em forma de lista. Esta lista contm as


informaes referente a posio [x,y] de cada componente do ambiente. Para
interagir com ambiente o predador possui 4 aes possveis, so elas: se
movimentar para frente, para trs, para esquerda e para a direita. O predador
pontuado positivamente pela captura ou pela proximidade que o mesmo se encontra
em relao presa no momento em que o jogo encerrado. Sendo que ao capturar
a presa recebe 100 pontos, e a cada passo distante da presa, o predador perde 5
pontos do total de100. Desta forma, se o jogo encerrar e o predador ficar a 2 passos
da presa sua pontuao ser 90. Caso o predador encoste em um arbusto venoso a
pontuao obtida dividida por 2.
A unidade de memria modelada neste trabalho composta por dois mdulos. O
primeiro define o valor a ser armazenado e o segundo define se o novo valor vai ser
armazenado ou se vai ser descartado, caso este novo valor seja descartado a
unidade mantem o valor anterior na memria. O valor a ser retornado pela unidade
de memria sempre o valor que estiver armazenado. A Figura 2 ilustra a estrutura
da unidade de memria modelada neste estudo.

Figura 2 estrutura da unidade de memria proposta neste trabalho

Na estrutura definida para a rede neural, o nmero de neurnios e de unidade de


memria no foi fixado, podendo assim variar com vistas a encontrar uma
combinao que proporcione uma convergncia mais rpida aos resultados
desejados. Os pesos sinpticos utilizados pela rede neural recorrente so fornecidos
pelo algoritmo gentico, o qual gera uma populao de indivduos, onde cada
indivduo formado por um vetor que contm uma combinao de pesos sinpticos
(nmeros reais), de acordo com o tamanho da rede neural.
O processo de otimizao ocorre da seguinte maneira: para cada indivduo da
populao do algoritmo gentico so definidos os pesos na rede neural,
configurando assim a inteligncia do agente a ser testado. Para cada um dos
agentes inicializado o jogo presa predador de modo que o jogo finalizado se o
agente encostar em um arbusto venoso, encontrar a presa ou atingir o nmero limite
de iteraes. Para cada agente so realizadas 100 execues com o jogo, visando
obter uma melhor preciso do desempenho, a cada execuo inicializado um novo
jogo. Ao final das 100 execues retornado para o indivduo do algoritmo gentico
a pontuao mdia obtida pelo agente. Essa pontuao utilizada como base para
definir a eficincia deste indivduo, sendo esse valor atribudo sua aptido. No
passo seguinte o Algoritmo Gentico se encarrega da otimizao dos pesos,
seguindo os seus critrios de evoluo.
Na fase de evoluo da rede neural, buscou-se, primeiramente, encontrar as
quantidades de neurnios que representassem as estruturas com melhor
convergncia e desempenho. Nesta fase, aps alguns testes alterando a quantidade
de neurnios pode-se perceber que a RNA recorrente convencional com 6 neurnios
foi a mais eficiente. Portanto, foram realizados alguns testes adicionando memrias
em estruturas com 5 e 6 neurnios. Em seguida deu-se incio a fase de ajuste dos
parmetros do algoritmo gentico, os quais por fim, foram definidos com os
seguintes valores: 500 indivduos, 50 geraes, tipo de seleo torneio, cruzamento
simples, taxa de mutao 0,05% e taxa de elitismo em 2%.
Resultados e Discusses
Aps a realizao dos treinamentos e definidos as melhores estruturas de RNA,
foram realizados os testes e coleta dos resultados. Na fase de teste foram realizados
100.000 execues para cada estrutura, sendo que a cada nova execuo gerava-

se um novo jogo, de modo que o arbusto no venoso era posicionado de forma


aleatria. Na Tabela 1, so apresentados em porcentagem os resultados dos testes
utilizando as melhores estruturas encontradas neste trabalho.
Estrutura da Rede Neural
5 Neurnios
6 Neurnios
7 Neurnios
5 Neurnios e 1 Unidade de
Memria
5 Neurnios e 2 Unidades de
Memrias
6 Neurnios e 1 Unidade de
Memria
6 Neurnios e 2 Unidades de
Memrias

Capturou a presa Encostou em um


Atingiu o limite de
arbusto venoso
iteraes
86.45%
8.78%
4.77%
89.10%
8.76%
2.14%
59.63%
5.49%
34.88%

89.50%

10.50%

0.00%

61.74%

11.37%

26.89%

90.65%

9.35%

0.00%

67.76%

10.78%

21.46%

Tabela 1 Resultados obtidos para cada estrutura aps 100.000 execues.

Atravs de uma anlise da Tabela 1, pode-se perceber que entre as RNA


recorrentes convencionais, a que obteve melhor desempenho foi a rede com 6
neurnios, e que ao adicionar a esta rede uma unidade de memria, foi possvel
elevar em 1,55% o percentual de captura da presa e em nenhum momento foi
atingido o limite de iteraes para este ambiente, o qual havia sido fixado em 100
iteraes.
Concluses
Na fase de testes pode-se perceber que ao adicionar a unidade de memria
estrutura de uma RNA recorrente convencional a mesma melhorou o desempenho
no ambiente ao qual foi aplicado. Observou-se, tambm, que o nmero de neurnios
convencionais definidos para compor a estrutura da RNA, afeta diretamente o seu
desempenho. Do mesmo modo, a quantidade de unidades de memria, deve ser
ajustada de acordo com o problema que estiver sendo abordado e a dimenso da
RNA.

Referncias Bibliogrficas
DA SILVA, Ivan Nunes; SPATTI, Danilo Hernane; FLAUZINO, Rogrio Andrade. Redes Neurais
Artificiais para engenharia e cincias aplicadas curso prtico. Artliber, 2010.
LINDEN, Ricardo. Algoritmos Genticos. 3. ed. Rio de Janeiro: Cincia Moderna, 2011.
MACHADO, S. C. S. Reconhecimento Off-line de Escrita Cursiva Usando Redes Neurais Recorrentes
Multidimensionais, 2011.
LTZ, A. F. Competio e Coexistncia em Populaes Biolgicas. Tese (Doutorado)-Universidade
Federal do Rio Grande do Sul, 2011.

You might also like