Documente Academic
Documente Profesional
Documente Cultură
CASCAVEL
2012
DIEGO HENRIQUE PAGANI
CASCAVEL
2012
DIEGO HENRIQUE PAGANI
Aos meus pais e a meu irmo por ser meu fiel com-
panheiro.
EPGRAFE
Primeiramente, ao criador de todas as coisas por permitir que exista a vida, inteligncia e por
conceder-me o anseio do entendimento.
Aos meus pais, por servirem de exemplo e por me apoiarem durante toda minha vida.
minha namorada por ter suportado e dado apoio nos momentos difceis.
Aos meus antigos e novos amigos por me propiciarem momentos de alegria e descontrao.
Aos meus professores, por terem dado todo suporte terico e prtico necessrio para minha
formao.
Ao meu orientador professor Josu, professora Adriana pela grande contribuio e dedi-
cao que tiveram na realizao deste e de outros trabalhos. professora Suzan pelas sugestes
para que este trabalho se torne melhor e se conclua com qualidade.
Ao professor Clodis, aos colegas do grupo PETComp, pela amizade, companheirismo e tra-
balho em grupo.
todos que, de alguma maneira, foram responsveis pela realizao deste trabalho.
Lista de Figuras
vii
Lista de Tabelas
viii
Lista de Abreviaturas e Siglas
ix
Lista de Smbolos
x
Sumrio
Lista de Smbolos x
Sumrio xi
Resumo xiv
1 Introduo 1
1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Justificativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Organizao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Sinapses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1 Histrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
xi
3.4 Aprendizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.5 Arquitetura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5 Materiais e Mtodos 33
5.3.1 Iris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6 Resultados obtidos 39
7 Consideraes Finais 41
xii
Referncias Bibliogrficas 43
xiii
Resumo
O objetivo deste trabalho realizar um estudo comparativo entre dois modelos de redes neu-
rais artificiais: o modelo Multilayer Perceptron (MP) e o modelo chamado de Spiking ou Pul-
sado. Como o modelo pulsado relativamente recente comparado s Redes Neurais Artificiais,
suas caractersticas ainda no so totalmente conhecidas, mesmo considerando modelos mais
simples de rede, como o Perceptron. Este estudo tem por objetivo comparar os dois modelos
de Perceptron e estabelecer os principais pontos positivos e negativos de seu funcionamento,
utilizando para isto tarefas de classificao. Estabelecemos que as Redes Neurais Pulsadas,
com neurnios SRM e SpikeProp como algoritmo de treinamento, no apresentam resultado
significativo no quesito qualidade de soluo, perante as redes neurais artificiais tradicionais.
xiv
Captulo 1
Introduo
O crebro o principal rgo do sistema nervoso em vrias espcies de animais. Este rgo
nos seres humanos contm aproximadamente 100 bilhes de neurnios, ligados por mais de
sessenta trilhes de sinapses. Estes neurnios interligados formam o que se chama de Rede
Neural [1].
Existem modelos tericos que visam simular esta estrutura neuronal de forma que seja pos-
svel emular o processo de raciocnio. Atualmente dois modelos em destaque so as conhecidas
Redes Neurais Artificiais (RNA), bem difundidas na literatura e as Redes Neurais Pulsadas
(RNP) que uma abordagem mais plausvel biologicamente que as RNAs.
A RNA uma arquitetura responsvel por codificar informaes para que se obtenha a
soluo de algum problema, seja ele de classificao, monitoramento ou predio. Elas po-
dem ser desenvolvidas a partir de modelos matemticos assumindo que [2]:
Cada conexo est associada a um peso, que responsvel pela codificao da infor-
mao;
Cada neurnio avalia a entrada e determina se deve fazer seu disparo, por meio de sua
funo de ativao.
Um dos modelos mais conhecidos e simples o perceptron que constitudo de um nico
neurnio e uma nica camada que recebe uma ou vrias entradas e retorna uma sada. A carac-
terstica principal deste modelo reconhecer padres ditos como linearmente separveis, isto ,
padres que se caracterizam por apresentar diferenas possveis de se separar em duas regies
distintas. Com avanos nas pesquisas nesta rea da Inteligncia Artificial (IA), passou-se de
um nico neurnio para um modelo de mltiplos neurnios com mltiplas camadas conectadas
por ligaes ponderadas. Este modelo chamado de Multilayer Perceptron (MLP) e contm ao
menos trs camadas [3]:
Input (Entrada): responsvel pelo envio dos sinais para a camada oculta;
Output (Sada): recebe os sinais provenientes da camada oculta, realiza a ponderao dos
sinais, e a sada o resultado final da operao.
Com o avano da neurocincia, descobriu-se que com este modelo de clculo seria impos-
svel para o crebro realizar em tempo hbil o processamento e ento os pesquisadores elab-
oraram outra teoria: o conjunto dos neurnios funciona com a taxa de envio de sinais depen-
dente do tempo e, alguns modelos, da sua ordem e no com ligaes com custos e disparo
sincronizado. A partir desta ideia, desenvolveu-se um novo modelo de RNA, as chamadas Re-
des Neurais Pulsadas (Spiking Neural Network).
A realizao de um estudo comparativo entre estas duas abordagens de Rede Neuronal (RNA
e RNP) importante porque poderemos conhecer se o modelo Pulsado ao menos equivalente
ao modelo tradicional. O problema a ser resolvido realizar a classificao de uma base de
dados. Testaremos estas redes, analisando o comportamento por meio de testes de desempenho
e qualidade de soluo. Implementando os algoritmos em uma mesma linguagem e utilizando
um mesmo ambiente de desenvolvimento, MATLAB
R
, poderemos avaliar ambos os modelos
quanto a tarefa de classificao.
2
1.1 Objetivos
O objetivo geral deste trabalho realizar um estudo comparativo entre as arquiteturas RNAs
e as RNPs na tarefa de classificao de base de dados, utilizando a qualidade de soluo e tempo
de resposta como fatores principais.
Para alcanar este objetivo geral sera necessria a realizao dos seguintes objetivos espec-
ficos:
1.2 Justificativas
Realizar um estudo comparativo entre estes dois modelos de redes neurais interessante
porque conhecendo as caractersticas especficas destes modelos, poderemos saber qual a mel-
hor arquitetura para o problema que tentamos resolver.
3
1.3 Organizao
O trabalho est organizado da seguinte maneira: o captulo 2 disserta sobre as redes neu-
rais biolgicas e sobre hipteses sobre o seu funcionamento; no captulo 3, falaremos sobre as
Redes Neurais Artificiais tradicionais, explicando sua ideia e funcionamento; o captulo 4 expli-
car como funciona uma rede neural pulsada e suas diferenas tericas perante a Rede Neural
Artificial Tradicional; no captulo 5 ser discutida a metologia, as bases de dados utilizadas e
detalhes sobre a implementao; no captulo 6 sero discutidos os resultados obtidos com testes
de reconhecimento de base de dados envolvendo as duas abordagens neurais e no captulo 7
abordaremos as consideraes finais e os trabalhos futuros.
4
Captulo 2
O crebro humano o principal rgo do sistema nervoso central. Ele responsvel por
realizar o processamento dos sinais enviados pelos rgos dos sentidos e pelo processo decisrio
que leva a realizao de aes que sero efetuadas pelos msculos. responsvel tambm pelo
raciocnio abstrato que leva a aquisio de conhecimento e melhora a compreenso do mundo.
Estima-se que ele formado por cerca de cem bilhes de neurnios, ligados por mais de sessenta
trilhes de sinapses, que so os estmulos entre os neurnios [1].
Sendo as Redes Neurais Artificiais e as Redes Neurais Pulsadas baseadas no modelo bi-
olgico, importante conhecer como funciona o sistema biolgico para compreender melhor os
sistemas artificiais.
Axnio: responsvel por propagar a sada de sinal para outras clulas nervosas.
necessrio que a membrana celular receba uma quantidade de estmulos especfica para
que o potencial da membrana atinja um nvel mnimo e realize um disparo. Com os estmulos
pr-sinpticos oriundos de outros neurnios, este potencial alterado e se no recebido, tende
a ser constante. Caso este potencial seja superior ao chamado limiar de disparo, o neurnio
realiza o disparo e o sinal propagado. Entretanto, no somente necessrio que estes estmu-
los ocorram, mas estes devem ocorrer em tempos prximos e com intensidade suficiente para
provocar o disparo. Pode acontecer de um nico estmulo ser responsvel por alterar o poten-
cial de forma significativa e faa o neurnio disparar, assim como possvel que mesmo com
mltiplos estmulos, em tempos prximos, o neurnio no dispare [5].
A propagao de um sinal por um neurnio tem uma frequncia limitada. Aps ocorrer um
disparo, o neurnio entra em um estado em que, mesmo recebendo estmulos, ele no realiza
disparos. Este estado chamado de Estado Refratrio Absoluto (ERA). Aps o neurnio sair
deste estado, ele entra em outro estado chamado de Estado Refratrio Relativo (ERR) em que o
seu limiar mais alto, tornando necessrio mais estmulos para que um disparo ocorra [6]. A
figura 2.2,por Kolb e Whishaw [7] adaptado por Jaskowiak [5], mostra os estados refratrios.
6
Figura 2.2: Perodos Refratrios Absoluto e Relativo.
2.2 Sinapses
Uma caracterstica das sinapses que estas podem mudar a fora do estmulo e este efeito
chamado de plasticidade sinptica e permite rede aprender com experincias passadas [5].
Existem duas hipteses que tentam explicar como a informao codificada e decodificada
7
nos pulsos trocados entre os neurnios, que so a codificao atravs de pulsos (Pulse Coding)
e a hiptese da taxa de pulsos (Rate Coding) que sero explicadas no captulo 4.
8
Captulo 3
Segundo Fausset [3], uma Rede Neural Artificial um sistema de processamento de infor-
mao que apresenta certas caractersticas de redes neurais biolgicas. Os modelos de RNAs
foram desenvolvidos a partir de generalizaes de modelos matemticos sobre a biologia neural,
baseado em alguns princpios:
Cada neurnio aplica uma funo de ativao, que tem como objetivo verificar se o
neurnio deve disparar ou no, como ser visto na seo 3.3.
Existem modelos ou paradigmas diferentes que visam separar em categorias as RNAs. Duas
abordagens que contribuem para caracterizar sua habilidade funcional, alm de diferenci-las,
referente ao aprendizado e arquitetura.
3.1 Histrico
Na dcada de 1950 e 1960, chamada de The first Golden Age (A primeira era de Ouro) por
Fausset [3], ocorreu quando vrios pesquisadores desenvolveram uma grande classe de redes
neurais artificiais chamadas de perceptrons. Explicaremos mais sobre estes neurnios na seo
3.2. Nesta poca foi desenvolvida tambm a chamada Regra Delta, um mtodo para ajuste dos
pesos do perceptron. A Regra Delta faz o ajuste dos pesos para reduzir a diferena entre o
resultado da rede com o valor que deveria sair.
A dcada de 1970 no teve grandes avanos na rea das redes neurais, apenas 3 trabalhos
principais [3]:
James Anderson, iniciou pesquisa em redes neurais com redes de memria associativa;
Na dcada de 1980, chamada de ressurgimento das redes, o problema das redes percep-
tron de uma nica camada reconhecerem apenas problemas linearmente separveis teve uma
soluo, com o surgimento do algoritmo backpropagation, que um algoritmo de treinamento
para redes de mltiplas camadas. Alm disso, surgiram as chamadas Redes de Hopfield que
trabalham com pesos fixos e com ativaes adaptativas, usadas para criar redes de memria
associativa [3].
10
Cada neurnio pode receber diversas entradas e cada entrada dessas passa por uma conexo
que possui um peso. Um sinal xn na entrada n do neurnio k multiplicado pelo peso sinptico
wkn . Aps o clculo de todas as conexes, todos os sinais so somados e este valor passado
para funo de ativao. Na seo 3.3 abordaremos com mais detalhes as funes de ativao.
A figura 3.1 mostra o modelo de um neurnio do tipo perceptron, com suas entradas xn , pesos
wkn e a sada yk .
Existem vrios tipos de funes que podem ser usadas, como exemplo as da figura 3.2,
adaptado por Postal [9]:
1. Identidade
2. Binria
3. Sigmoidal
11
Figura 3.2: Exemplos de funes de ativao.
3.4 Aprendizado
Segundo Haykin [1], a propriedade primordial de uma RNA a sua habilidade de apren-
der a partir do seu ambiente e de melhorar o seu desempenho atravs da aprendizagem. Este
processo consiste na adequao dos parmetros da rede, que so adaptados atravs de um algo-
ritmo especfico. O tipo de aprendizado determinado pela maneira em que modificao dos
parmetros ocorre. Para que o treinamento seja finalizado, necessrio que a rede atinja uma
soluo generalizada para uma classe de problemas. Em uma RNA em fase de treinamento,
ocorrem trs eventos:
Supervisionado: A rede aprende atravs de exemplos propostos por um supervisor. Com isso,
um conjunto de exemplos de um domnio apresentado rede com seu valor de sada
correto.
No supervisionado: Este modo usado quando no existem informaes claras sobre os pos-
sveis mapeamentos com base nos dados disponveis. Ento no existe um supervisor
ensinando-a, espera-se que ela possa agrupar as entradas por alguma similaridade.
12
3.5 Arquitetura
A arquitetura de uma RNA representa a forma como os neurnios esto organizados e conec-
tados entre si. Esta forma de organizao est relacionada com os algoritmos de aprendizagem
usados para treinar a rede [3].
Em geral, podem ser identificadas duas classes de redes neurais com duas ou mais camadas,
chamadas de feedforward e as redes recorrentes.
A escolha de uma arquitetura de uma Rede Neural depende de vrios fatores, principalmente:
Complexidade do problema;
Entrada: este tipo de camada nico na rede, onde os padres so apresentados e no feito
nenhum tipo de clculo.
Escondidas ou Intermedirias: este tipo de camada onde realiza-se a maior parte do pro-
cessamento, atravs de conexes ponderadas com os neurnios da camada anterior. De-
pendendo do domnio do problema, necessrio que se tenha mais de uma camada deste
tipo, para que possa extrair corretamente as caractersticas do problema.
13
A figura 3.3 representa um modelo esquemtico de uma rede neural do tipo feedfoward
com as trs camadas principais. Estas redes so caracterizadas por sempre serem propagadas
frente, em que o fluxo de dados sempre ocorre no mesmo sentido.
Cada crculo representa um neurnio e cada seta representa a ligao ponderada de cada
neurnio. Os neurnios esquerda representam a entrada. Os neurnios centrais representam
a camada escondida e os direita, a camada de sada. As setas esquerda indicam as entradas
chegando nos neurnios de entrada e as que saem dos neurnios de sada, so a sada da rede.
As setas entre os neurnios indicam as ligaes sinpticas ponderadas e mostram que a rede
est interconectada.
As redes recorrentes so aquelas em que a estrutura dos neurnios, alm da alimentao para
frente, possui conexes para realimentao (feedback), portanto, no existe direo privile-
giada para propagao da informao. A figura 3.4 mostra um exemplo de uma rede recorrente
com trs neurnios.
Esta arquitetura a mais utilizada para memria associativa. Pode-se ter mais de uma ca-
mada, com realimentao a partir de qualquer uma destas, tornando-o a organizao da rede as
mais variadas possveis. O treinamento deste modelo de rede ocorre desta maneira: dado a
14
Figura 3.4: Modelo de uma RNA do tipo recorrente
rede os dados iniciais, calculada a sada da mesma e esta sada usada como entrada na prx-
ima iterao. Este tipo de treinamento s finalizado quando a sada durante algumas iteraes
seja constante.
Correo de erro;
Baseada em memria;
Hebbiana;
15
Competitiva;
Boltzmann;
Por reforo.
A demonstrao das limitaes de redes neurais de uma nica camada foi um fator na queda
do interesse por redes neurais nos anos 70. A descoberta por vrios cientistas independentes
e a ampla divulgao de um mtodo eficaz geral de treinamento de uma rede neural multica-
madas desempenhou um papel importante no ressurgimento de redes neurais (1980) como uma
ferramenta para resolver uma grande variedade de problemas [3].
Aps o treinamento, o uso da rede envolve apenas a propagao frente, que a operao
das entradas com os pesos, que , nos computadores atuais, executado de maneira bem rpida.
Como o treinamento no tem um tempo fixo de execuo, pode demandar bastante pacincia,
entretanto, existem vrias maneiras de melhorar o desempenho do processo de treinamento [3].
Um exemplo, ao invs de usar o backpropagation tradicional que usa o gradiente descendente,
utilizar o Levenberg-Marquardt backpropagation que apresenta resultados mais rpidos (este
mtodo o padro definido na toolbox de redes neurais do MATLAB
R
).
Como uma rede de uma nica camada limitada nos problemas que pode aprender, uma rede
multicamadas (com uma ou mais camadas ocultas) pode aprender qualquer problema contnuo
com uma alta preciso. Mais de uma camada oculta pode ser benfica, para algumas aplicaes,
mas uma camada oculta suficiente. A figura 3.5, adaptada de Fausset [3], mostra um esquema
de uma rede neural artificial com uma camada oculta.
16
Figura 3.5: Uma rede Neural Backpropagation com uma camada oculta.
Algoritmo
Durante propagao a frente, cada unidade de entrada (xi ) recebe o sinal e distribui para
todos os neurnios da camada oculta Zp . Cada neurnio Zp faz soma da ponderao de todas
as entradas que recebeu e aplica a funo de ativao f (x). Com a sada da funo, espalha-se
esta sada como entrada todos os neurnios da prxima camada, sendo ela a ltima ou no.
Na ltima camada, aps todos os clculos idnticos aos outros neurnios, a sada da rede ser
a sada dos neurnios Yk aplicadas a uma funo de ativao, podendo esta ser a mesma dos
outros.
Aps isso, calculada a partir da sada obtida e a sada correta o erro referente a esta entrada.
Com este erro, calculado um fator k do neurnio da camada de sada e ser repassado para
os neurnios da camada anterior, para que estes possam calcular qual a sua parcela de erro e o
fator de correo do pesos.
Com os valores calculados, o peso da ligao wij atualizado utilizando como uma parcela
da correo este valor . Com isto sendo feito para todos as ligaes entre os neurnios, os
pesos so ajustados para aperfeioar a rede.
17
Captulo 4
Chamada por alguns autores como a terceira evoluo das Redes Neurais Artificiais, as Redes
Neurais Pulsadas utilizam a hiptese de que a codificao de informao ocorre na forma de taxa
de pulsos (rate code). Os experimentos e estudos de Gerstner [10] assumem que a codificao
de informao no crebro ocorre na forma de taxa de pulsos e conseguem justificar os resultados
obtidos por meio de observaes. Vrios modelos matemticos foram inspirados pelas hipteses
de taxa de pulsos, alm de experimentos e estudos no campo da neurocincia [5]. Todos estes
dados fizeram com que esta hiptese de codificao tivesse sucesso nos ltimos tempos [10].
Estudos realizados revelam que a codificao baseada em taxas de pulsos no seriam rpidas
o suficiente para proporcionar a realizao de certos tipos de operaes e um dos principais ar-
gumentos foi dado por Thorpe e Imbert [11], em 1989: Primatas podem realizar processamento
e classificao de padres visuais (reconhecimento de objetos e classificao) em tempos prx-
imos a cem milissegundos. Este intervalo de tempo no seria o suficiente para que os neurnios
pudessem realizar uma estimativa da taxa de disparos, pois muitos neurnios no conseguiriam
gerar mais de um disparo. Para dizer isto, os autores usam a lgica de que os estmulos na retina
passam por volta de dez camadas de neurnios, o que deixaria cerca de dez milissegundos de
processamento para cada camada de neurnios envolvida no processamento [5].
Com base nestes argumentos, de Thorpe e Imbert, surgiu interesse por parte de pesquisadores
em encontrar alguma forma de processamento, como RNAs, mas que fossem inspirados em
neurnios biolgicos de maneira mais realstica. Com a definio de tais modelos e atravs
de simulaes, espera-se ter modelos capazes de realizar computaes de maneira to eficiente
quanto as realizadas no crebro [5].
Existem diversas hipteses que tentam justificar a maneira com que a informao transmi-
tida internamente no crebro. A seguir so abordados alguns conceitos que so usados tipica-
mente em experimentos na rea da neurocincia e da computao.
Esta hiptese de codificao vem sofrendo grandes crticas por diversos autores, como Ger-
stner [10] e Thorpe e Imbert [12], pois seria muito simples e no permitiria que os neurnios
respondessem a estmulos em tempos curtos suficientemente para certas computaes. Existem
trs formas de como codificar pela taxa de pulsos, descritas com mais detalhes em Jaskowiak
[5]:
19
Atividade populacional: Para utilizao desta forma de codificao, os neurnios devem pos-
suir propriedades idnticas, alm de um mesmo padro de conexes. Com isso, podemos
dividir a populao de neurnios em sub-populaes, que trocam informaes entre si. O
clculo se d pelo total de disparos de uma sub-populao em um determinado intervalo
de tempo.
Neste esquema, o primeiro pulso gerado contm grande parte da informao (se no toda)
a ser transmitida de acordo com os estmulos recebidos. Aps estmulos em um neurnio i,
um pulso gerado dentro de um intervalo de tempo t. Desta forma, quanto mais cedo um
neurnio dispara, mais forte o disparo [5]. Thorpe argumenta que certas atividades do crebro
no possuem tempo suficiente para analisar mais de um pulso em cada neurnio em cada etapa
do processamento [13].
Mesmo considerando que cada neurnio gera apenas um pulso, existem algumas maneiras
de se interpretar estes pulsos, alm da latncia de gerao do pulso, por exemplo:
Ordem de chegada: Nesta hiptese o tempo deixa de ser importante para que a ordem de
chegada do pulso seja relevante. Supondo um intervalo tn com t0 = 0 e t10 = 10, se
20
houver disparos ocorridos neste intervalo, existem 10! possveis ordens diferentes, que
demonstra uma grande quantidade de informao que pode ser transmitida [5].
Cdigo binrio: A informao neste mtodo representado como um cdigo binrio. Para
n neurnios, existem 2n variaes possveis, o que pode ser uma grande quantidade de
informao.
Tempos Precisos dos Pulsos: Esta hiptese codifica e decodifica informaes dependendo dos
tempos de chegada dos pulsos. O nmero de variaes depende apenas do nmero de
neurnios e o grau de preciso com que estas diferenas so abordadas.
Estes trs mtodos so formas que podem ser utilizadas para trocar informaes baseando-se
apenas no primeiro pulso de um neurnio. Em qualquer um dos mtodos, uma grande quanti-
dade de informao pode ser trocada, mesmo usando poucos neurnios.
Codificao em Fase
Esta forma de codificao semelhante a da seo 4.1.2, mas ao invs de utilizar apenas um
pulso usada como referncia um sinal peridico, ou seja, um ciclo. A cada ciclo da entrada
feito o disparo dos neurnios. Se o ciclo de entrada no se altera durante o tempo, o padro
de sada em fases produzido. A figura 4.1, adaptada por Jaskowiak [5] retirado de Gerstner e
Kistler [14], mostra seu funcionamento.
Sincronismo e Correlao
A codificao pela forma de sincronismo estabelece que disparos em tempos prximos po-
dem ser considerados sendo o mesmo, como se houvessem disparado ao mesmo tempo. A
figura 4.2, de Gerstner e Kistler [14], mostra o diagrama de pulsos. As regies em destaque
representam os pulsos que sero considerados ao mesmo tempo.
21
Figura 4.1: Codificao em fase
Mass [15] separa as redes neurais em trs geraes, segundo os modelos de neurnios:
22
possvel a computao de valores analgicos e digitais, se na sada da rede houver algum
tipo de normalizao. Assim como nos neurnios de primeira gerao, no h qualquer
informao temporal na codificao das informaes pelo neurnio;
importante dizer que nas Redes Neurais Artificias, ditas tradicionais, a deciso da escolha
do modelo do neurnio implica apenas na escolha da funo de ativao que melhor se ad-
eque ao problema. J nas Redes Neurais Pulsadas a escolha, talvez por enquanto, no to
simples. Existem diversos modelos de neurnios pulsados na literatura e por enquanto no se
encontram muitos estudos prticos comparando estes modelos para determinar qual obtm um
melhor resultado para algum tipo de tarefa.
Existem vrias linhas de pesquisa envolvendo neurnios pulsados e existem diversos modelos
destas unidades funcionais, que podem ser divididos em duas categorias:
Condutncia e Compartimentos;
Limiar de disparo.
23
Nas sub-sees seguintes sero abordados alguns modelos de neurnios que mais so citados
na literatura.
24
Modelo de Integrao e Disparo
O modelo de integrao e disparo um dos modelos mais simples dos limiar de disparo.
Ele necessita de 5 operaes de ponto flutuante para computar um milissegundo de simulao.
Comparando este modelo ao de Hodhkin-Huxley, h uma drstica reduo de operaes, con-
sequentemente h redues tambm na lista de fenmenos biolgicos observados [5]. Este
modelo um dos mais conhecidos dos limiar de disparo [14]. A compreenso deste modelo
mais simples se interpretarmos a rede como um circuito eltrico com um capacitor de capac-
itncia C e um resistor de resistncia R ligados em paralelo, ligados com uma corrente I que
varia de acordo com o tempo, como mostra a figura 4.3, retirada de Jaskowiak [5].
du
m = u(t) + RI(t) (4.1)
dt
Vale ressaltar que neste modelo, a forma do potencial de ao, dos potenciais ps-sinpticos
e os perodos refratrios no esto inseridos, apenas o potencial da membrana rigorosamente
25
definido.
Este modelo, Simple Response Model (SRM), criado por Gerstner [18], constitudo de
uma abordagem diferente da utilizada pelo modelo de integrao e disparo. O autor diz que os
modelos de condutncia e compartimentos levam em conta aspectos irrelevantes, quando se est
interessado apenas em informaes carregadas nos trens de pulso (sequncia de pulsos) gerados
pelos neurnios.
26
a modelagem dos potenciais ps-sinpticos do SRM, sendo uma constante que determina o
decaimento do potencial da membrana, definido empiricamente.
(f ) t t
ij (t tj ) = exp(1 ) (4.2)
O potencial da membrana ui (t), definido pela equao 4.3 alterado em apenas dois eventos.
O primeiro o recebimento de um sinal proveniente de um neurnio pr-sinptico j e o segundo
o estabelecimento do potencial de equilbrio aps a ocorrncia de um disparo e a passagem
dos perodos refratrios (absoluto e relativo) [5].
m
XX
d
uj (t) = wij (t t dk ) (4.3)
ij k=1
Assim como as Redes Neurais Artificiais tradicionais, a distribuio dos neurnios de forma
que cada unidade seja conectada a outro neurnio, formando uma rede neural, necessria.
A arquitetura que se deve usar em redes com neurnios pulsados deve ser adequada ao prob-
lema que se deseja resolver. [6]. Como as RNAs so bem difundidas na literatura, uma var-
iedade de problemas j possuem soluo e a maneira de configurao da rede explicada. Tais
conhecimentos sobre a soluo destes problemas tm sido aplicados na escolha ou montagem
da arquitetura das redes neurais pulsadas. Ou seja, a ideia de redes de nica camada, mltiplas
camadas e competitivas ainda se mantm possvel nas redes pulsadas. Entretanto, no h como
afirmar que o mesmo modelo de RNAs apresente um resultado semelhante nas RNPs.
Sobre as conexes sinpticas entre os neurnios, os pesos das ligaes multiplicam a intensi-
dade do sinal de entrada, alterando a sua intensidade ou valor, analogamente as RNAs. Como as
RNPs utilizam tempo como codificao, um sinal em um determinado tempo t, que pode sofrer
alguma alterao devido aos pesos, poder causar influencia no neurnio de destino quando este
determinar se o neurnio deve disparar ou no, causando assim diferena na sada do sinal.
27
dos pulsos de forma atrasada por um determinado perodo pr-estabelecido. Por alterar o tempo
de propagao, estas unidades tem ligao direta na codificao da informao, podendo influ-
enciar no aprendizado.
Outro fator diferente das arquiteturas das RNAs, o conceito de sub-conexes, sub-sinapses
ou desdobramento sinptico, em que uma ligao entre um neurnio e outro contm mais de um
canal, tendo cada sub-canal um peso e talvez unidades de atraso especficas para aquela sub-
conexo [5]. A figura 4.5, retirada de Bohte [19], exemplifica as sub-conexes. Para exemplos
de ferramentas que utilizam diferentes arquiteturas, ver Jaskowiak [5].
Figura 4.5: a) uma rede FeedForward de neurnios pulsados. b) Uma ligao dividida em
sub-conexes contendo unidades de atraso diferentes.
Assim como as RNAs, as RNPs precisam ser treinadas para que a rede possa aprender e re-
alizar as tarefas especficas. Para as RNAs existem diversos algoritmos espalhados na literatura
(ver Fausset [3] e Haykin [1]). Em se tratando das RNPs, faltam algoritmos de treinamento
amplamente formalizados e aceitos. Diversos algoritmos para treinamento supervisionado, ou
no-supervisionado foram propostos mas nenhum deles surge como uma resposta definitiva para
uma determinada arquitetura, deixando assim como um problema ainda em aberto a determi-
nao de mtodos de treinamento eficientes [5].
28
exemplo, o algoritmo SpikeProp [19] no tem convergncia garantida e no apresenta infor-
maes sobre os valores que devem ser usados em seus pesos sinpticos [20]. Existem casos
que no h um algoritmo de treinamento genrico, mas um algoritmo especfico para aquele
problema. Existem outros casos em que o treinamento ocorre dentro do modelo neurnio [5].
Existem alguns algoritmos para treinamento de RNPs, como SpikeProp (que veremos a
seguir), de aprendizagem competitiva, baseado na regra de Hebb e para redes do tipo RBF
[5].
SpikeProp
1X
E= (tk tk )2 (4.4)
2 kK
29
Como podem existir mais de uma conexo (ou sub-conexes) entre dois neurnios distintos,
d
um da camada oculta (J) e outro da camada de sada (K), existir um peso wjk , com j e
k representando os ndices dos neurnios da camada oculta e de sada respectivamente e d
indicando o ndice da subconexo entre os neurnios.
Para o ajuste dos pesos sinpticos da camada de sada, os autores prope a equao 4.5, onde:
d
wjk a variao do peso da ligao entre os neurnios j e k na conexo d;
a taxa de aprendizado;
d
wjk = .djk (tk ).k (4.5)
(tk tk )
k = P Pn d (t) (4.6)
d jk
jJ d=1 wjk . t
.(tj )
Para as camadas ocultas, os pesos sinpticos so calculados conforme mostra a equao 4.7.
d
wij = .dij (tj ).j (4.7)
Pode ser utilizada na equao 4.8, as mesmas definies das equaes 4.5 4.7.
P P d d (t)
ij
k {k . d wjk tj }
j = P P d (t ) (4.8)
n d ij j
iI w
d=1 ij . tj
30
As equaes acima definem as regras de adaptao dos pesos de uma RNP que utiliza
neurnios do tipo SRM e o algoritmo Spikeprop.
Observando as equaes acima, podemos notar que se o neurnio no realiza o disparo, sua
contribuio nula, pois seu tempo de disparo indefinido e consequentemente a variao dos
pesos tambm. Este fator pode causar problemas, pois caso vrios neurnios no disparem para
um padro de entrada, no possvel realizar o ajuste dos pesos. Com isso, deve-se alterar os
parmetros do SRM para que uma maior quantidade de neurnios dispare, ou ento modificar
os pesos sinpticos de forma que causem o disparo. Os autores no fornecem informaes de
como se deve inicializar os pesos sinpticos ou distribu-los.
calcular k usando a equao 4.6, usando o tempo de disparo atual e o desejado nos neurnios de
sada;
calcular j usando a equao 4.8, usando o tempo de disparo atual dos neurnios da camada oculto
e os valores k ;
adaptar os pesos utilizando N ovoW = AntigoW + wij para camada intermediria e N ovoW =
AntigoW + wjk para camada de sada.
Comparando os tempos de pesquisa das RNAs tradicionais com as das RNPs estas podem
ser consideradas relativamente recentes e existem muitos fatores importantes que so descritos
pelos criadores dos algoritmos, o que dificulta a sua determinao [5]. Simes [16] argumenta
que o desenvolvimento do SpikeProp recente e mesmo com alguns testes, maiores anlises
precisam ser realizadas para que informaes concretas sobre suas implementaes se tornem
possveis.
31
do SpikeProp. Algumas delas mostram resultados de uso deste algoritmo utilizando certas
metodologias e bases de dados. Entretanto, no dizem claramente como foram feitas as im-
plementaes, a codificao/decodificao dos dados ou at mesmo o porqu da escolha de
determinados valores.
32
Captulo 5
Materiais e Mtodos
Devido h vrios problemas no foi possvel realizar a implementao da Rede Neural Pul-
sada. Entre os problemas encontrados, podemos citar:
Apesar deste inconveniente, Bothe[21] disse em sua tese que realizou a implementao e,
alm disso, realizou uma comparao entre as RNPs e RNAs, que veremos com detalhes nas
prximas sesses.
5.3.1 Iris
A base de dados Iris foi criada por R.A. Fisher em 1936 e em 1988 se tornou pblica. Ela
contm 150 amostras de dimenses das spalas e ptalas da planta Iris, que as divide em trs
classes: Iris-Setosa, Iris-Versicolour e Iris-Virginica [25]. Os limites dos dados das amostras
dada pela tabela 5.1.
A configurao dos neurnios da RNA se deu da seguinte maneira para esta base:
Camada de Entrada: como a base Iris contm 4 valores de ponto flutuante, altura e largura da
ptala e spala, existem 4 neurnios na camada de entrada que repassam para os neurnios
da camada de sada, acrescido um de bias, totalizando 5;
Camada sada: como existem trs categorias de flores, foram utilizadas sadas binrias em que
apenas um neurnio ativado para cada classe.
34
Bohte [19] usou a seguinte configurao nos seus testes envolvendo RNAs e RNPs para fazer
a classificao desta base de dados.
Camada de Entrada: devido as redes pulsadas possurem um conceito diferente das RNAs, o
padro de entrada diferente tambm. Usando campos receptivos gaussianos (explicado
na seo 5.4) para realizar a codificao da entrada, ele usa 50 neurnios nesta camada.
Bothe [19] cita tambm que utilizou 12 neurnios para cada padro de entrada, o que
totalizaria, a partir das 4 entradas da Iris, 48 neurnios. Os dois neurnios extras no so
citados se so usados como bias;
Camada sada: como existem trs categorias de flores, utilizou sadas binrias, totalizando trs
neurnios.
Esta base de dados, criada por Dr. W. H. Wolberg, contm anlises de amostras de mamas
com cncer [26]. A amostra contm 699 amostras. Existem nove atributos que descrevem esta
classe:
Clump Thickness;
Marginal Adhesion;
Bare Nuclei;
35
Bland Chromatin;
Normal Nucleoli;
Mitoses.
A configurao dos neurnios da RNA se deu da seguinte maneira para esta base:
Camada de Entrada: como esta base contm nove entradas, foram utilizados nove neurnios
de entrada, acrescido 1 de bias, totalizando 10;
Camada oculta: como dito anteriormente, empiricamente foi determinado o uso de dezessete
neurnios na camada oculta;
Camada sada: como a sada benigno ou maligno, foi determinado dois neurnios utilizando
sada binria.
Foi usada em Bohte [19] a seguinte configurao para as Redes Neurais, tanto Pulsada quanto
Artificial, para realizar os testes com esta base de dados.
Camada de Entrada: pelo mesmo motivo abordado em respeito as entradas na base Iris, ele
usa 64 neurnios nesta camada. Este afirma que utilizou 7 gaussianas para codificar a
entrada, sendo 9 entradas da base, o que totaliza 63 entradas. Este neurnio faltante o
bias;
Camada sada: como existem duas categorias, benigno ou maligno, a sada contm 2
neurnios binrios.
36
5.4 Codificao das informaes de entrada
Como as RNPs levam o tempo em considerao necessrio que a entrada tambm seja
dada por tempos. Como os dados disponibilizados para as bases utilizadas nesta monografia so
valores estticos e no variam com o tempo, necessrio que estes dados sejam transformados
em sinais de pulsos.
Bohte [21] introduz um mtodo para codificar entradas digitais em sequncias de pulsos e
utiliza campos receptivos gaussianos para isto. Como um meio de codificao de uma populao
de dados, usa-se mltiplos campos locais receptivos para distribuir a varivel de entrada em
mltiplos neurnios de entrada. Este mtodo origina um grande nmero de disparos, para cada
entrada digital. A seguir segue o funcionamento do mtodo, retirado de Bohte [21] e Simes
[16].
2. g o conjunto de gaussianas;
3. k o ndice que percorreremos as gaussianas, que ser usada para percorrer o nmero de
neurnios da camada de entrada;
4. ck o centro da gaussiana;
5. o intervalo dos dados, no exemplo mostrado na figura 5.1, retirada de Simes [16], de
entrada de [0:255];
37
for estimulada no seu valor mximo local, o neurnio ik gerar um pulso da primeira iterao.
Se isto no ocorrer, o neurnio ik disparar aps h iteraes. Ou seja, o k-simo neurnio
da camada de entrada ir disparar de acordo com o estmulo da gaussiana k. A equao 5.1
demonstra como realizado o clculo do centro de cada uma das k gaussianas.
2k 3 xmax xmin
ck = xmin + . n.g > 2 (5.1)
2 (n.g) 2
interessante dizer que dentre as pesquisas realizadas, este foi o nico mtodo encontrado
de codificar sinais de entrada em pulsos. Em sua tese, Bohte [21] afirma que no tinha con-
hecimento sobre algum mtodo de codificao de entradas contnuas/digitais em pulsos. Ele
tambm no afirma se, em uma rede neural, necessrio fazer a decodificao deste mtodo
38
Captulo 6
Resultados obtidos
A tabela 6.1 mostra os resultados obtidos por Bohte [19] e os resultados seguindo a metodolo-
gia proposta. As implementaes utilizando MatlabBP e MatlabLM utilizam a toolbox de redes
neurais disponvel no MATLAB
R
. MatlabBP usa a funo de gradiente descendente tradi-
cional e MatlabLM usa o treinamento Levenberg-Marquardt para o ajuste dos pesos. SpikeProp
se refere a implementao de Bohte [19] utilizando neurnios SRM e SpikeProp como algoritmo
de treinamento.
Analisando a tabela 6.1, podemos ver que sempre obteve-se uma taxa de acerto semelhante,
com exceo do MatlabLM, com a base Iris, que teve uma taxa de 98% que pode ser consider-
ada alta. Se compararmos o uso do SpikeProp com as RNAs, utilizando os campos receptivos
gaussianos como mtodo de codificao das entradas, podemos notar que o SpikeProp apresen-
tou um treinamento bem mais rpido do que os outros e tem que se levar em conta, que os dados
de entrada so preparados para as RNPs.
Se compararmos as RNAs com e sem codificao das entradas, apresentaram uma taxa de
iteraes semelhate( Bohte[21] utilizou 70% da base, enquanto nesta dissertaco, 30%), mas
os mtodos sem codificao apresentam menor custo computacional devido a utilizar menos
neurnios na camada de entrada.
Tabela 6.1: Resultados obtidos. A coluna de Iteraes do treinamento calculada como o total
de iteraes necessria para realizar o treinamento. Cada amostra da base de treinamento
considerada 1 iteraco.
Algoritmos Entrada Intermediria Sada Iteraes do treinamento Taxa de acerto
Resultados obtidos por Bohte [19]
Iris dataset
SpikeProp 50 10 3 1000 96.1%
MatlabBP 50 10 3 2600000 95.5%
MatlabLM 50 10 3 3750 95.7%
Wisconsin breast cancer dataset
SpikeProp 64 15 2 1500 97.0%
MatlabBP 64 15 2 92000000 96.3%
MatlabLM 64 15 2 3500 96.7%
40
Captulo 7
Consideraes Finais
Analisando a literatura sobre as Redes Neurais Pulsadas, pudemos notar que ainda so feitos
muitos estudos tericos sobre os modelos de neurnios e algoritmos que os descrevem. Por ser
um abordagem relativamente recente, comparado as RNAs, as RNPs no tem uma definio
slida sobre suas unidades bsicas ou sobre algoritmos de treinamento. O que existe so adap-
taes dos algoritmos das RNAs para que possam ser aplicados s RNPs.
Determinar qual das duas arquiteturas tem o melhor funcionamento na resoluo de um de-
terminado problema ainda carente de experimentos. Pela falta de clareza dos autores dos
algoritmos, a implementao se torna um desafio de fora-bruta para ajustar alguns parmet-
ros que, por enquanto, so definidos empiricamente. Com novos trabalhos tericos e prticos
surgindo sobre as RNPs, as definies vo se tornando mais slidas e os experimentos mais real-
istas, para que possam a partir dai determinar as aplicaes que apresentam resultados melhores
com esta abordagem.
Como visto no captulo 6, analisando os resultados obtidos por Bohte [19], comparando com
os abordados segundo a metodologia proposta, nota-se que as redes Neurais Pulsadas apre-
sentam um resultado semelhante as Redes Neurais Artificiais, se analisados a taxa de acertos
obtida. Ao se analisar do ponto de vista computacional, as RNPs possuem um custo maior que
as RNAs tradicionais, devido necessitar de codificar informaes de maneira temporal e exigir
uma quantidade maior de neurnios na camada de entrada.
4. Formalizar um algoritmo que possa explicar de maneira precisa o treinamento para RNPs;
42
Referncias Bibliogrficas
[1] HAYKIN, S. Redes Neurais - Princpios e prtica. 2. ed. Porto Alegre: Bookman, 2001.
[2] BRAGA, A. de P. Redes Neurais Artificiais: Teoria e Aplicaes. 1. ed. Rio de Janeiro - RJ:
LTC - LIVROS TCNICOS E CIENTFICOS EDITORA S.A., 2000.
[3] FAUSETT, L. Fundamentals of Neural Networks. 1. ed. New Jersey: Printice Hall, 1994.
[6] BOOIJ, O. Temporal Pattern Classification using Spiking neural Networks. Dissertao
(Mestrado) University of Amsterdam, Amasterdam, Agosto 2004.
[7] KOLB, B.; WHISHAW, I. An Introduction to Brain and Behavior. 2. ed. New York: Worth
Publishers, 2001.
[10] GERSTNER, W. Pulsed Neural Networks. 1. ed. Cambridgem, USA: MIT Press, 1999.
[11] THORPE, S. J.; IMBERT, M. Biological constraints on connectionist modelling. [S.l.]:
Elsevier, 1989. 6392 p.
[12] THORPE, S. J.; DELORME, A.; VANRULLEN, R. Spike-based strategies for rapid pro-
cessing. Toulouse, France: Nature, 2001.
[13] VANRULLEN, R.; GUYONNEAU, R.; THORPE, S. J. Spike times make sense. Trends in
Neurosciences, Centre de Recherche Cerveau et Cognition, 133 Route de Narbonne, 31062
Toulouse Cedex, France. rufin.vanrullen@cerco.ups-tlse.fr, v. 28, n. 1, p. 14, jan. 2005.
ISSN 01662236. Disponvel em: <http://dx.doi.org/10.1016/j.tins.2004.10.010>.
[14] GERSTNER, W.; KISTLER, W. M. Spiking Neuron Models: Single Neurons, Populations,
Plasticity. 1. ed. New York: New York, 2002.
[15] MAASS, W. Networks of spiking neurons: The third generation of neural network models.
Neural Networks, v. 10, p. 16591671, 1996.
[17] IZHIKEVICH, E. M. Which model to use for cortical spiking neurons? IEEE transactions
on neural networks / a publication of the IEEE Neural Networks Council, The Neurosciences
Institute, San Diego, CA 92121, USA. Eugene.Izhikevich@nsi.edu, v. 15, n. 5, p. 1063
1070, set. 2004. Disponvel em: <http://dx.doi.org/10.1109/TNN.2004.832719>.
44
delberg, v. 11, n. 3, p. 239248, out. 2006. ISSN 1432-7643. Disponvel em:
<http://dx.doi.org/10.1007/s00500-006-0065-7>.
[21] BOHTE, S. M. Spiking Neural Networks. Tese (Doutorado) Universiteit Leiden, 2003.
[22] SPOREA, I.; GRNING, A. Reference time in spikeprop. Proceeding of the International
Joint Conference on Neural Networks (IJCNN 2011), San Jose, USA, 2011.
[23] MCKENNOCH, S.; LIU, D.; BUSHNELL, L. G. Fast modifications of the spike-
prop algorithm. In: IJCNN. IEEE, 2006. p. 39703977. Disponvel em: <http://dblp.uni-
trier.de/db/conf/ijcnn/ijcnn2006.html>.
45