본문 바로가기

[인공지능] 2주차 (2): Agent

여기부터 교재 2장 내용

교수님피셜) 2장 중요함

 

AI를 개발한다 = Intelligent agent, Rational agent를 개발한다

 

Agent:

Rationality: Agent가 '똑똑하다'는 것은 정확히 무엇을 의미하는가?

Task environment 명세: Agent가 어느 환경에서 작업하는가

Environment properties: 작업 환경을 여러 유형으로 나눔

Agent types: 그 환경에서 Agent를 어떤 식으로 만들 수 있는가? (의사결정구조)

 

 

Agent

- 자율 존재 Autonomous entity(이게 핵심)

존재: 프로그램, H/W, ... 뭐든

환경에 놓여서 자율적으로 어떤 행동을 (스스로 결정해서 수행)하는 개체(자율 존재)

 

- 환경과 어떻게 상호작용하는가?

Sensor: 환경을 인식(perceive)한다 (다른 수단은 없다). 인식+해석

환경이라는 Raw data를 perceive하고, '환경 변화를 유발하는 행동'을 한다.

 

행동을 하기 위한 신체: effector

 

Sensor <-> 감각 기관: 눈, 코, 입, ...

Effector <-> Body: 손, 다리, 발, ...

 

그 순간 무슨 행동을 할 지는 <스스로 결정>한다. 무슨 행동을 할 지 주어지면 Agent가 아니다.

 

환경: Object가 놓여 있다.

Agent: 책상과 같은 passive object가 아닌 "active object"

Agent는 환경을 구성하는 '객체'이면서 환경을 변화시키는 '주체'이기도 하다

Ex) 책을 옮긴다 = 책의 위치가 바뀜 = 환경에 변화를 줌

     팔을 든다 = 환경을 구성하는 '내' 상태가 바뀜 = 환경에 변화를 줌

 

 

Percept

 

Agent의 핵심 기능: 여러 번 sensing 한 것(percept)을 agent function을 통해 행동으로 mapping 한다.

$P^*\; \rightarrow\; A$

$P^*\; =\; P_1,\; P_2,\; \cdots$

현재 행동 $A$를 결정하는 데에 Percept는 현재의 Percept 뿐만 아니라 필요 시 과거의 Percept(그동안 인식해온 것)을 기반으로 할 수 있다.

 

 

 

진공 청소기가 '자율 존재'라면?

방에 먼지가 없으면 나오고 먼지가 있는 방에 가서 청소를 한다.

Percepts: 위치와 상태 [A, Dirty] - A방은 더럽다

Actions: Left, Right, Suck, NoOp(No Operation)

 

 

$cf.$

여기서 Percepts는 Raw sensory data가 아니다.

즉 '더럽다'고 sensing한 게 아니라, 어떤 sensory data에 고도의 해석이 가해져 '더럽다'는 결론이 도출된 것이다.

 

현재 순간에 방이 더러운가 깨끗한가로 행동이 결정되기 때문에 Percepts sequence를 열거하는 건 좋은 방법이 아니다.

즉 [A, clean]일 때는 어떤 행동을 하고, [B, Dirty]일 떄는 어떤 행동을 하고, ...이런 식으로 할 게 아니라

하나의 Function으로 정리

 

Rational Agent

매 행동 선택 시 성능 척도 상에서 최대치를 낼 것으로 기대되는 행동을 선택하는 Agent

= 결과가 제일 좋을 것으로 예상되는 행동을 할 줄 알고, 이런 행동을 '자율적으로' 결정하고 실행할 수 있는 Agent

-> Intelligent agent