• Nenhum resultado encontrado

Aprendizado da Viabilidade das Ações de Navegação

Connection Hebbian Learning – CCHL

Definição 28 – Conexão Vencedora na Regra CCHL

8 Auto-Localização, Navegação e Exploração

8.3 Percepção de Obstáculos (Módulo III)

8.3.4 Aprendizado da Viabilidade das Ações de Navegação

O processo cognitivo que controla o aprendizado localiza-se na Camada 3 (Mapeamento Superior) do modelo proposto. Sua função é tomar conhecimento de quais lembranças foram ativadas por quais sensores, as ações de navegação empreendidas a partir dessas lembranças e os respectivos sinais de realimentação recebidos do sistema motor. Tais informações são então empregadas na atualização da base de conhecimento, representada por um mapeamento que associa lembranças a ações de navegação, juntamente com o conhecimento de sua viabilidade.

Os fluxos sensoriais são distinguidos por origem, a qual é considerada na construção do mapa associativo, por exemplo: o fluxo sensorial produzido pelo sensor localizado na face frontal é associado à ação seguir_em_frente; os fluxos dos sensores localizados nas faces laterais são associados às ações virar_a_esquerda ou virar_a_direita. Na memória de percepções não há registros da origem das percepções, esta informação é manipulada apenas pelo processo cognitivo responsável pela aquisição do conhecimento sobre a viabilidade das ações. A memória de percepções pode então ser compartilhada por diversos mapeamentos de nível superior.

O sistema motor do agente é assumido ser comandado por uma interface que aceita um vetor de controle especificando ações tais como: seguir_em_frente, virar_a_esquerda ou virar_a_direita. Um comando é, portanto, um vetor ્ א Թ௞ onde ݇ é a dimensão da interface

de comando (݇ ൌ ݃ݎܽݑݏ݈ܾ݀݁݅݁ݎ݀ܽ݀݁). Logo, o conhecimento adquirido pode ser representado por um mapa que associa um conjunto de lembranças a cada elemento do vetor comando. Esta associação é representada por um valor no intervalo ሾͲǡͳሿ, com valoração inicial dada pelo parâmetro ߤ o qual indica um total desconhecimento sobre a viabilidade da ação no contexto da lembrança associada. Logo, ações cujo julgamento de valor é igual a ߤ devem ser interpretadas como potencialmente viáveis. O aprendizado ocorre pela adaptação dessa valoração de modo a refletir o conhecimento adquirido, a regra de adaptação é descrita a seguir.

Regra de Aprendizado

A assimilação do conhecimento sobre a viabilidade de uma ação num determinado contexto percebido ocorre por recompensa ou punição de modo similar a Kaebling et al. (1996) e Sutton & Barto (1998). O processo de adaptação dos vetores de saída considera os parâmetros ߙ e ߙ os quais representam respectivamente o coeficiente de recompensa e de punição. A adaptação afeta apenas as sinapses ݏ entre a lembrança ݈ ativada por uma percepção ݌ e as componentes ߭ do vetor ્ correspondente às ações associadas. A Equação (77) define os ajustes para ações de sucesso e a Equação (78) para as ações com conseqüências indesejadas. ݏሺݐሻ ൌ ൞ݏ௟೔௩ೕሺݐ ᇱሻ ൅ ߙ ௥௧ᇲ൬ͳ െ ݏ௟೔௩ೕሺݐᇱሻ൰ ݏ݁ ݏݑܿ݁ݏݏ݋ ݏሺݐᇱሻ ൅ߙ ௣௧ᇲ൬Ͳ െ ݏ௟೔௩ೕሺݐᇱሻ൰ ݏ݁ ݂݈݄ܽܽ ǡ ׊ݐᇱא ሿݐ െ ߬ǡ ݐሿǡ (77) com ߙ௧ ൌ ߙǡ ߙ௧ିଵ ൌ Ͳǡͷߙ௧ ߙൌ ߙ ௣ǡ ߙ௣௧ିଵൌ Ͳǡͷߙ௣௧ , ݏሺݐሻ ൌ ݏ ௟೔௩ೕሺݐሻ ൅ߙ௣௧ ൬Ͳ െ ݏ௟೔௩ೕሺݐሻ൰ ǡ ߙ௣௧ ൌ ߙ௣ǡ (78) em que, ݏ é a valoração da sinapse no instante de tempo ݐ e ݏ݈

݅ݒ݆

Ԣ é a valoração da sinapse

após a adaptação; ݆߭ é a ݆ െ ±ݏ݅݉ܽ componente do vetor de saída, a qual subsidiou a escolha

da ação;ߙ eߙ são parâmetros representando respectivamente a taxa de recompensa e de punição, (ߙݎǡ ߙ݌אሾͲǢ ͳሿ); e ݐԢ representa o momento em que o comando foi definido e executado.

As regras de ajuste definidas pelas Equações (77) e (78) produzem um aprendizado inicial rápido com decaimento proporcional ao nível de conhecimento adquirido. Contextos novos são rapidamente assimilados, enquanto que contextos conhecidos recebem ajustes finos. A Figura 54 ilustra a atribuição sucessiva de recompensa ou punição.

Figura 54 – Intensidade de ajuste dos pesos das sinapses em função do conhecimento adquirido e da taxa de aprendizado ࢻ.

O sucesso na execução de uma ação dispara o processo de ajuste definido na Equação (77), em que o número de instantes de tempo para retro-propagação do sinal de ajuste é dado pelo parâmetro ߬. A atribuição de recompensa/punição afeta positivamente as ߟ sinapses mais fortes dentre aquelas que levaram a uma ação executada com êxito e, negativamente, as ߣ sinapses que subsidiaram uma ação com conseqüências indesejadas. A retro-propagação do ajuste ocorre com intensidade decrescente e é limitada a ߬ instantes, sendo que a cada instante corresponde uma ação. A indicação de insucesso dispara o ajuste definido na Equação (78) o qual atribui punição às ߣ sinapses que subsidiaram a escolha da ação que resultou infactível.

8.3.5 Algoritmo

O pseudocódigo do algoritmo de aprendizado considera que o módulo de aprendizado atua em sincronia com os demais módulos do sistema. A sincronia tem três momentos distintos: i) captura do contexto (passos 1 e 2) e julgamento de valor (passo 3 e 4); ii) seleção e execução de uma ação, ocorre entre os passos 4 e 5; e iii) aprendizado (passo 5). A seleção das ações de navegação é decidida por um processo cognitivo pertencente a outro módulo do sistema. Portanto, o algoritmo a seguir se ocupa apenas com a aquisição e a disponibilização do conhecimento sobre a viabilidade de cada ação, em função das percepções do agente robótico. 0.00 0.05 0.10 0.15 0.20 0.25 0 2 4 6 8 10 DαͲǡͷ DαͲǡ͵

Pseudocódigo

1. Obtenha os conjuntos ܲ௦೔ das percepções atuais dos fluxos sensoriais ࣠௦೔; 2. Apresente cada conjunto ܲ௦೔ à memória ࣧ௣ obtendo o respectivo conjunto

de lembranças ativadas ࣦ௦೔;

3. Componha um vetor ્, considerando cada conjunto ࣦ௦೔

3.1. Ordene ࣦ௦೔ de acordo com a valoração das sinapses;

3.2. Calcule a valoração de cada ação ߭ de ્ como à média da valoração das ߣ primeiras sinapses entre ߭ e as lembranças em ࣦ௦೔;

3.3. Registre as ߣ primeiras sinapses entre ߭ e as lembranças em ࣦ௦೔, no histórico de julgamentos de valor;

4. Sinalizar a conclusão do julgamento de valor; 5. Para cada ação de navegação empreendida

5.1. Capture o sinal de realimentação (SUCESSO / INSUCESSO); 5.2. Atualize a lista ݈ (histórico das ߬ últimas ações);

5.3. Se o status da ação em ݈ሺݐሻ indica SUCESSO empregue a agenda de ajustes definida na Equação (77).

5.3.1. Inicialize ߙ௧ൌ ߙ e ߙ௧ ൌ ߙ;

5.3.2. Para cada ação em ݈, considere as sinapses registradas no histórico de julgamentos de valor e:

x Se RECOMPENSA, ajuste a valoração da ߟ sinapses menos pessimistas, usada no julgamento de valor da ação no instante ݐ;

x Se PUNIÇÃO, ajuste a valoração das ߣ sinapses mais pessimistas usadas no julgamento de valor da ação no instante ݐ;

x Decremente ݐ atualizando os valores de ߙ௧ e ߙ௧ como definido na Equação (78)

5.4. Se o status da ação em ݈ሺݐሻ indica INSUCESSO

5.4.1. Ajuste a valoração das ߣ sinapses mais pessimistas usadas no julgamento de valor da ação no instante ݐ;

6. Retorne ao passo 1;

O Passo 4 informa o julgamento de valor aos processos cognitivos interessados, tais processos consideram o subsídio (julgamento de valor) juntamente com outras informações

ou regras e definem as ações a serem executadas. No Passo 5 o algoritmo é informado da ocorrência de uma ação de navegação e procede a atualização da base de conhecimento considerando o sinal de realimentação do sistema motor. Não tendo o agente empreendido nenhuma ação, todo o bloco de aprendizado é ignorado e no instante seguinte (ݐ ൅ ͳ) o algoritmo recomeça a partir do Passo 1.

8.3.6 Validação

Nesta seção são apresentados os resultados dos testes realizados com o módulo de Percepção de Obstáculos. Os conjuntos de teste A e B tiveram por objetivo analisar o comportamento do algoritmo, sua estabilidade e capacidade aprendizado. No conjunto C o objetivo foi avaliar a capacidade de reutilização do conhecimento adquirido, quando o agente é movido de um ambiente para outro similar. Nos conjuntos de testes A e C o agente navega em 2D enquanto que no conjunto B ele navega em 3D.

8.3.6.1 Conjunto de Testes - A

Neste conjunto de testes o agente robótico foi confinado em um subconjunto do ambiente, o qual foi definido como sendo composto por dois recintos interligados por uma passagem em forma de U (Figura 36) e restringido a movimentos em 2D. O principal objetivo deste conjunto de testes foi analisar a evolução do aprendizado e o julgamento de valor emitido com base nas associações (lembranças) ativadas pelas percepções atuais.

Parametrização

A parametrização da memória ࣧ௣ foi estabelecida fixando o número ࣽ de momentos geométricos, empregados na representação de cada percepção, em ࣽ=10. O parâmetro ݁௠௔௫ࣧ೛ foi fixado em ݁௠௔௫ࣧ೛ ൌ ʹͲ e ݁௠௔௫ࣧ೛ ൌ ͶͲ defindo assim dois subconjuntos de teste. Os sensores laser foram parametrizados com: abertura = 180º, passo de varredura = 10º, rotação total = 180º, passo de rotação = 15º. O raio da imagem bitmap usada na projeção das leituras do sistema sensor para obtenção da percepção do entorno foi fixado em ݎ ൌ ʹͲͲ. A profundidade da região no entorno do agente, considerada na produção da percepção dos obstáculos foi estabelecida com ࣸ௠௔௫ ൌ ͳͲͲ. A associação entre sensores e ações de navegação é dada na Tabela 8.

Tabela 8 – Associação entre fluxos sensoriais e ações de navegação.

Sensor Laser Ação de Navegação

Face lateral frontal Avançar para frente Face lateral esquerda Virar à esquerda Face lateral direita Virar à direita Face lateral traseira Recuar para trás

Face superior Flutuar para cima

Face inferior Flutuar para baixo

O valor inicial para as sinapses foi estabelecido em ߤ ൌ Ͳǡ͸, os coeficientes de recompensa (ߙ) e punição (ߙ) foram variados de modo a formar a seqüência de pares ሺͲǡͳǢ Ͳǡͳሻ, ሺͲǡͳǢ Ͳǡʹሻ, ሺͲǡʹǢ Ͳǡͳሻ, ሺͲǡ͵Ǣ Ͳǡ͵ሻ, ሺͲǡ͵Ǣ Ͳǡͷሻ e ሺͲǡͷǢ Ͳǡ͵ሻ. A propagação dos sinais de recompensa e punição para os casos de ações executadas com sucesso foi fixado em ߬ ൌ ͵. O julgamento de valor das ações de navegação foi emitido a partir das ߣ ൌ ͵ lembranças mais restritivas – indicativas de situação de risco – ativadas a cada instante de tempo. Fixou-se o parâmetro ߟ ൌ ͳ, deste modo a atribuição de recompensa afeta apenas à sinapse menos restritiva, dentre aquelas que subsidiaram o julgamento de valor para cada ação executada.

Resultados

Os gráficos da Figura 55 e da Figura 56 apresentam a evolução da tomada de decisão frente a situações críticas nas quais algumas ações de navegação poderiam levar o agente robótico a colidir com obstáculos. A primeira coluna apresenta a relação entre o número de ações de navegação selecionadas para execução, porém abortadas em função do respectivo julgamento de valor (linha vermelha) e aquelas que foram executadas e resultaram em uma colisão (linha azul). A segunda coluna sintetiza a evolução do aprendizado a partir da relação entre o total das ações de navegação que resultaram em colisão e o número de situações críticas.

A análise dos dados representados na Figura 56 gráficos (b, c, d, e, f) revelam anormalidades. Em especial os gráficos (b, c, e) mostram que o algoritmo de exploração heurística ficou preso em um mínimo local, no qual o julgamento de valor emitido para qualquer uma das possíveis ações de navegação indicava a inviabilidade de sua execução.

(a) ݁௠௔௫ࣧ೛ ൌ ʹͲ, ߙൌ Ͳǡͳ, ߙൌ Ͳǡͳ. (b) ‡୫ୟ୶ࣧ౦ ൌ ʹͲ, Ƚൌ Ͳǡͳ, Ƚൌ Ͳǡʹ. (c)݁௠௔௫ࣧ೛ ൌ ʹͲ, ߙൌ Ͳǡʹ, Ƚൌ Ͳǡͳ. (d) ݁௠௔௫ࣧ೛ ൌ ʹͲ, ߙൌ Ͳǡ͵, ߙൌ Ͳǡ͵Ǥ (e) ݁௠௔௫ࣧ೛ ൌ ʹͲ, ߙൌ Ͳǡ͵, ߙൌ Ͳǡͷ. (f) ݁௠௔௫ࣧ೛ ൌ ʹͲ, ߙൌ Ͳǡͷ, ߙൌ Ͳǡ͵.

(a)݁௠௔௫ࣧ೛ ൌ ͶͲ, ߙൌ Ͳǡͳ, ߙൌ Ͳǡͳ. (b) ‡୫ୟ୶ࣧ౦ ൌ ͶͲ, Ƚൌ Ͳǡͳ, Ƚൌ Ͳǡʹ. (c) ݁௠௔௫ࣧ೛ ൌ ͶͲ, ߙൌ Ͳǡʹ, ߙൌ Ͳǡͳ. (d)݁௠௔௫ࣧ೛ ൌ ͶͲ, ߙൌ Ͳǡ͵, ߙൌ Ͳǡ͵. (e)݁௠௔௫ࣧ೛ ൌ ͶͲ, ߙൌ Ͳǡ͵, ߙൌ Ͳǡͷ, (f) ݁௠௔௫ࣧ೛ ൌ ͶͲ, ߙൌ Ͳǡͷ, ߙൌ Ͳǡ͵,