인공지능

Agent

아뵹젼 2021. 10. 16.

Agents 

-AI 의 정의는 Acting rationally 에 부합하는 이성적으로 행동하는 인공지능이다

- Sensor 를 통해 AI 가 처한 환경을 인식하고, Actuator(동작 기관) 을 통해 주어진 환경에서 행동한다.

 

- Agent 의 예 : 사람, 로봇, 온도조절기(냉난방기), 소프트봇 등등

- Percept : 특정한 시각 (순간) 에서의 지각

- Percept sequence : 그러한 지각들의 연속

- Agent function : percept sequence 를 입력으로 받아 action 을 리턴함

- Agent program : Agent function 을 실제로 구현한 것

 

 

 

A Vacuum-Cleaner World

 

진공 청소기 세상을 정의하는 방법은 다음과 같다.

Percept : Location (청소기가 방 A에 있는지 또는 B에 있는지) , dirt (현재 위치한 방에 먼지가 있는지 없는지)

Action : Left, Right, suck up(먼지 흡입), do nothing(아무것도 X)

 

위의 표에 따르면 [A ,Clean] -> 방 A에 있는데 방이 깨끗하면, Right(방 B로 이동) 의 액션을 취할 수 있다.

Percept sequence 의 입력 길이가 1일 때는 4가지 경우가 존재하고, 길이가 2일 때는 4 x 4 = 16가지의 경우가 존재한다. 

또한, rational Agent 는 Action 부분이 rational 하게 채워져야만 한다. 이는 옳은 일에 대한 정의가 필요함을 뜻한다.

 

 

Rational Agents

-ratioanl agent 는 옳은 일을 해야 한다.

-여기서 옳은 일이란 무엇일까?

  • agent 의 행동의 결과
  • agent 의 행동은 환경의 상태를 변화시킨다.
  • Performance measure (성능 평가 기준) : 환경상태의 연속을 평가한다. (sequence of environment states)

- Vacuum-cleaner agent 의 성능 평가 기준

  • 청소한 먼지의 양 (빨아들인 먼지의 양)
  • 깨끗한 방의 개수 (깨끗한 방에 대한 정의도 필요하다)

 

Rationality

- Requirements

  • Performance measure (성능 평가 기준)
  • agent 의 환경에 대한 사전 지식
  • Action
  • Percept sequence (매 time step 마다 agent 의 location 과 dirt 에 대한 최신 정보를 수집해야함)

- rationality 의 정의 

: rational agent가 percept sequence 와 사전 지식들이 주어졌을 때, 성능 기준을 최대로 만들 수 있는 액션을 선택하는 것이다.

 

 

An Example

- vacuum-cleaner agent 은 rational 할까? -> 아래와 같은 경우 rational 하다.

  • 방에 먼지가 있으면 청소하고, 없다면 다른 방으로 이동한다.
  • 성능 기준 : 1 부터 1000까지의 매 time step 마다 각 방이 깨끗하다면 1점을 부과한다.
  • 방에 대한 지도 정보가 있으며, 먼지의 분포와 시작 위치는 모른다.
  • 깨끗한 방은 계속 깨끗하며, 현재 있는 방에서만 먼지를 빨아들일 수 있다.
  • Actions : Left, Right, Suck
  • Percept sequence : agent 는 현재 공간과, 현재 공간이 더러운지 아닌지를 인지할 수 있다.

- 만약, 성능 기준을 바꿔서 각 action 마다 1점을 감점한다면? -> rational 하지 않을 것이다.

 

 

Related concepts

- Omniscience (전지적 - 가상의 개념)

  • 일어날의 모든 경우를 알고 있는 것을 가정하는 논리
  • 이때 성능(performance) 를 최대화 시킬 수 있다 
  • Rationality 는 기대값을 최대화 시킬 수 있다

- Learning (학습) : rational agent 는 경험으로부터 배워야 한다

- Autonomy (자율성) : 미리 프로그램화된 것이 아니라 적응적인 프로그램이다.

-> learning 과 autonomy 는 rationality 의 속성이다.

 

 

Task Environments

- rational agent 를 만들기 전에, "problem" 을 정의해야 한다.

- agent 는 주어진 문제에 대한 해결책이 될 것이다.

- task environment 구체화하기

  • Performance measure
  • Environment
  • Actuators
  • Sensors

- PEAS 구체화하기 (자율 주행 택시)

 

Properties of Task Environments

- Fully observable vs partially observable

액션을 선택하는 데 있어서 필요한 모든 정보를 센서가 수집가능하다면 Fully observable 이다.

즉, 어떤 특정한 시각에 환경의 완전한 상태에 접근할 수 있는 환경이다.

예를 들어 바둑은 fully observable, 포커게임이나 진공청소기는 partially observable 이다.

 

- Single-agent vs multi-agent

환경 속에 하나의 agent 가 있으면 single, 여러개의 agent 가 있으면 multi agent 이다.

여러 개의 agent 가 있을 때는, 경쟁을 하거나 협동을 할 수 있다.

ex) crossword puzzle - single, chess - multi + competitive, automated taxi - multi + cooperative

 

- Deterministic vs stochastic

환경의 다음 상태가 현재 상태와 action만으로 완전히 결정된다면 Deterministic 하다.

부루마블 같은 주사위 게임은 현재 위치 + 주사위 굴리기 라는 행위 만으로 다음 상태를 결정할 수 없기 때문에 stochastric 하다. (숫자가 몇이 나올지 알 수 없기 때문에)

반면 진공 청소기 같은 경우는 deterministic이다.

 

- Episodic vs sequential

Task environment 를 여러개의 에피소드로 나눴을 때, 다음 에피소드가 현재 에피소드의 action에 영향을 받지 않을 때 Episodic 하다고 한다.

반대로 이전의 action 이 현재 에피소드에 영향을 주는 체스같은 경우는 Sequential 하다.

 

- Static vs dynamic

Agent 가 생각하는 동안 기다리주는 task environment 이면 static하다.

기다려주지 않거나 시간제한이 있다면 dynamic 이다.

체스 같은 경우는 static, 자율주행 택시는 dynamic 이다.

 

- Discrete vs continuous

환경, 시간, 인지 그리고 액션의 상태가 연속적인 자율주행 택시의 경우 continuous, 

연속되지 않고 구분되는 체스같은 경우 discrete 하다.

 

- Known vs unknown

agent 가 자신의 환경에 대해 정보를 알고 있다면 known 이다. 

진공청소기는 방에 대한 지도를 알고 있기 때문에 known 이다.

'인공지능' 카테고리의 다른 글

Problem-solving agent, search algorithm  (0) 2021.10.17
Agent Program  (0) 2021.10.16
인공지능 역사  (0) 2021.10.16
인공지능 연구 분야  (0) 2021.10.16
인공지능이란  (0) 2021.10.16

댓글