You are here

Aulas 11, 12 e 13 - Arquitetura LIDA

A LIDA (Learning Intelligent Distribution Agent) (demontrada esquematicamente na figura 1 deste relatório) é uma arquitetura cognitiva baseada no princípio de que nós, humanos, criamos nosso entendimento do mundo a partir da interpretação das várias interações continuas que executamos com o ambiente para que assim possamos escolher qual a resposta mais apropriada àquele estímulo [1][2]. Está fortemente apoiada na Global Workspace Theory (GWT) de Bernard Baars [3] que nos sugere o envolvimento de vários mecanismos para distribuir a informação sensorial, recrutando recursos neuronais para assim resolver os problemas, desde os mais simples, até os mais complexos, que nos são apresentados dia-a-dia [5].

A GWT preconiza que a cognição humana é realizada por uma série de processos pequenos porém muito especializados (special purpose processors), quase sempre no nível inconsciente, que raramente se comunicam um com o outro, mas que trabalham em conjunto para realizar uma determinada tarefa. A consciência é criada a partir do recrutamento e integração de vários módulos independentes que atuam em paralelo e o cérebro acaba se transformando, então, em um grande Global Workspace (GW) onde processos conscientes sensoriam o mundo e mandam mensagens de broadcast para processos inconscientes, recrutando assim os recursos para a realização das tarefas e/ou soluções dos problemas[6]. O GW é a estrutura central da teoria de Baars, sendo o local aonde a experiência consciente acontece, atuando assim como uma intermediaria entre a interação e a integração de processos conscientes e inconscientes. A GW, diferentemente das demais, é uma estrutura serializada com uma capacidade de processamento muito baixa, sendo por isso a responsável pela filtragem dos processos relevantes, pois somente 1 interação (ou coalisão) poderá estar ocupando atenção da GW por vez.[7]

A arquitetura LIDA por ser a representação conceitual e computacional da GWT [4], tem todos os processos citados anteriormente implementados através de pequenos códigos chamados Codelets que funcionam de maneira independente. Como exemplo de Codelets a serem executados cito os chamados attention codelets que ficam prestando atenção no Workspace em situações que lhes são interessantes, trabalhando em conjunto com os Structure Building Codelets, amealhando assim os recursos necessários para a arquitetura selecionar qual coalisão será enviada para ser trabalhada no GW.[6].

Adotando este modelo, a arquitetura LIDA consegue "perceber" tanto de maneira endógena, quanto exógena, utilizando o sistema de símbolos de percepção de Barsalou como guia (*). Essa base de conhecimento sensorial, cria a chamada Memória Associativa de Percepção (PAM - Perceptual Associative Memory) na forma de uma rede semântica com ativação chamada slipnet. Os nós dessa rede representam os indivíduos, as categorias, as relações etc. Aqui na PAM também existem os chamados Perception Codelets que tem a função de copiar as informações próprias para o Workspace, que na prática é uma Working memory na arquitetura LIDA. Uma característica interessante da PAM é que qualquer nó pode ser rastreado pelos detectores de características primitivas que se baseiam na realidade e podem mudar de acordo com os sensores do agente. Saliento ainda que pedaços da slipnet contendo nós e ligações,juntamente com codelets de percepção que tem a tarefa de copiar o que está sendo atualmente percebido como memória de trabalho, constituem a simulação dos símbolos de percepção de Barsalou(*) [6][12]. Todos funcionando juntos criam um sistema integrado de percepção para a LIDA, permitindo a arquitetura reconhecer, categorizar e entender.[6]

(*) - Perceptual Symbol Systems : Lawrence Barsalou é o autor do artigo intitulado Grounded Cognition [12] onde este sistema é detalhadamente explicado. Vale ler o artigo bem recente (2015) intítulado "Embodiment of cognition and emotion" (Winkielman P. et. al)[13] que também aborda o tema.

Figura 1: LIDA Framework

Como a intenção aqui não é escrever um artigo científico com todo formalismo necessário para tal, mas sim escrever um relatório acerca do tema LIDA, bem como criar uma base para o entendimento teórico dos exemplos práticos apontados pelos tutoriais, estou buscando acompanhar os pontos indicados na atividade 3 pelo Prof.Ricardo Gudwin como relevantes para estudarmos.

Por isso, vários aspectos da arquitetura não serão explorados neste relatório, deixando-o dentro do contexto apontado pelo Professor.

No tocante à Rede de relacionamentos (Behavior Network) no LIDA, primeiramente é importante definir que uma rede de relacionamentos é composta por um certo número de competências e ações que o agente pode tomar, sendo cada um destes nós caracterizados univocamente pela sua função ("o que ele faz"), suas pré-condições para ser executado e as consequências da sua ativação. Nesta rede existe um "fluxo de energia" onde as competências com mais energia ganham precedência de ativação sobre as demais.[8][9]

Historicamente, as redes de relacionamento foram primeiramente desenvolvidas por Maes [10] e são definidas no Tutorial da arquitetura LIDA [11] como sendo a implementação do módulo de seleção-ação (Action Selection Module) inspirado na Behavior Net de Maes, onde um determinado comportamento é ativado ao final de cada ciclo cognitivo segundo seu nível de ativação (esse nível de ativação - activation level - é um valor que varia de 0.0 até 1.0 e é estabelecido segundo as relações que um determinando comportamento tem o conteúdo consciente e com os demais comportamentos constantes na rede de comportamentos). Na arquitetura LIDA podemos dizer que os componentes centrais desta estrutura são os Codelets de comportamento sendo estes ativados em série, podendo transformar metas a serem cumpridas em comportamentos incorporados na rede de relacionamentos. Agindo assim, um comportamento de nível superior poderá ser o resultado do planejamento e ativação de codelets internos para pesquisar, construir e escrever estruturas na GW [2].

    Como a arquitetura LIDA implementa a percepção do ambiente ?
    Como a arquitetura LIDA guarda/armazena informações de memória ?
    Como a arquitetura LIDA seleciona as ações que serão implementadas no ambiente ?
    Como a arquitetura LIDA executa a ação selecionada no ambiente ?

Todas as respostas para estas perguntas passam, invariavelmente, pelo Ciclo de Cognição (Cognition Cycle) da LIDA, demonstrado esquematicamente na figura 2 deste relatório.

Figura 2: LIDA Cognitive Cycle

Como já citado, o modelo LIDA tem por base que todo conhecimento vem da interação continuada com o ambiente que gera uma série de estímulos internos e externos que devidamente trabalhados, classificados e compreendidos criam a base para a maneira pela qual o agente irá interagir com o mundo que o cerca.

No modelo LIDA tudo começa quando detectores de estímulos (feature detectors) recebem um estímulo interno e/ou externo, alocando-o na memoria de sensoriamento (Sensory Memory) e o tornam compreensível para o agente, categorizando-o e reconhecendo-o. Isto é possível graças a participação de estruturas alocadas na PAM. Esses estímulos já devidamente reconhecidos passam a ser chamados de percepções (percepts) e são transmitidos para o Workspace, local onde a situação atual do agente será construída.[2][3]

Essas novas percepções são "confrontadas" com as anteriores que ainda não foram apagadas do Workspace. Este confronto permite que a agente forme a compreensão do seu estado, visto que obrigatoriamente ele terá que "olhar para trás" e recuperar dados da PAM (e este processo de recuperação é chamado de priming). Este novo modelo construído a partir da realidade atual constitui então a nova compreensão do mundo e o entendimento completo de novo estímulo.[3]

No Workspace agora estão alocados as novas estruturas e lá habitam as estruturas antigas ainda não apagadas da memória. Neste momento ocorre uma "briga" pela atenção do agente e esta cria coalisões que se sobrepoem. Utilizando mecanismos subjacentes, a arquitetura LIDA escolhe a coalisão que melhor se adapta ao contexto atual e nela foca a atenção do agente.[3] Isso é importante pois sempre teremos que lidar com recursos computacionais que por mais amplos que sejam sempre serão limitados.

A coalisão vencedora é movida agora para o GW e distribuida para os vários módulos inconscientes e módulos de memória através de um grande broadcast e terá como resposta a seleção dos recursos necessários para que o agente responda ao estímulo recebido, agindo conforme os recursos amealhados.[1]

Agir apresenta dois aspectos: o primeiro tem haver com a intenção do agente, ou seja, não se deseja responder simplesmente a estímulos, mas sim processá-los, entendê-los, escolher a melhor resposta e, aí sim, agir; o segundo tem haver com a transformação de processos inconscientes (Low level process) em ações concretas e conscientes; em outras palavras, o agente tem que saber "o que fazer" e "como fazer".[14]

Para selecionar "o que fazer" o agente emite um broadcast que poderá ser facilmente acessado globalmente por toda estrutura. O primeiro lugar onde este é processado é na Procedural Memory (PM) onde templates de ações, bem como suas características e possíveis resultados estão armazenados. Uma determinada ação será selecionada quando ocorrer um match entre a informação contida no broadcast e aquelas contidas na PM.Essa ação selecionada é então instanciada com as devidas varíaveis preenchidas para a situação atual. Vale salientar que os templates de outras ações instanciadas continuam e também serão passadas para que o action selection mechanism escolha uma única ação que será transmitida para a sensory-motor memory para imediatamente ser executada obedecendo seu respectivo algoritmo. A ação é reconhecida como executada quando seus efeitos acontecem, seja no mundo externo (enviroment), seja no mundo interno (internal representation) ou em ambos.[1]

--- Exemplos LIDA --- Basic & Advanced Exercises

(1) Basic agent exercise 1

Figura 3: LIDA Basic Agent Exercise 1

Figura 4: LIDA Basic Agent Exercise 1 - main packages

Figura 5: LIDA Basic Agent Exercise 1 - config files

(2) Basic agent exercise 2

Figura 6: LIDA Basic Agent Exercise 2

Figura 7: LIDA Basic Agent Exercise 2 - command line

Figura 8: LIDA Basic Agent Exercise 2 - adding a custom panel

Figura 9: LIDA Basic Agent Exercise 2 - custom panel CSM

(3) Basic agent exercise 3

Figura 11: LIDA Basic Agent Exercise 3 - adding a new module

Figura 12: LIDA Basic Agent Exercise 3 - adding a new listener

Figura 13: LIDA Basic Agent Exercise 3 - adding new tasks

(4) Basic agent - Advanced exercise 1 & 2

Figura 14: LIDA Basic Agent Advanced Exercise 1

Figura 15: LIDA Basic Agent Advanced Exercise 2 - adding a new color detector task

Figura 16: LIDA Basic Agent Advanced Exercise 3 - adding a new feature detector class

Figura 17: LIDA Basic Agent Advanced Exercise 3 - adding a new feature detector class

--- Exemplos LIDA --- aLifeAgent Exercises

(1) Agent exercise 1

Figura 18: aLifeAgent - exercise 1

Figura 19: aLifeAgent - exercise 2 - task 0

Figura 20: aLifeAgent - exercise 2 - task 1 - creating BadHealthDetector.java class

Figura 21: aLifeAgent - exercise 2 - task 2 - creating the BadHealthDetector task at factoryData.xml

Figura 22: aLifeAgent - exercise 2 - task 3 - creating the BadHealthDetector task at PerceptualAssociativeMemory submodule

Figura 23: aLifeAgent - exercise 2 - task 4 - creating the predatorFrontDetector task at PerceptualAssociativeMemory submodule

--- Referências Bibliográficas ---

[1] - Franklin S., Madl T., D’Mello S., Snaider J., "LIDA: A Systems-level Architecture for Cognition, Emotion, and Learning", IEEE Transactions on, 2014 - ieeexplore.ieee.org; link at: http://madlnet.net/tsworks/franklin-ieee-tamd11-v20%20final.pdf

[2] - Friedlandera D, Franklin S., "LIDA and a Theory of Mind", in: Artificial General Intelligence (AGI-08), IOS Press, Memphis, TN, USA (2008); link at: http://www.agiri.org/docs/LIDA.pdf

[3] - Goertzela B., Lianb R., Arelc I., Garisb H., Chen S., "A world survey of artificial brain projects, Part II: Biologically inspired cognitive architectures", Neurocomputing, V.74, P.30-49, Elsevier, Dezembro, 2010; link at: http://www.sciencedirect.com/science/article/pii/S0925231210003498

[4] - Franklin S>, Strain S., Snaider J., McCall R., Faghihi U., "Global Workspace Theory, its LIDA model and the underlying neuroscience", Biologically Inspired Cognitive Architectures (BICA 2012), V.1, P.32–43, Elsevier, Julho, 2012;

[5] - Baars B.J., Franklin S., "How conscious experience and working memory interact", Trends in Cognitive Science, V.7, I.4, P.166–172,Abril,2003; link at: http://www.sciencedirect.com/science/article/pii/S1364661303000561

[6] - Franklin S., Ramamurthy U., D’Mello S.K., McCauley L., Negatu A., Silva R., Datla V., "LIDA: A Computational Model of Global Workspace Theory and Developmental Learning ", "LIDA: A computational model of global workspace theory and developmental learning." AAAI Fall Symposium on AI and Consciousness: Theoretical Foundations and Current Approaches. Arlington, VA: AAAI Press, 2007; Link at: http://www.aaai.org/Papers/Symposia/Fall/2007/FS-07-01/FS07-01-011.pdf

[7] -Becker T., Fabro J.A., Oliveira A.S., Reis L.P., "Adding conscious aspects in virtual robot navigation through Baars-Franklin’s cognitive architecture",IEEE International Conference on Autonomous Robot Systems and Competitions (ICARSC), p.204-209, IEEE, Abril, 2015; Link at: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7101634

[8] - Raizer K., , Gudwin R.R., "A neuroscience inspired gated learning action selection mechanism",Biologically Inspired Cognitive Architectures,Volume 11, Pages 65–74, Janeiro, 2015; Link at: http://www.sciencedirect.com/science/article/pii/S2212683X14000796?np=y

[9] - Raizer K., Rohmer E., Paraense A.L.O., Gudwin R.R., "Effects of behavior network as a suggestion system to assist BCI users", 2013 IEEE Symposium on Computational Intelligence in Rehabilitation and Assistive Technologies (CIRAT),p.40 - 47,IEEE, Singapore, 2013; Link at: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6613821&tag=1

[10] - Maes, Pattie. "How to do the right thing." Connection Science 1.3 (1989): 291-323; Link at: http://18.7.29.232/bitstream/handle/1721.1/6013/AIM-1180.pdf?sequence=2

[11] - Snaider J., McCall R., Strain S., Franklin S., "The LIDA tutorial", Cognitive Computing Research Group, University of Memphis; Link at: http://ccrg.cs.memphis.edu/assets/framework/The-LIDA-Tutorial.pdf

[12] - Barsalou L., "Grounded Cognition", Annual Reviews in Psychology, Volume 59, P.617-645, Annual Reviews, 2008; Link at: http://www.annualreviews.org/doi/pdf/10.1146/annurev.psych.59.103006.093639

[13] - Winkielman P., Niedenthal P., Wielgosz J., Eelen J., Kavanagh L.C., "Embodiment of cognition and emotion", APA handbook of personality and social psychology, Volume 1, P.151-175, 2015; Link at: http://www.researchgate.net/profile/Piotr_Winkielman/publication/2652935...

[14] - Franklin S, Dong D., "A New Action Execution Module for the Learning Intelligent Distribution Agent (LIDA): The Sensory Motor System", Cognitive Computation, Springer US, March, 2015; Link at: http://link.springer.com/article/10.1007/s12559-015-9322-3#page-1

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer