Aplicações de redes neurais artificiais em simulações

Propaganda
XI SIMPEP - Bauru, SP, Brasil, 08 a 10 de novembro de 2004
Aplicações de redes neurais artificiais em simulações
Marcelo Bilobrovec (UEPG - CEFET - PR) [email protected]
Rui Francisco Martins Marçal (CEFET - PR) [email protected]
Luiz Alberto Pilatti (CEFET - PR) [email protected]
Resumo
Considerando a simulação de situações reais como elemento importante na otimização de
processos, o presente artigo tem por objetivo a apresentação de um sistema especialista
desenvolvido para modelagem computacional de simulação de dados de consulta, utilizando
a técnica de redes neurais artificiais, que consiste em um método para solucionar problemas
de Inteligência Artificial (IA). Esta técnica juntamente com o ambiente de programação de
computadores Borland Delphi Enterprise 7.0 foram utilizadas como métodos para a
implementação do sistema em questão, que utiliza também um componente denominado MLP,
que cria um tipo de rede neural conhecida na literatura como Multilayer Perceptron
(perceptron de camada múltipla). Os dados da pesquisa foram obtidos junto ao Laboratório
de Informática Aplicada à Agricultura - INFOAGRO, da Universidade Estadual de Ponta
Grossa (UEPG). A partir dos resultados obtidos, pode-se dizer com segurança que as Redes
Neurais Artificiais são uma ferramenta poderosa para a realização de simulações, capazes
de realizar prognósticos com o mesmo nível de precisão dos especialistas. A maior
dificuldade encontrada está na determinação dos parâmetros de configuração ideais da rede
neural, que são de vital importância para a avaliação do resultado obtido, parâmetros estes
obtidos com especialistas na área de atuação do sistema especialista.
Palavras chave: Redes neurais, Sistemas especialistas, Simulação.
1. Introdução
As Redes Neurais Artificiais (RNA) têm sua inspiração nos sistemas nervosos
biológicos, com o objetivo de simular nos computadores a capacidade de aprender do cérebro
humano, para tentar resolver problemas para os quais ele não foi explicitamente programado
para resolver. (DAZZY, 1999)
Segundo Dazzy (1999), as RNA não tem como objetivo principal o de duplicar o
funcionamento do cérebro humano, mas sim receber informações de fatos conhecidos do seu
funcionamento. Este tipo de RNA possui as seguintes características:
- Grande quantidade de elementos de processamento simulando o funcionamento dos
neurônios;
- Muitas conexões entre estes elementos;
- A aprendizagem automática como principal ferramenta.
As RNA são multidisciplinares, podendo ser aplicadas nas mais diversas áreas do
conhecimento, indo desde atividades de pesquisa até aplicações comerciais e industriais. Com
elas é possível simular um sistema real com alto grau de semelhança.
Para que um sistema seja uma ferramenta eficiente, os usuários devem ter uma forma
de interagir com ele facilmente. Esta interação é muito importante, pois além da capacidade
de realizar sua função, o sistema especialista deverá ter uma forma de explicar o seu
raciocínio de forma clara para o seu usuário e também uma forma de adquirir novos
conhecimentos, aumentando desta forma a sua base de conhecimento com informações
completas e precisas.
XI SIMPEP - Bauru, SP, Brasil, 08 a 10 de novembro de 2004
O presente trabalho tem por objetivo o desenvolvimento de um sistema computacional
para modelagem de sérias históricas de dados, utilizando técnicas de Inteligência Artificial e
Redes Neurais, e como ferramenta computacional, o ambiente de programação de
computadores Borland Delphi Enterprise 7.0 (BORLAND, 2004).
2. Material e métodos
A pesquisa foi realizada no Laboratório de Informática Aplicada à Agricultura INFOAGRO, da Universidade Estadual de Ponta Grossa (UEPG) e foram utilizados dados
diários de tempo de processo.
Para a execução do modelo de simulação de dados diários, desenvolveu-se um modelo
computacional denominado DataSim – Simulador de Dados, composto pelo programa
DataSim.Exe. O programa foi codificado na linguagem de programação Delphi versão 7.0, o
qual pode ser executado na plataforma Windows. Para a implantação da rede neural foi
utilizado o componente MLP (Multilayer Perceptron) obtido do livro Redes Neurais em
Delphi (MEDEIROS, 2003).
A instanciação do componente MLP cria um tipo de rede neural conhecida na
literatura como Multilayer Perceptron (perceptron de camada múltipla). Este tipo de rede
neural permite a execução de tarefas como a simulação de séries temporais, entre outras
aplicações. Sua arquitetura está baseada em camadas de unidades denominadas neurônios,
que se interligam através de conexões sinápticas. Cada neurônio de uma camada conecta-se
com a totalidade de neurônios de suas camadas adjacentes. Estas conexões também
denominadas pesos sinápticos, transformam o sinal de entrada da rede ativando os neurônios
pelas camadas internas até a camada de saída, onde obtem-se a resposta desejada
(MEDEIROS, 2003).
Para a validação da eficiência da rede neural foi desenvolvido um programa que
possui uma interface que permite a entrada da informação (conhecimento) dos dados reais
obtidos em leituras de coletores de dados (dataloggers) e também uma interface que permite a
manipulação dos dados referentes a configuração dos parâmetros da rede MLP.
3. Arquitetura de uma rede neural
O cérebro humano possui milhões de células nervosas (neurônios), que se interligam
entre si, formando uma rede disposta em camadas. Nesta rede, são processadas todas as
informações referentes aos seres humanos. A capacidade de pensar, memorizar e resolver
problemas tem levado muitos cientistas a tentar modelar a sua operação. Diversos
pesquisadores têm buscado criar um modelo computacional que represente a funcionalidade
do cérebro, de uma maneira simples.
Em Neurais (2004),
“as redes neurais artificiais consistem em um método para solucionar problemas de
inteligência artificial, construindo um sistema que tenha circuitos que simulem o
cérebro humano, inclusive seu comportamento, ou seja, aprendendo, errando e
fazendo descobertas. São mais que isso, são técnicas computacionais que
apresentam um modelo inspirado na estrutura neural de organismos inteligentes e
que adquirem conhecimento através da experiência. Uma grande rede neural
artificial pode ter centenas ou milhares de unidades de processamento, enquanto
que o cérebro de um mamífero pode ter muitos bilhões de neurônios”.
XI SIMPEP - Bauru, SP, Brasil, 08 a 10 de novembro de 2004
Uma rede neural é formada por um conjunto de unidades de processamento simples
que se comunicam enviando sinais uma para a outra através de conexões ponderadas. O
componente elementar desse modelo são as unidades de processamento, também chamadas
nós, neurônios ou células. Essa unidade de processamento é um modelo matemático, que
possui uma inspiração no modelo biológico de um neurônio.
Objetivando simular o comportamento deste neurônio biológico, McCullock e Pitts
(1943), propuseram o modelo da figura 1. Neste modelo, cada sinal positivo ou negativo que
entra pelo sistema, é multiplicado por um número, ou peso, que indica a sua influência na
saída. Caso a soma ponderada dos sinais exceda certo limite, é gerada uma resposta na saída.
p
a = ∑ xi .wi
i =1
e
⎛ p
⎞
y = f (a ) ⇒ y = f ⎜⎜ ∑ xi .wi ⎟⎟
⎝ i =1
⎠
Figura 1: Modelo de McCulloch e Pitts (1943)
No modelo geral de neurônio (Figura 1) as entradas Wi Xi são combinadas usando uma
função f, para produzir um estado de ativação do neurônio (correspondente à freqüência de
descarga do neurônio biológico). As entradas chegam através dos dentritos e tem um peso
atribuído pela sinapse. A função básica de um neurônio é somar as entradas e retornar uma
saída, caso esse valor seja maior que o valor de soma “threshold” (NEURAIS, 2004).
A rede neural é, geralmente, constituída de uma camada de entrada, que recebe os
estímulos, e de uma camada de saída, que produz a resposta. Algumas redes podem ter uma
ou mais camadas internas (também chamadas ocultas ou escondidas). A capacidade
computacional de uma rede neural está nas conexões entre os elementos processadores. Nos
pesos que ponderam cada conexão são armazenadas as informações que a rede “aprendeu”.
Em uma RNA os neurônios podem estar agrupados por camadas direcionadas ou não,
com ligações em um sentido (para frente) ou em ambos (para frente e para trás). As redes com
ligações somente para frente, também chamadas de diretas ou feed-forward, se dividem em
redes monocamada e multicamadas. As redes com ligações em mais de um sentido também
são chamadas de redes com ciclos (FREITAS, 2004).
Os sinais de entrada para uma rede neural a partir de fora da rede chegam através de
conexões que se originam do mundo externo, saídas da rede para o mundo externo são
conexões que deixam a rede.
De forma geral, a operação de uma célula da rede se resume (NEURAIS, 2004):
- Sinais são apresentados à entrada;
- Cada sinal é multiplicado por um peso que indica sua influência na saída da unidade;
- É feita a soma ponderada dos sinais que produz um nível de atividade;
XI SIMPEP - Bauru, SP, Brasil, 08 a 10 de novembro de 2004
- Se este nível excede um limite (“threshold”) a unidade produz uma saída.
Três conceitos são importantes na compreenção o processo de aprendizagem:
- Treinamento ou Aprendizado: conjunto de procedimentos utilizados para ajustar
os parâmetros das redes neurais, de maneira que possam realizar determinada função;
- Número de ciclos: número de vezes que os padrões de treinamento serão
apresentados às redes neurais, a fim de que se faça a atualização dos pesos;
- Taxa de Aprendizagem: controla a intensidade das alterações dos pesos - uma alta
taxa de aprendizado acelera o processo, mas pode reduzir a capacidade de
generalização da rede neural.
A principal vantagem em se utilizar as redes MLP se deve ao fato que deste tipo de
topologia ser capaz de realizar prognósticos confiáveis sobre valores futuros de séries
temporais. Uma questão importante a responder é qual o tamanho ótimo para a rede de
treinamento. Neste sentido, são apresentados resumidamente a seguir dois estudos empíricos
que se dedicaram a estudar soluções para a questão da topologia da rede.
4. Validação
Para construir o modelo computacional que validasse a eficiência da rede neural
utilizando-se a topologia MLP o programa desenvolvido possui uma interface que permite a
informação (conhecimento) dos dados reais obtidos em leituras de coletores de dados
(dataloggers) e também uma interface que permite a manipulação dos dados referentes a
configuração dos parâmetros da rede MLP.
A Ilustração 1 mostra a interface destinada a informação dos dados de configuração da
simulação por rede MLP.
Ilustração 1: Janela de entrada de dados para Simulação
Note que na janela são informados os dados referentes a número de ciclos, neurônios
da camada intermediária (camada oculta), taxa de aprendizagem e taxa de inércia. Os dados
da camada de entrada são informados como Dados para o eixo X, ou seja, são os dados
obtidos através da importação dos dados do coletor de dados (série de dados temporais). A
camada de saída será observada através da análise gráfica apresentada na Ilustração 2, onde é
possível observar em vermelho os dados obtidos através da leitura real dos dados (camada de
entrada), em verde observa-se os dados simulados, para 5000 ciclos, 3 neurônios na camada
oculta e uma taxa de aprendizagem de 80%. Para melhor visualização os gráficos obtidos
XI SIMPEP - Bauru, SP, Brasil, 08 a 10 de novembro de 2004
tiveram um pequeno deslocamento, caso contrário, seria difícil observar a diferença do
gráfico, uma vez que o resultado simulado ficou muito próximo dos dados reais.
Ilustração 2: Gráfico comparativo Série Real x Simulação
Para que se observe a importância dos parâmetros da simulação, na Ilustração 3, temos
os mesmos dados de entrada só que agora para 1000 ciclos, 8 neurônios na camada oculta e
uma taxa de aprendizagem de 80%. Esta nova configuração deixa o processo de geração dos
dados de saída mais rápido, porém com uma precisão menor em relação aos dados reais
coletados.
XI SIMPEP - Bauru, SP, Brasil, 08 a 10 de novembro de 2004
Ilustração 3: Gráfico com novos parâmetros para a Simulação
Observa-se na ilustração Ilustração 3 que os dados da simulação apresentam uma
margem de erro maior em relação a situação anteriormente descrita. Somente os dados com
valores menores estão dentro de um limite satisfatório de simulação. Os dados com valores
maiores apresentam uma discrepância considerável. Vemos, portanto que os parâmetros de
configuração da rede neural são de vital importância para a avaliação do resultado obtido.
Numa análise grosseira poderíamos descartar este método de simulação simplesmente
pela observação da Ilustração 3.
5. Considerações finais
Este trabalho não tem a pretensão de estabelecer que as Redes Neurais Artificiais,
mais especificamente o modelo Perceptron Multi-Camadas (MLP) com aprendizado por
retropropagação de erros, apresentam-se como o melhor método de realização de simulações.
Porém, em face aos resultados apresentados, pode-se dizer com segurança que as Redes
Neurais Artificiais são uma ferramenta poderosa para a realização de simulações, capazes de
realizar prognósticos com o mesmo nível de precisão ou, em alguns casos, até maior que os
modelos estatísticos clássicos. Na verdade, este trabalho se soma à literatura onde as redes
neurais artificiais aparecem como o melhor método de previsão para séries temporais mais
longas.
A principal dificuldade na utilização de redes neurais artificiais na simulação, ainda é
a determinação da arquitetura ótima da rede. Ainda não se possui uma metodologia
consistente que apresente a melhor configuração da rede para cada simulação proposta. Uma
sugestão que pode vir a ser estudada em trabalhos futuros é a utilização de modelos de Redes
Neurais Artificiais com poda automática de neurônios que apresentem menor importância ao
XI SIMPEP - Bauru, SP, Brasil, 08 a 10 de novembro de 2004
longo do aprendizado da rede. Um modelo que desperta particular interesse neste sentido é o
Modelo Neural Combinatório.
Referências
BORLAND (2004) - Disponível em http://www.borland.com.br/products/index.html, acesso em abril/2004.
DAZZY, Rudimar L. S. (1999) - Sistemas especialistas conexionistas: implementação por redes diretas e
bidirecionais. Dissertação de mestrado, Universidade Federal de Santa Catarina, Programa de Pós-Graduação em
Ciência da Computação, UFSC, Florianópolis, Santa Catarina.
DIAS, A. H.; MATHIAS, I. M.; VIRGENS FILHO, J. S.; RICKLI, L. I. (2004) - Simulador de dados genéricos Aplicação de redes neurais artificiais topologia MLP. In: Congresso Nacional de Tecnologia da Informação e
Comunicação, Anais, Florianópolis.
FREITAS, S. O. de & SOUZA, A. A. De (2004) - Utilização de redes neurais na precificação de opções:
Resenha BM&F. n. 150, p. 63 – 73. Disponível em <http://www.nyse.com.br/papers/1402200210H10.pdf>.
Acesso em: 13 abr. 2004.
MCCULLOCH, W. S. & PITTS, W. H. (1943) - A logical calculus of ideas immanent in nervous activity. Bull.
of Mathematical Biophysics.
MEDEIROS, L. F. de (2003) - Redes neurais em delphi. Florianópolis: Visual Books Editora, 115p.
NEURAIS (2004) – Disponível em http://www.din.uem.br/ia/neurais, acesso em abril/2004.
Download