Escolar Documentos
Profissional Documentos
Cultura Documentos
Mauro Roisenberg
mauro@inf.ufsc.br
Resumo
1 – Introdução
2 – História
Podemos considerar que a história das Redes Neurais Artificiais remonta do
ano de 1943 quando McCulloch e Pitts conceberam o primeiro modelo de neurônio
artificial que se baseia em uma espécie de modelagem matemática do neurônio
biológico (McCulloch & Pitts, 1943). O surgimento do neurônio de McCulloch e Pitts
foi considerado como marco final da chamada época antiga das Redes Neurais,
época esta caracterizada pelas conquistas da psicologia e neurofisiologia, apesar de
terem sido feitas maiores conquistas na área da psicologia do que na neurofisiologia.
Neste contexto surge a Época Romântica da abordagem conexionista da
Inteligência Artificial, esta época teve um grande marco que foi o trabalho de Donald
Hebb que sugeriu em seu livro “Organization of Behavior” um modo de proporcionar
capacidade de aprendizado às redes neurais artificiais. Além disso, cresceu a
intenção em buscar inspiração na própria natureza para fazer emergir
comportamentos inteligentes. Nesta fase as pesquisas eram limitadas pela baixa
tecnologia computacional existente.
A época romântica culminou no famoso encontro do Darthmouth College onde
segundo (BARRETO, 1997) foi o primeiro encontro conjunto para estudar a
Inteligência Artificial (IA), sendo que os anos que se seguiram ao encontro em
Darthmouth foram de muito otimismo para os pesquisadores de IA e estes pensavam
que brevemente qualquer problema poderia ser resolvido com inteligência artificial,
esta idéia ganhou ainda mais força com o Perceptron de Frank Rosenblatt. O
Perceptron era uma rede neural de duas camadas de neurônios capaz de aprender
de acordo com a lei de Hebb.
Em 1969, Minsky & Papert em seu livro Perceptrons (MINSKY & PAPERT,
1969) provaram que a rede proposta anteriormente por Rosenblatt não era capaz de
distinguir padrões linearmente separáveis como o problema do OU-Exclusivo.
O livro Perceptrons rapidamente fez as pesquisas em redes neurais artificiais
estancarem, pois se gerou uma onda de pessimismo na comunidade acadêmica,
esta fase ficou conhecida como Época das Trevas e durou até 1981. Todavia, as
pesquisas em inteligência artificial continuaram com o intuito de resolver problemas
em domínios restritos, sendo um estopim para o desenvolvimento de sistemas
especialistas.
A Época de Renascimento (1981-1987) caracterizou-se pelo renascimento da
inteligência artificial conexionista, tendo mais a função de preparação para a fase
seguinte que seria já a Época Contemporânea, aonde vem acontecendo uma
espécie de explosão nas aplicações que utilizam RNAs, esta explosão se deveu a
junção de algumas inovações como o algoritmo de treinamento Backpropagatiom,
proposto por Paul Werbos em 1974 (porém somente popularizado em 1986 pelo
grupo PDP). Além da utilização de várias camadas nas de neurônios, podemos
considerar importante também os estudos de John Hopfield que salientava as
propriedades associativas de uma classe de redes neurais que apresentava fluxo de
dados multidirecional e comportamento dinâmico. (ROISENBERG, 1998). Apesar de
tudo, as redes neurais ainda possuem algumas limitações que são campo aberto
para pesquisas como a falta de uma análise matemática profunda e estudos sobre
computabilidade e complexidade computacional.
3 – Neurônio Biológico
Um neurônio típico é composto por um corpo celular ou soma, um axônio
tubular e várias ramificações arbóreas conhecidas como dendritos. Os dendritos
formam uma malha de filamentos finíssimas ao redor do neurônio. Ao passo que o
axônio consta de um tubo longo e fino que ao final se divide em ramos que terminam
em pequenos bulbos que quase tocam os dendritos dos outros neurônios. O
pequeno espaço entre o fim do bulbo e o dendrito é conhecido como sinapse,
através da qual as informações se propagam. O número de sinapses recebidas por
cada neurônio variam de 100 a 100.000, sendo que elas podem ser tanto excitatórias
como inibitórias. Nas figuras 1 e 2 são mostradas ilustrações de um neurônio artificial
e de uma sinapes, respectivamente.
u1
w2
u2 y
net i φ η
w3
u3 :
:
un wn
Neste trabalho iremos dar apenas uma descrição resumida sobre como
funciona a matemática do algoritmo backpropagation, para saber mais detalhes ver
(FREEMAN & SKAPURA, 1992) e (HAYKIN, 1994). Para isto, utilizaremos como
referência a arquitetura unidirecional apresentada na figura 5.
x k1 1 1
...
h
f (neth )
... w hji h j kj ...
netkj
θj
h
o
x ki i j w opj f (netokp )
o p
net
kp
θp
o
...
... p
...
l
x kn n m
1 1 1
1
bias 1 bias 1
O mapeamento funcional que foi proposto acima pode ser entendido como um
conjunto de coordenadas cartesianas em que para cada xi de entrada existe um yi de
saída, assim escolhendo para uma função qualquer um bom exemplo de pontos
P(xi,yi) a rede será capaz, depois de treinada, de interpolar entre eles para
reconhecer pontos não apresentados no conjunto de exemplos, desta forma
aproximando a função.
Continuando a descrição temos que os elementos de entrada distribuem os
valores dos exemplos para os elementos da camada escondida, sendo que o valor
do net para o jésimo elemento da camada escondida vale:
n
net = ∑ w hji xki + θ hj
h
kj (3)
i =1
i kj = f jh (netkjh ) (4)
l
o
netkp = ∑ w opi ikj + θ op (5)
j =1
okp = f po (net kp
o
) (6)
Como queremos minimizar o erro tal qual a regra Delta, definiremos o erro
como sendo a diferença entre o valor desejado e o valor calculado pela rede, assim
teremos para um único neurônio a seguinte formulação para o erro:
E kp = (y kp − o kp ) (7)
E para todos os neurônios podemos formular um erro total utilizando o erro
médio quadrático sendo assim, teremos:
1 m 2
Ek = ∑ Ekp
2 p =1
(8)
Onde,
7 - Aplicação
Depois da rede ser treinada com os dados descritos na tabela 1 ela deve ser
capaz de acertar o resultado (sucesso ou falha) para novas entradas que não foram
apresentadas a rede no momento do treinamento. Sendo assim, separamos um
conjunto de testes que a rede deve ser capaz de prever o resultado correto. Este
conjunto de testes está descrito na tabela 2.
Tabela 2 – Conjunto de testes
PIN VT TR Resultado
-40 465 23 Sucesso
-15 450 25 Falha
-22 400 41 Falha
-28 310 24 Falha *
-48 380 24 Sucesso
-34 530 28 Sucesso
-40 740 19 Sucesso
-42 550 27 Sucesso
-55 480 19 Sucesso
Este tipo de problema é facilmente resolvido com o auxílio das redes neurais
artificiais, para mostrar esta resolução utilizaremos o software Matlab 6.0 que é um
ambiente de desenvolvimento bastante difundido tanto no contexto acadêmico,
quanto no âmbito comercial. O Matlab é uma poderosa ferramenta para problemas
de cunho matemático, tendo ferramentas gráficas avançadas para análise e
visualização de dados. Além disso, o Matlab possui uma toolbox exclusiva para
redes neurais artificiais, isto é, possui um conjunto de funções pré-definidas que são
de grande valia para o projetista de redes neurais artificiais.
Voltando ao problema, o conjunto de treinamento foi então apresentado a rede
neural para que o algoritmo backpropagation atuasse, sendo importante salientar que
escolhemos 0,05 como valor de erro médio quadrático que o algoritmo deveria
alcançar, isto significa que o algoritmo backpropagation irá fazer várias iterações de
atualização dos pesos até atingir este valor de erro. Na figura 6 mostramos o gráfico
de busca do vetor gradiente na superfície de erro.
Figura 7 – Gráfico das saídas desejadas Figura 8 – Gráfico das saídas emitidas pela
para o conjunto de teste rede para o conjunto de teste
8 – Considerações Finais
As redes neurais artificiais vêm ganhando cada vez mais adeptos, de modo
que as pesquisas nesta área estão evoluindo geometricamente, portanto, isto a torna
uma tecnologia bastante promissora para o desenvolvimento de aplicações utilizando
inteligência artificial.
O sucesso das redes neurais está diretamente relacionado com a sua alta
versatilidade no que tange o escopo de suas aplicações, pois existem aplicações
para as mais variadas áreas, podendo ser utilizada para tarefas que vão desde o
desenvolvimento de sistemas especialistas, passando por aplicações nas
neurociências e podendo servir até mesmo para problemas complexos de análise
estatística.
O problema da ventilação mecanicamente assistida citado neste trabalho
serviu para mostrar a viabilidade para a solução de problemas utilizando RNAs. È
importante ressaltar que poderíamos resolver este problema utilizando outros
parâmetros ou outras arquiteturas de redes neurais, a maneira que resolvemos foi
escolhida para manter o escopo pretendido neste trabalho.
Este documento teve o intuito de fazer dar uma visão global sobre o assunto,
isto significa que os leitores interessados em mais detalhes devem consultar as
referências bibliográficas descritas, além disso, os autores se colocam a disposição
para eventuais dúvidas e sugestões.
8 – Referências Bibliográficas
McCulloch, W.S. & PITTS, W. A Logical Calculus of the Ideas Immanent in Nervous
Activity. Bulletin of Mathematical Biophysics 5 (1943), 115-133
WERBOS, P. J. Beyond regression: new tools for prediction and analysis in the
behavioral sciences. PhD thesis, Harvard University, Cambridge, MA, 1974.