Modelos Anteriores Relevantes
3.4 Crescimento de Estruturas de Células Growing Cell Structures (GCS)
Um outro modelo de mapa auto-organizável, o GCS (Fritzke,1994a), foi proposto com o intuito de possibilitar que a própria RNA ache uma estrutura neural adequada para a massa de dados com a qual está lidando. O modelo GCS avança no sentido de que não há mais uma estrutura pré-definida, mas apenas alguns nodos3, além de um mecanismo de se criar ou remover nodos. Com isto, a rede pode crescer alterando tanto sua forma, quanto a posição e quantidade de elementos que a compõe. Como será visto adiante, há também um mecanismo para a remoção de elementos redundantes. estabelecido.
O principal objetivo do GCS, é gerar um mapa topológico A representativo dos dados de entrada M , com menor dimensão DA < DM, e que atenda a três propriedades:
• Sinais de entradas similares em M são mapeados em elementos topologicamente próxi- mos em A .
• Elementos topologicamente próximos em A mapeiam sinais de entrada similares. • Regiões de M com alta densidade de probabilidade são representados em A por uma
alta densidade de elementos.
A topologia inicial deste modelo é um conjunto A de k + 1 nodos (vértices) de um grafo simplex, onde k é a dimensão do grafo. Durante a execução da rede, os nodos serão adiciona- dos e aqueles considerados desnecessários serão removidos, sempre mantendo a característica k-simplex da rede. O modelo preserva a topologia dos dados de entrada se a dimensão do grafo k é a mesma do espaço de entrada (Marsland et al.,2002).
A área delimitada por um conjunto de nodos é chamada de hipertetraedro. A escolha do tetraedro ao invés do cubo se deve ao crescimento dos vértices ser linear e proporcional a k no primeiro, ao passo que este crescimento se torna exponencial (2k) no segundo caso.
Outro conceito muito importante neste modelo é o de Regiões de Voronoi. Informalmente, uma região de Voronoi é a área formada pelo conjunto de pontos Fique estão mais próximos de um nodo i que de outro nodo qualquer. Em outras palavras, todo nodo i tem um vetor de pesos próprio wi, de dimensão DM, chamado vetor sináptico. O mapeamento ψM →A pode então ser descrito como:
ψM →A : M → A , (ξξξ ∈ M ) 7→ (s1∈ A ) (3.11) sendo que s1é o nodo vencedor, e é encontrado por meio da distância Euclidiana:
kws1− ξξξ k = min
i∈Akwi− ξξξ k
Feito isto, o conjunto de entrada M será dividido em i regiões Fi(i ∈ A ), cada qual con- sistindo em pontos de M que têm seus vetores sinápticos topologicamente próximos. Uma simplificação é feita pelo autor, com intenção de facilitar os cálculos, para que não exista re- giões de Voronoi de tamanho infinito.
3.4.1 Algoritmo
Para o GCS, em comparação ao modelo original de Kohonen, o autor apresenta duas diferenças significativas em seu algoritmo:
• As taxas de aprendizado (ou de adaptação) são constantes no tempo. Tem-se εb para o nodo vencedor s1e εnpara os vizinhos diretos4de s1.
• Somente o nodo vencedor e seus vizinhos diretos são adaptados.
O processo de adaptação consiste em movimentar o nodo no espaço dos vetores sinápticos visando a minimização da distância média dos sinais de entrada ξξξ que ele representa. Este processo ocorre a cada passo, sendo que o processo de inserção de um novo nodo ocorre apenas após λ passos de adaptação. Assim, o algoritmo é apresentado a seguir:
1. Escolha um sinal de entrada ξξξ de acordo com a distribuição de probabilidade P(ξξξ ). 2. Localize a unidade vencedora s1, a de menor distância Euclidiana, de acordo com:
kws1− ξξξ k = mini∈Akwi− ξξξ k (3.12)
3. Atualize os pesos de s1e de seus vizinhos diretos:
∆ws1= εb(ξξξ − ws1) (3.13)
∆wi= εn(ξξξ − wi) ∀i ∈ N (s1) (3.14)
4. Acrescente uma unidade ao contador de sinais de s1, tal que:
hs1 = hs1+ 1 (3.15)
5. Decremente todos contadores de sinais por uma fração α, tal que:
∆hi= −αhi (∀i ∈ A ) (3.16)
• Inserção de um Nodo e suas Conexões a cada λ passos:
O objetivo do GCS é obter um conjunto de nodos i ∈ A tais que os vetores protótipos wi sejam representativos da função de probabilidade P(ξξξ ) com ξξξ ∈ M . Isto acontece quando cada nodo i tem a mesma probabilidade de ser o vencedor (s1) para uma dada entrada ξξξ .
Um indicador da freqüência relativa ˜hidos sinais de entrada que foram contados por hi, é dado por: ˜hi= hi
∑
∀ j∈A hj (3.17)O algoritmo acima consiste em avaliar este indicador (veja Figura 3.11), e criar um novo nodo r exatamente no centro da região de Voronoi que está mais mal representada. Isso é conseguido, escolhendo-se o ponto intermediário entre o nodo com maior freqüência relativa q e seu vizinho mais distante f .
A nova formação das ligações dos vértices deve manter a característica de grafo k-simplex, mantendo os hipertetraedros. Isto é feito em dois passos:
• A antiga ligação entre q e f é desfeita.
• O novo nodo r é ligado a q, a f e aos vizinhos que são comuns a ambos (neste caso n1e n2).
Após a inserção do novo nodo, os contadores de sinais de entrada hi dos nodos i vizinhos de r, devem ser redistribuídos da seguinte forma:
∆hi= |F (new) i | − |F (old) i | |F(old)i | · hi (∀i ∈ N (r)) (3.19) onde |Fi| é o volume DM-dimensional da região de Voronoi Fi. E o novo nodo r tem seu contador inicialmente ajustado para:
hr= −
∑
i∈N (r)∆hi (3.20)
Esta atribuição inicial ajusta o nodo r com a quantidade de respostas que ele supostamente teria dado, se existisse nessa região desde o começo do processo.
(a) (b)
Figura 3.11 Estrutura da rede GCS (a) antes da inserção, e (b) depois da inserção do nodo r.
• Remoção de um Nodo e de suas Conexões:
O algoritmo GCS inclui um critério para a remoção de nodos ditos “supérfluos”. Um nodo será tido como supérfluo se estiver localizado em uma região de baixa densidade de probabi- lidade. Como em geral é muito difícil se obter a densidade de probabilidade, o GCS estima este valor de corte ˜p pela freqüência relativa de sinais de um nodo em relação ao tamanho do
seu campo de Voronoi. O limiar de corte κ a ser escolhido dependente do problema, uma vez que as densidades variam para cada caso, tornando muito difícil de se defini-lo como um va- lor absoluto. Uma aproximação baseada em uma densidade de probabilidade normalizada em relação ao volume total de todos os hipercubos minimiza essa dificuldade, tornando κ = 0, 09 (Fritzke,1994a) um valor padrão apropriado para a maioria dos casos.
Com estas estimativas em mãos, escolhem-se nodos a serem removidos que não atingiram o limiar ˜pi< κ. Mas, além da escolha do nodo, o algoritmo deve tratar do problema de manter a consistência dos hipertetraedros após essas remoções.
O algoritmo: “para remover um nodo, basta removê-lo, e a todas as suas arestas”, não mantém a consistência dos hipertetraedros, como se pode ver na Figura (3.12) (a).
Faz-se necessário manter-se uma base de dados com duas informações: o conjunto de todos os nodos ni que pertencem a um determinado hipertetraedro hi, dado por Chi = {n1, . . . , nn}
e o conjunto de todos os hipertetraedros hi que possuem um determinado nodo ni, dado por Hni= {h1, . . . , hn}.
No exemplo da Figura (3.12) (a), os triângulos (hipertetraedros) h1, h2 e h3 são formados pelos nodos Ch1= {a, b, d}, Ch2= {a, c, d} e Ch3= {c, e, d}, respectivamente. Enquanto que
os nodos envolvidos no processo de remoção pertencem é Hna= {h1, h2, h4}, Hnb= {h1, h5},
Hnc= {h2, h3, h4, h6}, Hnd = {h1, h2, h3} e Hne = {h3}.
A mudança afeta também o algoritmo de inserção, pois é necessário que o banco de dados se mantenha atualizado para representar a estrutura da rede. Com o banco de dados sempre atu- alizado, para remover um nodo mantendo consistente o grafo k-simplex é necessário e suficiente remover todos os hipertetraedros que possuem o nodo em questão.
(a) (b)
Figura 3.12 Estrutura de uma rede GCS (a) antes de remover o nodo d, e (b) após a remoção do nodo d.
Faz-se isso removendo os hipertetraedros dos conjuntos Hniassociados aos nodos envolvi- dos no processo. Por exemplo, na Figura (3.12) (a), o nodo d pertence aos triângulos h1, h2, e h3, que deixará de existir. Então os nodos envolvidos no processo terão seus conjuntos de hipertetraedros atualizados: Hna = {h4}, Hnb = {h5}, Hnc= {h4, h6}, Hnd = {} e Hne = {}.
Feita essa atualização no banco de dados, deve-se percorrer todas as arestas envolvidas no pro- cesso, eliminado as que não fazem parte de pelo menos um tetraedro. Nova busca, então, deve ser feita, eliminando agora os nodos que não possuem pelo menos uma aresta. No exemplo acima, a primeira busca eliminaria a aresta ab, e a segunda busca eliminaria o nodo e.
3.4.2 Exemplo
A Figura (3.13) mostra o resultado da aplicação de uma variação do algoritmo GCS proposta por (Fritzke,1997a), para uma massa de dados convexa e descontínua, com áreas que possuem probabilidade nula.
Figura 3.13 Exemplo do algoritmo GCS após 20000 interações. Parâmetros da simulação: α = 0, 2, β = 0, 0005, εb= 0, 02, εn= 0, 006, e λ = 200 (Fritzke,1997a).
Esta mesma distribuição de dados foi usada porFritzke(1997a) no SOM, e pode-se notar comparando-a com a Figura (3.5) que a quantidade de nodos nas áreas de probabilidade nula diminuiu. Comparando-se com a Figura (3.9), aparentemente a preservação da estrutura do GCS leva a um pior posicionamento que o TRN. Considerando que no exemplo dado o GCS executou por apenas 20000 iterações, enquanto o TRN executou por 40000 iterações, é de se esperar que com mais tempo o GCS melhore sua representação ao inserir mais nodos.
3.4.3 Aplicações Típicas e Variações
Este modelo é utilizado em áreas diversas tais como otimização combinatorial, visualização de dados (Fritzke,1994a), gerenciamento de conteúdo e descobrimento de conhecimento (Fre- eman & Yin, 2005). Por exemplo, uma rede unidimensional fechada em um anel pode ser usada para gerar aproximações de soluções para o problema do caixeiro viajante, na área de otimização combinatorial. Já na área de visualização de dados, ao se escolher uma dimensão k-simplex (k ≤ 3) pequena para representar uma massa de dados de alta dimensão, torna-se possível a visualização gráfica desta massa de dados. Na área de gerenciamento de conteúdo, vê-se aplicações para o TreeGCS, uma variante hierárquica do GCS (Freeman & Yin,2005).
Um primeiro avanço com respeito ao SOM é não ser mais necessário identificar e/ou es- pecificar a estrutura inicial do mapa. Além disto, tem-se parâmetros constantes ao longo do tempo, o que elimina a necessidade de se utilizar algum tipo de função de decaimento.
Porém, outras variações do modelo foram criadas para se adequar melhor a características específicas de determinados problemas, como por exemplo:
• Redes de Topologias Fechadas: possuem uma arquitetura na qual os nodos estão re- lacionados com alguma característica do problema (como por exemplo, as cidades do problema do caixeiro viajante) (Fritzke,1991).
• Crescimento Supervisionado de Estruturas de Células (SGCS): combina a rede GCS com a abordagem das redes que utilizam funções de base radial. Os novos nodos são inseridos baseando-se no erro acumulado de classificação, o que gera redes pequenas, com grande capacidade de generalização (Fritzke,1994b).
• Crescimento Probabilístico de Estruturas de Células (PGCS): O algoritmo GCS é um tipo de algoritmo de k-médias que realiza agrupamento de dados, de modo auto- organizado, através da divisão do espaço de entrada em regiões de Voronoi, enquanto é capaz de, achar uma estrutura e um tamanho de rede que melhor representam este espaço. A proposta do algoritmo PGCS é estender o GCS (Vlassis et al.,1997), assumindo que os dados de entrada de cada agrupamento estão de acordo com a distribuição de probabili- dade Gaussiana, e com isto tirar proveito das informações providas por essa distribuição.
3.4.4 Limitações do GCS
Apesar de serem constantes, determinar os diversos parâmetros (εb, εn, λ , α e κ) não é tarefa simples, pois é necessário um ajuste empírico para o domínio em questão. O modelo GCS é robusto à maioria de seus parâmetros iniciais, ainda assim é muito sensível às condições de configuração de alguns deles, em especial do parâmetro λ que define o crescimento da rede (Heinke & Hamker, 1998). Determinar o passo adequado ao crescimento da rede, para que adicione nodos a cada λ iterações, coloca nas mãos do projetista uma difícil tarefa de estimar a melhor dinâmica da rede para o problema em questão. Além disto, com o uso de uma taxa de inserção, o GCS não permite controlar a precisão dos agrupamentos determinados pelo modelo, pois um novo nodo é inserido a cada λ passos, independentemente do tamanho dos erros.
Outra limitação é a complexidade do algoritmo, decorrente da manutenção da rede estrutu- rada em um grafo k-simplex. Tal representação tem custo computacional alto, sem contrapartida na representação da topologia do espaço de estados (Marsland et al.,2002). Pelo contrário, para
escolher a dimensão k do grafo k-simplex necessita-se conhecimento prévio da dimensão do es- paço de entrada, sob risco de se criar uma rede que não representa adequadamente a topologia a ser aprendida.
O PGCS atribui como um problema a rede GCS não distribuir os seus nodos de modo cobrir o espaço de estados com um número homogêneo de nodos, mas criar maior quantidade de nodos onde a distribuição de probabilidade é mais densa. Isto não é necessariamente um problema, uma vez que pode ser interessante representar também a densidade na topologia do espaço de entradas. O GCS, do modo como o processo de inserção de nodos é feito, tem o objetivo principal de equalizar o valor esperado do erro de cada nodo, ao invés de priorizar a representação topológica dos espaço de entradas durante o seu treinamento.
O papel das conexões do GCS tem o objetivo de manter o mapa em uma malha de hiper- tetraedros, e não há qualquer relação com as propriedades dos nodos conectados a não ser a similaridade medida pela distância Euclidiana do vetor completo. Adicionalmente, como se pode notar no exemplo da Figura (3.13), ocorrem os mesmos defeitos topológicos apontados no SOM, com conexões fora da área de probabilidade não-nula, causados pela restrição de manter-se o grafo k-simplex. O número de conexões cortando as áreas de probabilidade nula tende a diminuir com mais treinamento. Entretanto a performance da rede não melhora signifi- cativamente se treinada em excesso (Heinke & Hamker,1998).