-
인공지능 Agent인공지능 2020. 10. 15. 12:44728x90
에이전트(Agents)
AI의 정의 : Acting rationally 이성적으로 행동하는 인공지능
센서를 통해 AI가 처한 환경(environment)에 대해 인지하고, 동작기관(actuator)를 통해 주어진 환경에서 행동합니다.
Agent의 예 : 사람, 로봇, 온도조절기(thermostats) 등
- Percept : Agent 입장에서의 지각
- Percept sequence : 그러한 지각들의 연속
- Agent function(percept sequence) -> action : 에이전트 함수는 percept sequence 를 입력으로 받아 action을 리턴합니다.
- Agent program : Agent function의 구체적인 구현입니다. Agent function은 단지 추상적인 개념에 불과합니다.
Vacuum-cleaner world : 진공 청소기 세상
진공청소기 세상을 정의하는 방법은 다음과 같습니다.
Percept : Location(청소기가 방 A에 있는지 B에 있는지), dirt(자신의 방에 먼지가 있는지 없는지)
Action: Left, right(방을 옮겨다니는 행동), suck up(먼지를 빨아들이는 행동), do nothing(아무것도 하지 않는 행동)
Percept sequence가 Agent function의 입력으로 들어오면 Action이 결과로 나오게 됩니다.
즉 위 표에 따르면 [A, Clean] (방 A에 있는데 그 방이 깨끗하면) -> Right(방 B로 이동해라) 라고 정의될 수 있습니다.
이 같이 표를 통해 Agent function을 정의하게 되면 모든 가능한 percept sequence에 대해 정의해주어야 하며 그랬을 때 비로소 Deterministic(결정적) 하다고 합니다.
결정적이라는 것은 Agent가 어떤 state에 있을 때 다음에 취해야할 행동이 100% 결정되어있다는 것을 의미합니다.
반대로 확률적으로 결정되는 모델을 Stochastic model 이라 합니다.
다시 Rational agent에 대한 이야기로 돌아오자면
Rational agent는 옳은 일(right thing)을 행합니다. -> 옳은 일에 대한 정의가 필요
옳은 일이란?
-
Agent의 행동의 결과(consequences)
-
Agent의 행동은 환경의 상태(state)를 변화시키기 때문
-
Performance measure(성능 평가 지표) : 환경 상태(environment state)의 연속(sequence)을 평가하며, 이 지표에 따라 옳은 일의 정의가 달라짐
Vacuum-cleaner agent의 평가 기준 정의
-
먼지를 빨아들인 양 : 진공 청소기가 빨아들이고 내뱉고 하는 행위를 반복하는 경우 문제가 발생
-
깨끗한 방의 개수 ( 깨끗한 방의 개수를 측정하는 방법도 정의해야함 )
-
매 time step 마다 빈 방의 개수를 세는 방법
-
최종적인 빈 방의 수만 세는 방법
Rationality 의 정의
사전 지식(built-in knowledge)과 percept sequence가 주어졌을 때 성능 기준(performance measure)을 최대화 시키는 Agent의 행동을 선택하는 것입니다.
그렇다면 Agent의 방이 더럽다면 청소 후 움직이고, 깨끗하다면 그냥 옆 방으로 이동하는 vacuum 모델은 rational 할까?
가정 :
-
환경에 대한 지도 정보가 있다.
-
먼지의 분포와 Agent의 시작위치를 모른다.
Percept sequence : agent의 location과 dirt 정보를 매 time step 마다 수집
위와 같은 경우 rational 합니다. 하지만 평가 지표에서 움직일때마다 감점한다면 이는 rational 하지 않습니다.
관련된 컨셉
-
Omniscience(전지적) : 일어날 일의 모든 경우를 알고 있는 것을 가정하는 논리
길가다가 새 똥 맞는 것처럼 매우 낮은 확률의 사건도 알고 있음
이런 경우 성능(performance)를 최대화시킬 수 있음 -> 결과가 확률적으로 결정되는 경우에는 기대값을 최대화 하는 방식임 -
Learning : 학습
agent가 스스로 겪은 경험을 통해 학습해나가는 이론 -
Autonomy : 자율성
적응적인(adaptive) 프로그램을 만듦
Learning 과 autonomy는 rationality 와 관련된 내용입니다.
Task environment : Agent가 해결해야 하는 문제
정의법
-
Performance measure
-
Environment
-
Actuators
-
Sensors
자율 주행 차 Task environment 정의
Task environment의 속성
-
Fully observable vs partially observable
action을 선택하는데 있어서 필요한 모든 정보를 센서가 수집가능하다면 이는 Fully observable
예를 들어 바둑은 Fully observable, 스타크래프트는 partially observable
Vacuum 도 partially observable 입니다. 왜냐하면 옆 방의 정보는 모르기 때문입니다. -
Single agent vs multi agent
Competitive(경쟁적인) 관계일 수도 Cooperative(협력적인) 관계일 수도 있음
체스 : multi agent + competitive
Crossword puzzle : single agent
자율주행차 : multi agent + Cooperative -
Deterministic vs stochastic
Environment의 다음 상태가 현재 상태와 action으로 완전히 결정된다면 Deterministic 합니다.
부루마블 같은 주사위 게임은 현재 위치와 주사위를 굴린다. 라는 행위만으로는 다음 상태를 결정할 수 없기에 stochastric입니다. (주사위에서 숫자가 몇이 나올지 알 수 없기 때문입니다) -
Episodic vs sequential
Task environment를 몇 개의 에피소드로 나누고, 이들간의 연관성이 전혀 없을때 Episodic하다고 합니다.
반대로 이 전의 Action이 미래의 Action에 영향을 줄 때 Sequential 하다고 합니다. -
Static vs dynamic
Agent가 생각할 때 기다려주는 task environment이면 static, 기다려주지 않거나 시간 제한이 있는 경우 dynamic -
Discrete vs continuous
시간이 step 단위로 구분될 경우 discrete, 구분되지 않고 연속적인 경우 continuous - Known vs Unknown
Agent가 environment에 대해 알고 있는 경우 known 입니다.
vacuum cleaner agent의 경우 knwon 입니다.
'인공지능' 카테고리의 다른 글
AI Problem-solving agent와 Search 알고리즘 (0) 2020.10.16 AI Agent Program (0) 2020.10.15 인공지능의 간략한 역사 (0) 2020.10.14 인공지능 연구 분야 (0) 2020.10.14 인공지능 시작 (0) 2020.10.13