정보통신 IT/인공지능 AI

[AI] 에이전트(Agent)

Jobs 9 2020. 11. 23. 08:19
반응형

에이전트의 정의

  복잡한 동적 환경에서 목표를 달성하려고 시도하는 시스템(모델)을 에이전트(Agent)라고 부른다. 에이전트는 기본적으로 입력기(센서 : Sensor)를 통해 자신의 환경을 파악하고, 출력기(액추에이터 : Actuator)을 통해 현재 상황에 동작하여 반응함으로써 주어진 환경과 상호작용(학습, 전개 등)한다. 에이전트의 환경은 지각을 통해 입력되며, 특정 시점까지 지각한 모든 지각들을 지각열이라고 한다. 

 

에이전트의 설계 및 구현

  에이전트는 모든 가능한 지각열에 대하여 그 행동의 선택을 지정하는 형태로 설계되며, 주어진 순간에서의 에이전트는 항상 그때까지 관찰된 지각열 전체에 의존하여 판단한다(지각하지 못한 것은 활용할 수 없음). 에이전트의 행동은 임의의 지각열에서 하나의 동작으로 치환되는 에이전트 함수([f:P* -> A])에 의해 정의된다. 에이전트 함수는 인공지능 시스템에 대한 추상적이고 수학적인 서술이며, 물리적 시스템에서 실행되는 구체적 실체인 에이전트 프로그램을 구현해야 한다.

 

에이전트의 평가

  에이전트는 지각열로부터 행동이 매핑되므로, 에이전트의 성능(행동)은 에이전트 기능의 관점에서 평가되어야 한다. 평가는 주관적인 척도이므로, 에이전트의 성공 정도를 평가하기 위한 다양한 방법이 사용되며, 필요에 따라 개발하여 활용한다.

 

지능형 에이전트

 

  에이전트 중 컴퓨터 프로그램의 형태로 구현되어 복잡하고 반복적인 작업의 자동화를 구현한 것을 지능형 에이전트 또는 소프트웨어 에이전트라고 한다. 일반적으로 에이전트라는 용어 자체가 지능형 에이전트를 의미하기도 하며, 인공지능은 합리적인 에이전트를 구축하는 것을 목표로 한다.

 

에이전트의 합리성

  지능형 에이전트는 자율적으로 감지하고 행동해야 하며, 반드시 합리적이어야 하는데, 이때 합리적(인 행동)이라는 것은 현재까지 인지한 지각열(입력의 합)을 기반으로 할 수 있는 최상의 출력(성능 평가의 기대값을 최대화)을 선택한다는 것을 말한다. 에이전트의 합리성은 완전성에 따라 완전한 합리성과 제한된 합리성으로 구분할 수 있다.

  완전한 합리성이란, 에이전트가 환경으로부터 모든 것을 인지하고 모든 기능을 최대로 활용하여 행동하는 것을 의미한다. 이는 에이전트 완성도의 관점에서 이상적인 상태이지만, 실제로는 판단 능력의 한계(기술적 한계)로 인해 사실상 구현하기는 어렵다. 따라서 에이전트의 한계를 고려한 제한된 합리성이 에이전트 성능의 실질적 목표가 된다.

  제한된 합리성은 에이전트가 모든 상황을 학습하여 대응하기 어려운 환경에서, 가용할 수 있는 자신의 능력과 모든 자원을 활용하여 목표에 도달함에 있어 거의 최적화되도록 행동하는 것을 말한다. 결론적으로, 지능형 에이전트는 제약이 있는 능력과 자원을 총동원하여 최적으로 행동하는 에이전트라고 할 수 있다.

 

에이전트와 환경

 에이전트는 센서와 액추에이터를 통해 환경과 상호작용(상태를 변화시킴)한다. 에이전트의 센서를 통해 실세계의 환경이 지각(Perceptions) 되며, 합리성을 기반으로 한 선택을 통해 액추에이터에 의해 행동(Actions)으로 나타나게 된다. 실세계의 환경은 다음과 같은 기준에 의해 분류된다.

분류 이름 설명
환경 변화의 관찰 가능성 완전 관찰 가능 환경 - 행동과 관련된 모든 환경의 모든 특징들을 에이전트가 관찰할 수 있으므로, 환경의 변화를 별도로 추적할 필요가 없음
- 체스, 바둑 등의 게임(해당 시점의 상태를 통화 변화를 관찰)
- 모든 상황이 공개됨
부분 관찰 가능 환경 - 환경의 중요한 특징은 부분적으로만 에이전트가 관찰 가능
- 브리지, 고스톱 등의 게임(일부 정본튼 숨겨짐)
환경 변화의 결정 가능성 확률적 환경 - 환경의 다음 상태에 간섭이나 불확실한 요소가 내재됨
- 이전 상태와 여러 에이전트의 행동이 모든 것을 결정하지 못함
전략적 환경 - 환경 상태가 이전 상태와 여러 에이전트의 행동으로 결정되는 것
변화 여부에 따른 분류 정적인 환경 - 에이전트가 행동을 수행하기 전까지는 환경이 변하지 않음
- 에이전트가 사고하는 동안 정적 환경은 변경되지 않음
- 환경의 변화는 시간과 무관하며 오로지 에이전트의 행동에 의해 이루어짐
- 에이전트가 사고하는 동안 환경 또는 세계를 관찰할 필요가 없음
동적인 환경 - 에이전트가 행동과 독립적으로 시간의 흐름에 따라 변화 가능
- 에이전트가 시간의 흐름에 따라 반드시 반응(행동)해야 함
- 자율주행차 등의 환경이 이에 속함
연속성에 따른 분류 연속적인 환경 - 구별되는 인지와 행동 수가 각각 유한하고 환경도 이산적인 환경이 아닌 경우
멀티 에이전트 환경 - 환경에 둘 이상의 협력 또는 경쟁 관계의 에이전트들이 포함된 환경
- 각각의 전략 또는 게임 이론 등이 환경에 관여
- 합리성이 부족한 에이전트들의 상호작용으로 사회 경제 시스템에 적용
- 엔지니어링 환경에서는 일반적으로 멀티 에이전트 속성이 보이지 않음

 

 

에이전트의 종류

 

테이블 기반 에이전트(Table Based Agent)

  지각한 정보를 기초로 테이블을 참조(매핑)하여 행동을 선택하는 에이전트로, 내재적 프로그램(테이블)에 의해 프로세스가 정의된다. 신경망, 절차(프로시저) 또는 규칙 기반 시스템 등에 의해 구현되며, 사전에 정의된 평가 기준을 테이블에서 조회한다. 비교적 단순한 구조이지만 테이블이 크기가 매우 커질 우려가 있으며, 테이블의 크기에 따라 학습 시간이 과도하게 소요될 수 있다는 단점이 있다. 일반적으로 모든 행동이 사전에 테이블에 저장되기 때문에 자율성이 거의 없는 에이전트이다.

 

지각 기반 에이전트(Percept Based Agent)

 지각된 정보(센서로 읽은 정보)를 인지하여 실세계의 현재 상태를 바꾸고 이펙터를 통해 행동을 트리거(자극)하는 에이전트로 반사 에이전트 또는 자극-반응 에이전트라고도 한다. 테이블 기반 에이전트와는 달리 추론을 위한 내부설정(전략적 계획 및 학습)이 필요 없는 것이 특징이며, 상대적으로 효율적인 에이전트라고 할 수 있다. 자극에 의해 반응하므로 서로를 겨누는 다중 목표(게임 등)에는 적합하지 않다.

 조건(IF)에 의한 반응(THEN)이 행동으로 나타나는 구조이다.

 

포섭 아키텍처(Subsumption Architecture)

  단순 반사 에이전트(Simple Reflex Agent)와 유사하며 사고 과정 없이 단지 센서에 의한 감각 입력에 따라 행동하는 에이전트이다. 명시적 지식 표현이 없으며, 행동이 중앙 집중되지 않고 분포되어 있는 특성을 가진다. 자극의 응답은 단순 반사로 나타나며, 개별 에이전트가 매우 간단하다. 복잡한 행동을 간단한 기반 행동의 조합으로 나타내며, 아메바와 같은 단세포 생물의 특성과 유사하다.

  포섭 아키텍처는 서로 다른 행동을 가지는 다층 레이어들로 이루어져 있으며, 행동의 설계는 하위 개념에서부터 시작한다. 즉, 상위 레이어는 하위 레이어를 기각할 수 없다.

  3층의 레이어로 구성된 브룩스의 이동 로봇이 포섭 아키텍처의 대표적인 예인데, 가장 하위의 레이어부터 장애물 회피 기능(레이어 0), 방랑 기능(레이어 1 : 단순 이동),및 탐사 기능(레이어 2 : 방향성)으로 구성되어 있다.

 

상태 기반 에이전트(State Based Agent)

  모델 기반 에이전트라고도 하며 작업 내용에 따라 상태가 정기적으로 업데이트 되는 특성을 가진 에이전트이다. 세상이 진화하는 방법과 에이전트의 행동이 세상에 미치는 방법에 관한 지식을 알아야 하기 때문에 상태의 추적을 유지해야 하며, 추적된 상태와 지식(메모리에 저장)을 기반으로 행동을 결정한다. 

 

목표 기반 에이전트(Goal Based Agent)

  에이전트가 행동의 기초를 형성하기 위한 목표들을 가지고 있음을 전제로 하며, 현재 상황에 기초하여 목표를 설정하고 대안을 체계적으로 탐색하여 문제를 해결한다. 즉, 현재 상태를 지각하고, 이를 사전에 설정된 목표와 비교하여 행동을 결정하는 것이다. 선험(경험)적인 정보는 사용하지 않는다.

 

효용 기반 에이전트(Utility Based Agent) 

  여러 목표를 가진 경우, 서로 다른 목표에 대한 다른 우선 순위를 각각의 효용으로 비교하여 우선 순위를 정하는 에이전트이며, 더 일반적인(다기능, 다목적) 에이전트를 위한 기반으로 활용되는 경우가 많다. 효용 함수를 사용하여 행위의 기대 효용을 측정하며, 각 결과의 확률과 효용이 주어졌을 때 에이전트가 얻을 수 있는 효용들의 평균을 최대화할 수 있는 행동을 선택하게 된다.

 

학습 에이전트(Learning Agent) 

  에이전트는 초기에 상태에 대한 사전 정보가 전혀 없으며, 스스로 상태를 학습하여 성능 요소(경로 계획 등)를 수정하게 된다. 진정한 자율을 필요로 하는 에이전트이며 로봇청소기 등이 그 예가 될 수 있다.

반응형