jjinyeok 성장일지

# 2 AI Agent 본문

[인공지능]

# 2 AI Agent

jjinyeok 2022. 7. 7. 20:04

Agent란 주위를 인식하고 행동하는 객체입니다. 따라서 AI를 공부하는 목적은 AI Agent를 만드는 일이라고 봐도 무방할 것입니다.

 

우리는 AI Agent를 4가지 카테고리로 분류할 수 있습니다.

사고하는 모델인지 동작하는 모델인지 (Cognitive model vs Active model) 사람처럼 동작하는 모델인지 합리적으로 동작하는 모델인지 (Humanly vs Rationally)로 말이죠.

  Humanly Rationally
Cognitive model Thinking humanly Thinking rationally
Active model Acting humanly Acting rationally

사람처럼 동작하는 모델은 합리적인 모델과는 다르게 실수가 가능합니다. 단지 사고하는 모델보다는 동작하는 모델이 더 쓸모가 많습니다. 따라서 우리가 추구하는 AI Agent는 합리적으로 동작하는 Agent일 것입니다.

 

그렇다면 합리적으로 동작한다는 것은 어떤 의미일까요?

이것은 합리적인 행동을 하는 것을 의미합니다. 그렇다면 합리적인 행동이란 무엇일까요?

합리적으로 동작하는 Agent는 어떤 경우에 대해 사용가능한 정보가 주어졌을 때, 목표 달성을 최대화합니다. 즉 주어진 정보에 대해 최적값을 도출해 행동하는 것입니다.

 

이때, 합리적으로 동작하는 Agent를 설명하기 위한 PEAS라는 개념이 있습니다.

Agent의 성능을 측정하는 지표 P: Performance measure

Agent의 주위환경 E: Environment

Agent의 동작을 담당하는 A: Actuators

Agent의 인식을 담당하는 S: Sensors의 약자입니다.

Agent는 Sensors를 통해 Environmnet를 인지하고 Actuators를 통해 합리적으로 동작합니다. 전반적인 과정의 성능을 Performance measure를 통해 측정합니다.

 

이때, Agent에서 Performance measure는 각 Agent의 목적에 맞게 잡아야합니다. Actuators는 모터, 스크린 등 필요한 목적에 맞게 필요한 하드웨어를 조합해서 동작하게끔 합니다. Sensors는 AI Agent 기준으로 Input Data입니다.

하지만 Agent의 주위환경인 Environment는 다양하고 복잡하죠.

 

때문에 저희는 Environment를 6가지의 조건에 따라 분류합니다.

 

1. Fully observable vs. Partially observable

Agent의 Sensors가 Environment 전체를 파악할 수 있냐 없냐의 조건입니다.

Fully observable하다는 것은 Agent가 Environment 전체를 파악할 수 있다는 의미입니다.

Partially observable하다는 것은 Agent가 Environment 전체를 파악할 수 없다는 의미입니다.

 

2. Deterministic vs. Stochastic vs. Strategic

Environment의 변화가 무엇을 통해서 이루어지느냐의 조건입니다.

Deterministic하다는 것은 Environment가 오직 Agent의 동작을 통해서만 변화된다는 의미입니다.

Stochastic하다는 것은 다양한 요소로 Environment가 변할 수 있다는 의미입니다.

Strategic하다는 것은 Environment가 다른 외적인 요소 없이 본인 Agent와 다른 Agent들의 동작을 통해서만 변화된다는 의미입니다.

즉, Deterministic하다는 것은 오직 본인 Agent만이, Strategic하다는 것은 Environment 안에 있는 Agent들만이 Environment를 변화시킬 수 있다는 의미입니다.

 

3. Episodic vs. Sequential

Agent의 동작이 독립적인 에피소드로 나뉘는지에 대한 조건입니다.

Episodic하다는 것은 Agent의 동작이 이전의 동작에 영향을 받지 않는다는 의미입니다.

Sequential하다는 것은 Agent의 동작이 이전 동작에 영향을 받는다는 의미합니다.

 

4. Static vs. Dynamic vs. Semi-Dynamic

Environment의 변화가 언제 어떤식으로 일어나는가에 대한 조건입니다.

Static은 Agent가 행동을 결정 내리기 전에 Environment의 변화가 일어나지 않는다는 의미입니다.

Dynamic은 Agent가 행동을 결정 내리기 전에 Environment가 변화한다는 의미입니다.

Semi-Dynamic은 행동을 결정 내리기 전에 Environment 자체는 변하지 않지만, Agent의 성능이 변경되는 경우입니다. 예를 들면 시간 제한이 있는 바둑 같은 경우, Environment는 Static하지만 시간이 지남에 따라 Agent의 성능이 변하기 때문에 Semi-Dynamic합니다.

 

5. Discrete vs. Continuous

Environment를 모델링할 때, Environment가 분류 가능하냐에 대한 조건입니다.

Discrete는 이산적으로 Environment를 모델링한다는 의미입니다.

Continuous는 연속적으로 Environment를 모델링한다는 의미입니다.

예를 들어 0과 1로 나뉘어지는 Environment는 Discrete하고, 0부터 1 사이의 값을 가지는 Environment는 Continuous합니다.

 

6. Single agent vs. Multi agent

Environment에 Agent가 한개인지 여러개인지에 대한 조건입니다.

Single agent는 Environment에 Agent가 하나 있다는 의미입니다.

Multi agent는 Environment에 Agent가 여러개 있다는 의미입니다.

 

Agent가 어떻게 인식하고 행동하는지에 대해 알아봤습니다.

이때, Agent는 단지 현재의 Environment만을 인지하고 행동하지 않습니다. 지금까지 인지했던 기록들을 통해 합리적으로 결정하고 행동합니다. 이때, 그렇다면 인지했던 기록들을 통해 합리적으로 결정한다는 것은 어떤 의미일까요?

즉, Agent는 인지했던 기록들(Percept History)을 통해 합리적으로 행동(Action)하는 함수 f를 만듭니다.

 

2가지 방법이 있습니다.

1. 인식했던 기록들을 저장해둔다.

2. 인식했던 기록들을 통해 합리적으로 결정하고 행동하는 함수를 발전시킨다.

 

추후 인식했던 기록들을 저장해두고, 그에 맞추어 합리적으로 행동하는 kNN (k-Nearest Neighbors) 모델과 인식했던 기록들을 통해 함수를 발전시키는 모델인 다른 Machine Learning 모델에 대해서 정리하겠습니다.

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

#1 Can machine think?  (1) 2022.07.04
Comments