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) ݁௫ࣧ ൌ ͶͲ, ߙൌ Ͳǡͷ, ߙൌ Ͳǡ͵,