Você está na página 1de 17

REDES NEURAIS ARTIFICIAIS: UM BREVE TUTORIAL

Renato Corra Vieira


renatocv@inf.ufsc.br

Mauro Roisenberg
mauro@inf.ufsc.br



Laboratrio de Conexionismo e Cincias Cognitivas (L3C)

Universidade Federal de Santa Catarina (UFSC) Florianpolis SC - Brasil


Resumo

O estudo das Redes Neurais Artificiais tem alta relevncia para os
pesquisadores de Inteligncia Artificial, sendo objeto de crescentes pesquisas e
servindo como valiosa ferramenta para diversas aplicaes.
Este trabalho tem em seu mbito geral o objetivo de fazer uma breve
introduo as Redes Neurais Artificiais, tentando explorar suas peculiaridades
principais, de forma a seguir como um breve guia introdutrio aos interessados nesta
tecnologia.
Tendo em vista que o objetivo deste trabalho fazer um apanhado geral do
assunto, tentaremos nos direcionar para pontos cruciais como a descrio do
neurnio biolgico, aprendizado e treinamento das Redes Neurais Artificiais, tambm
sero feitos comentrios sobre as principais arquiteturas, mostrando uma aplicao
real, utilizando para isso o software Matlab 6.0.
Este tutorial no tem exigncia de nenhum pr-requisito especial, sendo um
guia introdutrio para o estudante interessado em conhecer a tecnologia das Redes
Neurais Artificiais.

1 Introduo

O ser humano dotado de complexos circuitos neurais cerebrais que constam
de variadas conexes entre seus neurnios (sinapses) interagindo entre si de modo
a fazer emergir comportamento inteligente. Sendo assim, surge a idia de que se
conseguirmos modelar computacionalmente estas conexes neurais, poderamos
fazer emergir comportamentos tambm inteligentes em mquinas. Neste contexto,
surgem as redes neurais artificiais (RNAs) que so inspiradas na prpria natureza
das redes de neurnios e sinapses biolgicas. Esta idia de modelagem cerebral
forma a vertente da Inteligncia Artificial chamada Inteligncia Artificial Conexionista.
Outro ponto importante para sedimentar utilizao das redes neurais
artificiais que existem classes de problemas que a complexidade algortmica
muito grande, de modo a se tornar invivel a resoluo algortmica convencional.
Entretanto, o ser humano tem mecanismos intrnsecos que resolvem problemas
complexos como reconhecimento de fala e segmentao de imagens de maneira
inata.
Alm disso, as RNAs so dispositivos que permitem tolerncia a rudos e
falhas, o que advm da capacidade de generalizao das redes, sendo capaz de
suportar rudos e imperfeies no ambiente, ainda mantendo um resultado desejado.
Apesar do pouco conhecimento do crebro humano, alm da dificuldade de
modelar mesmo o que j sabemos, as pesquisas em redes neurais tem se mostrado
bastantes promissoras em diversas reas, como engenharia, computao e at
mesmo nas neurocincias. Sendo tambm de grande utilidade para problemas como
reconhecimento de padres, agrupamento, previso de sries temporais, etc.
Nas prximas sees deste trabalho veremos importantes pontos das RNAs
como um breve levantamento de sua histria, tambm veremos como se d o
funcionamento do neurnio artificial, bem como sua relao com o neurnio
biolgico, ento passaremos a tratar do aprendizado e treinamento das redes, dando
nfase ao algoritmo de treinamento Backpropagation e finalmente mostraremos uma
aplicao utilizado o software Matlab.

2 Histria

Podemos considerar que a histria das Redes Neurais Artificiais remonta do
ano de 1943 quando McCulloch e Pitts conceberam o primeiro modelo de neurnio
artificial que se baseia em uma espcie de modelagem matemtica do neurnio
biolgico (McCulloch & Pitts, 1943). O surgimento do neurnio 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 Romntica da abordagem conexionista da
Inteligncia 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. Alm disso, cresceu a
inteno em buscar inspirao na prpria natureza para fazer emergir
comportamentos inteligentes. Nesta fase as pesquisas eram limitadas pela baixa
tecnologia computacional existente.
A poca romntica culminou no famoso encontro do Darthmouth College onde
segundo (BARRETO, 1997) foi o primeiro encontro conjunto para estudar a
Inteligncia 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 inteligncia artificial,
esta idia ganhou ainda mais fora com o Perceptron de Frank Rosenblatt. O
Perceptron era uma rede neural de duas camadas de neurnios 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 no era capaz de
distinguir padres linearmente separveis 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 acadmica,
esta fase ficou conhecida como poca das Trevas e durou at 1981. Todavia, as
pesquisas em inteligncia artificial continuaram com o intuito de resolver problemas
em domnios restritos, sendo um estopim para o desenvolvimento de sistemas
especialistas.
A poca de Renascimento (1981-1987) caracterizou-se pelo renascimento da
inteligncia artificial conexionista, tendo mais a funo de preparao para a fase
seguinte que seria j a poca Contempornea, aonde vem acontecendo uma
espcie de exploso nas aplicaes que utilizam RNAs, esta exploso se deveu a
juno de algumas inovaes como o algoritmo de treinamento Backpropagatiom,
proposto por Paul Werbos em 1974 (porm somente popularizado em 1986 pelo
grupo PDP). Alm da utilizao de vrias camadas nas de neurnios, podemos
considerar importante tambm os estudos de John Hopfield que salientava as
propriedades associativas de uma classe de redes neurais que apresentava fluxo de
dados multidirecional e comportamento dinmico. (ROISENBERG, 1998). Apesar de
tudo, as redes neurais ainda possuem algumas limitaes que so campo aberto
para pesquisas como a falta de uma anlise matemtica profunda e estudos sobre
computabilidade e complexidade computacional.

3 Neurnio Biolgico

Um neurnio tpico composto por um corpo celular ou soma, um axnio
tubular e vrias ramificaes arbreas conhecidas como dendritos. Os dendritos
formam uma malha de filamentos finssimas ao redor do neurnio. Ao passo que o
axnio 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 neurnios. O
pequeno espao entre o fim do bulbo e o dendrito conhecido como sinapse,
atravs da qual as informaes se propagam. O nmero de sinapses recebidas por
cada neurnio variam de 100 a 100.000, sendo que elas podem ser tanto excitatrias
como inibitrias. Nas figuras 1 e 2 so mostradas ilustraes de um neurnio artificial
e de uma sinapes, respectivamente.


Figura 1 Neurnio Biolgico




Figura 2 Representao da sinapse neural

A clula nervosa tem um potencial de repouso devido aos ons Na
+
e K


estarem em concentraes diferentes dentro e fora da clula, de modo que qualquer
perturbao na membrana do neurnio provoca uma srie de alteraes durante um
curto perodo de tempo.
A alterao na concentrao dos ons Na
+
e K

gera um trem de pulso que se


expande localmente nas proximidades dos dendritos. Dependendo da intensidade do
estmulo, este trem de pulso pode exceder um certo limiar no corpo celular e gerar
um sinal com amplitude constante ao longo do axnio. Na fronteira do momento do
disparo do neurnio, gerado um potencial de ao que impulsiona o fluxo do sinal
gerado pelo corpo celular para outras clulas.
O pulso eltrico gerado pelo potencial de ao libera neurotransmissores que
so substncias qumicas contidas nos bulbos do axnio, estes neurotransmissores
so repassados para os dendritos do neurnio seguinte. Assim, quando o conjunto
de neurotransmissores que chegam aos dendritos de um determinado neurnio
atinge um certo limiar, eles disparam de novo um potencial de ao que vai repetir
todo o processo novamente.
Convm ressaltar que as sinapses podem ser excitatrias, facilitando o fluxo
dos sinais eltricos gerados pelo potencial de ao, como podem tambm ser
inibitrias que tem como caracterstica dificultar a passagem desta corrente.
Esta seo teve o intuito de apenas contextualizar a inspirao biolgica a
qual as redes neurais artificiais so idealizadas, para mais informaes acerca do
funcionamento do sistema neural, o leitor pode consultar (NICHOLLS2000) e
(LAVINE, 1983) que foram utilizados como literatura base para esta seo.











4 Neurnio Artificial

Apesar dos esforos em se modelar os neurnios biolgicos tudo que se
conseguiu at hoje foi uma aproximao elementar. Neste trabalho mostraremos
uma generalizao do modelo proposto por Azevedo (Apud Roisenberg, 1998). A
figura 3 ilustra este modelo.










Figura 3 Neurnio Artificial



Neste modelo as entradas do neurnio u
j
podem ser sadas de outros
neurnios, entradas externas, um bias ou qualquer combinao destes elementos.
Estas entradas so ponderadas pelos pesos w
ij
que so inspirados na fora da
conexo sinptica.
Desta forma, temos o chamado net do neurnio que geralmente o somatrio
de todas as entradas multiplicadas pelos seus respectivos pesos. Ou seja:
ij
n
j i
w u net

=
1

Sendo que w
ij
significa o peso da conexo sinptica do neurnio i para o
neurnio j.
Tambm temos a funo de ativao que s existe em neurnios dinmicos,
pois os estados futuros dos neurnios so afetados tanto pelo net de entrada como
pelo estado atual do neurnio, ou seja, este tipo de neurnio tem uma certa
memriaque permite guardar esta informao de estados anteriores. Entretanto, em
grande parte da literatura considera-se a funo de ativao constante, tornando os
neurnios em entidades estticas. (ROISENBERG, 1998)
A funo de sada quem produz a sada do neurnio e normalmente tem
forma contnua e crescente, de tal sorte que seu domnio geralmente se encontra no
mbito dos nmeros reais. Geralmente utiliza-se como funo de sada as funes
lineares, sigmoidal ou logstica e a funo tangente hiperblica.

5 Topologia das Redes Neurais Artificiais

Para a vasta maioria dos problemas prticos um nico neurnio no
suficiente, sendo assim utiliza-se neurnios interconectados, sendo que a deciso de
:
:
un
u
3

u
2

u
1

w
n

w
3

w
2

y
net
i

como interconectar os neurnios uma das mais importantes decises a se tomar
em um projeto de uma rede neural artificial
No tocante de como os neurnios se interligam, conveniente ressaltar a
utilizao de camadas intermdirias (ou ocultas) que permitem as RNAs
implementar superfcies de deciso mais complexas. Estas camadas permitem que
seus elementos se organizem de tal forma que cada elemento aprenda a reconhecer
caractersticas diferentes do espao de entrada, assim, o algoritmo de treinamento
deve decidir que caractersticas devem ser extradas do conjunto de treinamento. A
desvantagem em utilizar camada escondida que o aprendizado se torna muito mais
difcil.
As redes neurais artificiais podem ser diretas ou recorrentes, sendo que a
principal diferena entre elas que na primeira os neurnios no recebem
realimentao em suas entradas, ou seja, seu grafo no tem ciclos.
Atualmente as redes neurais diretas so as mais utilizadas, principalmente
pelo advento da popularizao do algoritmo de treinamento backpropagation. Este
tipo de rede pode ser considerado um aproximador universal de funes, sendo que
seu nvel de preciso depender principalmente do nmero de neurnios, bem como
da escolha eficiente do conjunto de exemplos.
Nas redes neurais recorrentes existe pelo menos um ciclo de
retroalimentao, onde algum neurnio fornece o seu sinal de sada para a entrada
de outro neurnio. Este tipo de rede se comporta melhor com problemas dinmicos e
que portanto necessitam de dinmica da rede neural, entretanto neste trabalho
trataremos apenas das redes neurais diretas, pela sua maior popularizao. para
saber mais sobre redes neurais recorrentes, procurar em (CLEEREMANS, SERVAN-
SCHREIBER, MCCLELLAND, J., 1989) (CASEY,1993) e (BURROWS e NIRANJAN,
1993)
As figuras 4 e 5 ilustram redes neurais diretas e recorrentes, respectivamente.
importante salientar que as conexes entre neurnios podem ser feitas de outras
diversas maneiras, ou seja, podemos fazer ligaes entre neurnios da mesma
camada, podemos fazer ligaes entre todos neurnios de uma camada com apenas
alguns de outra camada, e assim por diante. A disposio das ligaes depender de
que tipo de rede neural se deseja utilizar, bem como novas arquiteturas ainda so
objeto de pesquisa e o campo ainda est aberto para inovaes neste sentido.



Figura 4 Rede Neural Direta.


Figura 5 Rede Neural Recorrente

6 Aprendizado: Algoritmo Backpropagation

O conhecimento das redes neurais artificiais (RNA) se d atravs da
ponderao que os pesos da conexo entre os neurnios de diferentes camadas
trocam entre si. Ou seja, encontrar soluo para um determinado problema utilizando
RNA seria, a grosso modo, encontrar a melhor topologia de rede, bem como ajustar
corretamente os pesos das conexes entre os neurnios. A forma de aprendizado
das RNAs podem ser classificadas em dois tipos: supervisionado e no
supervisionado.
O aprendizado supervisionado inere em sua estrutura uma espcie de
instrutor que confere o quanto a rede est prxima de uma soluo aceitvel,
adaptando na concepo do treinamento os pesos entre os neurnios, de modo a
prover uma menor diferena entre as sadas desejadas e a obtida.
J o aprendizado no-supervisionado no possui conhecimento a priori das
sadas da rede, e funciona de modo a distinguir classes de padres diferentes dos
dados apresentados rede, atravs de algoritmos de aprendizado baseados
geralmente em conceitos de vizinhana e agrupamento.
Na aprendizagem no-supervisionada a rede ajustada de acordo com
regularidades estatsticas dos dados de entrada, de tal forma que ela cria categorias,
otimizando em relao aos parmetros livres da rede uma medida da qualidade que
independente da tarefa a ser executada. Para mais informaes sobre
aprendizado no supervisionado, consultar (KOHONEN, 1987) e (FREEMAN
SKAPURA, 1992).
Neste trabaho focaremos apenas o tipo de aprendizado supervisionado,
apresentando o algoritmo de treinamento backpropagation, o qual a alternativa
mais utilizada para treinamento de redes neurais diretas.
O algoritmo backpropagation prov um aprendizado supervisionado, isto , ele
procura achar iterativamente a mnima diferena entre as sadas desejadas e as
sadas obtidas pela rede neural, segundo um erro mnimo. Desta forma, ajustando os
pesos entre as camadas atravs da retropropagao do erro encontrado em cada
iterao.
Uma soluo para superar o problema do aprendizado da classificao de
padres no-linearmente separveis a utilizao de uma camada intermediria de
neurnios, chamada Camada Escondida ("Hidden Layer"), de modo a poder
implementar superfcies de deciso mais complexas. A caracterstica principal da
camada escondida que seus elementos se organizam de tal forma que cada
elemento aprenda a reconhecer caractersticas diferentes do espao de entrada,
assim, o algoritmo de treinamento deve decidir que caractersticas devem ser
extradas do conjunto de treinamento. A desvantagem em utilizar camada escondida
que o aprendizado se torna muito mais difcil.
Como at o incio dos anos 70 nenhum algoritmo de aprendizado para estas
redes multicamadas havia sido desenvolvido, as pesquisas na rea de redes neurais
acabaram caindo em descrdito, at que nos anos 80, um algoritmo chamado Retro-
propagao ou Backpropagation, veio fazer renascer o interesse geral pelas redes
neurais.
O algoritmo Backpropagation foi desenvolvido de maneira independente por
vrios pesquisadores trabalhando em diferentes reas aproximadamente na mesma
poca. Em 1974, Werbos (WERBOS, 1974) apresentou o algoritmo enquanto
desenvolvia sua tese de doutorado em estatstica e o chamou de "Algoritmo de
Realimentao Dinmica". Parker (PARKER, 1982) redescobriu o algoritmo e
chamou-o de "Algoritmo de Aprendizado Lgico". Porm, foi com o trabalho de
Rumelhart, Hinton e Williams (RUMELHART e MCCLELLAND, 1986) do grupo PDP
("Parallel Distributed Processing") do MIT em 1986 divulgou e popularizou o uso do
Backpropagation para o aprendizado em redes neurais. O algoritmo Backpropagation
hoje em dia a tcnica de aprendizado supervisionado mais utilizada para redes
neurais unidirecionais multicamadas.
Uma descrio sumria da operao da rede apropriada neste instante para
ilustrar como o Backpropagation utilizado para o aprendizado de problemas de
mapeamento complexo. Basicamente, a rede aprende um conjunto pr-definido de
pares de exemplos de entrada/sada em ciclos de propagao/adaptao. Depois
que um padro de entrada foi aplicado como um estmulo aos elementos da primeira
camada da rede, ele propagado por cada uma das outras camadas at que a sada
seja gerada. Este padro de sada ento comparado com a sada desejada e um
sinal de erro calculado para cada elemento de sada.
O sinal de erro ento retro-propagado da camada de sada para cada
elemento da camada intermediria anterior que contribui diretamente para a
formao da sada. Entretanto, cada elemento da camada intermediria recebe
apenas uma poro do sinal de erro total, proporcional apenas contribuio relativa
de cada elemento na formao da sada original. Este processo se repete, camada
por camada, at que cada elemento da rede receba um sinal de erro que descreva
sua contribuio relativa para o erro total. Baseado no sinal de erro recebido, os
pesos das conexes so ento atualizados para cada elemento de modo a fazer a
rede convergir para um estado que permita a codificao de todos os padres do
conjunto de treinamento.
Como podemos ver da descrio acima, o Backpropagation utiliza o mesmo
princpio da Regra Delta, qual seja, a minimizao de uma funo custo, no caso, a
soma dos erros mdios quadrticos sobre um conjunto de treinamento, utilizando a
tcnica de busca do gradiente-descendente. Por esta razo, o algoritmo
Backpropagation tambm chamado muitas vezes de Regra Delta Generalizada
("Generalized Delta-Rule"). A modificao principal em relao a Regra Delta foi a
utilizao de funes contnuas e suaves como funo de sada dos neurnios ao
invs da funo de limiar lgico. Como as funes de sada passaram a ser
derivveis, isto permitiu a utilizao da busca do gradiente-descendente tambm
para os elementos das camadas intermedirias.

6.1 Formalizao matemtica do Algoritmo Backpropagation
Neste trabalho iremos dar apenas uma descrio resumida sobre como
funciona a matemtica do algoritmo backpropagation, para saber mais detalhes ver
(FREEMAN & SKAPURA, 1992) e (HAYKIN, 1994). Para isto, utilizaremos como
referncia a arquitetura unidirecional apresentada na figura 5.

1
i
n
x
x
x
k1
ki
kn
1
j
p
l
m
1
bias bias
w
ji
h

j
h
net
kj
h
1
1
1
1
1
1
f
j
h
net
kj
h
( )
w
pj
o

p
o
net
kp
o
f
p
o
net
kp
o
( )
Camada de
Entrada
Camada
Escondida
Camada de
Sada
...
...
...
...
...
...

Figura 5 Arquitetura unidirecional multi-camada

Suponhamos que tenhamos um conjunto de P pares de vetores (X
1
,Y
1
),
(X
2
,Y
2
), ..., (X
P
, Y
P
), no nosso conjunto de treinamento e que so exemplos de um
mapeamento funcional definido como:
Y X X Y
n m
= ( ) : , (1)
Desejamos treinar a rede de modo que ela consiga aprender uma
aproximao da forma:
O Y X X Y
n m
= = ( ) : , (2)


O mapeamento funcional que foi proposto acima pode ser entendido como um
conjunto de coordenadas cartesianas em que para cada x
i
de entrada existe um y
i
de
sada, assim escolhendo para uma funo qualquer um bom exemplo de pontos
P(x
i
,y
i
) a rede ser capaz, depois de treinada, de interpolar entre eles para
reconhecer pontos no apresentados no conjunto de exemplos, desta forma
aproximando a funo.
Continuando a descrio 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:
net w x
kj
h
ji
h
i
n
ki j
h
= +
=

1
(3)
onde w
ji
h
o peso da conexo entre o i
simo
elemento da camada de entrada e o
j
simo
elemento da camada escondida h e
p
0
o termo opcional chamado bias que
prov um valor fictcio de entrada igual a 1, dando um grau de liberdade maior para a
funo de sada do neurnio.
Assumindo que os neurnios so estticos o valor da funo de ativao ser
igual ao net, assim temos que o valor de sada para um neurnio da camada
escondida vale:

i f net
kj j
h
kj
h
= ( ) (4)

Da mesma forma para os neurnios da camada de sada teremos:

net w i
kp
o
pi
o
kj
j
l
p
o
= +
=

1
(5)
o f net
kp p
o
kp
o
= ( ) (6)

Como queremos minimizar o erro tal qual a regra Delta, definiremos o erro
como sendo a diferena entre o valor desejado e o valor calculado pela rede, assim
teremos para um nico neurnio a seguinte formulao para o erro:
E y o
kp kp kp
= ( ) (7)
E para todos os neurnios podemos formular um erro total utilizando o erro
mdio quadrtico sendo assim, teremos:
E E
k kp
p
m
=
=

1
2
2
1
(8)
Como o que interessa encontrar o menor erro quadrtico, a busca na
superfcie de erros se d pelo gradiente negativo, ou seja, a direo de modificaes
dos pesos ser dada de acordo com a direo que o vetor gradiente seguir na
superfcie. A formulao matemtica do vetor gradiente no ser mostrada neste
trabalho, ficando a cargo do leitor interessado buscar na bibliografia citada.
Finalmente, temos que a atualizao dos pesos dos neurnios da camada de
sada ser dada por:

w t w t w t
pj
o
pj
o
k pj
o
( ) ( ) ( ) + = + 1 (9)


Onde,

k pj
o
kp kp p
o
kp
o
kj
w y o f net i =

( ) ( )

Sendo que o fator um parmetro chamado taxa de aprendizado que escala
a mudana dos pesos na direo do gradiente.
Convm ressaltar que a funo f
p
o
precisa ser uma funo diferencivel para
que seja possvel implementar a busca do gradiente descendente.
Os clculos para os neurnios das camadas escondidas so similares, salvo
pelo fato de no sabermos a priori qual o valor desejado de sada para os neurnios
destas camadas. Assim, o clculo feito em funo das sadas desejadas pela
camada de sada, pois estas esto intimamente ligadas com as sadas dos neurnios
das camadas intermedirias.
Em determinadas superfcies de erro o vetor gradiente pode oscilar bastante
entre pontos da superfcie, dificultando e diminuindo a velocidade de convergncia
para o erro mdio quadrtico desejado. Sendo assim, surge um termo chamado de
momento que tenta contornar este tipo de situao.
O termo de momento faz com que a alterao dos pesos na iterao corrente
dependa proporcionalmente tambm a alterao de pesos da iterao anterior. A
adio deste termo feita na regra de atualizao dos pesos dada em (9). Assim
teremos:
) ( ) ( ) 1 ( t w t w t w
o
pj k
o
pj
o
pj
+ = + ,
Onde o termo de momento.

6.2 Consideraes Prticas

interessante fazer um comentrio a respeito de que valores utilizar para os
parmetros que tangem o treinamento de uma rede neural artificial. Todavia, estas
recomendaes so para a maioria dos problemas, podendo existir problemas em
que a soluo mais vivel foge dos comentrios aqui recomendados, isto uma forte
premissa que sugere que as redes neurais artificiais ainda precisam de uma anlise
matemtica mais profunda.
Podemos iniciar citando que os pesos devem ser inicializados com valores
aleatrios e pequenos, geralmente no intervalo de [-0,1,0,1]. Isto explicado pelo
fato de que a utilizao de pesos de grande magnitude pode levar a uma saturao
nos neurnios da camada intermediria.
Devemos tambm citar que quanto melhor a escolha dos exemplos, isto , um
equilbrio entre quantidade e qualidade, melhor ser a resposta da rede, pois ela ter
um intervalo abrangente para interpolar.
O parmetro taxa de aprendizado que o valor do passo que o vetor
gradiente ir dar na superfcie de erro geralmente deve ficar entre 0,1 0,3 , pois
valores muito grandes para este parmetro pode fazer o vetor gradiente ficar
saltando de um lado para o outro na superfcie de erros.
O termo de momento deve ter um valor alto como 0,8 e 0,9 para que o vetor
gradiente fuja de mnimos locais, bem como mantenha uma direo adequada a ser
seguida.
O treinamento deve ser paralisado quando um erro mdio quadrtico aceitvel
for achado ou se um certo nmero de pocas (iteraes) pr-fixadas forem atingidas.
importante ressaltar que o exagero no treinamento pode levar a rede a piorar sua
capacidade de generalizao.
O nmero de camadas intermedirias e de neurnios geralmente obtido por
tentativa-e-erro, sendo a experincia a principal heurstica do projetista da RNA.
Todavia, deve se levar em considerao que com um nmero muito pequeno de
neurnios a rede pode no ter recursos suficientes para aprender. Alm disso, a
utilizao de um nmero muito grande de neurnios e conexes pode fazer a rede
perder sua capacidade de interpolao, pois ela decora os exemplos, ficando assim
cristalizada.

7 - Aplicao

Neste trabalho iremos abordar o problema da interrupo da ventilao
mecanicamente assistida
1
. A interrupo do suporte respiratrio para um paciente
que esteja recebendo ventilao mecnica requer a avaliao da capacidade do
paciente de continuar respirando sem auxlio, de maneira estvel clnica e
fisiologicamente.
Retirar o auxlio prematuramente pode levar ao sofrimento do paciente,
enquanto que deixar tempo a mais, representa gasto desnecessrio de um recurso
escasso e pode ser porta para entrada de infeces no paciente.
Mtodos tradicionais de avaliao do momento de retirada da ventilao
assistida no so confiveis (um mdico especialista ressaltou que um mtodo
atualmente utilizado para tomar a deciso verificar se o paciente tem um brilho no
olhar).
Geralmente o mdico deve tomar esta deciso baseado nas seguintes
variveis que so facilmente obtidas dos pacientes:
Pico negativo da presso inspiratria (cm.H
2
O).
Taxa respiratria (respiraes/minuto).
Volume Tidal.
Neste contexto treinaremos uma RNA com o algoritmo backpropgation com 21
tentativas de interromper a ventilao mecanicamente assistida, neste conjunto 9
tiveram sucesso e 12 falharam. Em suma, a rede receber 21 exemplos (tabela 1),
onde cada um deles ser formado pelas seguintes entradas: presso inspiratria

1
Esta aplicao foi proposta em (Ashutosch et al, 1992)
negativa (PIN) em cm .H
2
O; volume tidal (VT) e taxa respiratria(TR) dada em
respiraes por minuto e obter como resposta se o mdico teve sucesso ou falha
em retirar o equipamento.
Esta rede ter trs neurnios na camada de entrada, cada um deles
representando as variveis descritas acima, alm disso, ter apenas uma camada
escondida, bem como um nico neurnio na camada de sada que representar se o
especialista teve sucesso ou falha em retirar o equipamento.

Tabela 1 Conjunto de treinamento da RNA
PIN VT TR Resultado
-24 300 24 Sucesso
-30 500 17 Falha
-23 300 29 Sucesso
-26 265 44 Falha
-18 370 32 Falha
-22 350 30 Falha
-10 320 29 Falha
-60 650 16 Sucesso
-20 225 46 Falha
-24 276 38 Falha
-15 270 40 Falha
-30 250 30 Sucesso
-42 950 13 Sucesso
-12 220 32 Falha
-20 124 33 Falha
-42 750 24 Sucesso
-32 530 21 Sucesso
-40 916 22 Sucesso
-30 500 19 Sucesso
-25 412 30 Falha
-28 400 38 Falha

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 no 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 auxlio das redes neurais
artificiais, para mostrar esta resoluo utilizaremos o software Matlab 6.0 que um
ambiente de desenvolvimento bastante difundido tanto no contexto acadmico,
quanto no mbito comercial. O Matlab uma poderosa ferramenta para problemas
de cunho matemtico, tendo ferramentas grficas avanadas para anlise e
visualizao de dados. Alm disso, o Matlab possui uma toolbox exclusiva para
redes neurais artificiais, isto , possui um conjunto de funes pr-definidas que so
de grande valia para o projetista de redes neurais artificiais.
Voltando ao problema, o conjunto de treinamento foi ento apresentado a rede
neural para que o algoritmo backpropagation atuasse, sendo importante salientar que
escolhemos 0,05 como valor de erro mdio quadrtico que o algoritmo deveria
alcanar, isto significa que o algoritmo backpropagation ir fazer vrias iteraes de
atualizao dos pesos at atingir este valor de erro. Na figura 6 mostramos o grfico
de busca do vetor gradiente na superfcie de erro.
Figura 6 Grfico do andamento do treinamento

O treinamento procedeu sem problemas e a rede conseguiu convergir para o
valor de erro que determinamos. Alguns parmetros do algoritmo backpropagation
utilizados para treinar esta rede so descritos na tabela 3.

Tabela 3 Parmetros utilizados para o algoritmo Backpropagation
Parmetros Valor
Taxa de aprendizagem 0,01
Erro 0.05
Nmero de neurnios na camada oculta 6 ou 5
Funo de transferncia da camada oculta tangente sigmoidal
Funo de transferncia da camada sada sigmoidal

Como a rede j foi treinada podemos apresentar as entradas do conjunto de
testes de forma que ela deve ser capaz de apresentar a sada correta, ou seja, os
valores das variveis (PIN, VT e TR) sero apresentados aos neurnios de entrada e
a rede ser capaz de interpolar entre o que ela j aprendeu para dar seu veredicto de
sucesso ou falha.
Obtivemos timos resultados neste problema, pois a rede deu o resultado
correto em todos os casos. Nas figuras 7 e 8 so mostrados os grficos do resultado
desejado do teste e do resultado obtido pela rede, percebe-se que ambos os grficos
so iguais, confirmando o acerto de 100%.



8 Consideraes Finais

As redes neurais artificiais vm ganhando cada vez mais adeptos, de modo
que as pesquisas nesta rea esto evoluindo geometricamente, portanto, isto a torna
uma tecnologia bastante promissora para o desenvolvimento de aplicaes utilizando
inteligncia artificial.
O sucesso das redes neurais est diretamente relacionado com a sua alta
versatilidade no que tange o escopo de suas aplicaes, pois existem aplicaes
para as mais variadas reas, podendo ser utilizada para tarefas que vo desde o
desenvolvimento de sistemas especialistas, passando por aplicaes nas
neurocincias e podendo servir at mesmo para problemas complexos de anlise
estatstica.
O problema da ventilao mecanicamente assistida citado neste trabalho
serviu para mostrar a viabilidade para a soluo de problemas utilizando RNAs.
importante ressaltar que poderamos resolver este problema utilizando outros
parmetros 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 viso global sobre o assunto,
isto significa que os leitores interessados em mais detalhes devem consultar as
referncias bibliogrficas descritas, alm disso, os autores se colocam a disposio
para eventuais dvidas e sugestes.

8 Referncias Bibliogrficas

ASHUTOSCH et al. Prediction criteria for successful weaning from respiratory
support: Statistical and connectionist analyses. Critical Care Medicine, Vol. 20, No.9.
pp 1295-1301, 1992.
Figura 7 Grfico das sadas desejadas
para o conjunto de teste
Figura 8 Grfico das sadas emitidas pela
rede para o conjunto de teste

AZEVEDO, F. M. Contribution to the Study of Neural Networks In Dynamical
Expert Systems. Ph.d. thesis, Institut dInformatique, FUNDP, Belgium, 1993.

Barreto, Jorge M. Inteligncia Artificial: No limiar do sculo XXI. Duplic Edies,
1997.

Burrows, T. and NIRAJAN, M. The use of feed-forward and recurrent networks
for system identi_cation. Technical Report CUED F-INFENG TR158, Cam-
bridge University Engineering Dept., Cambridge U., Cambridge, UK, Dec.
1993.

Casey, M. Computation dynamics in discrete-time recurrent neural networks.
In Proceedings of the Annual Research Symposium, volume 3, p. 78{95, UCSD,
La Jolla, CA, 1993. Institute for Neural Computation.

CLEEREMANS, A., SERVAN-SCHREIBER, D., and MCCLELLAND, J. Finite state
automata and simple recurrent neural networks. Neural Computation, (3):372{381,
1989.

FREEMAN, James A. & SKAPURA, David M. Neural Networks: Algorithms,
Applications and Programming Techniques. Addison-Wesley Publishing, 1992.

HAYKIN, Simon. Neural Networks: a comprehensive foundation. IEEE Press, 1994

KAELBLING L. P., LITTMAN. L. , MOORE A. W. Reinforcement Learning: A Survey.
In: Journal of Artificial Intelligence Research, Volume 4, p. 237-285, 1996

KOHONEN,T. Self Organization and Associative Memory. Springer-Verlag, Berlin,
1987.

LAVINE, R. A. Neurophysiology: The Fundamentals. The Collamore Press, 1983.

McCulloch, W.S. & PITTS, W. A Logical Calculus of the Ideas Immanent in Nervous
Activity. Bulletin of Mathematical Biophysics 5 (1943), 115-133

MINSKY, M. L. & PAPERT, S. A. Perceptrons: an introduction to computacional
geometry. The MIT Press, Massachussets, 1969

NICHOLLS, J. G. et a.l From Neuron to Brain. Sinauer Associates, Inc., 2000.

Parker, D. Learning logic. Invention Report S81-64, File 1, O_ce of Techno-
logy Licensing, Stanford University, 1982.

ROISENBERG, M."Emergncia da Inteligncia em Agentes Autnomos atravs de
Modelos Inspirados na Natureza". Tese de Doutorado. Departamento de Engenharia
Eltrica, 1998.

RUMELHART,D. E., MCCLELLAND J. L., and PDP Group. Parallel Distributed Pro-
cessing, volume 1, Foundations. The MIT Press, Cambridge, Massachusetts,
1986.

WERBOS, P. J. Beyond regression: new tools for prediction and analysis in the
behavioral sciences. PhD thesis, Harvard University, Cambridge, MA, 1974.

Você também pode gostar