• Nenhum resultado encontrado

O processo de treinamento do SOM-STG é divido em duas fases (Figura 4.2) e composto por cinco etapas. A primeira fase, Aprendizagem de Marcha tem duas etapas: a construção de mapas topológicos (sub-redes) para aprender os modos de locomoção do robô; e a construção de trajetórias de estado para determinar os estados que levam o robô a locomover-se. A segunda fase, Aprendizagem de Mudança de Marcha tem o objetivo de gerar interconexões entre sub-redes para permitir a mudança de marchas. Assim, a terceira etapa identifica a velocidade que cada sub-rede gera e associa esta velocidade a uma marcha; a quarta etapa ordena a rede por velocidade; e finalmente, a quinta etapa gera interconexões que estabelecem as ligações entre os nodos mais próximos de duas sub-redes com velocidades vizinhas.

Os dados de treinamento devem conter informações sobre as posturas de locomoção do robô. Com tais dados, algumas sub-redes podem ser construídas, cada uma representando movimentos cíclicos de um modo de locomoção. A construção de trajetórias de estados é realizada a partir de estados de referência obtidos a partir dos dados originais. Durante o processo de treinamento, cada amostra é apresentada à rede aleatoriamente e os mapas topológicos (sub- redes) gerados determinam a sequência temporal das posturas que compõem os movimentos

4.2. PROCESSO DE TREINAMENTO DO SOM-STG 50

Figura 4.2:Processo de treinamento de SOM-STG.

de uma marcha. Os nodos da rede gerada representam um conjunto de amostras semelhantes. Os nodos mais semelhantes são conectados para formar uma rede de topologia cíclica sem a necessidade de utilizar informação temporal sobre os dados durante o processo de treinamento. Uma sub-rede é identificada por uma métrica fortemente relacionada com a velocidade de locomoção do agente demostrador. Um exemplo de tal métrica é o número de estado de uma trajetória; uma quantidade elevada de estados amostrados é obtida quando o agente demonstrador movimenta-se mais lentamente. As sub-redes são ordenadas pela velocidade de locomoção em ordem crescente. As interconexões são criadas entre pares de sub-redes com velocidades vizinhas.

4.2.1

Fase de Aprendizagem de Marcha

A fase de aprendizagem de marcha começa com a etapa de criação de um mapa to- pológico. O algoritmo de aprendizagem aplicado nesta fase tem sua origem no STRAGEN (BENANTE; ARAúJO, 2007), um mapa auto-organizável com estrutura variante no tempo. STRAGEN foi originalmente projetado para gerar trajetórias de estados para representar um con- junto de possíveis estados e determinar um conjunto de transições válidas entre tais estados. Uma

versão aprimorada do STRAGEN (STRAGIC1) foi aplicada com sucesso porSANTANA JR;

ARAUJO(2010)(SANTANA JR,2010) para a construção de trajetórias de estados para o controle de locomoção de robôs com membros.

Para elaborar o SOM-STG, a segunda versão do mapa topológico aplicado em mar- cha robótica, a rede STRAGIC foi modificada nos seguintes pontos: o critério de poda e o procedimento de poda. Na rede STRAGIC, o procedimento de poda é baseado em um limiar determinado pelo desvio padrão da distância de um nodo para seus vizinhos. Na rede SOM-STG, a poda é realizada até que cada nodo da rede possua uma desejada quantidade de vizinhos, Np. O

procedimento de poda calcula a média das distâncias entre um nodo e seus vizinhos, em seguida, ordena estas médias considerando o valor da diferença entre a média e a distância do nodo para cada vizinho. Este procedimento mantém os Npvizinhos que geram os menores valores para

estas diferenças.

Uma descrição geral da construção do mapa topológico é realizada a seguir. O algoritmo avalia se a amostra apresentada à rede está fora do campo de ativação do nodo vencedor (o mais semelhante a esta amostra), i. e., o valor de ativação do nodo deve ser menor que o limiar de atividade (o nodo não foi ativado). Se isto for verdadeiro, então um nodo é inserido na mesma posição da amostra. Caso o nodo vencedor tenha sido ativado, ele é levemente empurrado em direção à amostra. Este comportamento de inserção de nodos tem o objetivo de colocar nodos em áreas que não estão cobertas pelos campos de ativação dos nodos contidos na rede. O tamanho do passo do vencedor em direção à amostra de entrada é controlado pela taxa de aprendizagem que diminui a medida que o contador de vitórias aumenta, para mais informações consultar (ARAúJO; SANTANA JR,2014).

Para a construção do mapa topológico, considere C como sendo o conjunto de todas as conexões entre os nodos, ξξξ uma amostra de entrada, wni o vetor de pesos relacionado ao ni, ξξξ e

wnisão vetores D-dimensionais.

O conjunto de nodos, A, é inicializado com dois nodos n1e n2posicionados em wn1 e wn2

em RDrepresentando dois padrões aleatórios. Assim, inicialmente A = {n

1, n2}e C = {cn1n2}.

O algoritmo de treinamento da rede SOM-STG é apresentado a seguir, dando mais ênfase às principais modificações em relação a rede STRAGIC:

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 Euclidiana entre a amostra de entrada, ξξξ , e cada vetor de peso da rede para encontrar o primeiro vencedor, s1, e o segundo vencedor, s2(nodos mais

semelhantes à ξξξ );

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

4) Insira uma nova conexão entre s1e s2, se ainda não existir, C = C ∪ {cs1s2};

4.2. PROCESSO DE TREINAMENTO DO SOM-STG 52 6) Se αs1 for menor que um dado limiar de atividade, então adicione um novo nodo na

posição da amostra de entrada:

6.1) Adicione um novo nodo r ao conjunto A;

6.2) Crie um novo vetor de pesos associados à r, i. e. wr= ξξξ; 6.3) Remova a conexão entre s1e s2;

6.4) Calcule as distâncias entre os três pares de nodos formados por r, s1e s2

ordene-as;

6.5) Selecione as duas menores distâncias Dst1and Dst2;

6.6) Insira duas novas conexões entre cada par de nodos relacionados a Dst1e

Dst2;

7) Se um novo nodo não foi inserido no passo anterior, atualize todos os elementos do vetor de pesos do nodo vencedor;

8) Se s1possuir mais que um dado número de conexões, Np, então

8.1) Calcule a média das distâncias entre s1e seus vizinhos Ns1:

µs1 =

|Ns1|

j=1 kws1− wnjk

|Ns1| ;

onde |Ns1|é o número de vizinhos de s1.

8.2) Ordene a diferença absoluta entre µs1 e as distâncias entre s1 e cada

nj∈ Ns1:

diff(µs1, nj) = |µs1− kws1− wnjk|

8.3) Mantenha as Npconexões com os menores valores de diff(µ,nj), remova

as conexões restantes de s1.

9) Incremente o número de iterações k.

A etapa de Construção de Trajetória de Estados combina dois procedimentos: o Gerador de Trajetória e o Montador de Trajetória Fechada. O primeiro cria uma trajetória entre dois estados e o segundo constrói trajetórias cíclicas a partir de um conjunto de trajetórias abertas. O Montador de Trajetória Fechada requisita trajetórias para o Gerador de Trajetórias juntando-as em uma trajetória cíclica. Quando uma trajetória é montada, a sua direção é aprendida e memorizada pelo SOM-STG.

O Procedimento Gerador de Trajetória cria um caminho entre dois estados levando em conta uma função de difusão, f (k,n), para a propagação de energia (Equação 4.1), onde k é a iteração e n é um nodo. Assim, o nodo alvo recebe 1.0 como valor de energia e todos os outros

nodos recebem o valor zero. A energia flui iterativamente através da rede, de vizinho em vizinho saindo do nodo alvo ntarg até alcançar o nodo inicial ninit. O procedimento é descrito abaixo:

1) Inicialize a função de difusão f (0,ni) =0,∀ni∈ A|ni6= ntarg e f (0,ntarg) =1.0.

2) Repita para todos ni∈ Aaté f (k,ninit) 6=0

f(k +1,ni) = ( 1 ∀k, se ni= ntarg λ ∑nj∈Nnif(k, nj) se ni6= ntarg  4.1 onde Nni é o conjunto de todos os nodos vizinhos de ni, |Nni| é a quantidade de vizinhos,

e λ = 1/(|Nni| +1). O nodo inicial ninit é o primeiro estado da trajetória. Ao final deste

procedimento, um caminho entre ninit e ntargterá sido gerado.

O Procedimento Montador de Trajetória Fechada constrói uma trajetória cíclica a partir de um conjunto, CS = {cs1, cs2, ..., csm}, de m estados de controle. Os estados de controle são

obtidos a partir dos dados originais e a posição de cada um no conjunto CS define a direção de execução da sequência de estados que compõem uma trajetória. Cada par de estados de controle é enviado para o Procedimento Gerador de Trajetória que retorna uma sub-trajetória. Então, o Montador de Trajetória Fechada recebe e junta cada sub-trajetória de modo a formar uma trajetória cíclica. Este procedimento é descrito como:

1) Repita para i de 1 até m − 1:

1.1) Crie uma trajetória entre um estado inicial csi e um estado final csi+1

usando o Procedimento Gerador de Trajetória. 1.2) Salve a trajetória entre csie csi+1;

4.2.2

Fase de Aprendizagem de Mudança de Marcha

A primeira etapa da Fase de Aprendizagem de Mudança de Marcha é a Identificação de Sub-rede. Esta etapa identifica a marcha produzida por cada sub-rede: como cada marcha tem uma velocidade diferente então, o processo de treinamento identifica a marcha levando em consideração a velocidade de deslocamento associada a esta marcha. A identificação da velocidade da marcha gerada por uma sub-rede Si, segue uma das estratégias abaixo:

1. Identificação do número de estados de uma trajetória. Observe que os estados são amostrados em um intervalo constante de tempo, assim os valores mais elevados de velocidade produzem menos estados amostrais em um determinado período de tempo.

2. Identificação da velocidade angular das articulações dos membros: ω ωωl = Np

k=1 ∆θθθl(k)/Np,  4.2

4.3. LIMITAÇÕES E POSSÍVEIS AVANÇOS 54