출처: https://3months.tistory.com/307 [Deep Play]

3-2/기초인공지능

Intelligent Agents

코딩하는 랄뚜기 2021. 9. 7. 16:31

Agents and environments

agent - 인식하고 행동하는 주체

percept - 지각할 수 있는 모든 데이터들

environment - 데이터를 제공하는 환경

actuators - function의 결과 값을 행동으로 옮기는데 사용되는 도구

actions - agent가 하는 행동


The concept of rationality

Rational agent 목표는 옳은 일을 하는 것이다.

Right thing(옳은 일)이란 가장 성공적인 것과 가장 근사한 것을 의미한다.

Right thing을 판단하기 위해서는 4가지가 필요하다.

1. Performance measure

2. Prior environment knowledge 

3. Actions that the agent can perform

4. Percept sequence to date

 

위를 바탕으로 정의 하자면 A rational agent는 주어진 percept sequence to dataprior environment를 활용하여 performance measure를 최대화 되게 행동하는 agent이다.

 

착각하지 말아야 할 것은 Rationality가 omniscience(전지전능)과 perfection(완벽)을 의미하는 것은 아니라는 것이다.

 

더 완벽하게 Rationality를 유지하려면 어떻게 해야 할까? Environment는 매우 가변적이기 때문에 그에 따른 Rationality의 기준도 바뀌어야 한다. 그렇기 때문에 항상 informationenvironment에서 explore하면서 gathering해야한다. 그리고 주어진 information을 바탕으로 percept sequence를 수정하고 prior knowledge를 넓혀야 한다. 이렇게 스스로 학습하며 adapt 할 수 있다면 이르 automomous하다고 한다.


PEAS

PEAS란 rational agent가 처한 상황을 알 수 있게 해주는 기준이다.

  1. Perfromance measure
  2. Environment
  3. Actuator
  4. Sensor

예를 들어 자율주행을 agent가 수행해야 한다면 performance measure은 안전성,경제성,합법성,편리성 등이 되고 Environment는 도로가 될 것이다. Actuators는 자동차가 움직이는데 필요한 장치들(브레이크, 엑셀, 바퀴 등)이 될 것이고 Sensor는 GPS, engine sensors 등이 될 것이다.


Environment types


Agent types

Simple reflex agents

Simple reflex agents

현재 들어온 데이터만으로 program을 수행한다. Simple reflex agents는 history를 사용하지 않으므로 무한루프를 돌 가능성이 매우 커진다. 또한, Fully observable한 enviornment에서는 어느 정도 작동할 수 있겠지만 Partially observable한 environment이면 거의 작동이 불가능하다. 이를 해결하기 위해 나온 것이 Model-Based 방식이다.

 

Model-based reflex agents

Model-based reflex agents

Model-based reflex agents는 history를 가지고 내가 처한 환경을 update 시켜준다. 위의 그림을 보면 바깥 세상을 관찰하지 않아도 How the world evolves가 State에 지속적으로 반영(Update-State)되면서 과거의 State(history)를 쌓아가고 있다는 것을 확인할 수 있다. 그래서 과거의 history에 기반한 의사결정을 하고, 바깥 세상을 관찰하지 않아도 내재적으로 어떠한 Action을 할 지 알 수 있다. 이러한 방식은 Simple reflex방식과 달리 Partially Observable한 상황에서도 잘 쓰일 수 있다. 그러나 Condition-action rules가 변하지 않기 때문에 항상 똑같은 행동만 해야한다는 한계가 있다. 예를 들어 지능형 에이전트 Vaccum cleaner라면 '오늘은 깨끗이 청소해라', '오늘은 전기세 좀 아껴줘'등 다른 명령을 내려도 이해 할 수 있어야 한다.

 

Goal-based agents

Goal-based agents

Goal-Based 방식을 이용하면 에이전트는 state와 세상이 어떻게 변화하는지를 알고, goal을 바탕으로 의사결정을 하게 된다. 위의 그림을 보면 Goals가 있고 이것을 성취하기 위해 어떠한 Action을 취해야 하는지를 결정하고 있음을 알 수 있다. Agent가 타겟팅하는 Goal을 Formulation하는 과정을 거쳐서 Goal에 따라 최적의 Action Decision을 내릴 수 있는 매커니즘을 담고 있다.

 

Utility-based Agents

Utility-based Agents

인간은 대부분의 경우 Multi Goal을 가지고 있다. 두 개 이상의 Goals를 섞는 방식을 Utility-Based방식이라고 한다.

 

Learning Agents

지금까지 4가지 Learning 가능한 Architecture들에 대해 알아보았다. Condition, Action, Rule을 업데이트 하고, Goal을 Redefine하고, Goal을 성취해 나가는 과정에서 Model Parameter를 조정한다. Learning은 기본적으로 Sensor로 받는 perception과 agent가 생각하는 performance standard간의 Critic으로 부터 feedback을 받아 learning element가 작동한다. 기본적으로 지식은 performance element 안에 내재되어 있고, 이것을 change하는 형태의 구조를 가지고 있다. 그 다음 경우에 따라서 utility로 가게 되면서 learning goals를 해야 하고, 이것이 발생하면 풀고자 하는 problem이 생기고, 이것을 바탕으로 perfomance element를 조정 할 수 있게 된다. 이러한 전 과정의 구조를 Learning Element의 구조라고 부른다.

'3-2 > 기초인공지능' 카테고리의 다른 글

Automated Planning  (0) 2021.11.11
Inference in First-Order Logic  (0) 2021.11.10
First-Order Logic  (0) 2021.10.31
Search  (0) 2021.09.10
Introduction  (0) 2021.09.07