Вы находитесь на странице: 1из 11

Universidade Federal de Uberlndia

Ps-Graduao em Cincia da Computao

Relatrio do Trabalho de Redes Neurais Artificais

Disciplina de Inteligncia Computacional Prof. Dino Rogrio Coinete Franklin

Aluno: Tiago Ismailer de Carvalho

1. Introduo
As redes neurais artificiais so um modelo matemtico inspirado pelas redes neurais biolgicas. Uma rede neural consiste em um conjunto de neurnios artificiais conectados, utiliza uma abordagem de computao conexionista para processar informao. As redes Neurais artificiais so usadas para associar uma entrada a sua respectiva sada, encontrando assim uma relao entre elas. Essa tcnica foi amplamente estudada nas ltimas dcadas e utilizada em diversas reas, como reconhecimento e classificao de padres, processamento de dados e robtica. aplicada em problemas como filtragem de rudo, identificao biomtrica, controle (carros, processos), problemas de deciso, minerao de dados, etc. Em robtica as redes neurais artificias so aplicadas na definio de trajetria, controle de aes, processamento da informao obtida por sensores (visuais, auditivos, e temperatura) [1]. A rede neural desenvolvida nesse trabalho foi baseada no projeto Pyro [2] [3] [4] [5] [6]. O Pyro um ambiente para facilitar a pesquisa em inteligncia artificial e robtica. A ferramenta permite definir diferentes tipos de controladores para um rob. O mdulo

PyroModuleNeuralNetworks , como o nome diz, a parte do ambiente que simula uma rede neural artificial, foi implementado uma verso simplificada desse mdulo. O interesse nas redes neurais motivado pelo desejo de entendimento dos princpios que determinam as funes bsicas do crebro humano, e para a construo de mquinas que so capazes de realizar tarefas complexas. Geralmente utiliza-se a rede neural para tarefas cognitivas, tais como a aprendizagem, adaptao, generalizao e otimizao. O reconhecimento, aprendizagem, tomada de deciso constituem os principais problemas do planejamento de movimentos (Motion Planning Problem) em que o processo de realizar uma tarefa obtido atravs da diviso dessa tarefa em movimentos discretos. As redes so especialmente eficazes em aprendizagem e adaptao em um ambiente onde a informao qualitativa, imprecisa, incerta ou incompleta. O processamento de dados imprecisos com alto rudo pela rede

mais eficiente do que as tcnicas clssicas porque as redes neurais so altamente tolerantes a rudos. O objetivo desse trabalho avaliar a eficcia e aplicabilidade de uma rede neural artificial como planejador de movimentos de um rob. Pela natureza do trabalho, foi programado um modelo bem simples desse planejador. No cenrio modelado o rob deve apenas evitar os obstculos ao longo do percurso. Assim, ele no tem um caminho que deve ser seguido portanto o nico aspecto que ele deve minimizar o nmero de colises. Muitas simplificaes foram admitidas, por exemplo, o processamento visual para que o rob veja o obstculo no considerado. Assim, o sensor apenas avisa se existe ou no um obstculo. A rede neural artificial vai ser responsvel por decidir qual a direo que o rob deve se mover. Mas para isso, preciso modelar o ambiente, definindo o que a entrada e a sada. O prximo passo encontrar uma arquitetura de rede neural artificial que resolva o problema. Por fim basta treinar a rede (um processo caracterstico da tcnica), aplicar a rede treinada e verificar o nmero de colises do rob com os obstculos.

2. Desenvolvimento 2.1. Apresentao do problema


O problema clssico que envolve o planejamento de movimentos num ambiente com obstculos descrito da seguinte forma: Dada uma posio inicial A, uma posio final B e um espao W contendo um conjunto de objetos {O1, ... , ON}, gerar o caminho de A at B formado por uma sequncia de posies (e direes) evitando colidir com qualquer objeto Oi. Uma rpida reviso na literatua [7] [8] permite afirmar que esse problema resolvido por redes neurais complexas, onde existe no mnimo uma camada escondida e um mecanismo em que o resultado de uma unidade de processamento pode conectar-se a uma de suas prprias entradas ou a uma entrada de outra unidade (feedback).

A arquitetura utilizada em [7] foi a MLP (Rede Neural Perceptron mlti camadas. O Perceptron mlti camadas classificado como uma rede neural feed-forward que consiste de uma ou mais camadas de unidades de processamento no lineares. As conexes entre os neurnios de camadas adjacentes definida por um conjunto de pesos sinpticos. Suas sadas conectam-se somente com os neurnios da camada subsequente. As primeiras redes de feed-forward a aparecerem na literatura foram Perceptron [9] e Adaline [10]. O potencial das redes feed-forward s foi revelado com o surgimento das redes neurais mlti camadas e o algoritmo backpropagation, que capaz de trein-las.

Figura 1: Exemplo de rede neural feed-forward. Fonte: http://dms.irb.hr/tutorial/images/ann.jpg

No artigo [8] a tcnica usada pra resolver o problema advinda do conceito de autmato fuzzy, que pode ser considerar um tipo rede neural Hopfield. A rede proposta nesse artigo usa uma verso modificada do algoritmo Hebbian Learning. O modelo considerado uma rede feed-back ou seja, a sada de um neurnio pode conectar-se a uma de suas prprias entradas ou a uma entrada de outra unidade da mesma camada.

Figura 2: Exemplo de rede neural feed-back. Fonte: http://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/cs11/report.neural2.jpg

A seguinte definio formal do problema do planejamento de movimentos, juntamente com os trabalhos j citados ajuda a escolher arquitetura de rede neural necessria para a soluo do problema. Seja um rob num ponto C e seja D o conjunto das posies que podem ser atingidas a partir de C. Seja tambm W um ambiente e O(W) o conjunto de posies de W com obstculos. Uma possvel soluo S para o problema, partindo do ponto inicial A e chegando em um ponto final B, da seguinte forma.

S = {A, P1, ... PN , B }


Onde P1 C (A), ou seja P1 uma posio atingvel a partir de A. Recursivamente P2 C (P1) e assim por diante.

A soluo S pode ser otimizada em nmero de colises, o que seria a somatria de Pi O(W). E tambm pode ser otimizada na sua cardinalidade, o que seria calcular o menor caminho. Um planejador ideal minimizaria os dois aspectos. Os dois objetivos parecem ser contraditrios caracterizando um problema multiobjetivo. S pode ser expresso como uma combinatria das posies de W, claro que essa combinatria ser limitada pelas posies atingveis, mas isso no muda a natureza do problema. Trata-se ento de um problema de otimizao combinatria, esse tipo de problema considerado

intratvel (no computvel em tempo polinomial) e tcnicas heursticas / probabilsticas so frequentemente propostas na literatura. O uso de uma rede neural com feedback se justifica porque impossvel resolver o problema do planejamento de movimentos sem alguma memria dos movimentos anteriores, ou seja, esse mecanismo til para que a rede identifique quais as posies j viram visitadas ao longo do percurso. O modelo ideal da rede que resolve satisfatoriamente o problema clssico do planejamento de movimentos uma arquitetura parecida com a de Hopfield. Mas, como j visto na literatura, preciso modificar a estrutura da rede, trabalhar com lgica fuzzy e criar uma rotina de treinamento diferenciada. Esses so os motivos desse trabalho modelar uma verso simplificada do problema do planejador de movimentos. No problema modelado o ambiente de movimentao um reticulado bidimensional onde uma posio expressa por dois componentes X, e Y que identificam respectivamente a linha e a coluna no reticulado. Os obstculos so identificados na matriz atravs do smbolo x e a posio do rob marcado com o R. No exemplo abaixo o rob se encontra na posio (2, 2).

x x

x x

Figura 3: Exemplo de uma configurao do problema

Para um objeto numa posio (X, Y) existem 8 movimentos possveis: E: leste, N: norte, O: oeste, S: sul, NE: nordeste, NO: noroeste, SE: sudeste SO: sudoeste.

NO O SO

N R S

NE E SE

Figura 4: Movimentos possveis a partir da posio (3 , 3)

A rede recebe oito entradas representando as posies atingveis a partir de um ponto, essa entrada ser 1 se houver um obstculo nessa posio e 0 caso contrrio. A sada codificada com oito neurnios representando as possveis direes, se o valor dessa sada for 1 significa que o rob pode se mover nessa direo sem causar uma coliso, se for 0 indica que esse movimento no deve ser executado.

1 0 1

0 R 0

0 0 1

0 1 0

1 R 1

1 1 0

Figura 5 : Exemplo de entrada e sada desejada

A nica funo que a rede est realizando nessa modelagem uma associao de padres em que a sada uma funo lgica not (inverso) da entrada. O problema da porta not um problema linearmente separvel [11], alm disso o modelo de rede Perceptron com uma camada conhecido por resolver qualquer problema linearmente separvel. Por isso o modelo de rede utilizado foi o Perceptron simples. O perceptron foi o primeiro modelo de rede neural proposto [12] . Nesse modelo as entradas so valores binrios ponderados por um peso w i, todas as

entradas so conectadas em apenas um neurnio que realiza a somatria desses valores, a sada do neurnio calculada por uma funo matemtica aplicada a essa somatria. A funo mais comum a degrau, isso , o neurnio de sada ser 1 se e somente se soma for maior ou igual a um limiar .

Figura 6: Exemplo de uma rede Perceptron

2.2 Arquitetura da Rede Utilizada


A rede implementada usa oitos neurnios de processamento,

diferentemente do modelo de perceptron original. Por isso o algoritmo de treinamento aplicado a regra delta estendida para mais de um neurnio de processamento.

Figura 7: Arquitetura da rede desenvolvida

A funo de ativao F escolhida foi a degrau, assim se a somatria das entradas de um neurnio for menor que 8 o resultado do neurnio ser 0, caso contrrio a sada ser 1. O algoritmo de treinamento aplicado funciona similarmente a regra delta, a diferena que aplicamos o treinamento para cada um dos neurnios de sada. A taxa de aprendizagem utilizada foi o valor mximo = 1.Para realizar o processo de aprendizagem da rede foi criada uma base de treinamento formada por entradas representativas para o problema. Para isso, geramos 80 entradas em que a probabilidade de existir um obstculo varia uniformemente de 10% at 90%, obtendo assim um conjunto de entradas uniformes e diversas. O treinamento da rede utilizando a regra delta com essas 80 entradas devolve a seguinte tabela em que (i, j) representam o peso da ligao da entrada i ao neurnio j. Peso (i / j) 1 2 3 4 5 6 7 8
9 0 0 0 0 1 0 0 -1 9 -1 0 0 0 1 1 0 0 9 0 0 -1 0 9 1 0 0 0 9 0 0 -1 -1 1 -1 0 0 1 0 -1 1 0 9

-1 -1 0 -1 9 0 0 0 0 9

-1 -1 0 -2 1 -1 0 0

-1 -1 -1

Os experimentos foram executados em 10 ambientes com distribuio aleatria dos obstculos. Em cada ambiente o rob se moveu por 10 movimentos e no foi gerada nenhuma coliso. Esse resultado esperado porque j sabido que a rede neural capaz de simular exatamente o comportamento da porta lgica not.

Figura 8: Exemplo dos movimentos controlados pela Rede Neural

3. Concluso
A rede proposta resolve satisfatoriamente o problema proposto. Mas as simplificaes assumidas reduziram drasticamente a complexidade do ambiente bastando um simulador de porta lgica para encontrar a soluo. Alm disso uma rede mais simples resolveria o problema do not, a resposta de um neurnio na posio i depende apenas da entrada na posio i. Entretanto o processo de treinamento foi capaz de identificar essa propriedade, essa informao no foi explicitada em lugar algum do programa. Esse fato um exemplo da capacidade das redes aprenderem sobre o problema, tal caracterstica pode ser muito til na resoluo de problemas complexos em que no existem muitas informaes disponveis. Os resultados encontrados e a pesquisa da literatura permitem afirmar que as redes neurais so uma tima alternativa para a soluo do problema do planejamento de movimentos.

4. Referncias
[1] Bekey, George A.; Goldberg, Kenneth Y. Neural Networks in Robotics. [2] http://pyrorobotics.org/?page=Pyro Acessado dia 10/01/2013. [3] Blank, D.S., Kumar, D., Meeden, L., and Yanco, H. (2006) The Pyro toolkit for AI and robotics. InAI Magzine Volume 27, Number 1. [4] Blank, D.S., Kumar, D., Meeden L., and Yanco, H. (2004) Pyro: A Pythonbased Versatile Programming Environment for Teaching Robotics. Journal of Educational Resources in Computing (JERIC). Blank, D., Meeden, L., and Kumar, D. (2002).

[5] Python robotics: An Environment for Exploring Robotics Beyond LEGOs. ACM Special Interest Group: Computer Science Education Conference, Reno, NV (SIGCSE 2003). Preprint [6] Blank, D.S., Yanco, H., Kumar, D., and Meeden L. (2004) The Karel-theRobot Paradox: A framework for making sophisticated robotics accessible. Presented at AAAI 2004 Spring Symposium. [7] Janglov, Danica.Neural Networks in Mobile Robot Motion. [8] Mitchell, R.J. e Keating D.A. Neural Network Control of Simple Mobile Robot. [9] Rosenblatt F. Principles of Neurodynamics. Spartan Book, 1962. [10] Widrow B. Adaline and madaline1963 - Proc. IEEE 1st Int. Conf. on Neural Networks, 1987 [11] Ashlock D. Evolutionary Computation for Modeling and Optimization. [12] McCulloch Warren S., Pitts Walter. A logical calculus of the ideas immanent in nervous activity

Вам также может понравиться