Agentes e ambientes

"Como os sistemas de IA interagem com o mundo?"

Posted by Gustavo M.R. on August 10, 2023

“É difícil pensar em uma grande indústria que não será transformada pela inteligência artificial. Isso inclui saúde, educação, meios de transporte, verejo, comunicações e agricultura. Existem caminhos surpreendentemente claros para a IA fazer uma grande diferença em todas essas indústrias.” - Andrew Ng

No mundo atual é fato que a inteligência artificial vem atuando cada vez mais forte em diferentes áreas de aplicação. Mas como a inteligência artificial interagem com o mundo? Essa e outras questões serão abordadas por esse artigo, cuja finalidade consiste em introduzir o leitor um pouco mais sobre esse universo.

Ambiente de Tarefas (Environment)

Antes de nos aprofundarmos mais sobre como a AI interage com o mundo, é importante ter noção sobre o que seria um ambiente de tarefas (ou ambiente de aplicação). Ao pé da letra, um ambiente pode ser definido como um espaço físico ou contexto em que algo ocorre ou existe. Alguns exemplos de ambiente são:

  • Ambiente Físico: refere-se ao espaço ao nosso redor, incluindo os elementos naturais (como terra, água, ar, fauna e flora) e os elementos criados pelo ser humano (como edifícios, cidades e infraestrutura);
  • Ambiente Natural: refere-se ao mundo natural, abrangendo ecossistemas, climas, paisagens e a interação entre organismos e o meio;
  • Ambiente Digital: refere-se ao contexto online ou digital em que as interações e atividades ocorrem. Pode incluir a internet, redes sociais, plataformas online e softwares;
  • Ambiente de Negócios: refere-se ao cenário econômico e comercial em que as empresas operam, incluindo concorrência, regulamentação e fatores econômicos;
  • Ambiente Social: refere-se ao contexto das relações humanas e interações sociais, abrangendo aspectos culturais, econômicos, políticos e sociológicos;
  • Ambiente Virtual: refere-se à ambientes criados digitalmente, como ambientes de realidade virtual ou simulações computacionais;
  • Ambiente de Aprendizado: refere-se ao local e/ou contexto em que a educação e a aprendizagem ocorrem, como escolas, universidades e programas de treinamento.

Mas o que seria um ambiente para uma AI? Para uma inteligência artificial, o ambiente refere-se ao espaço no qual ela opera, coletando informações para tomar decisões e finalmente executar ações. Tal conceito é fundamental para o aprendizado de máquina, principalmente quando se usa o paradigma de reinforcement learning (aprendizado por reforço), pois é o cenário em que a IA realiza suas atividades (operação, aprendizado e tomada de decisões). Na prática, no contexto da inteligência artificial, podemos resumi os diferentes meios existentes em 3 principais:

  • Ambiente Simulado: refere-se ambientes de jogos, simulações físicas ou ambientes digitais criados para fins de treinamento.
  • Ambiente Físico: refere-se à ambientes reais e seus elementos, os quais a inteligência artificial precisa perceber e responder.
  • Ambiente de Software: refere-se à ambientes puramente de software, como sistemas de recomendação em sites de comércio eletrônico, motores de busca na web ou sistemas de suporte à decisão em ambientes de negócios.

Agentes de Inteligência Artificial

Após o entendimento sobre o que seria um meio, é interessante entender o conceito de agente. Sendo assim, no contexto da inteligência artificial, um "agente" refere-se a uma entidade que é capaz de perceber seu ambiente, tomar decisões com base em sua percepção e executar ações para alcançar metas ou objetivos específicos. A Imagem 1 a seguir apresenta uma arquitetura geral de um agente, assim como sua interação com o ambiente.

Imagem 1: estrutura canônica de um agente
Ref.: Stuart Russel & Peter Norving - "Artificial Inteligence, a Modern Approach"

Diante do exposto, é importante ressaltar que os agentes são uma parte fundamental do paradigma de aprendizado de máquina aprendizado por reforço e também são amplamente utilizados em sistemas de inteligência artificial autônomos. Diante disso, os agentes podem ser de diferentes tipos, variando desde agentes simples que executam tarefas específicas até agentes mais complexos e autônomos, como assistentes virtuais, carros autônomos, robôs industriais e muito mais. Confira a seguir alguns dos principais tipos de agentes de inteligência artificial.

  • Agentes de reflexo simples: é um tipo básico de agente que toma decisões com base apenas nas informações imediatas e atuais do ambiente (percepção atual), sem considerar o histórico de ações ou as consequências futuras. Ele age como um "reflexo" automático, respondendo diretamente à estímulos do meio. Entretanto, esse agente só funciona para ambientes totalmente observável. A Imagem 2 a seguir apresenta um esquemático sobre como esse agente interage com o meio, assim como sua estrutura.
    Imagem 2: estrutura de um agente de reflexo simples
    Ref.: Stuart Russel & Peter Norving - "Artificial Inteligence, a Modern Approach"

  • Agentes de reflexo baseado em modelo: consiste em um tipo de agente que toma decisões com base nas informações atuais do meio, mas também leva em consideração um modelo interno do ambiente (ou estado interno) que mantém um histórico de percepções o qual permite a previsão das consequências de determinadas ações antes de tomá-las (Imagem 3). Essa capacidade de planejamento ajuda o agente a tomar decisões mais informadas, antecipando os resultados de suas ações, tornando esse agente mais adequado para tarefas que envolvem um grau de previsão e planejamento. Diante do exposto, para o correto funcionamento do sistema, esse agente também considera outros dois modelos: um modelo transitório o qual descreve como o ambiente muda com a ação do agente e um modelo sensorial, que descreve o funcionamento e limitação dos sensores.
    Imagem 3: estrutura de um agentes de reflexo baseado em modelo
    Ref.: Stuart Russel & Peter Norving - "Artificial Inteligence, a Modern Approach"

  • Agentes baseados em objetivos: refere-se á tipo de agente que toma decisões e executa ações com base em metas ou objetivos específicos que deseja alcançar (imagem 4). Ele avalia seu ambiente e escolhe ações que o aproximam de seus objetivos. Esse tipo de agente é orientado à metas e frequentemente incorpora um processo de planejamento para determinar a melhor sequência de ações a serem tomadas. É amplamente utilizado em sistemas de IA voltados para tarefas complexas que envolvem a busca ativa por soluções ou a otimização de resultados.
    Imagem 4: estrutura de um agente baseados em objetivos
    Ref.: Stuart Russel & Peter Norving - "Artificial Inteligence, a Modern Approach"

  • Agentes utilitários: é um tipo de agente que toma decisões com base na maximização de uma função de utilidade (Imagem 5). Essa função atribui valores às diferentes situações, permitindo ao agente escolher a ação que maximiza seu valor esperado. Diante disso, o agente considera não apenas seus objetivos, mas também a preferência por resultados específicos, resolvendo o problema de conflito de objetivos e melhorando a performance do agente. Essa abordagem é frequentemente usada em tarefas onde não há uma única meta fixa, mas sim uma avaliação contínua das consequências das ações em termos de "utilidade" ou "valor" esperado.
    Imagem 5: estrutura de um agente utilitário
    Ref.: Stuart Russel & Peter Norving - "Artificial Inteligence, a Modern Approach"

Conceitos Fundamentais (Agentes de AI)

Após o entendimento sobre os diferentes dipos de agentes de AI (tópico anterior), é importante entender alguns conceitos fundamentais relacionados à forma como eles interagem com o ambiente e toma decisões a fim de atingir seu objetivo específico. Diante disso, 3 conceitos se destacam: Ação, Função e Programa. Confira a seguir uma explicação com mais detalhes sobre cada deles (no contexto de agentes de AI).

  • Ação de um agente: refere às escolhas ou decisões tomadas pelo agente para influenciar seu ambiente. Tais ações depende de sua programação interna e de toda a sequência de percepção observada até o momento, mas não de algo que ele não tenha percebido.
    Ex.: mover-se, coletar informações, ações específicas, etc;
  • Função agente: refere-se ao componente central do agente de IA que determina o comportamento do agente. Para isso, ela mapeia as percepções do agente (informações que ele obtém de seu ambiente) para as ações que o agente deve realizar;
  • Programa agente: é a implementação concreta da função agente em um sistema de inteligência artificial. Ele consiste em um conjunto de instruções (algoritmos) que guiam o comportamento do agente com base em suas percepções e no conhecimento acumulado. Sendo assim, tal programa pode ser escrito em uma linguagem de programação e pode envolver a aplicação de técnicas, a depender do tipo de agente de AI e seu objetivo, de aprendizado de máquina e lógica.

Racionalidade & Agente de AI

O termo racionalidade, a pesar de ser tratado de maneira formal pela primeira vez na Filosofia, possui raízes em diversas áreas da ciência, cada uma abordando-a à sua maneira, como economia, psicologia, inteligência artificial, ciência cognitiva e até mesmo nas ciências sociais. É nesse contexto que a Teoria da Decisão, em meados de 1950, ganhou muita visibilidade, tendo como finalidade o estudo das escolhas de uma pessoa, organização e até mesmo agentes inteligentes (agentes de AI).

Em relação a teoria da decisão, alguns conceitos se fazem muito importantes, como o Consquencialismo, Performance, Agente Racional e Agente inteligente. Confira a seguir uma breve explicação sobre cada um deles.

  • Consequencialismo: consiste em uma abordagem ética que avalia a moralidade das ações com base em suas consequências. Em termos de tomada de decisão, consiste na escolha de ações que maximizem suas boas consequências e que reduzam ao máximo suas más consequências (decisão ética ou moralmente correta);
  • Performance: consiste em uma métrica ou critério que é usada para avaliar o sucesso ou qualidade das consequências de uma decisão - "os impactos da ação modificaram os estatus do ambiente adequadamente?". Essa métrica é inserida pelo própio programador, podendo ser explicita ou não. Além disso, nem sempre é fácil formular uma boa medida de performance.
  • Agente racional: consiste em um agente capaz de selecionar uma ação a qual espera-se que maximize a medida de desempenho (performance) considerando as informações disponíveis, os objetivos desejados e as restrições existentes.
  • Agente Inteligente: consiste em um agente capaz de perceber seu ambiente, tomar decisões e agir de maneira autônoma para alcançar objetivos específicos ou resolver problemas. Para isso, esse tipo de entidade envolve aprendizado de máquina, Aquisição de informações (geralmente por meio de sensores) e exploração.

  • Obs.: a racionalidade não é o mesmo que perfeição, pois ela busca maximizar a performance esperada, enquanto a perfeição consiste na maximização de fato da performance.

Diante do exposto, é importante entender os fatores os quais influenciam a decisão sobre o que seria uma ação racional em um determinado momento. Nesse sentido, 4 pontos principais devem ser considerados:

  • A medida de desempenho que define o critério de sucesso
  • O conhecimento prévio do agente sobre o ambiente;
  • As ações que o agente pode realizar;
  • A sequência de percepção do agente até o momento da decisão;

Representação dos Estados

Outra informação de suma importância no contexto da inteligência artificial é a representação de seus estados e sua organização (mapeamento). Para isso, de início é importante entender que um estado consiste em uma descrição do ambiente em um determinado momento, isto é, sua situação, condições, configurações e características relevantes. Sendo assim, existem 3 principais representações de estados para AI (Imagem 6). São eles:

  • Representação Atômica (Atomic): nessa representação, o ambiente é dividido em estados atômicos, cada um representando uma característica específica do ambiente. Diante disso, cada estado é independente dos outros e desscreve uma característica única do meio.
    Ex.: pesquisa, jogos, Modelos de Markov ocultos, Processos de decisão de Markov.

  • Representação Desagregada (Factored): nessa abordagem, os estados são representados como uma combinação de variáveis independentes ou atributos. Cada variável representa uma característica do ambiente e pode ter seus próprios valores possíveis, permitindo uma descrição mais compacta e estruturada do ambiente
  • Representação Estruturada (Structured): nessa abordagem, os estados são descritos em termos de relações e conexões entre diferentes elementos do ambiente. Isso envolve a representação das relações e dependências entre as variáveis do ambiente, tornando-a muito útil para modelar ambientes complexos com relações complexas entre seus elementos.
Imagem 6: principais representações de estados para AI
Ref.: Stuart Russel & Peter Norving - "Artificial Inteligence, a Modern Approach

Especificação do Meio

Após o entendimento das nuâncias envolvendo agentes no campo da inteligência artificial, podemos unir o conceito de ambiente e agente. É nesse sentido que, ao projetar um agente, o primeiro passo deve ser sempre especificar o ambiente de tarefa da forma mais completa possível. Para isso, geralmente utiliza-se uma abordagem para definir e entender os sistemas inteligentes conhecida como descrição PEAS, um acrônimo para "Performance, Environment, Actuators, Sensors". Sendo assim, cada termo desse acrônomo pode ser interpretado, respectivamente, por meio das seguintes perguntas:

  • Performance: qual é a medida de performance desejada?
  • Environment: com é o ambiente da tarefa?
  • Actuators: quais são os atuadores disponíveis para desempenhar ações?
  • Sensors: quais são os sensores disponíveis para explorar o ambiente

Por fim, é importante entender as propiedades do meio. Isso pode ser feito por meio da comparação de termos antagônicos, sendo tais termos características as quais diferentes meios podem vir a assumir. Algumas dessas características são:

  • Conhecido vs. Desconhecido;
  • Discreto vs. Contínuo;
  • Estático vs. Dinâmico;
  • Determinístico vs. Não determinístico;
  • Episódico vs. Sequencial;
  • Agente único vs. Multiagente;
  • Totalmente observável vs. Parcialmente observável vs. Não observável.

Conclusão

De acordo com este artigo, espera-se que o leitor compreenda um pouco mais sobre o que seria um agente e um ambiente de tarefas no contexto da inteligência artificial. Para isso, foram apresentados conceitos, termos e terioas fundamentais para essa área de estudo cuja relevância aumenta cada vez mais na sociedade contemporânea.