• Nenhum resultado encontrado

4.4 Variações de SOMs

4.4.2 Parameterised SOM(PSOM)

A capacidade de aprendizagem é uma vantagem que as redes neurais possuem em relação a outras técnicas de inteligência artificial. No campo de visão computacional e robótica, por exemplo, muitas tarefas possuem modelagem custosa quando realizada a partir de princípios fundamentais ou heurísticas. Portanto, neste domínio um algoritmo de aprendizagem eficiente pode ajudar significativamente a superar a dificuldade de coleta de dados e facilitar a construção de um sistema mais robusto e mais flexível. Além disso, nem sempre dados para realização de um treinamento eficaz estão acessíveis (WALTER; RITTER,1996).

4.4. VARIAÇÕES DE SOMS 58 A rede Parametrized Self-Organizing Map (PSOM) foi proposta como um esquema potencialmente útil para aprendizagem com um número pequeno de amostras de treinamento. A ideia básica de uma PSOM é construir um mapa de variedades manifold a partir de um quantidade restrita de variedades base. A escolha destas variedades base pode ser realizada com um conhecimento a priori do problema. Comparando com a rede SOM, o mapa de variedades PSOM final pode ser descrito por um pequeno número de valores de parâmetros que podem ser determinados a partir de um pequeno número de amostras de treinamento (WALTER; RITTER,

1996).

A construção de uma base de dados com boa representação é frequentemente um passo decisivo para a solução do problema. Isto fica ainda mais evidente em tarefas de aprendizagem, onde a capacidade de generalização a partir de um conjunto limitado de exemplos para novas instâncias é um objetivo central. Para dar suporte a este objetivo, uma boa representação deve seguir duas metas: prover um representação dos dados que mantenha os relacionamentos de similaridade entre os elementos dos dados o mais fiel possível; proporcionar uma compreensão sobre as variáveis essenciais e separar informações falsas e sem importância.

Na rede SOM, o mapa de variedades não-linear é representado por uma aproximação discreta, usando uma grade A de dimensão m igual a 2. Porém, a natureza discreta da rede SOM padrão pode ser uma limitação quando o objetivo for a construção de mapas com variedades suaves. Como o número de nodos cresce exponencialmente com o número de dimensões do mapa, em um mapa com três ou mais dimensões é esperado apenas poucos nodos ao longo de cada eixo. Entretanto, essa quantidade de nodos não é suficientemente suave para muitos propósitos onde continuidade é muito importante, como por exemplo, em tarefas de controle ou em robótica.

A rede Parameterised SOM (PSOM) (RITTER,1993) generaliza a grade A discreta da rede SOM para um mapeamento M contínuo de variedades parametrizado por uma variável contínua s ∈ S ⊂ Rm e descrito por uma função de suavização w(s). Como consequência, a

associação discreta do vetor de referência wa com pontos da grade a é substituída por uma

associação contínua, uma função w(·) : s 7→ w(s) ∈ M ⊂ X, onde s varia continuamente sobre um subconjunto S ⊆ Rm. Semelhante a w

a, w(s)obtém seu valor em um espaço X ⊆ Rd, o mesmo

espaço em que os vetores de entrada x são obtidos. A resposta de PSOM é determinada pelo valor de w(s∗), obtido na posição vencedora s∗, encontrado em um mapeamento de variedades contínuo S definido pela Equação 4.4. A localização vencedora s∗ presente no mapeamento de variedades S é obtida através do mínimo valor calculado com a função dist(·).

s∗ =argmim dist(w(s),x). 4.4

onde dist é a norma Euclidiana e w(s) pode ser construída utilizando uma função H de base para cada neurônio multiplicada pelo vetor de peso wado neurônio. No contexto da rede PSOM cada

interpolador de Lagrange aprimorado para valores multidimensionais, onde a é um rótulo para um neurônio. w(s) =

a∈A H(a, s)wa  4.5 A organização topológica dos dados de entrada é crucial para um bom comportamento de generalização. Para um conjunto de dados geral, a organização topológica de seus pontos pode ser bastante irregular e um conjunto apropriado de funções base H(a,s) pode ser difícil de construir. As funções base podem ser construídas de muitas maneiras, mas duas condições devem ser consideradas: (i) H(a,s) deve ser ortonormal H(ai, aj) = δi j(∀ ai, aj∈ A)para fazer

a variedade M passar por todos os knots de suporte; (ii) Divisão de unidade: ∑a∈AH(a, s) =1,∀s

(a soma de todas as contribuições ponderadas deve ser um).

A construção simples de funções base H(a,s) torna-se possível quando a topologia dos pontos fornecidos é suficientemente regular. Uma situação conveniente aparece para o caso de uma grade regular multidimensional. Neste caso, o conjunto de funções H(a,s) pode ser construído a partir de produtos de interpolação polinomial de Lagrange de uma-dimensão.

Uma escolha favorável para H(a,s) é a extensão multidimensional do polinômio de Lagrange. A fórmula de Lagrange descreve o polinômio único de grau n − 1 passando pelos n pontos de suporte (xi, yi), i ∈ {1,...,n}

y(x) = l1(x)y1+ l2(x)y2+ ... + ln(x)yn= n

k=1

lk(x)yk 4.6

onde o fator de Lagrange li(x)é determinado por

li(x) = n

j=1, j6=i x− xj xi− xj  4.7 A interpolação de Lagrange de uma-para-uma dimensão (x 7→ y ), Equação 4.6 pode ser ampliada para um mapeamento S para X de m-para-n dimensões, usando um conjunto de knots de vetores de suporte wa sobre uma hiper-grade A retangular escolhida. Assim,

s = (1s,2s, ...,ms)T ∈ S ⊂ Rm equivale a x do polinômio interpolador de Lagrange básico da Equação 4.6 (o índice no canto superior esquerdo de s indica o número do componente de

um vetor pertencente ao mapeamento manifold S). O ponto de suporte xi da Equação 4.7

torna-se o vetor ai= (1ai1,2ai2, ...,maim)T ∈ A ∈ S. O conjunto de knots A = {1a1, ...,1an1} ×

{2a1, ...,2an2} × · · · × {ma

1, ...,manm}contém n1× n2× · · · × nmknots. Os valores de n1, n2, ...,

nmexpressão os tamanhos dos eixos da grade m-dimensional A.

O knot wa∈ Rd é identificado por seu índice iv∈ {1,2,...,nv}, wa= wi1i2...im, assim e

Equação 4.5 pode ser expandida para

w(s) =

a∈A waH(a, s) =

a∈A wi1i2...im· li1( 1s) · l i2(2s) · · · lim( ms)  4.8

4.4. VARIAÇÕES DE SOMS 60 com liv(vs) = nv

j=1, j6=i vsva j va iv−vaj  4.9 A soma sobre a espalha pelo conjunto de todos os índices 1 ≤ i1≤ n1,1 ≤ i2≤ n2, ...,1 ≤ im≤ nm.

O algoritmo PSOM é invariante a ajuste de escala dos eixos de S.

A busca pelo vencedor na grade discreta da rede SOM padrão, na PSOM, é substituída pela resolução do problema de minimização contínua para determinar s∗. A abordagem simples é encontrar o vencedor sstart = a∗na grade discreta (como em SOM) no conjunto A de knots.

Em seguida, calcular iterativamente o gradiente descendente com a Equação 4.4.

Para aumentar a precisão do mapa, a primeira ideia que surge é aumentar o número de pontos de treinamento. Entretanto, duas deficiências surgem: (i) os polinômios base apresentam propriedades de convergência não satisfatórias com o aumento de sua ordem. O mapeamento de funções acentuadamente pontiagudas pode forçar um alto grau de interpolação polinomial introduzindo grandes oscilações espalhadas entre os pontos knots de suporte da variedade inteira. (ii) O esforço computacional por dimensão do mapeamento de variedades cresce para O(n2),

onde n é o numero de pontos de treinamento em cada eixo. Mesmo com um número moderado de pontos amostrados ao longo de cada eixo paramétrico, a inclusão de todos os nodos na Equação 4.8 pode precisar de muito esforço computacional se cada dimensionalidade do mapeamento for alta (m > 4) (WALTER; RITTER,1995).

As duas deficiências citadas acima motivam uma importante extensão da abordagem padrão de PSOM. A ideia básica é construir dinamicamente a rede PSOM sobre uma sub-grade centralizada no vetor de referência wa∗ mais próximo da entrada atual x. O uso de sub-grade

permite polinômios de baixo-grau para as funções base e envolve um número consideravelmente pequeno de pontos no somatório da Equação 4.8. Assim, a PSOM local resultante (l-PSOM) fornece um esquema atrativo para superar ambas as deficiências descritas anteriormente.

5

SOM-CSTG

O Gerador de Trajetória Cíclica de Estados Auto-Organizável (Self-Organizing Cyclic State Trajectory Generator, SOM-CSTG), foi gerado a partir de uma avaliação completa de SOM-STG observando a relevância de cada um de seus passos e principalmente identificando suas limitações. A partir destas limitações, os mapas auto-organizáveis com as características mais apropriadas para atacar essas limitações foram selecionados, SOM para o problema do cai-

xeiro viajante, travelling salesman problem (SOM-TSP) (ANGENIOL; LA CROIX VAUBOIS;

LE TEXIER,1988) e SOM Parametrizada, Parameterised SOM (PSOM) (WALTER; RITTER,

1996).

A característica mais interessante de SOM-TSP é a sua capacidade de gerar uma traje- tória cíclica e de caminho mínimo independentemente da disposição dos dados. A principal característica de PSOM é sua capacidade de aprendizagem com um número pequeno de amostras de treinamento e criação de uma superfície de variedades, possibilitando a obtenção de estados em qualquer posição contínua desta superfície. Para realizar a integração de SOM-STG com SOM-TSP e PSOM com o objetivo de criar a rede SOM-CSTG, os passos mais relevantes de cada um dos modelos foram preservados de modo a resolver o problema de aprendizagem de trajetória cíclica de estados de forma mais eficaz e mais abrangente do que SOM-STG.

As principais limitações de SOM-STG são: a dificuldade de gerar redes cíclicas em experimentos com dados reais, com baixa taxa de amostragem; o ajuste por tentativa e erro do limiar de atividade em cada novo experimento; os pesos da rede utilizados apenas como entrada; discretização da trajetória aprendida; e a impossibilidade de combinar as marchas aprendidas para gerar novas marchas intermediárias. A forma como estas limitações são tratadas no novo modelo, SOM-CSTG, é explicada na Seção 5.1 e na Seção 5.2.

A arquitetura do sistema de controle e gerenciamento de locomoção no qual SOM-CSTG está inserido está dividida basicamente em dois módulos: aprendizagem e gerenciamento de marchas; e controle de postura. O módulo de aprendizagem e gerenciamento está dividido em duas camadas: aprendizagem e gerenciamento. A camada de aprendizagem captura dados sobre a postura de um agente demonstrador, processa e auto-organiza estes dados aprendendo os estados essenciais da trajetória de controle de locomoção (planejamento de movimentos). A

5.1. APRENDIZAGEM DE MARCHA 62 camada de gerenciamento de marchas determina o tipo de marcha executada pelo robô a partir de um sinal de controle simples. O módulo de controle de postura obtém informações de um estado de uma trajetória de controle e gera o sinal de controle necessário para que o atuador alcance a posição angular desejada.

O mecanismo de gerenciamento de marcha, ver Seção 5.2, foi aprimorado baseado no funcionamento da rede PSOM para realizar variação contínua entre marchas. A variação de marcha no sistema com SOM-STG era discreta e limitada à quantidade de marchas aprendidas. Com este aprimoramento no mecanismo de gerenciamento de marchas, a solução apresentada pelo novo sistema torna-se mais abrangente, pois permite a criação de trajetórias contínuas e também variação contínua entre as marchas aprendidas. Por fim, o módulo de controle de postura é apresentado na Seção 5.3.

5.1

Aprendizagem de Marcha

O processo de aprendizagem de marcha em SOM-CSTG é semelhante ao de SOM-STG. No qual, um agente demonstrador fornece dados das posturas de uma marcha qualquer e as posturas mais representativas são aprendidas autonomamente. O processo de aprendizagem e auto-organização dos dados de entrada ocorre, em essência, da seguinte maneira: O nodo vencedor e o segundo vencedor são encontrados. A atividade do nodo vencedor é calculada levando em conta o padrão de entrada apresentado a rede. Se o vencedor atingir duas vitórias em uma mesma época1e se sua atividade for menor que um limiar pré-estabelecido, então um nodo é adicionado a rede. Para manter a estrutura cíclica, a conexão entre o vencedor e o segundo vencedor é removida e duas novas conexões são inseridas, uma entre o vencedor e o novo nodo e outra entre o segundo vencedor e o novo nodo. Sempre que um novo nodo é inserido, este novo nodo e o vencedor são desabilitados até o final de uma época. Caso contrário, quando nenhum nodo for inserido, a posição do nodo vencedor e de cada um dos seus vizinhos é atualizada em direção à amostra de entrada. Esta atualização leva em conta uma função de vizinhança em que os vizinhos mais próximos são atualizados com mais intensidade, semelhante à atualização de vizinhança da rede SOM original.

A relação de vizinhança pode ser determinada apenas com um grupo de elementos do vetor de pesos (grupo de vizinhança), mas a atualização de pesos da rede é realizada sobre o vetor inteiro. Assim, relações ajustáveis de vizinhanças podem ser consideradas sem prejudicar o processo aprendizagem ocorrido nos nodos da rede. Esta estratégia é semelhante ao conceito

do grupo de vizinhança da rede STRAGIC (BENANTE; ARAúJO,2007).

Para melhor entendimento da descrição formal do algoritmo de aprendizagem do mapa auto-organizável de topologia cíclica, considere C como sendo o conjunto de todas as conexões entre os nodos, ξξξ como uma amostra de entrada, wni o vetor de pesos relacionado ao nodo

1Uma época é a apresentação para a rede de todos os padrões da base de dados. O sorteio para a apresentação ocorre sem repetição.

ni. ξξξ = {ξ1, ξ2, ..., ξD}e wni = {w1, w2, ..., wD}são vetores D-dimensionais. O vetor grupo de

vizinhança do nodo nié definido como vni= {wi, ..., wj}para 1 ≤ i ≤ j ≤ D e possui dimensão

menor ou igual a D. Essa definição de grupo de vizinhança também é aplicada na amostra de entrada ξξξ para o cálculo de distância com os nodos da rede e este grupo é identificado por ξξξv.

O conjunto de nodos, A, é inicializado com três nodos n1, n2e n3posicionados em wn1,

wn2 e wn3 ∈ RD. Assim, inicialmente A = {n1, n2, n3}e C = {cn1n2, cn2n3, cn3n1}, formando um

ciclo. O algoritmo de treinamento do mapa topológico é descrito a seguir:

Repita todos os passos a seguir até um número máximo de iterações (k = kmax), ou até

que outro critério de parada tenha sido alcançado: 1. Apresente uma amostra ξξξ a rede;

2. Calcule a distância entre a amostra de entrada e cada vetor de peso da rede, kξξξv− vnik,

para encontrar o primeiro vencedor, s1. A distância utilizada é a Euclidiana e o cálculo

é realizado considerando ξξξve vni. O vencedor s1é o nodo mais próximo de ξξξ .

kξξξv− vs1k ≤ kξξξv− vnik (∀ni∈ A)  5.1 3. Encontre o segundo vencedor, s2, entre os vizinhos de s1.

4. Atualize o número de vitórias de s1: σs1 = σs1+1;

5. Calcule a atividade, αs1, do nodo s1em relação ξξξ :

αs1 =exp(−kξξξv− vs1k).  5.2 6. Se s1estiver habilitado, αs1 for menor que um dado limiar de atividade e o número

de vitórias for igual a 2 (σs1=2), então adicione um novo nodo na posição de s1:

6.1) Remova a conexão entre s1e s2;

6.2) Adicione um novo nodo r ao conjunto A, com os mesmos pesos de s1;

6.3) Desabilite r e s1;

6.4) Adicione uma nova conexão entre s1e r;

6.5) Adicione uma nova conexão entre r e s2;

7. Se s1estiver habilitado e um novo nodo não foi inserido no passo anterior, atualize o

vetor de pesos do vencedor e o vetor de pesos de cada um de seus vizinhos:

7.1) Calcule o tamanho do passo de atualização, hnj, de acordo com a seguinte

equação de vizinhança: hnj = αexp  −dist(nj, s1) G2  , 5.3

5.1. APRENDIZAGEM DE MARCHA 64 onde njsão todos os vizinhos de s1, α é a taxa de aprendizagem mantida

fixa, dist(ni, s1)mede a distância entre nje s1dentro da topologia cíclica

e G é um fator de ganho que influência o tamanho do passo de atualização dos vizinhos. Valores menores de G geram atualizações menores nos vizinhos, para G = 0 apenas o vencedor é atualizado.

8. Se for o final de uma época:

8.1) Diminua o ganho G como a seguir:

G= (1 − δG) · G, 5.4

onde δG é uma fator de aceleração, quanto maior o valor de δG, mais

rápido o valor de G diminui;

8.2) Caso algum nodo, ni, não tenha vencido por três épocas consecutivas,

então delete este nodo;

8.3) Aumente o tamanho do campo de ativação, diminuindo suavemente o limiar de atividade, at, levando em consideração o tamanho desejado da

rede, ts, e o tamanho atual, cs:

at= at+ (ts− cs) · δS,  5.5 onde δSé o fator de crescimento do limiar de atividade;

8.4) Habilite todos os nodos desabilitados.

As contribuições herdadas do SOM-STG no algoritmo acima estão relacionadas ao limiar de atividade e são mais evidentes nos passo 5 e 6. Os passos iniciais do 1 ao 4 estão presentes tanto no SOM-STG quanto no SOM-TSP. O passo 6 é muito semelhante a SOM-STG e a SOM-TSP, no entanto a inicialização dos valores dos pesos do novo nodo inserido é realizada como em SOM-TSP. O passo 7, herdado do SOM-TSP, é fundamental para o comportamento de auto-organização dos dados, pois a atualização dos pesos do vencedor e de seus vizinhos é realizada baseada na rede SOM original. Na rede SOM-STG, esta atualização está restrita aos dois vencedores, assim sua capacidade de adaptação aos dados de entrada é mais limitada do que em SOM-TSP que atualiza uma vizinhança maior (uma região maior do mapa). A estratégia de utilizar o final de uma época para atualizar as variáveis que mudam com o decorrer das iterações foi extraída do SOM-TSP.

A Equação 5.5 ajusta o limiar de atividade de acordo com o tamanho atual da rede e o tamanho desejado. Caso o tamanho atual da rede seja menor que o tamanho desejado, o limiar de atividade será atualizado com um valor maior que o anterior fazendo com que a região de ativação diminua aumentando as chances de inserção de nodos na rede. Caso o tamanho atual da

rede seja maior que o desejado, a Equação 5.5 modifica o valor do limiar de atividade de modo que a região de ativação cresça e provoque uma redução no tamanho da rede. Essa relação entre aumento da região de ativação e redução do tamanho da rede pode ser evidenciada através do processo contínuo de remoção e inclusão de nodos. Um novo nodo será adicionado quando uma amostra de entrada estiver fora de cada região de ativação. Assim, a rede irá diminuir quando possuir mais nodos do que o desejado ou irá aumentar quando tiver menos nodos do que o desejado. O fator de crescimento do limiar de atividade ajusta a velocidade de variação da região de ativação.

O algoritmo de treinamento de SOM-CSTG possui muitos parâmetros, entretanto, estes parâmetros podem ser ajustados de modo que a rede apresente um comportamento de apren- dizagem satisfatório para diferentes conjuntos de dados de treinamento. Assim, um conjunto de valores padrão de parâmetros pode ser utilizado em diversos cenários evitando um novo ajuste paramétrico para novos conjuntos de dados. O tamanho desejado da rede é um parâmetro que depende da quantidade desejada de nodos para representar os padrões de entrada, logo este parâmetro é um dos poucos que devem ser ajustados para cada novo conjunto de dados de treinamento. Em caso de dados ruidosos, por exemplo, é interessante ter poucos nodos na rede, para evitar que os nodos aprendam o comportamento do ruído.

5.2

Gerenciamento de Marcha

O papel da camada de gerenciamento de marchas é determinar a marcha atual do robô através da ativação de diferentes padrões de locomoção recebendo como entrada um sinal simples. Este sinal é um número real cujos valores mais baixos ativam marchas de velocidades mais lentas e os valores mais altos ativam marchas de velocidades mais rápidas.

A camada de gerenciamento de marcha recebe da camada de aprendizagem de trajetória redes cíclicas. Estas redes de topologia em anel são alinhadas de modo que as trajetórias geradas por cada uma fiquem o mais próximas possível usando como critério de proximidade o DTW (Dynamic Time Warping) (SENIN,2008). Esse alinhamento permite a criação de uma grade de nodos contendo em cada coluna os nodos que geram os padrões de locomoção de uma marcha aprendida. Assim, ao percorrer uma coluna passando por cada linha, os estados discretos da sequência de movimentos dos membros são recuperados. Partindo desta grade de nodos com estrutura cilíndrica (a última linha está conectada à primeira) e tomando como base conceitos presentes em PSOM, uma rede de variedades (manifolds) é construída permitindo uma transição contínua entre nodos.

A aproximação discreta gerada por SOM-STG é uma limitação quando o objetivo é construir trajetórias suaves. Para melhorar a suavidade da trajetória gerada por SOM-STG é necessário aumentar o número de estados coletados para formar bases de dados maiores. Entretanto, a coleta de dados pode ser de difícil acesso. Assim, a introdução de uma grade de variedades na rede SOM-CSTG permite a geração de trajetórias contínuas possibilitando uma

5.2. GERENCIAMENTO DE MARCHA 66 suavidade nas oscilações resultantes maior do que na rede SOM-STG. Além disso é possível gerar padrões de marchas intermediárias o que não é possível em SOM-STG.

A construção da rede de variedades é descrita a seguir:

1. Insira a primeira rede obtida da camada de aprendizagem na primeira coluna da grade de nodos.

2. Para i indo de 2 até a quantidade de redes obtidas:

2.1) Compare utilizando DTW a rede i − 1 com a rede i obtendo a posição j de alinhamento com o menor valor de DTW;

2.2) Insira a rede i a partir da posição i e j da grade. Como a grade possui estrutura cilíndrica, os nodos que passarem do comprimento da grande automaticamente serão inseridos em ordem no início da grade;

A comparação de duas redes utilizando o DTW ocorre da seguinte maneira: 1. Obtenha duas redes A e B;

2. Inicialize a melhor distância md com o valor infinito e a posição pade comparação

para rede A com o valor 1. A posição de comparação da rede B é sempre mantida em 1;

3. Compare com a função DTW a rede A a partir da posição pa com B para obter a

distância d;

4. Se d for menor que md então atualize o valor de md com o valor de d e atualize a

melhor posição mpcom o valor de pa;

5. Incremente o valor de pa, se pa for menor ou igual ao tamanho da rede A então

retorne ao passo (3), caso contrário finalize o algoritmo retornado a melhor posição mpde alinhamento.