Agente inteligente - Intelligent agent

Na inteligência artificial , um agente inteligente ( IA ) é qualquer coisa que perceba seu ambiente, age de forma autônoma para atingir objetivos, e pode melhorar seu desempenho com o aprendizado ou pode utilizar o conhecimento . Eles podem ser simples ou complexos - um termostato é considerado um exemplo de agente inteligente, assim como um ser humano, como qualquer sistema que se enquadre na definição, como uma empresa , um estado ou um bioma .

Diagrama de agente reflexo simples

Os principais livros didáticos de IA definem "inteligência artificial" como o "estudo e design de agentes inteligentes", uma definição que considera o comportamento direcionado a objetivos a essência da inteligência. Os agentes dirigidos por objetivos também são descritos usando um termo emprestado da economia , " agente racional ".

Um agente tem uma "função objetivo" que encapsula todos os objetivos do IA. Esse agente é projetado para criar e executar qualquer plano que, após a conclusão, maximize o valor esperado da função objetivo. Por exemplo, um agente de aprendizagem por reforço tem uma "função de recompensa" que permite aos programadores moldar o comportamento desejado do IA, e o comportamento de um algoritmo evolutivo é moldado por uma "função de aptidão".

Agentes inteligentes em inteligência artificial estão intimamente relacionados a agentes em economia , e versões do paradigma de agente inteligente são estudadas em ciência cognitiva , ética , filosofia da razão prática , bem como em muitas modelagens sócio-cognitivas interdisciplinares e simulações sociais de computador .

Os agentes inteligentes são frequentemente descritos esquematicamente como um sistema funcional abstrato semelhante a um programa de computador. Descrições abstratas de agentes inteligentes são chamadas de agentes inteligentes abstratos ( AIA ) para distingui-los de suas implementações no mundo real. Um agente autônomo inteligente é projetado para funcionar na ausência de intervenção humana. Os agentes inteligentes também estão intimamente relacionados aos agentes de software (um programa de computador autônomo que realiza tarefas em nome dos usuários).

Definição de inteligência artificial

A ciência da computação define a pesquisa de IA como o estudo de agentes inteligentes . O principal livro de IA define um "agente" como:

  • "Qualquer coisa que possa ser vista como percebendo seu ambiente por meio de sensores e agindo sobre esse ambiente por meio de atuadores"

define um "agente racional" como:

  • "Um agente que atua de forma a maximizar o valor esperado de uma medida de desempenho com base na experiência e no conhecimento anteriores."

e define o campo de pesquisa de "inteligência artificial" como:

  • “O estudo e desenho de agentes racionais”

Uma definição semelhante de IA é dada por Kaplan e Haenlein: "A capacidade de um sistema de interpretar corretamente os dados externos, de aprender com esses dados e de usar esses aprendizados para atingir objetivos e tarefas específicas por meio de adaptação flexível."

Padgham e Winikoff (2005) concordam que um agente inteligente está situado em um ambiente e responde (de maneira oportuna, embora não necessariamente em tempo real) às mudanças do ambiente. No entanto, os agentes inteligentes também devem perseguir objetivos de forma proativa de uma forma flexível e robusta. Os desideratos opcionais incluem que o agente seja racional e que o agente seja capaz de análises de crença-desejo-intenção .

Vantagens desta definição

Filosoficamente, evita várias linhas de crítica. Ao contrário do teste de Turing , ele não se refere à inteligência humana de forma alguma. Assim, não há necessidade de discutir se é "real" vs inteligência "simulada" (ou seja, inteligência "sintética" vs "artificial"), e não indica que tal máquina tem uma mente , consciência ou compreensão verdadeira (ou seja, não implica a " hipótese de IA forte " de John Searle ). Também não tenta traçar uma linha divisória nítida entre comportamentos que são "inteligentes" e comportamentos que são "não inteligentes" - os programas só precisam ser medidos em termos de sua função objetivo.

Mais importante ainda, ele tem uma série de vantagens práticas que ajudaram a levar adiante a pesquisa em IA. Ele fornece uma maneira confiável e científica de testar programas; os pesquisadores podem comparar diretamente ou mesmo combinar diferentes abordagens para problemas isolados, perguntando qual agente é melhor para maximizar uma determinada "função objetivo". Também lhes dá uma linguagem comum para se comunicarem com outros campos - como otimização matemática (que é definida em termos de "objetivos") ou economia (que usa a mesma definição de " agente racional ").

Função objetiva

Um agente que é atribuído a uma "função objetivo" explícita é considerado mais inteligente se ele consistentemente executa ações que maximizam com sucesso sua função objetivo programada. O objetivo pode ser simples ("1 se o IA vencer um jogo de Go , 0 caso contrário") ou complexo ("Executar ações matematicamente semelhantes às que tiveram sucesso no passado"). A "função objetivo" encapsula todos os objetivos sobre os quais o agente é levado a agir; no caso de agentes racionais, a função também encapsula os trade-offs aceitáveis ​​entre o cumprimento de objetivos conflitantes. (A terminologia varia; por exemplo, alguns agentes procuram maximizar ou minimizar uma " função de utilidade ", "função objetivo" ou " função de perda ".)

As metas podem ser explicitamente definidas ou induzidas. Se a IA for programada para " aprendizado por reforço ", ela tem uma " função de recompensa " que incentiva alguns tipos de comportamento e pune outros. Alternativamente, um sistema evolucionário pode induzir metas usando uma " função de aptidão " para mudar e replicar preferencialmente os sistemas de IA de alta pontuação, semelhante a como os animais evoluíram para desejar inatamente certos objetivos, como encontrar comida. Alguns sistemas de IA, como o vizinho mais próximo, em vez da razão por analogia, esses sistemas geralmente não recebem metas, exceto na medida em que as metas estão implícitas em seus dados de treinamento. Tais sistemas ainda podem ser avaliados se o sistema sem objetivo for enquadrado como um sistema cujo "objetivo" é cumprir sua tarefa restrita de classificação.

Os sistemas que não são tradicionalmente considerados agentes, como os sistemas de representação do conhecimento, às vezes são incluídos no paradigma ao enquadrá-los como agentes que têm o objetivo de (por exemplo) responder a perguntas com a maior precisão possível; o conceito de uma "ação" é aqui estendido para abranger o "ato" de dar uma resposta a uma pergunta. Como uma extensão adicional, os sistemas movidos por mimetismo podem ser enquadrados como agentes que estão otimizando uma "função objetivo" com base em quão próximo o IA consegue imitar o comportamento desejado. Nas redes adversárias geradoras dos anos 2010, um componente "codificador" / "gerador" tenta imitar e improvisar a composição do texto humano. O gerador está tentando maximizar uma função que encapsula o quão bem ela pode enganar um componente antagônico "preditor" / "discriminador".

Embora os sistemas GOFAI muitas vezes aceitem uma função objetivo explícita, o paradigma também pode ser aplicado a redes neurais e à computação evolucionária . A aprendizagem por reforço pode gerar agentes inteligentes que parecem agir de forma a maximizar uma "função de recompensa". Às vezes, em vez de definir a função de recompensa para ser diretamente igual à função de avaliação de benchmark desejada, os programadores de aprendizado de máquina usarão a modelagem de recompensa para dar inicialmente à máquina recompensas pelo progresso incremental no aprendizado. Yann LeCun declarou em 2018 que "A maioria dos algoritmos de aprendizagem que as pessoas criaram consiste essencialmente em minimizar algumas funções objetivas." O xadrez AlphaZero tinha uma função objetivo simples; cada vitória contou como +1 ponto e cada derrota contou como -1 ponto. Uma função objetiva para um carro autônomo teria que ser mais complicada. A computação evolucionária pode desenvolver agentes inteligentes que parecem agir de forma a maximizar uma "função de aptidão" que influencia quantos descendentes cada agente pode deixar.

O projeto AIXI teórico e incomputável é um agente extremamente inteligente neste paradigma; entretanto, no mundo real, o IA é limitado por tempo finito e recursos de hardware, e os cientistas competem para produzir algoritmos que podem alcançar pontuações progressivamente mais altas em testes de benchmark com hardware do mundo real.

Aulas de agentes inteligentes

Classificação de Russel e Norvig

Russell & Norvig (2003) agrupam os agentes em cinco classes com base em seu grau de inteligência percebida e capacidade:

Agentes reflexos simples

Agente reflexo simples

Os agentes reflexos simples agem apenas com base na percepção atual, ignorando o resto da história da percepção. A função do agente é baseada na regra de ação da condição : "se a condição, então a ação".

Esta função do agente só é bem-sucedida quando o ambiente é totalmente observável. Alguns agentes reflexos também podem conter informações sobre seu estado atual, o que lhes permite desconsiderar as condições cujos atuadores já estão ativados.

Loops infinitos são freqüentemente inevitáveis ​​para agentes reflexos simples operando em ambientes parcialmente observáveis. Nota: Se o agente pode randomizar suas ações, pode ser possível escapar de loops infinitos.

Agentes reflexos baseados em modelos

Agente de reflexo baseado em modelo

Um agente baseado em modelo pode lidar com ambientes parcialmente observáveis. Seu estado atual é armazenado dentro do agente mantendo algum tipo de estrutura que descreve a parte do mundo que não pode ser vista. Esse conhecimento sobre "como o mundo funciona" é chamado de modelo do mundo, daí o nome de "agente baseado em modelo".

Um agente de reflexo baseado em modelo deve manter algum tipo de modelo interno que depende do histórico de percepção e, portanto, reflete pelo menos alguns dos aspectos não observados do estado atual. O histórico de percepção e o impacto da ação no meio ambiente podem ser determinados usando o modelo interno. Em seguida, ele escolhe uma ação da mesma maneira que o agente reflexo.

Um agente também pode usar modelos para descrever e prever o comportamento de outros agentes no ambiente.

Agentes baseados em metas

Agente baseado em modelo e objetivo

Os agentes baseados em metas expandem ainda mais as capacidades dos agentes baseados em modelos, usando informações de "metas". As informações sobre metas descrevem situações desejáveis. Isso fornece ao agente uma maneira de escolher entre várias possibilidades, selecionando aquela que atinge um estado objetivo. Busca e planejamento são os subcampos da inteligência artificial dedicados a encontrar sequências de ação que atinjam os objetivos do agente.

Agentes baseados em utilidades

Agente baseado em modelo e utilitário

Os agentes baseados em metas só distinguem entre estados de meta e estados sem meta. Também é possível definir uma medida de quão desejável é um determinado estado. Esta medida pode ser obtida através do uso de uma função utilidade que mapeia um estado para uma medida da utilidade do estado. Uma medida de desempenho mais geral deveria permitir uma comparação de diferentes estados mundiais de acordo com o quão bem eles satisfizeram os objetivos do agente. O termo utilidade pode ser usado para descrever o quão "feliz" o agente está.

Um agente baseado na utilidade racional escolhe a ação que maximiza a utilidade esperada dos resultados da ação - isto é, o que o agente espera obter, em média, dadas as probabilidades e utilidades de cada resultado. Um agente baseado em utilidade deve modelar e controlar seu ambiente, tarefas que envolveram muitas pesquisas sobre percepção, representação, raciocínio e aprendizagem.

Agentes de aprendizagem

Um agente de aprendizagem geral

O aprendizado tem a vantagem de permitir que os agentes operem inicialmente em ambientes desconhecidos e se tornem mais competentes do que seu conhecimento inicial por si só poderia permitir. A distinção mais importante é entre o “elemento de aprendizagem”, que é responsável por fazer melhorias, e o “elemento de desempenho”, que é responsável por selecionar as ações externas.

O elemento de aprendizagem usa o feedback do "crítico" sobre como o agente está fazendo e determina como o elemento de desempenho, ou "ator", deve ser modificado para melhorar no futuro. O elemento desempenho é o que consideramos anteriormente ser o agente inteiro: ele capta percepções e decide as ações.

O último componente do agente de aprendizagem é o "gerador de problemas". É responsável por sugerir ações que levem a experiências novas e informativas.

Classificação de Weiss

Weiss (2013) define quatro classes de agentes:

  • Agentes baseados em lógica - em que a decisão sobre qual ação executar é feita por meio de dedução lógica;
  • Agentes reativos - nos quais a tomada de decisão é implementada em alguma forma de mapeamento direto da situação para a ação;
  • Agentes crença-desejo-intenção - nos quais a tomada de decisão depende da manipulação de estruturas de dados que representam as crenças, desejos e intenções do agente; e finalmente,
  • Arquiteturas em camadas - nas quais a tomada de decisão é realizada por meio de várias camadas de software, cada uma delas raciocinando mais ou menos explicitamente sobre o ambiente em diferentes níveis de abstração.

Hierarquias de agentes

Para desempenhar ativamente suas funções , os Agentes Inteligentes hoje normalmente estão reunidos em uma estrutura hierárquica contendo muitos “subagentes”. Subagentes inteligentes processam e executam funções de nível inferior. Juntos, o agente inteligente e os subagentes criam um sistema completo que pode realizar tarefas ou objetivos difíceis com comportamentos e respostas que exibem uma forma de inteligência.

Geralmente, um agente pode ser construído separando o corpo em sensores e atuadores, e de modo que opere com um sistema de percepção complexo que leva a descrição do mundo como entrada para um controlador e comandos de saída para o atuador. No entanto, uma hierarquia de camadas de controlador geralmente é necessária para equilibrar a reação imediata desejada para tarefas de baixo nível e o raciocínio lento sobre metas complexas de alto nível.

Função de agente

Um programa de agente simples pode ser definido matematicamente como uma função f (chamada de "função de agente") que mapeia todas as sequências de percepções possíveis para uma ação possível que o agente pode executar ou para um coeficiente, elemento de feedback, função ou constante que afeta ações eventuais:

A função do agente é um conceito abstrato, pois pode incorporar vários princípios de tomada de decisão, como cálculo de utilidade de opções individuais, dedução sobre regras lógicas , lógica difusa , etc.

O agente do programa , em vez disso, mapeia todas as percepções possíveis para uma ação.

Usamos o termo percepção para nos referirmos às entradas de percepção do agente em um determinado instante. Nas figuras a seguir, um agente é qualquer coisa que pode ser vista percebendo seu ambiente por meio de sensores e agindo sobre esse ambiente por meio de atuadores.

Formulários

Um exemplo de um assistente online automatizado que fornece atendimento automatizado ao cliente em uma página da web.

Os agentes inteligentes são aplicados como assistentes online automatizados , onde atuam para perceber as necessidades dos clientes a fim de realizar um atendimento individualizado . Tal agente pode consistir basicamente em um sistema de diálogo , um avatar , bem como um sistema especialista para fornecer conhecimentos específicos ao usuário. Eles também podem ser usados ​​para otimizar a coordenação de grupos humanos online. Hallerbach et al. discutiram a aplicação de abordagens baseadas em agentes para o desenvolvimento e validação de sistemas de direção automatizados por meio de um gêmeo digital do veículo em teste e simulação de tráfego microscópica baseada em agentes independentes. Waymo criou um ambiente de simulação multiagente Carcraft para testar algoritmos para carros autônomos . Simula interações de tráfego entre motoristas humanos, pedestres e veículos automatizados. O comportamento das pessoas é imitado por agentes artificiais com base em dados do comportamento humano real. A ideia básica de usar modelagem baseada em agentes para entender carros autônomos foi discutida já em 2003.

Definições e usos alternativos

"Agente inteligente" também é frequentemente usado como um termo vago de marketing, às vezes sinônimo de " assistente pessoal virtual ". Algumas definições do século 20 caracterizam um agente como um programa que auxilia um usuário ou que atua em nome de um usuário. Esses exemplos são conhecidos como agentes de software e, às vezes, um "agente de software inteligente" (ou seja, um agente de software com inteligência) é referido como um "agente inteligente".

De acordo com Nikola Kasabov, os sistemas IA devem apresentar as seguintes características:

Veja também

Notas

Referências inline

Outras referências

links externos