SciELO - Scientific Electronic Library Online

 
vol.18 issue2Modelo Neuro-Fuzzy Hierárquico Politree com aprendizado por reforço para agentes inteligentes author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Article

Indicators

Related links

  • Have no similar articlesSimilars in SciELO

Share


Sba: Controle & Automação Sociedade Brasileira de Automatica

Print version ISSN 0103-1759

Sba Controle & Automação vol.18 no.2 Natal Apr./June 2007

http://dx.doi.org/10.1590/S0103-17592007000200010 

Aprendizado não-supervisionado em redes neurais pulsadas de base radial: um estudo da capacidade de agrupamento para a classificação de pixels

 

 

Alexandre da Silva SimõesI; Anna Helena Reali CostaII

IGrupo de Automação e Sistemas Integráveis (GASI), Departamento de Engenharia de Controle e Automação, Universidade Estadual Paulista (UNESP) - Sorocaba, SP - Brasil, assimoes@sorocaba.unesp.br
IILaboratório de Técnicas Inteligentes (LTI), Departamento de Engenharia de Computação e Sistemas Digitais (PCS), Escola Politécnica da Universidade de São Paulo (EPUSP) - São Paulo, SP - Brasil, anna.reali@poli.usp.br

 

 


RESUMO

Redes neurais pulsadas - redes que utilizam uma codificação temporal da informação - têm despontado como uma promissora abordagem dentro do paradigma conexionista, emergente da ciência cognitiva. Um desses novos modelos é a rede neural pulsada com função de base radial, que é capaz de armazenar informação nos tempos de atraso axonais dos neurônios. Um algoritmo de aprendizado foi aplicado com sucesso nesta rede pulsada, que se mostrou capaz de mapear uma seqüência de pulsos de entrada em uma seqüência de pulsos de saída. Mais recentemente, um método baseado no uso de campos receptivos gaussianos foi proposto para codificar dados constantes em uma seqüência de pulsos temporais. Este método tornou possível a essa rede lidar com dados computacionais. O processo de aprendizado desta nova rede não se encontra plenamente compreendido e investigações mais profundas são necessárias para situar este modelo dentro do contexto do aprendizado de máquinas e também para estabelecer as habilidades e limitações desta rede. Este trabalho apresenta uma investigação desse novo classificador e um estudo de sua capacidade de agrupar dados em três dimensões, particularmente procurando estabelecer seus domínios de aplicação e horizontes no campo da visão computacional.

Palavras-chave: Redes neurais pulsadas, aprendizado não-supervisionado, agrupamento, visão computacional.


ABSTRACT

Pulsed neural networks - networks that encode information in the timing of spikes - has been studied as a new and promising approach in the artificial neural networks paradigm, emergent from the cognitive science. One of these new models is the pulsed neural network with radial basis function, a network able to store information in the axonal propagation delay of neurons. A learning algorithm was successfully applied to this pulsed network, which was able to map a sequence of input pulses into a sequence of output pulses. More recently, a method based on the use of Gaussian receptive fields was proposed to encode constant data into a temporal sequence of spikes. This method allowed this network to deal with computational data. The learning process of this new network is not completely understood and deeper investigations are necessary in order to situate this model in the machine learning context and also to establish the network abilities and limitations. This work investigates this new classifier and presents a study of the network capability in solving the three-dimensional clustering task, particularly looking for establishing its application domains and horizons in the computer vision field.

Keywords: Pulsed neural networks, unsupervised learning, clustering, computer vision.


 

 

1 INTRODUÇÃO

Esta seção apresenta uma breve introdução à tarefa da classificação de cores e às redes neurais pulsadas.

1.1 A classificação de cores

O conceito que cerca a palavra cor, embora aparentemente imediato, envolve muitas noções de ordem física e psicológica, o que dificulta sua modelagem.

Embora os comprimentos de onda da faixa de luz visível sejam grandezas contínuas ao longo de toda a faixa do espectro, quando um ser humano observa tais comprimentos de onda, estes são imediatamente agrupados em classes, através do uso de noções psicológicas e exemplos prévios de cada indivíduo na separação entre cada uma das cores visíveis, ou, na forma como é usualmente colocado, na classificação de cores.

Transportando tal problema para o universo computacional, o processo de classificação de cores pode ser entendido como a aplicação de funções altamente não-lineares a uma função de intensidades luminosas sobre os diversos pixels que compõem uma imagem digital, visando adequá-los a parâmetros conhecidos (classes).

Nas aplicações que objetivam implementar tal classificação, é tarefa inicial da visão computacional separar algumas cores - que representam objetos de interesse nas imagens - das demais cores tratadas simplesmente como fundo da imagem. Nesta tarefa é desejável um classificador capaz de implementar bordas complexas. O perceptron multicamada é um dos classificadores usualmente empregados nesta tarefa - veja, por exemplo, Simões (2000).

1.2 Redes neurais pulsadas

Durante os últimos 60 anos, a grande maioria dos modelos matemáticos adotados para redes neurais artificiais (RNAs) baseou-se no princípio de utilizar variáveis contínuas para modelar processos que biologicamente ocorrem através de seqüências de pulsos temporais. Algumas das hipóteses para a falta de êxito pleno dessas redes neurais estáticas em algumas tarefas - tais como a interpretação de imagens - são as de que: i) os modelos de neurônios podem não capturar aspectos essenciais dos neurônios biológicos necessários para estas tarefas, ou de que: ii) o uso de variáveis contínuas possa dificultar a realização dessas tarefas.

O recente amadurecimento dos modelos associados às chamadas redes neurais pulsadas (RNPs) tem estimulado o estudo dessa classe de RNAs no domínio do aprendizado de máquinas. Muito embora os limites de aplicação dessas redes ainda não estejam bem estabelecidos na literatura, estudos teóricos apontam que o poder computacional de RNPs pode ser superior ao dos modelos clássicos de RNAs (Maass e Bishop, 1999).

Na tarefa de tornar neurônios artificiais capazes de processar sinais temporais, três questões são imediatas: i) qual o código de pulsos mais adequado?; ii) qual o modelo de neurônio mais adequado?, e iii) qual a sistemática de aprendizado mais adequada? Muitos modelos de neurônios (integra-e-dispara, ressoa-e-dispara, SRM, etc.) e códigos temporais (latência, fase, freqüência, etc.) têm sido propostos nos últimos anos. Para uma visão geral veja Maass e Bishop (1999). Na grande maioria das redes que utilizam neurônios dessa natureza, contudo, o aprendizado não é apresentado explicitamente na forma de um algoritmo, mas confunde-se com o próprio modelo da rede. Tipicamente o processo de sincronismo dos pulsos emerge da associação de uma coleção de neurônios (Kinser, 1997) (Wang, 2001) (Katada e Ohkuda, 2003).

Um modelo de neurônio pulsado similar a uma função de base radial (radial basis function - RBF) foi proposto por Hopfield (1995). A grande inovação deste modelo é a sua capacidade de armazenar informações nos tempos de atraso axonal dos neurônios. Um algoritmo de aprendizado não supervisionado para um desses neurônios foi proposto por Gerstner et. al. (1996). Alguns anos mais tarde, o trabalho de Natschläger e Ruf (1998) resultou em uma primeira sistemática de treinamento não supervisionado para uma rede neural pulsada. Essa rede era capaz de aprender mapeamentos de pulsos de entrada em pulsos de saída e sua grande limitação era a impossibilidade de tratar dados computacionais, já que nenhuma sistemática foi proposta pelo autor para codificar dados de entrada para a forma pulsada. Mais recentemente, Bohte (2003) propôs a utilização de campos receptivos gaussianos (CRGs) nos neurônios da camada de entrada, o que tornou a RNP-RBF capaz de tratar dados computacionais. Dado que este é um modelo emergente da ciência cognitiva, o processo de aprendizado dessa nova rede não encontra-se bem estabelecido no contexto do aprendizado de máquinas. Novas investigações são necessárias para estabelecer as relações entre esse modelo e outros já presentes na literatura e para estabelecer as habilidades, limitações e aplicabilidade deste modelo.

Este trabalho apresenta uma revisão desse novo classificador e um estudo de sua capacidade de agrupar pixels coloridos no espaço de cores RGB, particularmente procurando estabelecer seu domínio de aplicação para esta tarefa. O presente artigo encontra-se organizado da seguinte maneira: a seção 2 apresenta o modelo da rede utilizada neste trabalho. A seção 3 destaca seu mecanismo de aprendizado. A seção 4 apresenta os experimentos realizados. Uma discussão sobre eles é apresentada na seção 5 e as conclusões do trabalho são apresentadas na seção 6.

 

2 MODELO DA REDE

Esta seção descreve o modelo de neurônio pulsado adotado, seu processamento típico, a arquitetura da rede e a codificação dos dados de entrada segundo Bohte (2003). A exposição da arquitetura da rede encontra-se dividida em duas partes: primeiramente apresenta-se a arquitetura básica da rede, de forma similar à proposta por Hopfield (1995) e Gerstner et. al. (1996), que fornece um modelo elementar que pode ser implementado de diferentes formas. A seguir, apresenta-se a arquitetura com desdobramento das sinapses, destacando especificidades da implementação da arquitetura básica segundo Natschläger e Ruf (1998). A rede de Natschläger e Ruf (1998) com a codificação de Bohte (2003) será utilizada no decorrer deste trabalho.

2.1 Modelo do neurônio

O SRM (spiking response model), ilustrado na Figura 1, tem se firmado como um modelo genérico de neurônio pulsado (Gerstner, 1995). O estado do neurônio j é descrito pela variável de estado µj, análogo do potencial elétrico da membrana do neurônio biológico. O neurônio j dispara se uj atinge o limiar Jj. Usualmente, µj tem seu valor alterado por dois processos distintos: i) estímulos de neurônios pré-sinápticos e ii) refração. A refração será desconsiderada neste trabalho, dado que no modelo de rede adotado - destacado a seguir - cada neurônio dispara uma única vez.

 

 

Seja então um neurônio i pré-sináptico ao neurônio j. Um pulso pré-sináptico recebido por i incrementará o valor do estado µj segundo a expressão (Maass e Bishop, 1999):

onde: é o instante do f-ésimo disparo do neurônio i; t é a variável tempo, com t > ; eijk(.) é uma função que descreve o comportamento da k-ésima sinapse entre i e j quando esta recebe um pulso; wijk é o peso sináptico associado à k-ésima sinapse entre os neurônios i e j; d é o número de sinapses entre os neurônios i e j; Gj é o conjunto dos neurônios pré-sinápticos ao neurônio j.

Uma função usualmente adotada para modelar o comportamento dos pulsos recebidos pelas sinapses é (Maass e Bishop, 1999):

onde Dijk é o atraso na propagação axonal da k-ésima sinapse entre os neurônios i e j; tm e ts são constantes com 0 < ts < tm; H(s) é a função degrau de Heaviside1. A função eijk é apresentada graficamente na Figura 2.

 

 

A influência dos atrasos dij na computação do neurônio é ilustrada na Figura 3.

 

 

2.2 O SRM como neurônio RBF

Considere que cada neurônio i Î I dispara em um instante de tempo, gerando o conjunto de todos os disparos dos neurônios da camada I. Considere ainda que esses disparos têm intervalos de tempo em relação a um referencial no tempo dados por Xj = < > , onde n é o número de neurônios presentes na camada I.

Considere agora um neurônio j Î J. Seja Dj = <Dj1,..., Djl> o vetor com os tempos de atraso de propagação associados às sinapses do neurônio j. Considerando-se um limiar Jj alto, j dispara (isto é µj(t) > Jj) apenas quando |Xj––Dj| é pequeno, ou, em outros termos, quando Xj se encontra próximo do centro do neurônio RBF j dado por Dj. Este processo é ilustrado na Figura 4.

 

 

Esta abordagem claramente assemelha-se a um neurônio RBF, e pode ser utilizada para agrupar dados, desde que exista um processo para o ajuste dos atrasos de propagação dos neurônios.

2.3 Arquitetura básica

Sejam duas camadas I e J de neurônios totalmente conectados como o ilustrado na Figura 5a. Essas duas camadas são denominadas respectivamente camada de entrada e camada de saída. Os neurônios da camada de entrada apenas transmitem pulsos aos neurônios da camada de saída, que são os únicos a realizar processamento sobre os sinais. Adota-se neste trabalho - assim como em Bohte (2003) - uma rede com neurônios de saída SRM operando como neurônios RBF, como o apresentado na seção anterior.

 

 

2.4 Arquitetura com desdobramento das sinapses

O aprendizado da RNP-RBF - discutido a seguir - tem por objetivo sintonizar adequadamente os parâmetros d Î D dos neurônios, o que não é um processo trivial. Para facilitar esta sistemática, Natschläger e Ruf (1998) propuseram uma alteração na arquitetura da rede desdobrando as conexões sinápticas. Nesta abordagem, toda conexão entre dois neurônios i e j (com i Î I e j Î J) é feita através de d sinapses com diferentes atrasos de propagação e pesos sinápticos associados. Nessa abordagem é usual que os atrasos assumam valores crescentes dados por {} = {0, 1,... , d-1}.Esta sistemática é ilustrada na Figura 5b.

Segundo esta abordagem, o processo de sintonizar o parâmetro dij pode ser revisto como o processo de fazer com que um único peso sináptico (com 0<k<d) seja diferente de zero em cada conexão entre dois neurônios i e j.

2.5 Codificação dos dados de entrada

Segundo a proposição de Bohte (2003), a codificação dos dados de entrada para a forma pulsada é realizada do seguinte modo: seja cada uma das componentes do vetor de entrada de dimensão n aplicada a um conjunto de g gaussianas cobrindo toda a extensão dos dados de entrada. A camada de entrada I fica agora composta por n.g neurônios, e as gaussianas determinam o atraso no disparo (latência) de cada um dos n.g neurônios da camada de entrada. Se a gaussiana k for estimulada de forma ótima, o neurônio ik gerará um pulso na primeira iteração. Se a gaussiana k quase não receber estímulo, ik disparará após h iterações, onde h é a altura da gaussiana. Em outros termos, o k-ésimo neurônio da camada de entrada disparará de acordo com o estímulo da gaussiana k. A Figura 6 ilustra o processo de codificação de um valor contínuo (130) em pulsos temporais para 8 neurônios da camada de entrada. Nesta figura, o espaço de entrada [0:255] é coberto por g=8 campos receptivos gaussianos. A latência do k-ésimo neurônio encontra-se vinculada à excitação da gaussiana k.

 

 

O centro de cada uma das g gaussianas em uma dimensão x: [xminxmax] pode ser expresso por (Bohte, 2003):

onde ck é o centro da k-ésima gaussiana; k é o índice da gaussiana cujo centro está sendo determinado; xmin é o valor mínimo assumido pela variável de entrada; xmax é o valor máximo assumido pela variável de entrada; g é o número de gaussianas presentes no campo receptivo.

2.6 Processamento típico

Seja uma rede com desdobramento das sinapses que, por simplificação, tem as seguintes características: i) o potencial do neurônio de saída j é iniciado com µj = 0; ii) j possui conexões com os n.g neurônios da camada de entrada; iii) o número de sinapses d entre as conexões de i e j é muito grande; iv) todos os pesos associados às sinapses da rede são aproximadamente iguais; v) as funções eij possuem constante de tempo de descida muito maior do que a constante de subida.

Este processo é ilustrado na Figura 7. Nessas condições, o disparo do primeiro pulso vindo dos neurônios pré-sinápticos (ti2 na Figura 7) fará com que o neurônio j receba uma seqüência de d pulsos provenientes das d sinapses entre o neurônio que disparou (i2) e j. Estas contribuições incrementarão o potencial de j na forma aproximada de uma reta com uma nova contribuição sendo recebida a cada intervalo de tempo durante todo o processo competitivo. A inclinação desta reta permanecerá constante até que um novo pulso (ti1 na Figura 7) inicie a contribuição de uma nova conexão. Esse processamento será alterado pela sistemática de aprendizado.

 

 

3 APRENDIZADO NÃO SUPERVISIONADO

Um processo de aprendizado não supervisionado para uma rede neural pulsada de base radial com o desdobramento das sinapses foi proposto por Natschläger e Ruf (1998). O objetivo do aprendizado é fazer com que cada neurônio RBF armazene o centro de um grupo, ou, em outros termos, fazer com que dispare o neurônio da camada J cujo centro mais se aproximar do padrão presente na camada I.

Inicialmente os pesos sinápticos são aleatoriamente adotados. Após a apresentação de um vetor de entrada à rede, o neurônio da camada de saída que disparar primeiro será considerado o neurônio vencedor do processo competitivo. Tipicamente, apenas os pesos sinápticos do neurônio RBF vencedor são atualizados utilizando uma função de aprendizado Hebbiana L(Dt) cujo objetivo é incrementar os pesos das sinapses que receberam pulsos imediatamente antes do disparo do neurônio. Uma função de aprendizado usual é dada por (Natschläger e Ruf, 1998):

onde Dwijk é a taxa de variação do peso da k-ésima conexão entre o neurônio i e o neurônio j; h é a taxa de aprendizado; L(.) é uma função de aprendizado sobre o argumento; b determina o valor do incremento e decremento dos pesos sinápticos; Dt é a diferença de tempo entre o recebimento de um pulso em uma sinapse e o disparo do neurônio em questão; c determina o centro do pico da curva de aprendizado; b posiciona o comprimento da parte positiva da função de aprendizado. O gráfico desta função de aprendizado é mostrado na Figura 8.

 

 

A aplicação sucessiva desta regra de aprendizado é capaz de aumentar pesos das sinapses relevantes para o disparo - tipicamente saturando-os em wmax - ou reduzir pesos de sinapses irrelevantes - tipicamente levando-os a wmin. A Figura 9 ilustra a dinâmica esperada no potencial do neurônio durante o aprendizado: inicialmente os pesos das sinapses (e, portanto, o incremento no potencial µj) são todos similares, e o incremento do potencial é aproximadamente linear. Com a evolução do aprendizado, apenas alguns pesos são aumentados, e o neurônio torna-se mais sensível (dispara mais rapidamente) a alguns padrões específicos de pulsos de entrada. O tempo de disparo do neurônio pulsado é, então, o análogo do critério de distância na abordagem. Em outros termos, espera-se que o centro do grupo representado pelo neurônio mova-se na direção do vetor de entrada corrente após a aplicação da regra de aprendizado.

 

 

4 MATERIAIS E MÉTODOS

Uma RNP-RBF baseada na descrição apresentada nas seções anteriores foi implementada em ambiente DevC++, e dois tipos de testes distintos foram realizados: i) agrupamento de dados 3D e ii) classificação da cor de pixels. Estes testes são descritos nas seções a seguir.

4.1 Agrupamentos 3D

Para avaliar o desempenho da RNP na tarefa de classificação de dados, foram executados três experimentos com conjuntos distintos de pontos artificialmente gerados em 3. Os conjuntos de dados utilizados nos experimentos foram: i) EXP-01: três grupos linearmente separáveis de igual tamanho; ii) EXP-02: três grupos linearmente separáveis com tamanhos distintos, e iii) EXP-03: dois grupos linearmente inseparáveis, com centros posicionados fora dos agrupamentos. Os três conjuntos são apresentados na Figura 10. Os dados utilizados podem ser encontrados em Simões (2006).

 

 

Os dados de entrada foram apresentados à rede - ponto a ponto - e o deslocamento do centro dos neurônios RBF foi estimado. O treinamento foi interrompido quando os pesos atingiram wmax ou wmin. Ao contrário do adotado em Natschläger e Ruf (1998) e Bohte (2003) nenhuma sistemática de auto-inibição dos neurônios foi utilizada. Os resultados obtidos são apresentados na Figura 11. Depois da convergência, o erro médio quadrático (MSE - Mean Square Error) foi observado e comparado com aquele obtido com a aplicação do bem conhecido algoritmo k-means. Os resultados são apresentados na Tabela 1. A metodologia PROBEN1 (Prechelt, 1994) foi adotada para documentar os testes e todas as constantes usadas foram registradas para permitir futuras reproduções dos experimentos (Tabela 2).

 

 

 

 

 

 

4.2 Classificação de pixels

Para avaliar a rede na tarefa da classificação de cores de pixels, cada dimensão de entrada (R, G e B) foi transformada para a forma pulsada utilizando campos receptivos gaussianos como o proposto por Bohte (2003) e, em linhas gerais, manteve-se a mesma sistemática de aprendizado da seção anterior.

Nos experimentos realizados, a imagem IMG-01 de um corredor do campus de Sorocaba da UNESP - mostrada na Figura 12a - foi adotada. Observando esta imagem, um humano tipicamente identifica três classes de cores: azul (portas), vermelho (extintores) e "fundo" (uma classe envolvendo todos os demais pixels que não pertencem às duas primeiras classes).

 


 

 

Para examinar a distribuição das cores dos pixels da Figura 12a, foi realizada sua transformação pixel a pixel para o espaço de cores RGB, que é mostrada na Figura 12b (as vistas laterais do espaço 3D podem ser observadas nas Figura 12c, d e e). Observando esta imagem é possível perceber que os grupos de cores distribuem-se irregularmente ao longo do espaço RGB. A tarefa de classificar a cor dos pixels pode então ser revista como a tarefa de estabelecer os limites ótimos para a separação dos grupos de pixels no espaço RGB.

Durante a avaliação, a rede foi treinada repetidas vezes com um número diferente de exemplos de cada classe. A classificação da imagem da Figura 12a obtida com a rede treinada com diferentes exemplos é apresentada na Figura 13.

 

 

Como um baixo erro médio quadrático não pode ser tomado como sinônimo de uma boa classificação de cores (já que a noção de cor não se distribui uniformemente pelo espaço de cores), uma nova sistemática de avaliação foi adotada: a comparação da classificação das cores com aquela realizada por um humano. Desta forma, a imagem classificada pela RNP foi comparada com uma imagem classificada por um humano (gabarito). A avaliação do desempenho do classificador foi então realizada utilizando como parâmetro a matriz de confusão (Swets, 1988), cuja configuração para múltiplas classes é apresentada na Tabela 3. Esta matriz apresenta as classes atribuídas pelo classificador a pixels de cada uma das classes segundo o gabarito. Desta forma, n12 representa o número de pixels da classe 1 (segundo o gabarito) classificados como classe 2 (pelo classificador), e assim sucessivamente. A matriz de confusão para as várias classes obtidas com o classificador é apresentada na Tabela 4.

 

 

 

 

A partir desta tabela, para cada classe é possível calcular: TP (taxa de verdadeiros positivos), FP (taxa de falsos positivos), TN (taxa de verdadeiros negativos) e FN (taxa de falsos negativos).

Uma outra forma de expressar os resultados obtidos com a sistemática da matriz de confusão é através do ROC - Receiver Operating characteristic - (Swets , 1988), que consiste em apresentar os dados em termos do par especificidade e sensibilidade, estas definidas por:

Uma vez que o classificador perfeito está no ponto (1,1), a distância euclidiana ao classificador perfeito (DCP) é dada por:

O ROC obtido com o classificador é apresentado na Tabela 5. Quantitativamente, a acuidade da classificação em função do número de exemplos de treinamento é apresentada na Figura 14.

 

 

 

 

Após o processo de treinamento dos neurônios, o ponto de disparo mais rápido de cada um dos três neurônios da camada de saída (centro dos grupos) foi observado. Este processo foi realizado apresentando aos neurônios diversas instâncias de entrada homogeneamente espaçadas em 3:[0:255] em cinco planos distintos. O tempo de disparo de cada neurônio para cada instância foi observado e o resultado pode ser visto na Figura 15a-c. Nesta figura, o neurônio dispara mais rápido para os pontos mais escuros, e mais lentamente para os pontos mais claros. A barra lateral indica o tempo (em iterações) para o disparo do neurônio para cada instância de entrada.

 

 

A dinâmica do aprendizado do neurônio foi avaliada observando o ponto de disparo mais rápido de cada um dos três neurônios da camada de saída (centro dos grupos) em diversos momentos do treinamento. O centro da classe foi aproximado como o ponto central dentre os pontos com disparo mais rápido do neurônio. O resultado deste experimento pode ser visto na Figura 16, onde os números indicam a iteração de aprendizado. Finalmente, a partição do espaço de cores foi obtida observando o neurônio da camada de saída que disparou mais rápido para cada uma das instâncias de entrada em 3. A partição é apresentada na Figura 17.

 

 

 

 

5 DISCUSSÃO

No que diz respeito à tarefa do agrupamento de dados, a análise visual dos centros estimados dos grupos (Figura 11) e a análise quantitativa do MSE (Tabela 1) permitem dizer que o desempenho da RNP equipara-se ao desempenho do algoritmo k-means para os casos analisados.

Classificar a cor dos pixels da Figura 12 não é uma tarefa trivial. Ainda assim, com um número significativo de exemplos a RNP-RBF classificou corretamente os pixels com uma boa acuidade, exceto nas regiões excessivamente escuras (próximo ao 0,0,0 do espaço RGB). A comparação entre o espaço de cores original (Figura 12b) e sua partição (Figura 17) ilustra bem a tarefa executada pelo classificador.

Em todos os experimentos realizados neste trabalho os neurônios pulsados sempre apresentaram os centros iniciais no centro de 3, mesmo quando inicializados com pesos aleatoriamente escolhidos. Assim como em abordagens clássicas do aprendizado competitivo, depois de uma fase de competição (nas primeiras iterações do treinamento), seguiu-se uma fase de convergência e todos os centros dos neurônios convergiram para o centro de um grupo diferente.

A Figura 18 apresenta alguns dos padrões tipicamente exibidos pelo vetor de pesos sinápticos W de um neurônio pulsado. A Figura 18a apresenta o padrão típico presente em W após o treinamento com uma taxa de generalização b pequena e com amostras com pequena variância. Os pesos sinápticos atingiram wmax apenas em uma conexão entre cada neurônio i Î I e j. A Figura 18b apresenta o padrão típico presente em W após o treinamento com uma taxa de generalização b mais alta. O incremento de um peso sináptico provocou o incremento dos pesos vizinhos, o que terá reflexos na generalização da rede. A Figura 18c apresenta o padrão típico presente em W após o treinamento com uma taxa de generalização b pequena e com amostras com variância acentuada nos tempos de emissão dos pulsos em i1. Apenas as conexões entre i1 e j apresentaram espalhamento na distribuição dos pesos sinápticos. A Figura 18d apresenta o padrão típico presente em W após um processo de aprendizado incorreto. Dois pesos distintos foram estimulados nas conexões entre i1 e j.

 

 

A análise do padrão exibido pelo vetor de pesos sinápticos após o treinamento permite observar que a informação sobre a qualidade da convergência encontra-se disponível no vetor de pesos sinápticos do próprio neurônio.

 

6 CONCLUSÕES

Os testes apresentados neste trabalho permitem concluir que a RNP adequadamente configurada utilizada em conjunto com o algoritmo de aprendizado não-supervisionado é capaz de apresentar uma acuidade comparável à do algoritmo k-means na tarefa do agrupamento. Conclui-se, portanto, que esse novo modelo de rede neural pulsada é capaz de atuar na tarefa da classificação da cor de pixels no domínio da visão computacional com boa acuidade, o que vislumbra sua aplicação em tarefas como a classificação de frutas segundo padrões visuais (Simões e Costa, 2000), ou o futebol de robôs móveis autônomos (Simões e Costa, 2001).

É importante salientar que uma apliacação deste modelo na tarefa da classificação de pixels foi realizada em Bohte (2003). Contudo: i) a falta de uma documentação adequada não permite a reprodução dos experimentos realizados (Booij, 2004) (Simões, 2006) e ii) a avaliação da dinâmica do processo de aprendizado na tarefa da classificação não foi alvo de investigação anterior. O presente trabalho preenche estas lacunas na literatura apresentando a primeira documentação do processo de convergência deste modelo, o que permite estabelecer analogias com metodologias clássicas e vislumbrar as fronteiras de utilização desse tipo de RNA.

Neste sentido, a rede com treinamento não supervisionado apresenta ao menos duas características que parecem promissoras. Primeiramente, corroborando relatos de Natschläger e Ruf (1998), em alguns casos particulares de configuração da rede, quando os centros de dois grupos encontram-se muito próximos, um único neurônio passa a vencer o processo competitivo repetidas vezes. Isso implica que uma única classe pode unificar duas classes até então distintas e sugere que esta rede pode ter seu número de classes ampliado e reduzido durante seu processamento, sem necessidade de novo treinamento. Uma segunda característica importante - que diferencia fortemente este método do k-means tradicional e não mencionada na literatura - é que a informação sobre a qualidade da convergência encontra-se disponível no vetor de pesos sinápticos do neurônio. Essa nova observação permite suscitar o uso de heurísticas para alterar a dinâmica do aprendizado do neurônio (e, portanto, da rede) durante o processo de treinamento através o uso de informação puramente local. A inserção e remoção dinâmica de classes e o uso de heurísticas no processo de convergência serão estudados em trabalhos futuros.

Dentre os pontos negativos apresentados pela rede, o que mais se destaca é a dificuldade de configurá-la adequadamente, dado seu grande número de parâmetros. O sistema é fortemente influenciado, por exemplo, pelo desvio padrão adotado nos campos receptivos gaussianos e também pelas constantes de aprendizado, em particular a constante b. A tarefa de configurar esta rede mostrou-se muito mais complexa do que a tarefa de configurar um MLP. Uma sistemática que visa auxiliar na calibração de alguns dos parâmetros-chave da rede pode ser encontrada em Simões (2006).

Finalmente, muito embora o modelo de RNP tenha sido aqui validado em uma tarefa de classificação de dados, a RNP-RBF apresenta forte potencial na tarefa da classificação de padrões diretamente apresentados na forma de pulsos temporais, uma tarefa difícil de ser realizada por redes neurais convencionais. Um dos domínios vislumbrados nesse sentido é a classificação de objetos em imagens através da latência das cores dos pixels (Johnson, 1994) (Buonomano e Merzenich, 1999). Esta abordagem sabidamente permite classificar objetos na imagem com invariância à translação, escala e rotação dos objetos, suscitando novos horizontes de aplicação desta rede no domínio da visão computacional.

 

REFERÊNCIAS

Bohte, S. M. (2003). Spiking Neural Networks. Tese de Doutorado. Centre for Mathematics and Computer Science, Amsterdam.         [ Links ]

Booij, O. (2004). Temporal Pattern Classification Using Spiking Neural Networks. Dissertação de Mestrado. Infformatics Institute. Faculty of Science. University of Amsterdam.         [ Links ]

Buonomano, D. V. and Merzenich, M. (1999). A Neural Network Model of Temporal Code Generation and Position-Invariant Pattern Recognition. Neural Computation, 11, pp. 103-116.         [ Links ]

Gerstner, W. (1995). Time Structure of the Activity in Neural Network Models. Phys. Rev. E, vol. 51, p. 738-758.         [ Links ]

Gerstner, W. ; Kempter, R.; Van Hemmen, J. L. and Wagner, H. (1996). A Neuronal Learning Rule for Sub-millisecond Temporal Coding. Nature, No. 384, pp. 76-78.         [ Links ]

Hopfield, J. (1995). Pattern Recognition Using Action Potential Timing for Stimulus Representation. Nature, No. 376, 33-36.         [ Links ]

Johnson, J. L. (1994). Pulse-Coupled Neural Nets: Translation, Rotation, Scale, Distortion and Intensity Signal Invariance for Images. Applied Optics, Vol. 33, No. 26, pp. 6239-6253.         [ Links ]

Katada, Y. and Ohkuda, K. (2003). Artificial Evolution of Pulsed Neural Networks on the Motion Pattern Classification System. IEEE International Symposium on Computational Intelligence in Robotics and Automation. Kobe, Japan, pp. 318-323.         [ Links ]

Kinser, J. M. (1997). Pulse-Coupled Image Fusion. Optical Engineering. Society of Photo-Optical Instrumentation Engineering, Vol. 36, No. 3, pp. 737-742.         [ Links ]

Maass, W. and Bishop, C. M. (editores). (1999). Pulsed Neural Networks. MIT Press, 2nd edition.         [ Links ]

Natschläger, T. and Ruf, B. (1998). Spatial and Temporal Pattern Analysis via Spiking Neurons. Network, Vol. 9, No. 3, pp. 319-332.         [ Links ]

Prechelt, L. (1994). Proben1: A Set of Neural Network Benchmark Problems and Benchmarking Rules. Technicak Report 21/94. University of Karlsruhe. Gernamy.         [ Links ]

Ripley, B. D. (1996). Pattern Recognition and Neural Networks. Cambridge University Press.         [ Links ]

Schürmann, J. (1996). Pattern Classification: a Unified View of Statistical and Neural Approach. John Willey & Sons Inc.         [ Links ]

Simões, A. S. (2000). Segmentação de Imagens por Classificação de Cores: uma Abordagem Neural. Dissertação de Mestrado. Departamento de Computação e Sistemas Digitais. Escola Politécnica da Universidade de São Paulo.         [ Links ]

Simões, A. S. (2006). Aprendizado Não-Supervisionado em Redes Neurais Pulsadas de Base Radial. Tese de Doutorado. Escola Politécnica da Universidade de São Paulo. São Paulo, Brasil.         [ Links ]

Simões, A. S. and Costa, A. H. R. (2003). Classificação de Laranjas Baseada em Padrões Visuais. 6º Simpósio Brasileiro de Automação Inteligente (SBAI). Sociedade Brasileira de Automática. Bauru, setembro 14-17, pp. 77-81.         [ Links ]

Simões, A. S. and Costa, A. H. R. (2001). Classificação de Cores por Redes Neurais Artificiais: um Estudo do Uso de Diferentes Sistemas de Representação de Cores no Futebol de Robôs Móveis Autônomos. Encontro Nacional de Inteligência Artificial (ENIA). XXI Congresso da Sociedade Brasileira de Computação. Fortaleza, Vol. 1, pp.182.         [ Links ]

Swets, J. A. (1988). Measuring the Accuracy of Diagnostic Systems. Science, Vol. 240, pp.1285-1293.         [ Links ]

Wang, R. A. (2001). A Hybrid Learning Network for Shift-Invariant Recognition. Neural Networks, No. 14, pp. 1061-1073.         [ Links ]

 

 

Artigo submetido em 01/06/2006
1a. Revisão em 14/12/2006
2a. Revisão em 16/02/2007
Aceito sob recomendação do Editor Convidado Prof. Osvaldo Ronald Saavedra Mendez

 

 

ARTIGO CONVIDADO: Versão completa e revisada de artigo apresentado no SBAI-2005
1 A funcão degrau de Heaviside H(s), homenagem ao engenheiro eletricista inglês Olivier Heaviside (1850-1925), não é definida para s<0 e possui valor 1/2 para s=0 e 1 para s>0.