Você está na página 1de 3

SOFTWARE PARA APROXIMAO DE FUNO COM USO DE REDE NEURAL ARTIFICIAL MULTICAMADA

Einar Csar Santos, Jos Flvio dos Reis, Leonice M. Souza Pereira
Mestrado em Engenharia Eltrica, MINTER UFU/IFTM 2011, Uberlndia MG E-mails: einar@iftm.edu.br, flavio@iftm.edu.br, leonice@iftm.edu.br Resumo O software apresentado neste artigo implementa ferramenta para realizar aproximao funcional de determinada equao matemtica atravs de rede neural artificial multicamada com tcnica de treinamento da retro propagao do erro. A ferramenta foi desenvolvida para ambiente Web e visa utilizar recursos aprimorados da rea, apresentando aplicao vivel e funcional, sendo sugerido tambm como soluo para problemas de mdia e alta complexidade. Palavras-Chave aplicao, aproximao de funes, rede neural, multicamada, retro propagao do erro, web. devido a restries existentes em redes neurais de camada simples. Uma dessas restries implica que padres de entrada similares resultam em padres de sada similares, o que s diferencivel no clculo potencial de redes com representaes internas, ou seja, com mais de uma camada. O software desenvolvido neste artigo, prope a arquitetura de uma rede neural multicamada que tem por objetivo realizar a aproximao de coordenadas de uma funo matemtica previamente treinada. O ambiente de execuo do software voltado para Web e busca atrair a ateno de estudantes, pesquisadores e entusiastas da rea para o aproveitamento e uso otimizado de inmeros recursos computacionais no desenvolvimento de ferramentas voltadas para resoluo de problemas complexos de diversas atividades cientficas e comerciais. II. REDES NEURAIS MULTICAMADAS Em 1969, Minsky e Papert demonstram que redes multicamadas resolvem as restries existentes em redes neurais de camada simples, no entanto, no propem nenhuma soluo para o problema de se ajustar o peso das conexes nas camadas escondidas. Rumelhart, Hinton e Williams, propuseram em 1986 uma soluo, tendo como ideia a correo dos erros das camadas escondidas retro propagando o erro da sada. Tal tcnica foi denominada error backpropagation e utilizava-se da generalizao da regra delta para funes de ativao nolineares em aplicaes de redes neurais multicamada. A regra delta generalizada expressa pela seguinte funo:

SOFTWARE TO FUNCTION APPROXIMATION USING ARTIFICIAL NEURAL NETWORK MULTILAYER


Abstract The software presented in this paper implements tool to perform functional approximation of a given mathematical equation using multilayer neural network with the training technique of error backpropagation. The tool is designed for Web environment and aims to use enhanced features of the area, providing a functional and viable application, and also suggested as a solution for medium and high complexity problems. Keywords application, function approximation, neural network, multilayer, error backpropagation, web. NOMENCLATURAS b w x z y Taxa de aprendizagem. Bias. Peso sinptico. Neurnio de entrada. Neurnio da camada escondida. Neurnio de sada. I. INTRODUO Uma das principais finalidades da aplicao de Redes Neurais Artificiais (RNA) multicamada a soluo de problemas cujo domnio da soluo alcana considervel grau de complexidade e normalmente so voltados para conjuntos de resultados cuja representao por meio de funes lineares no possvel. Neste caso, a arquitetura da RNA aplicvel deve ser de, no mnimo, duas camadas,

wij =

w f' net
k P k jk

P j y j

A funo de ativao mais comumente utilizada a sigmoidal, porm, podem ser utilizadas outras funes, como a adotada no software apresentado, a tangente hiperblica, expressa por:

tan f x =

e x e x e x +ex

Fig. 1. Grfico da funo tangente hiperblica

O algoritmo de treinamento da rede neural multicamada com error backpropagation baseado na seguinte lgica: 1. Inicializa-se pesos, bias e taxa de aprendizagem: das camadas de entrada e escondidas. Obs.: os pesos podem ser inicializados com valores aleatrios pequenos, prximos de 0; 2. Enquanto a condio de parada for falsa 2.1. Para cada par de padres de treinamento: 2.1. Aplica-se o feedforward: 2.1.1. Para cada unidade de entrada, o sinal recebido e propagado para todas as unidades da camada escondida; 2.1.2. A camada escondida realiza clculo potencial, aplicando a funo de ativao para o sinal de sada e envia o sinal para as unidades da camada de sada; 2.1.3. Cada unidade de sada realiza o clculo potencial e aplica a funo de ativao para computar o sinal de sada; 2.2. Aplica-se a retro propagao do erro: 2.2.1. Cada unidade de sada recebe o alvo correspondente ao padro de sada, calcula-se ento a regra delta com o termo de informao do erro e derivada da funo de ativao da rede, bem como a atualizao dos pesos e bias das conexes da camada de sada, por fim, envia essa informao para a camada superior; 2.2.2. Cada unidade da camada escondida realiza o clculo dos delta obtidos multiplicando-os pela derivada da funo de ativao da rede, calculando assim o termo de informao do erro, ajustando os pesos e os bias das conexes da camada escondidas; 3. Testa condio de parada; 4 .Fim do algoritmo. III. SOFTWARE O software foi desenvolvido para ambiente Web, com utilizao do sistema operacional Linux e servidor Apache; pgina em HTML, linguagens de programao C, PHP e JavaScript.

Quanto arquitetura da rede neural utilizada, esta baseiase em parmetros informados pelo usurio. Nela existe apenas um neurnio de entrada e de sada, no entanto, a quantidade de neurnios na camada escondida varia de acordo com o parmetro informado. Foi produzido um programa apenas para treinamento da rede em linguagem C, que era posteriormente compilado e executado recebendo parmetros (quantidade de neurnios, taxa de aprendizagem, quantidade de amostras e erro admissvel) atravs de chamadas ao sistema por meio de recursos da linguagem PHP. Por ltimo, o PHP informa ao JavaScript os pesos sinpticos da rede atravs de notao JSON (JavaScript Object); o JavaScript encerra toda a operao realizando apenas o clculo de treinamento da rede e impresso das coordenadas no grfico apresentado ao usurio.

Fig. 3. Arquitetura da Rede Neural Multicamada

O software dever realizar a aproximao de coordenadas da seguinte funo:

f x =sen x sen 2x
IV. CONCLUSES Para resoluo do problema proposto de maneira adequada, chegou-se a um mximo de at 19 neurnios utilizados na camada escondida da arquitetura apresentada. A quantidade de amostras adequadas para plotagem das coordenadas, observando uma margem de erro admissvel da rede de 0,001%, de 200 unidades. A quantidade de ciclos de treinamento varia por dois fatores: a quantidade de amostras e neurnios utilizados informados como parmetros, e tambm o ambiente de execuo do programa no PHP, eram alocados recursos limitados para execuo do programa de treinamento, diferente de quando o programa era executado com os parmetros informados diretamente no console do sistema operacional observou-se uma diferena de performance de at 70% entre um ambiente de execuo do treinamento e outro. Espera-se que este software estimule estudantes, pesquisadores e entusiastas da rea de Redes Neurais Artificiais a desenvolverem novas tcnicas e arquiteturas para soluo de inmeros problemas encontrados no cotidiano mas que possuem alta complexidade para serem executados por programas computacionais convencionais.

Fig. 2. Tela do software

Redes neurais multicamada exigem uma carga grande de processamento para realizar o clculo potencial das camadas e lgica de retro propagao do erro no treinamento. Por isso, optou-se em adotar uma arquitetura de desenvolvimento onde fossem aproveitadas as melhores caractersticas de linguagens de programao compiladas e interpretadas. Ou seja, a velocidade de execuo da linguagem compilada foi aliada portabilidade da linguagem interpretada. Desta forma, obteve-se um programa rpido e que pudesse ser utilizado em vrias plataformas operacionais.

AGRADECIMENTOS Os autores agradecem ao professor Keiji Yamanaka, pela colaborao neste trabalho. REFERNCIAS BIBLIOGRFICAS [1] FAUSETT, Laurene V., Fundamentals of Neural Networks, Architectures, Algorithms and Applications, 1 Edio, Englewood Cliffs: Prentice-Hall, 1994 . [2] BILOBROVEC, Marcelo; MARAL, Rui Francisco Martins; PILLATI, Luiz Alberto . Aplicaes De Redes Neurais Artificiais Em Simulaes. XI SIMPEP [Bauru - SP] 10 Nov. 2004: 1-7. [3] CLAUMANN, Carlos Alberto. Desenvolvimento e Aplicaes de Redes Neurais Wavelets e da Teoria de Regularizao na Modelagem de Processos. Diss. Universidade Federal De Santa Catarina, 2003.