[인공지능] Lecture02_Intelligent Agents

ZEDY·2024년 3월 25일

인공지능

목록 보기
1/4

인공지능 수업을 들으며 정리한 내용임을 밝힙니다.


Intelligent Agents

AI는 합리적인 에이전트를 만드는 것이다.

AI = Designing Rational Agents

  • Agents : 환경을 인식하고(센서 사용) 환경에 대해 행동(Actuators 이용)하는 무언가
    예) 사람, 로봇, SW ..
  • Percepts 지각 : 에이전트가 인식한 모든 것 : inputs
    - Percept sequence : 에이전트가 인식한 모든것의 약사
  • Agent function : 에이전트가 인식한 것의 시퀀스와 액션과 맵핑하는 함수. 즉, 에이전트가 인식한 것을 받아서 어떤 행동을 할지 결정하는 함수. 즉, 주어진 환경에서 어떤 행동을 취할지를 결정한다.

    간단한 예시)
  1. 스마트폰
    에이전트 : 스마트폰.
    이 스마트폰은 환경을 인식하기 위해 카메라나 센서를 사용하고, 사용자의 입력(터치 등)을 받아들여서 화면에 표시하거나 다양한 작업을 수행한다. 그리고 스마트폰의 '에이전트 함수'는 사용자의 입력과 환경 정보를 받아들여서 해당하는 앱을 실행하거나 작업을 수행하는 것이다.

Intelligent Robot Riding Bicycle

지능적인 자전거를 타는 로봇을 만들기 위해 필요한 요소

  1. Percepts : 로봇 눈(카메라 또는 센서)
  • 도로 상태와 환경을 인식
  • 로봇이 주변 환경을 감지하고 인식하는 데 사용되며, 이것이 로봇의 "percepts(지각)"로 작용한다.
  1. Action : 로봇 팔, 몸통 및 다리
  • 자전거를 조종하고 페달을 밟기 위해 필요
  • 이러한 부분들은 로봇이 자전거를 제어하고 움직이는 데 사용되며, 이것이 로봇의 "actions(행동)"으로 작용한다.
  1. Agent Function 처리 장치 및 제어 프로그램
  • 로봇이 자전거를 타기 위한 행동을 결정
  • 이것은 로봇의 "에이전트 함수(agent function)"로 작용하며, 로봇이 인식한 정보와 현재 상황에 기반하여 적절한 행동을 결정하는 역할을 한다.

로봇이 자전거를 타는 성능을 어떻게 평가할 수 있는지

  1. Sequence of Actions : 올바른 자전거 타기 방법
  • 로봇이 페달을 밟고 장애물을 피하는 등 정확한 자전거 타기 동작을 수행하는지 확인
  • 이것은 일련의 행동들로 나타납니다.

로봇이 자전거를 타는 법을 배우는 방법

  1. 어떻게 로봇이 자전거를 타기 위한 결정 및 제어 프로그램을 구축할 것인가?
  • 로봇이 자전거를 타기 위한 일련의 행동을 결정할 수 있는 프로그램을 개발
  • 주로 기계 학습 및 제어 이론을 기반

로봇의 성능을 자체적으로 향상시킬 수 있는지

  1. 로봇이 어디서든 자전거를 타는 방법을 향상시킬 수 있는지?
  • 이것은 로봇이 다양한 환경에서 학습하고 경험을 쌓으면서 성능을 향상시킬 수 있는지에 대한 문제
  • 이를 위해서는 지속적인 학습과 자가 개선 알고리즘이 필요합니다.

Rationality : 합리성

Rational Agent

인공지능 에이전트가 얼마나 '올바른 행동'을 하는지에 대한 개념
-> 여기서 '올바른 행동'이란 환경을 특정 상태에서 다른 상태로 이동시키는 행동의 일련을 의미 : a sequence of actions
이 일련의 행동이 desirable 바람직한 경우, 에이전트는 잘 수행한 것입니다.

performance measure : 성능 측정 기준

성능 평가를 위해 필요.
-> 주어진 환경 상태의 일련을 평가

Rational Agents는 인식 열(sequence of percepts)을 고려하여 기대 성능 측정의 값을 최대화하는 행동을 선택할 수 있다.

Rationality != Perfection

Rationality : 기대 성능 최대화
Perfection : 실제 성능 최대화

  • Perception은 정보를 탐색하는 것 뿐만 아니라 최대한 많은 정보를 학습한다.
  • Lack of Autonomy (자율성) : 어떻게 디자인하는 지에 의존함.

Rational -> exploration, learning, autonomy
Exploration : 미지의 환경을 탐색하고,
Learning : 인식한 것에서 최대한 학습하며,
Autonomy, Independence : 디자이너의 사전 지식에 의존하지 않고 인식에 따라 행동을 결정합니다.

Task Environments

PEAS : Performance measure, Environment, Actuators, Sensors
에이전트를 설계할 때 고려해야 하는 주요 요소

1. 성능 측정 (Performance Measure)

  • 에이전트가 잘 수행하는지를 평가하는 기준
  • 주어진 작업의 목표와 관련이 있다. 예를 들어, 자율 주행 자동차의 경우 목적지에 안전하고 빠르게 도달하는 것.

2. 환경 (Environment)

  • 에이전트가 상호 작용하는 대상이며, 센서로부터 정보를 수집하고 액추에이터를 통해 행동을 수행하는 공간
  • 예를 들어, 자율 주행 자동차의 환경은 도로, 다른 차량, 보행자 등

3. 액추에이터 (Actuators)

  • 환경에 영향을 미치는 에이전트의 작동 부분. 에이전트가 특정 작업을 수행하기 위해 환경에 행동을 취하는 데 사용됨.
  • 예를 들어, 자율 주행 자동차의 액추에이터는 조향 장치, 가속 페달, 브레이크 등

4. 센서 (Sensors)

  • 환경에서 정보를 수집하는데 사용되는 부분. 이 정보는 에이전트가 환경의 상태를 인식하고 이해하는 데 사용.
  • 예를 들어, 자율 주행 자동차의 센서에는 카메라, 라이다(LIDAR), 레이더 등

Properties of Task Environments

1. Fully observable(완전 관찰 가능) / partially observable(부분 관찰 가능) / unobservable(관찰 불가능)

  • Fully observable : 에이전트가 환경의 모든 상태를 완전히 인식할 수 있는 경우
  • Partially observable : 에이전트가 일부 상태만 인식할 수 있는 경우
  • Unobservable : 에이전트가 환경의 상태를 인식할 수 없는 경우

2. Single agent(단일 에이전트) / multiagent(다중 에이전트)

  • Competitive(경쟁적) : 에이전트 간에 경쟁적 상호 작용이 있는 경우 : 예) 체스 게임
  • Cooperative(협력적) : 에이전트가 서로 협력하여 공통의 목표를 달성하려는 경우 : 예) 운전

3. Deterministic(결정론적) / stochastic(확률적)

  • Deterministic : 환경의 다음 상태가 현재 상태에 의해 완전히 결정되는 경우
  • Stochastic : 환경의 다음 상태가 현재 상태에 따라 확률적으로 결정되는 경우. 불확실성이 존재함.

4. Episodic(에피소드적) / sequential(순차적)

  • Episodic : 에이전트의 경험이 원자적 에피소드로 나뉘는 경우. 즉, 에이전트가 인식을 받고 단일 행동을 수행하는 경우.
  • Sequential : 현재의 결정이 모든 후속 결정에 영향을 미치는 경우. 시간에 따라 일련의 연속된 상황.

5. Static(정적) / dynamic(동적)

  • Static : 환경이 시간이 지나도 변하지 않는 경우
  • Dynamic : 환경이 시간이 지남에 따라 변하는 경우

6. Discrete(이산적) / continuous(연속적)

  • Discrete: 상태와 시간이 이산적인 경우
  • Continuous: 상태와 시간이 연속적인 경우

7. Known(알려진) / unknown(알려지지 않은)

  • Known: 모든 행동에 대한 결과가 알려진 경우

Agents Types

Simple reflex agents


현재 상태를 기반으로 직접적인 조치를 취함.
한계 : 상태의 완전한 이해가 없으므로 매우 한정적
주어진 상태에 대해 사전에 정의된 규칙을 사용하여 행동함.
예) 화재 탐지 시스템은 화염 센서에 따라 화재를 감지하고 소화기를 활성화함.

Reflex agents with state

현재 상태에 대한 정보를 저장하고 사용함.
-> Simple reflex agents 한계 극복 위해 도입
상태 정보를 사용하여 더 지능적인 의사 결정을 내릴 수 있다.
예) 로봇 청소기는 현재 청소 상태와 방향을 고려하여 자율적으로 움직일 수 있다.

Goal-based agents


더 높은 수준의 지능을 갖추고 있다. 목표를 설정하고 이를 달성하기 위한 계획을 수립함.
에이전트는 현재 상태를 평가하고, 목표와 현재 상태 간의 차이를 최소화하는 행동을 취함.
예) 자율 주행 자동차는 목적지까지 안전하게 이동하기 위해 최적의 경로를 계획하고 조작함.

Utility-based agents

목표만큼이나 중요한 것이 효용.
효용은 목표를 달성하는 데 얼마나 효과적인지를 나타낸다. 따라서 이 에이전트는 가능한 행동 중에서 가장 높은 효용을 가진 것을 선택한다.
예) 스마트 홈 시스템은 사용자의 편의성과 에너지 절약을 최대화하기 위해 다양한 작업을 수행합니다.

Learning Agents

학습 에이전트는 환경과 상호 작용하면서 경험을 통해 향상되는 에이전트

  1. 학습 요소 (Learning element)
  • 에이전트가 경험을 통해 개선되는 데 책임
    즉, 에이전트가 이전의 행동 결과를 분석하고 새로운 행동을 시도하면서 학습을 수행. 이러한 학습은 보통 경험으로부터 지식을 추출하거나 모델을 업데이트하는 방식으로 이루어짐.
  1. 성능 요소 (Performance element)
  • 성능 요소는 외부 환경에 대한 선택적 행동을 선택하는 것에 책임
    즉, 에이전트가 인식을 받고 외부 행동을 결정하는 것을 포함. 이것은 에이전트의 행동에 대한 인식을 가지고 있으며, 이것을 기반으로 다음 행동을 결정 (Percepts -> Deciding)
  1. 비평가 (Critic)
  • 비평가는 에이전트의 행동에 대한 피드백을 제공
    일반적으로 고정된 성능 기준에 대해 에이전트가 얼마나 잘 수행되고 있는지에 대한 정보를 제공. 비평가는 에이전트가 자신의 행동을 평가하고 개선하는 데 도움을 줍니다.
  1. 문제 생성자 (Problem generator)'
  • 문제 생성자는 새롭고 유익한 경험을 제공하기 위해 행동을 제안하는 역할.
    주로 탐색적인 행동을 제안하여 에이전트가 새로운 지식을 얻을 수 있도록 돕는다.

State Representations

상태 표현(State Representations)은 문제 해결 및 알고리즘 작동에 중요한 역할을 한다. 상태 표현은 다음과 같은 증가하는 복잡성과 표현력의 축을 따라 정의될 수 있다.

  1. 원자적(Atomic)
  • 상태는 내부 구조가 없는 블랙 박스로 취급.
  • 즉, 상태는 단일한 개체로써 전체 정보를 나타낸다.
  • 예) 로봇이 현재 위치만을 고려하는 것이 원자적 상태 표현이다.
  1. 분해된(Factored)
  • 상태는 고정된 변수(또는 속성)의 집합으로 표현된다.
  • 각 변수는 서로 다른 측면이나 차원을 나타내며, 이들은 상태를 구성한다.
  • 예) 로봇의 상태를 위치, 방향, 속도 등으로 분해할 수 있다.
  1. 구조화된(Structured)
  • 객체들과 그들 간의 관계를 표현하는데 사용된다.
  • 객체는 다양한 속성을 가지고 있으며, 이러한 속성은 객체의 상태를 결정한다.
  • 또한, 객체들 간의 관계는 상태 표현에 포함된다.
  • 예) 로봇의 상태를 로봇의 위치, 속도, 방향 등의 속성과 환경의 장애물과의 거리, 목표 지점과의 관계 등의 객체들 간의 관계로 구조화할 수 있다.
profile
IT기획/운영

0개의 댓글