• Nenhum resultado encontrado

Modelos Anteriores Relevantes

3.5 Gás Neural Crescente Growing Neural Gas (GNG)

O modelo GNG (Fritzke, 1997a) é derivado do GCS, sem as suas restrições topológicas, ou, também pode ser visto como uma variação incremental do modelo TRN. O propósito do modelo GNG é gerar um grafo que reflita a topologia dos dados de entrada, inclusive representando diferentes dimensionalidades, caso elas ocorram. Normalmente utiliza-se este modelo para agrupamentos e identificação de grupos, bem como quantização vetorial. As conexões entre os vizinhos podem ser utilizadas como informação sobre valores de interpolação de funções arbitrárias de RD.

O modelo GNG compartilha com o modelo TRN o uso do aprendizado Hebbiano. Já o procedimento de adição de nodos utilizado neste modelo possui algumas vantagens em relação ao modelo TRN de topologia fixa. Pelo fato do modelo GNG não ter as restrições topológicas de grafos k-simplex do modelo GCS, a sua topologia pode assumir quantas dimensões diferen- tes forem necessárias para bem representar os dados de entrada. Há ainda outras diferenças, conforme se pode observar no algoritmo apresentado em seguida.

3.5.1 Algoritmo Considere uma rede consistindo de:

Um conjunto A de nodos. Cada nodo i ∈ A possui um vetor de referência wi∈ RD, que pode ser entendido como a sua posição no espaço de entrada.

Um conjunto C de conexões (ou arestas) entre pares de nodos. Estas conexões não possuem pesos. Seu único objetivo é a definição da estrutura topológica.

A idéia principal do método é incluir novos nodos sucessivamente, partindo de uma rede mínima, através da avaliação das medidas estatísticas locais durante a apresentação dos dados de entrada e seu histórico nos passos anteriores de adaptação (Fritzke, 1997a). A seguir a descrição formal do algoritmo:

1. Inicialize o conjunto A com dois nodos n1 e n2 em posições wn1 e wn2 pertencentes a

RDaleatórias. A = {n1, n2}

Inicialize o conjunto de conexões C com uma conexão entre n1 e n2, e coloque a idade desta conexão como zero:

C = {cn1,n2}

age(n1,n2)= 0

2. Gere um sinal ξξξ de entrada, de acordo com P(ξξξ ). 3. Determine os nodos s1, s2∈ A tais que

||ws1− ξξξ || ≤ ||wi− ξξξ ||, ∀i ∈ A e

||ws2− ξξξ || ≤ ||wi− ξξξ ||, ∀i ∈ A − {s1}.

4. Se ainda não existir, insira a nova conexão entre s1e s2em C : C = C ∪ {cs1,s2}.

Existindo ou não a conexão previa, sua idade passa agora a ser zero: age(s1,s2)= 0

5. Adicione o quadrado da distância entre o sinal de entrada e a unidade mais próxima no espaço de entrada, a uma variável de erro local:

6. Mova s1 e seus vizinhos topológicos diretos em direção a ξξξ , por frações de εb e εn da distância total, respectivamente.

∆ws1 = εb(ξξξ − ws1)

∆wi= εn(ξξξ − wi), ∀i ∈ N (s1)

onde N (s1) é o conjunto de nodos vizinhos de s1.

7. Incremente a idade de todas as conexões que emanam de s1: age(s1,i)= age(s1,i)+ 1, ∀i ∈ N (s1)

8. Remova as conexões com idade superior a amax. Se esta operação resultar em unidades que não possuam mais nenhuma conexão, remova-as também.

9. Se o número de sinais de entrada é um inteiro múltiplo do parâmetro λ , então insira uma nova unidade como se segue:

(a) Determine a unidade q como a possuindo o maior erro acumulado, e determine f , a vizinha direta mais distante de q.

(b) Interpole r entre q e f : wr= (wq+ wf)/2.

(c) Insira conexões entre r e q, e entre r e f , e remova a conexão entre q e f . (d) Decremente as variáveis de erro de q e f .

(e) Interpole a variável de erro de r entre q e f . 10. Decremente o erro de todas as unidades:

∆Ei= −β Ei, ∀i ∈ A.

11. Continue a partir do passo 2 até que algum critério de parada tenha sido atingido (por exemplo, o tamanho da rede, ou alguma medida de performance).

3.5.2 Exemplo

Na Figura (3.14) tem-se a disposição das unidades e suas respectivas conexões após 20000 ite- rações. A rede utilizou como critério de parada um número máximo de 100 unidades atingidas. Pode-se notar que, como no modelo TRN, as unidades estão bem distribuídas na área dos dados de entrada com probabilidade positiva, e conseguiram representar a descontinuidade que este exemplo apresenta.

Figura 3.14 Exemplo do algoritmo GNG após 20000 iterações. Parâmetros da simulação: α = 0, 5,

amax= 88, β = 0, 0005, λ = 200, εb= 0, 05, εn= 0, 0006 (Fritzke,1997a).

O método descrito acima possui uma fase de adaptação (Passo 6) que movimenta todos os nodos em direção às áreas com sinal de entrada P(ξξξ ) > 0. O Passo 4 adiciona uma nova conexão entre o nodo vencedor e o segundo colocado, em relação ao sinal de entrada ξξξ rece- bido, que por isso mantém a triangulação de Delaunay. A remoção de nodos feita no Passo8

é necessária para eliminar conexões que não são mais parte da triangulação de Delaunay, ope- ração esta realizada em conjunto com o Passo 7 que ‘envelhece’ todas as conexões, e com o Passo4que ‘rejuvenesce’ apenas as conexões utilizadas, com conseqüente envelhecimento so- mente das conexões que não estão sendo utilizadas. A remoção e inserção de conexões neste modelo tenta construir e manter a triangulação induzida de Delaunay por todo o espaço que está sendo mapeado. O Passo5acumula os quadrados das distâncias entre o sinal ξξξ e o nodo vencedor, com o intuito identificar nodos que estão dispostos em áreas do espaço de entrada onde o mapeamento está mal representado5.

3.5.3 Avanços e Limitações do GNG

Comparando o modelo GNG com o modelo TRN, tem-se como importante avanço não ser necessário pré-definir o tamanho da rede, por ser uma rede de topologia dinâmica, tal qual o GCS. Todos os parâmetros são constantes no tempo, e o número de passos para adaptação não precisa ser definido a priori. A variação de performance da rede quanto à dependência da variação dos seus parâmetros (a robustez) foi avaliada e a rede GNG apresenta clara vantagem em uma comparação com as redes MLP e GCS (Heinke & Hamker,1998), além de convergir muito mais rápido para uma solução que o tempo necessário para uma rede MLP.

Devido à sua característica fractal6, o processo de aprendizado pode ser interrompido a qualquer tempo, que tem-se como resposta uma boa representação do espaço de entrada, dado 5Por ‘mal representado’ neste caso entenda-se a região do espaço de entrada que está a acumular mais erro

local.

6O termo fractal foi cunhado porMandelbrot(1975) para explicar objetos com dimensões fracionárias (Ott,

2002). Uma das propriedades dos fractais é a auto-similaridade: um objeto é dito fractal sua estrutura e topologia se repete quando observado em diferentes escalas.

o tempo de computação oferecido.

Figura 3.15 Uma figura geométrica composta por formas de diferentes dimensões, sendo mapeada pelo modelo GNG. Parâmetros da simulação: α = 0, 5, amax= 88, β = 0, 0005, λ = 200, εb= 0, 05,

εn= 0, 0006 (Fritzke,1997a).

Como limitação, Fritzke (1997a) comenta que este modelo não é interessante para a vi- sualização de dados, uma vez que o modelo não pretende diminuir a dimensionalidade dos dados de entrada (veja Figura3.15), a não ser que o próprio conjunto de entrada já tenha uma pequena dimensão. Para o mapeamento de espaço de estados, esta característica deve ser con- siderada positiva, pois pretende-se representar o mapa com maior fidelidade possível e custo computacional adequado.

Este modelo se aplica muito bem para agrupamentos e quantizações vetoriais. É ainda possível combiná-lo com funções de base radial para conseguir um modelo supervisionado incremental (Fritzke,1997a).

O modelo GNG, entretanto, também depende de um parâmetro que controla o número de passos necessários para a inserção e remoção de nodos, que é de difícil ajuste por ser depen- dente do espaço de entradas a ser representado. A inserção de nodos no GNG é feita, como no GCS, para minimizar o erro acumulado, a cada λ passos. O novo nodo é inserido na metade da distância entre o nodo de maior erro acumulado e o seu vizinho mais distante. A intenção é utilizar o erro de representação como guia para orientar onde a rede deve crescer com maior prioridade. Neste sentido, não há nenhum apelo sobre plausibilidade biológica, como é o caso do balbuciamento motor do modelo VITE.

As conexões são inseridas para refletir a inserção de um novo nodo entre os nodos que causaram seu posicionamento, não tendo por isso compromisso com critérios para a geração de trajetórias, mas apenas reflete propriedades topológicas relacionadas a similaridades dos nodos como um todo.

Ainda, as conexões são removidas por um limite de idade máximo que deve ser pré- determinado. Isto permite à rede manter-se atualizada em relação ao espaço de estados dinâ- micos, eliminando conexões (e nodos) quando inativos por um dado tempo a ser configurado. O inconveniente é que a rede pode estar se esquecendo de configurações (estados) importantes, que mesmo sem uso no tempo estipulado podem representar uma perda de informação impor- tante e muitas vezes custosa e de difícil aquisição (como o aprendizado de posições de um braço após o balbuciamento motor).

Por fim, mas não menos importante, a ausência de tratamento diferenciado para vetores com informações heterogêneas impede algumas das características mais importantes para o plane- jamento de trajetórias, como o uso de múltiplos critérios para vizinhanças e a equifinalidade temporal das trajetórias. Além disto, ao operar o vetor como um todo, sem discriminar seu conteúdo, criam-se distorções entre as diferentes informações nele representadas, que podem estar inclusive em escalas distintas.

3.6 Crescer Quando Necessário -