Soar (arquitetura cognitiva) - Soar (cognitive architecture)

Soar é uma arquitetura cognitiva , originalmente criada por John Laird , Allen Newell e Paul Rosenbloom na Carnegie Mellon University . (Rosenbloom continuou a servir como co-investigador principal depois de se mudar para a Universidade de Stanford e , em seguida, para o Instituto de Ciências da Informação da Universidade do Sul da Califórnia .) Agora é mantido e desenvolvido pelo grupo de pesquisa de John Laird na Universidade de Michigan .

O objetivo do projeto Soar é desenvolver os blocos de construção computacionais fixos necessários para agentes inteligentes gerais - agentes que podem realizar uma ampla gama de tarefas e codificar, usar e aprender todos os tipos de conhecimento para realizar toda a gama de capacidades cognitivas encontradas em humanos, como tomada de decisão, solução de problemas, planejamento e compreensão da linguagem natural. É tanto uma teoria do que é cognição quanto uma implementação computacional dessa teoria. Desde o seu início em 1983 como a tese de John Laird , tem sido amplamente utilizado por pesquisadores de IA para criar agentes inteligentes e modelos cognitivos de diferentes aspectos do comportamento humano . A descrição mais atual e abrangente do Soar é o livro de 2012, The Soar Cognitive Architecture.

Teoria

Soar incorpora várias hipóteses sobre as estruturas computacionais subjacentes à inteligência geral , muitas das quais são compartilhadas com outras arquiteturas cognitivas, incluindo ACT-R , que foi criado por John R. Anderson , e LIDA , que foi criado por Stan Franklin . Recentemente, a ênfase no Soar foi na IA geral (funcionalidade e eficiência), enquanto a ênfase no ACT-R sempre foi na modelagem cognitiva (modelagem detalhada da cognição humana).

A teoria original da cognição subjacente ao Soar é a Hipótese do Espaço do Problema, que é descrita no livro de Allen Newell , Teorias Unificadas da Cognição . e remonta a um dos primeiros sistemas de IA criados, Newell, Simon e Shaw 's Logic Theorist , apresentado pela primeira vez em 1955. A Hipótese do Espaço do Problema sustenta que todo comportamento orientado a um objetivo pode ser definido como uma busca através de um espaço de estados possíveis (um espaço problemático ) ao tentar atingir uma meta. Em cada etapa, um único operador é selecionado e, em seguida, aplicado ao estado atual do agente, o que pode levar a mudanças internas, como recuperação de conhecimento da memória de longo prazo ou modificações ou ações externas no mundo. (O nome de Soar é derivado deste ciclo básico de Estado, Operador e Resultado; no entanto, não é mais considerado um acrônimo.) Inerente à Hipótese do Espaço do Problema é que todo comportamento, mesmo uma atividade complexa como o planejamento, é decomponível em uma sequência de seleção e aplicação de operadores primitivos, que quando mapeados no comportamento humano levam cerca de 50ms.

Uma segunda hipótese da teoria de Soar é que embora apenas um único operador possa ser selecionado em cada etapa, forçando um gargalo serial, os processos de seleção e aplicação são implementados por meio de disparos paralelos de regras, que fornecem recuperação dependente do contexto de conhecimento procedimental.

Uma terceira hipótese é que se o conhecimento para selecionar ou aplicar um operador for incompleto ou incerto, surge um impasse e a arquitetura cria automaticamente um subestado. No subestado, o mesmo processo de resolução de problemas é utilizado recursivamente, mas com o objetivo de recuperar ou descobrir o conhecimento para que a tomada de decisão possa continuar. Isso pode levar a uma pilha de subestados, onde métodos tradicionais de problemas, como planejamento ou decomposição hierárquica de tarefas , surgem naturalmente. Quando os resultados criados no subestado resolvem o impasse, o subestado e suas estruturas associadas são removidos. A abordagem geral é chamada de Subgoaling universal.

Essas suposições levam a uma arquitetura que oferece suporte a três níveis de processamento. No nível mais baixo, está o processamento ascendente, paralelo e automático. O próximo nível é o nível deliberativo, onde o conhecimento do primeiro nível é usado para propor, selecionar e aplicar uma única ação. Esses dois níveis implementam comportamento rápido e habilidoso e correspondem aproximadamente ao nível de processamento do Sistema 1 de Kahneman . O comportamento mais complexo surge automaticamente quando o conhecimento é incompleto ou incerto, por meio de um terceiro nível de processamento usando subestados, correspondendo aproximadamente ao Sistema 2.

Uma quarta hipótese no Soar é que a estrutura subjacente é modular, mas não em termos de módulos baseados em tarefas ou capacidades, como planejamento ou linguagem, mas sim como módulos independentes de tarefas, incluindo: um módulo de tomada de decisão; módulos de memória (memórias espaciais / visuais e de trabalho de curto prazo; memórias de procedimento, declarativas e episódicas de longo prazo), mecanismos de aprendizagem associados a todas as memórias de longo prazo; e módulos perceptuais e motores. Existem outras suposições sobre as propriedades específicas dessas memórias descritas abaixo, incluindo que todo o aprendizado é online e incremental.

Uma quinta hipótese é que os elementos da memória (exceto aqueles na memória espacial / visual) são representados como estruturas simbólicas e relacionais. A hipótese de que um sistema simbólico é necessário para a inteligência geral é conhecida como hipótese do sistema de símbolos físicos . Uma evolução importante no Soar é que todas as estruturas simbólicas têm metadados estatísticos associados (como informações sobre recência e frequência de uso ou recompensa futura esperada) que influenciam a recuperação, manutenção e aprendizagem das estruturas simbólicas.

Arquitetura

Ciclo de processamento - procedimento de decisão

O principal ciclo de processamento do Soar surge da interação entre a memória procedural (seu conhecimento sobre como fazer as coisas) e a memória de trabalho (sua representação da situação atual) para apoiar a seleção e aplicação de operadores. As informações na memória de trabalho são representadas como uma estrutura gráfica simbólica , enraizada em um estado. O conhecimento na memória procedural é representado como regras if-then (conjuntos de condições e ações), que são continuamente comparadas ao conteúdo da memória de trabalho. Quando as condições de uma regra correspondem às estruturas na memória de trabalho, ela dispara e executa suas ações. Essa combinação de regras e memória de trabalho também é chamada de sistema de produção . Em contraste com a maioria dos sistemas de produção, no Soar, todas as regras correspondentes são acionadas em paralelo.

Ao invés de ter a seleção de uma única regra sendo o cerne da tomada de decisão, a tomada de decisão do Soar ocorre por meio da seleção e aplicação de operadores , que são propostos, avaliados e aplicados por regras. Um operador é proposto por regras que testam o estado atual e criam uma representação do operador na memória de trabalho, bem como uma preferência aceitável , que indica que o operador deve ser considerado para seleção e aplicação. Regras adicionais correspondem ao operador proposto e criam preferências adicionais que o comparam e avaliam em relação a outros operadores propostos. As preferências são analisadas por um procedimento de decisão, que seleciona o operador preferencial e o instala como o operador atual na memória de trabalho. As regras que correspondem ao operador atual são acionadas para aplicá-las e fazer alterações na memória de trabalho. As alterações na memória de trabalho podem ser inferências simples, consultas para recuperação de memórias semânticas ou episódicas de longo prazo do Soar, comandos para o sistema motor para realizar ações em um ambiente ou interações com o Sistema Visual Espacial (SVS), que é a memória de trabalho interface com a percepção. Essas alterações na memória de trabalho levam à proposta e avaliação de novos operadores, seguidos da seleção de um e de sua aplicação.

Aprendizagem por reforço

O Soar oferece suporte ao aprendizado por reforço , que ajusta os valores das regras que criam preferências numéricas para avaliar os operadores, com base na recompensa. Para fornecer flexibilidade máxima, existe uma estrutura na memória de trabalho onde a recompensa é criada.

Impasses, subestados e chunking

Se as preferências dos operadores forem insuficientes para especificar a seleção de um único operador, ou se houver regras insuficientes para aplicar um operador, surge um impasse. Em resposta a um impasse, um subestado é criado na memória de trabalho, com o objetivo de resolver o impasse. O conhecimento procedimental adicional pode então propor e selecionar operadores no subestado para obter mais conhecimento e criar preferências no estado original ou modificar esse estado para que o impasse seja resolvido. Os subestados fornecem um meio de raciocínio complexo sob demanda, incluindo decomposição hierárquica de tarefas, planejamento e acesso às memórias declarativas de longo prazo. Uma vez que o impasse é resolvido, todas as estruturas no subestado são removidas, exceto para quaisquer resultados. O mecanismo de fragmentação do Soar compila o processamento no subestado que leva aos resultados em regras. No futuro, as regras aprendidas serão acionadas automaticamente em situações semelhantes para que nenhum impasse surja, convertendo gradativamente o raciocínio complexo em processamento automático / reativo. Recentemente, o procedimento geral de Subgoaling Universal foi estendido por meio de um mecanismo de aumento automático da base de conhecimento direcionado a objetivos que permite resolver um impasse por recombinar, de forma inovadora e orientada para o problema, o conhecimento possuído por um agente Soar.

Entrada e saída simbólicas

A entrada e a saída simbólicas ocorrem por meio de estruturas de memória de trabalho anexadas ao estado superior, chamadas de link de entrada e link de saída. Se estruturas são criadas no link de saída na memória de trabalho, elas são traduzidas em comandos para ações externas (por exemplo, controle motor).

Sistema visual espacial e imagens mentais

Para apoiar a interação com sistemas de visão e raciocínio não simbólico, o Soar possui o seu Spatial Visual System (SVS). O SVS representa internamente o mundo como um gráfico de cena , uma coleção de objetos e subobjetos de componentes, cada um com propriedades espaciais como forma, localização, pose, posição relativa e escala. Um agente Soar usando SVS pode criar filtros para extrair automaticamente recursos e relações de seu gráfico de cena, que são então adicionados à memória de trabalho. Além disso, um agente Soar pode adicionar estruturas ao SVS e usá-lo para imagens mentais. Por exemplo, um agente pode criar um objeto hipotético no SVS em um determinado local e consultar se ele colide com algum objeto percebido.

Memória semântica

A Memória Semântica (SMEM) no Soar foi projetada para ser uma memória de longo prazo muito grande de estruturas semelhantes a fatos. Os dados no SMEM são representados como gráficos cíclicos direcionados. As estruturas podem ser armazenadas ou recuperadas por regras que criam comandos em uma área reservada da memória de trabalho. As estruturas recuperadas são adicionadas à memória de trabalho.

As estruturas SMEM possuem valores de ativação que representam a frequência ou recência de uso de cada memória, implementando o esquema de ativação de nível básico originalmente desenvolvido para o ACT-R. Durante a recuperação, a estrutura no SMEM que corresponde à consulta e tem a maior ativação é recuperada. O Soar também oferece suporte à ativação de propagação , em que a ativação se espalha de estruturas SMEM que foram recuperadas na memória de trabalho para outras memórias de longo prazo às quais estão vinculadas. Essas memórias, por sua vez, espalham a ativação para as memórias vizinhas, com alguma deterioração. A ativação de propagação é um mecanismo que permite que o contexto atual influencie as recuperações da memória semântica.

Memória episódica

A memória episódica (EPMEM) grava automaticamente instantâneos da memória de trabalho em um fluxo temporal. Episódios anteriores podem ser recuperados na memória de trabalho por meio de consulta. Uma vez que um episódio foi recuperado, o próximo episódio (ou anterior) pode então ser recuperado. Um agente pode empregar EPMEM para reproduzir sequencialmente episódios de seu passado (permitindo-lhe prever os efeitos das ações), recuperar memórias específicas ou consultar episódios que possuam certas estruturas de memória.

Aprendendo

Cada uma das memórias de longo prazo do Soar tem mecanismos de aprendizagem online associados que criam novas estruturas ou modificam metadados com base na experiência de um agente. Por exemplo, o Soar aprende novas regras para a memória procedural por meio de um processo chamado chunking e usa o aprendizado por reforço para ajustar as regras envolvidas na seleção de operadores.

Desenvolvimento de agente

A abordagem padrão para desenvolver um agente no Soar começa escrevendo regras que são carregadas na memória procedural e inicializando a memória semântica com o conhecimento declarativo apropriado. O processo de desenvolvimento do agente é explicado em detalhes no manual oficial do Soar, bem como em vários tutoriais que são fornecidos no site do grupo de pesquisa .

Programas

Extending the Soar Cognitive Architecture, de John Laird, 2008.

A arquitetura do Soar é mantida e ampliada pelo grupo de pesquisa de John Laird da Universidade de Michigan. A arquitetura atual é escrita em uma combinação de C e C ++ e está disponível gratuitamente (licença BSD) no site do grupo de pesquisa .

O Soar pode fazer interface com ambientes de linguagem externa, incluindo C ++, Java, Tcl e Python por meio do Soar Markup Language (SML). SML é um mecanismo primário para criar instâncias de agentes Soar e interagir com seus links de E / S.

JSoar é uma implementação do Soar escrita em Java. É mantido pela SoarTech , uma empresa de pesquisa e desenvolvimento de IA. JSoar segue de perto a implementação da arquitetura da Universidade de Michigan, embora geralmente não reflita os desenvolvimentos e mudanças mais recentes dessa versão C / C ++.

Formulários

Abaixo está uma lista histórica de diferentes áreas de aplicativos que foram implementadas no Soar. Existem mais de uma centena de sistemas implementados no Soar, embora a grande maioria deles sejam tarefas de brinquedo ou quebra-cabeças.

Quebra-cabeças e jogos

Ao longo de sua história, Soar tem sido usado para implementar uma grande variedade de quebra-cabeças e jogos clássicos de IA, como Torre de Hanói, Jarro de água, Jogo da velha, Oito Quebra-cabeças, Missionários e Canibais e variações do mundo Blocks . Uma das conquistas iniciais do Soar foi mostrar que muitos métodos fracos diferentes surgiriam naturalmente do conhecimento da tarefa que estava codificado nele, uma propriedade chamada Método Fraco Universal.

Configuração do computador

A primeira aplicação em larga escala do Soar foi R1-Soar, uma reimplementação parcial por Paul Rosenbloom do sistema especialista R1 ( XCON ) desenvolvido por John McDermott para configurar computadores DEC. R1-Soar demonstrou a capacidade do Soar de dimensionar problemas de tamanho moderado, usar decomposição e planejamento hierárquico de tarefas e converter planejamento deliberado e resolução de problemas em execução reativa por meio de agrupamento.

Compreensão de linguagem natural

NL-Soar foi um sistema de compreensão de linguagem natural desenvolvido em Soar por Jill Fain Lehman, Rick Lewis, Nancy Green, Deryle Lonsdale e Greg Nelson. Incluía recursos para compreensão, geração e diálogo de linguagem natural, enfatizando análise e geração incrementais em tempo real. NL-Soar foi usado em uma versão experimental do TacAir-Soar e no NTD-Soar.

Pilotos simulados

A segunda aplicação em larga escala do Soar envolveu o desenvolvimento de agentes para uso em treinamento em simulação distribuída em grande escala. Dois sistemas principais para voar em missões aéreas táticas dos EUA foram co-desenvolvidos na Universidade de Michigan e no Instituto de Ciências da Informação (ISI) da Universidade do Sul da Califórnia. O sistema de Michigan foi chamado de TacAir-Soar e voou (em simulação) em missões táticas militares americanas de asa fixa (como apoio aéreo aproximado, ataques, CAPs , reabastecimento e missões SEAD ). O sistema ISI foi chamado RWA-Soar e voou em missões de asa rotativa (helicóptero). Algumas das capacidades incorporadas no TacAir-Soar e RWA-Soar foram atenção, consciência situacional e adaptação, planejamento em tempo real e replanejamento dinâmico e comunicação complexa, coordenação e cooperação entre combinações de agentes do Soar e humanos. Estes sistemas participou DARPA ‘s Theater Synthetic of War (Stow-97) Conceito Advanced Technology Demonstration (ACTD), que na época era o maior Fielding de agentes sintéticos em um campo de batalha conjunta durante um período de 48 horas, e treinamento envolvido de pessoal da ativa. Esses sistemas demonstraram a viabilidade do uso de agentes de IA para treinamento em larga escala.

VAPOR

Uma das consequências importantes do projeto RWA-Soar foi o desenvolvimento do STEAM por Milind Tambe , uma estrutura para trabalho em equipe flexível em que os agentes mantinham modelos de seus companheiros de equipe usando a estrutura de intenções conjuntas de Cohen & Levesque .

NTD-Soar

O NTD-Soar era uma simulação do Diretor de Testes da NASA (NTD), a pessoa responsável por coordenar a preparação do Ônibus Espacial da NASA antes do lançamento. Era um modelo cognitivo integrado que incorporava muitas capacidades cognitivas complexas diferentes, incluindo processamento de linguagem natural , atenção e busca visual e solução de problemas em um modelo de agente amplo.

Humanos virtuais

O Soar foi usado para simular humanos virtuais apoiando diálogos face a face e colaboração em um mundo virtual desenvolvido no Instituto de Tecnologia Criativa da USC. Os humanos virtuais têm capacidades integradas de percepção , compreensão da linguagem natural , emoções , controle do corpo e ação, entre outros.

AIs de jogos e aplicativos móveis

Os agentes de IA de jogo foram construídos usando Soar para jogos como StarCraft , Quake II , Descent 3 , Unreal Tournament e Minecraft , suportando recursos como raciocínio espacial , estratégia em tempo real e antecipação de oponentes . Os agentes de IA também foram criados para videogames, incluindo Infinite Mario, que usava aprendizado por reforço, e Frogger II , Space Invaders e Fast Eddie, que usava aprendizado por reforço e imagens mentais .

Soar pode ser executado nativamente em dispositivos móveis . Um aplicativo móvel para o jogo Liar's Dice foi desenvolvido para iOS que executa a arquitetura Soar diretamente do telefone como o motor para IAs oponentes.

Robótica

Muitas aplicações robóticas diferentes foram construídas usando Soar desde que o Robo-Soar original foi implementado em 1991 para controlar um braço de robô Puma. Estes variaram de controle do robô móvel para humanóides serviço Reem robôs, mulas robóticos taskable e veículos submarinos não tripulados .

Aprendizagem de tarefa interativa

Um foco atual de pesquisa e desenvolvimento na comunidade Soar é o Interactive Task Learning (ITL), o aprendizado automático de novas tarefas, recursos do ambiente, restrições comportamentais e outras especificações por meio da interação natural do instrutor. A pesquisa em ITL foi aplicada a jogos de mesa e navegação em várias salas.

Agendamento

No início, Merle-Soar demonstrou como Soar poderia aprender uma tarefa de programação complexa modelada a partir do programador humano líder em uma fábrica de produção de pára-brisas localizada perto de Pittsburgh.

Veja também

Referências

Bibliografia

links externos