본문 바로가기
Lecture/파이썬으로 만드는 AI 오델로 게임

3. 강화학습을 위한 순차 결정 문제 소개

by 작은별하나 2024. 11. 10.
반응형

1. 순차 결정 문제(Sequential Decision Problem)

순차 결정 문제는 시간의 흐름에 따라 순간순간 결정을 내려야 하는 문제를 말합니다. 이 문제 유형은 각각의 순간에 취하는 행동이 이후의 결과에 영향을 미치기 때문에, 매 순간 최적의 결정을 내려야 하는 상황에서 주로 나타납니다. 이러한 문제는 연속적으로 이어지지만, 각각의 결정 포인트가 분리되어 있어 수학적 모델링이 가능하며, 이를 통해 문제를 해결할 수 있습니다.

순차 결정 문제는 일상생활에서 흔히 볼 수 있습니다. 예를 들어, 출근할 때 자동차를 운전하며 신호에 맞춰 속도와 경로를 조정하는 상황도 순차 결정 문제입니다. 운전 중에는 도로 상황, 교통 신호, 다른 차량의 움직임 등에 따라 순간적으로 결정을 내리게 되는데, 이러한 일련의 결정을 순차적으로 내리면서 최적의 경로와 시간 관리를 목표로 합니다. 또한, 게임에서도 순차 결정 문제를 볼 수 있습니다. 플레이어는 매 순간 상황에 맞는 선택을 하며 게임을 진행해야 하며, 이는 궁극적으로 승리나 패배에 영향을 미칩니다.

이 외에도 주식 투자에서 매일 주가에 따라 매수 또는 매도를 결정하는 문제, 항공기의 자동 비행 시스템이 날씨와 공항 상황에 맞춰 비행 경로를 조정하는 문제 등이 순차 결정 문제의 좋은 예입니다.

순차 결정 문제는 불연속적으로 결정해야 하는 상황에서 연속적인 판단을 요구한다는 점에서 아날로그 문제보다 해결이 용이하다고 할 수 있습니다.

tic-tac-toe game

틱택토 게임은 순차 결정 문제의 대표적인 예입니다. 이 게임에서는 두 플레이어가 O와 X를 번갈아 가며 놓으면서, 같은 행이나 열, 또는 대각선에 세 개의 동일한 기호가 나열되면 해당 플레이어가 승리하게 됩니다.

틱택토에서 각 플레이어는 현재 상태를 보고 다음 수를 어디에 둘지 결정해야 합니다. 이때, 새로운 결정을 통해 현재 상태가 변화하고, 그 변화는 다시 새로운 상태를 만듭니다. 예를 들어, 상대가 특정 위치에 O나 X를 놓았다면, 다음 플레이어는 현재 상황을 분석해 승리하거나 방어하기 위해 최적의 위치에 수를 둬야 합니다. 이러한 일련의 결정을 계속 내려가면서, 게임의 결과를 예측하고 최적의 전략을 찾아가게 되는 것입니다.

틱택토처럼 각 상태에서 최적의 결정을 내리고 그 결정이 누적되어 최종 결과를 만들어내는 문제를 순차 결정 문제라고 할 수 있습니다.

 

1) 에이전트(Agent)

에이전트는 인공지능과 강화학습에서 중요한 개념으로, 현재 환경의 상태를 관찰하고 그에 따라 적절한 행동을 선택하는 주체입니다. 이 에이전트는 특정 목적을 달성하기 위해 환경과 상호작용하며, 이를 통해 최적의 행동을 학습하게 됩니다.

예를 들어, 그림에서 강아지가 에이전트 역할을 하고 있다면, 강아지는 주변 환경(예: 주인의 지시나 특정 장애물의 위치)을 관찰하고, 그에 따라 앉기, 달리기, 물건 물기 등의 행동을 선택합니다. 환경은 강아지의 행동에 따라 보상을 주게 되는데, 예를 들어 강아지가 주인의 지시에 맞춰 앉으면 간식이나 칭찬을 받는 형태로 보상이 주어집니다.

이처럼 에이전트는 반복적인 학습을 통해 어떤 상황에서 어떤 행동을 해야 최대 보상을 받을 수 있는지를 점점 학습해 가며, 결과적으로 환경 내에서 효율적으로 목표를 달성하는 방법을 터득하게 됩니다.

agent and environment

2) 환경(Environment)

환경은 에이전트가 상호작용하는 모든 요소를 포함하며, 에이전트의 행동에 반응하여 변화하는 존재입니다. 강화학습이나 에이전트-환경 모델에서 환경은 에이전트의 행동에 따라 달라지며, 에이전트가 적절한 행동을 학습할 수 있도록 보상을 제공합니다.

즉, 환경은 에이전트가 수행한 행동의 결과에 대해 피드백을 주는 역할을 합니다. 예를 들어, 강아지를 에이전트로 보는 환경에서는 강아지가 앉거나 물건을 물었을 때, 환경이 칭찬이나 간식과 같은 보상을 제공하여 강아지의 행동을 강화하게 됩니다. 이 과정에서 에이전트는 환경의 피드백(보상)을 바탕으로 다음에 어떤 행동을 선택할지 학습하며, 환경 역시 에이전트의 행동에 따라 변화하게 됩니다.

따라서 환경은 에이전트가 목표를 달성할 수 있도록 정보를 제공하며, 에이전트의 행동에 반응하고 적절한 보상을 주어 에이전트가 효율적인 행동 전략을 학습하도록 돕는 중요한 역할을 합니다.

 

2. 마르코프 결정 프로세스

마르코프 결정 프로세스(Markov Decision Process, MDP)는 안드레이 마르코프가 개발한 마르코프 연쇄(Markov Chain) 이론에 기반한 수학적 모델로, 의사결정 문제를 확률적으로 모델링하는 도구입니다. MDP는 특히 강화학습에서 중요한 개념으로, 특정 상태에서 에이전트가 행동을 선택할 때 발생할 수 있는 불확실성 및 결과를 수학적으로 표현할 수 있도록 해줍니다.

MDP는 다음 네 가지 요소로 구성됩니다:
1. 상태 (State): 에이전트가 현재 위치한 환경의 상태를 나타냅니다.
2. 행동 (Action): 에이전트가 특정 상태에서 선택할 수 있는 다양한 행동을 의미합니다.
3. 보상 (Reward): 에이전트가 특정 상태에서 특정 행동을 취했을 때 환경으로부터 받는 즉각적인 피드백입니다.
4. 상태 전이 확률 (Transition Probability): 현재 상태와 행동에 따라 다음 상태로 이동할 확률을 나타냅니다.

이 네 가지 요소를 통해 MDP는 시간에 따른 의사결정을 모델링하며, 에이전트가 주어진 상태에서 최적의 행동을 선택하여 장기적인 보상을 최대화하도록 돕습니다.

Andrei Markov

마르코프 프로세스는 점진적으로 발전하여 강화학습에서의 의사결정 과정을 더욱 정교하게 다루는 다양한 모델로 확장되었습니다. 그 발전 과정은 다음과 같습니다.
1. 마르코프 프로세스 (Markov Process)
마르코프 프로세스는 상태와 상태 간의 변화를 다루는 기본적인 모델입니다. 에이전트는 특정 상태에 위치하고, 환경은 에이전트의 상태 변화에 따라 반응하며, 이러한 과정에서 상태가 변하게 됩니다. 여기서 현재 상태가 다음 상태로 전이되는 확률은 현재 상태에만 의존하며, 이는 마르코프 속성이라고 부릅니다.
2. 마르코프 보상 프로세스 (Markov Reward Process)
마르코프 보상 프로세스는 마르코프 프로세스에 보상의 개념이 추가된 모델입니다. 상태 간의 변화를 모델링할 뿐만 아니라, 특정 상태에서 다음 상태로 전이될 때 환경이 에이전트에게 보상을 제공합니다. 이 보상은 특정 상태나 전이에 대한 피드백으로, 에이전트가 장기적인 행동 전략을 평가할 수 있는 기준이 됩니다.
3. 마르코프 결정 프로세스 (Markov Decision Process)
마르코프 결정 프로세스는 보상뿐만 아니라 에이전트가 선택할 수 있는 행동을 포함한 모델입니다. 여기서 에이전트는 보상의 결과를 바탕으로, 보상을 극대화하기 위한 결정을 내리며 최적의 행동을 선택하고 학습합니다. MDP는 에이전트가 주어진 상태에서 선택 가능한 행동을 평가하고, 장기적인 보상의 기대값을 최대화하는 의사결정 과정을 통해 최적의 정책(policy)을 학습하는 데 사용됩니다.

이러한 발전 과정을 통해 마르코프 프로세스는 점차 단순한 상태 변화 모델에서 벗어나, 보상과 의사결정이 결합된 강화학습의 기초가 되었습니다. MDP는 다양한 상황에서 최적의 행동을 학습하고, 장기적인 보상을 극대화하는 에이전트를 설계하는 데 핵심적인 역할을 합니다.

 

1) 상태공간

state space



상태공간은 특정 문제나 환경에서 시간의 흐름에 따라 변화할 수 있는 “상태”들의 집합을 의미합니다. 여기서 각 상태는 에이전트가 현재 놓여 있는 상황을 나타내며, 에이전트는 상태공간 안에서 주어진 상태에 따라 적절한 행동을 선택하게 됩니다. 에이전트가 선택한 행동에 따라 보상이 주어지며, 결과적으로 새로운 상태로 전환됩니다.

 

예를 들어, 오징어 게임에서 등장하는 달고나 게임을 상태공간 관점에서 설명할 수 있습니다. 이 게임의 상태공간은 네 가지 주요 상태로 구성됩니다:

1. 초기상태: 게임이 시작되고 달고나가 온전한 상태로 주어집니다.

2. 깨는 중: 에이전트(게임 참가자)가 달고나를 조심스럽게 깎아내며 도전하는 상태입니다. 이 상태에서 에이전트의 행동은 달고나의 성공적인 분리나 실패로 이어질 수 있습니다.

3. 성공: 에이전트가 달고나를 정확하게 깎아내고 목표 모양을 완성한 상태입니다.

4. 실패: 에이전트가 달고나를 깨뜨린 상태로, 게임에서 탈락하게 됩니다.

 

이 상태공간에서 에이전트는 각 상태에서 행동을 결정하게 되며, 예를 들어, 달고나를 천천히 깎아내거나, 빠르게 움직이거나, 특정 도구를 사용하는 등의 행동을 선택할 수 있습니다. 이러한 행동 선택은 결과적으로 성공 또는 실패로 이어지며, 이에 따라 보상이 주어집니다.

 

2) 마르코프 결정 프로세스

 

마르코프 결정 프로세스(Markov Decision Process, MDP)는 강화학습에서 사용되는 수학적 모델로, { S, A, P(a, s, s’), R(a, s, s’), γ }의 다섯 가지 원소로 구성된 구조입니다. MDP는 에이전트가 환경과 상호작용하면서 최적의 결정을 내리는 과정을 수학적으로 모델링합니다. 각 원소의 의미는 다음과 같습니다.
1. S (상태 집합)
• 상태에 대한 유한 집합으로, 환경에서 에이전트가 놓일 수 있는 모든 상태를 포함합니다. 이 집합은 무한할 수도 있지만, 대부분의 알고리즘은 계산의 효율성을 위해 유한 집합으로 가정합니다. 각 상태는 에이전트가 현재 처한 환경의 특정 조건이나 상황을 나타냅니다.
2. A (행동 집합)
• 에이전트가 할 수 있는 행동에 대한 유한 집합으로, 각 상태에서 에이전트가 선택할 수 있는 모든 가능한 행동을 포함합니다. 이 행동 집합에서 에이전트는 목표 달성을 위해 적절한 행동을 선택하여 보상을 최대화하려고 합니다.
3. P(a, s, s’) (상태 전이 확률)
• 상태 전이 확률은 에이전트가 상태 s에서 행동 a를 취할 때, 다음 상태가 s’로 전환될 확률을 나타냅니다. 이 확률 값은 환경의 불확실성을 반영하며, 에이전트가 선택한 행동이 어느 정도의 확률로 다음 상태로 이어질지를 결정합니다.
4. R(a, s, s’) (보상 함수)
• 보상 함수는 에이전트가 상태 s에서 행동 a를 취해 상태 s’로 전환될 때 받을 수 있는 보상을 나타냅니다. 보상은 일반적으로 스칼라 값으로 표현되며, 에이전트가 취한 행동의 성과를 피드백합니다. 이 보상은 기댓값으로 표현될 수도 있습니다.
5. γ (할인율)
• 할인율은 미래 보상에 대한 중요도를 나타내는 값으로, 0에서 1 사이의 값을 가집니다. 이 값이 1에 가까울수록 미래의 보상을 현재의 보상만큼 중요하게 여기고, 0에 가까울수록 당장의 보상만을 중요하게 여깁니다. 할인율을 통해 에이전트는 장기적인 보상을 고려하며 최적의 정책을 학습하게 됩니다.

이러한 요소를 통해 MDP는 에이전트가 상태를 관찰하고 최적의 행동을 선택하여 장기적인 보상을 최대화할 수 있도록 하는 수학적 프레임워크를 제공합니다.

 

 

격자 세계에서 에이전트 ★는 장애물 ■을 피해 목표점 ○에 도달하는 것이 목표입니다. 이 문제는 마르코프 결정 프로세스(MDP)로 모델링할 수 있으며, 에이전트는 최적의 경로를 찾아 장애물을 피하고 목표에 도달하는 방법을 학습하게 됩니다.

격자 세계 문제의 특징과 조건:
1. 격자 공간과 상태
• 격자 세계는 에이전트가 위치할 수 있는 모든 공간을 나타내며, 각 격자는 특정 상태로 정의됩니다. 에이전트는 이 격자 중 하나에만 위치할 수 있으며, 목표는 에이전트가 출발점에서 목표점 ○까지 최소한의 이동으로 도달하는 것입니다.
2. 행동
• 에이전트는 각 상태(격자)에서 상하좌우로 움직일 수 있는 행동 집합을 가지고 있습니다. 단, 이동하려는 방향에 장애물 ■이 있으면 해당 방향으로 이동할 수 없습니다.
3. 목표와 보상
• 목표는 에이전트가 목표점 ○에 도달하는 것입니다. 이때 이동한 횟수가 적을수록 더 큰 보상을 받게 됩니다. 따라서 보상 함수는 이동 횟수와 반비례하여, 빠르게 목표에 도달할수록 높은 보상을 부여합니다. 예를 들어, 목표점에 도달하면 큰 보상을, 이동을 계속할 때마다 작은 페널티를 주어 이동을 줄이도록 유도할 수 있습니다.
4. MDP 구성 요소
• S (상태 집합): 격자 내 에이전트의 모든 위치와 장애물의 배치 상태.
• A (행동 집합): 상, 하, 좌, 우로의 이동.
• P(a, s, s’) (상태 전이 확률): 에이전트가 이동하려는 위치에 장애물이 없는 경우, 원하는 방향으로 이동할 확률이 1. 만약 장애물이 있으면 해당 방향으로 이동이 불가하여 원래 상태를 유지함.
• R(a, s, s’) (보상 함수): 목표점에 도달할 때 큰 보상. 이동을 계속할 때마다 페널티를 주어 이동을 최소화하도록 유도.
• γ (할인율): 미래 보상의 중요도를 조정하는 할인율. 이 문제에서는 빠른 목표 달성을 목표로 하므로, γ값을 1에 가깝게 설정하여 장기적인 최적 경로를 학습할 수 있게 합니다.

이와 같은 모델링을 통해 에이전트는 격자 세계에서 장애물을 피하면서 최소한의 이동으로 목표점에 도달할 수 있는 최적의 경로를 학습할 수 있습니다.

 

 

격자 세계에서 에이전트가 위치할 수 있는 각 격자 좌표는 곧 상태(S)가 됩니다. 상태 집합 S는 에이전트의 위치를 나타내며, (0, 0)에서 (3, 3)까지 모든 좌표가 포함됩니다. 이 경우, 격자 세계는 4x4 크기이므로, 에이전트의 위치에 따라 16개의 상태가 존재합니다.

각 상태는 특정 격자 위치를 의미하며, 에이전트는 오직 하나의 상태(격자)에만 위치할 수 있습니다. 따라서 상태가 에이전트의 현재 위치를 완전히 설명하게 됩니다.

격자 세계의 상태 집합은 다음과 같이 정의됩니다:
• 상태 S = { (0, 0), (0, 1), (0, 2), (0, 3), (1, 0), (1, 1), (1, 2), (1, 3), (2, 0), (2, 1), (2, 2), (2, 3), (3, 0), (3, 1), (3, 2), (3, 3) }

격자 세계에서 에이전트가 위치할 수 있는 각 격자 좌표는 독립적인 상태로 정의됩니다. 에이전트는 이 격자 중 하나의 위치에만 존재할 수 있으며, 각 위치는 독립적인 상태로 간주됩니다. 따라서 에이전트의 현재 위치는 곧 격자 세계의 상태가 됩니다.

예를 들어, 4x4 격자에서 모든 좌표는 개별 상태를 나타내므로 상태 집합 는 다음과 같습니다:
• 상태 S = { (0, 0), (0, 1), (0, 2), (0, 3), (1, 0), (1, 1), (1, 2), (1, 3), (2, 0), (2, 1), (2, 2), (2, 3), (3, 0), (3, 1), (3, 2), (3, 3) }

각 상태는 에이전트가 특정 격자 위치에 있음을 의미하며, 에이전트가 이동할 때마다 현재 상태가 새롭게 변화합니다.

예를 들어, 에이전트가 (0, 0) 위치에서 시작하여 오른쪽으로 한 칸 이동하면 상태가 (0, 1)로 변경됩니다. 이렇게 에이전트가 이동할 때마다 상태가 갱신되며, 이 변화 과정이 마르코프 결정 프로세스(MDP)로 모델링됩니다.

 

 

격자 세계에서 행동 집합 A는 에이전트가 특정 위치에서 취할 수 있는 이동 방향을 정의합니다. 에이전트는 상하좌우로만 이동할 수 있으므로, 가능한 행동은 네 가지로 제한됩니다. 따라서 에이전트의 행동 집합은 다음과 같습니다:
• 행동 A = { UP, RIGHT, DOWN, LEFT }

이 행동들은 에이전트가 현재 위치에서 이동할 수 있는 방향을 의미하며, 각각의 행동은 아래와 같은 이동을 나타냅니다:
• UP: 위쪽 격자로 이동
• RIGHT: 오른쪽 격자로 이동
• DOWN: 아래쪽 격자로 이동
• LEFT: 왼쪽 격자로 이동

격자 가장자리에서 움직임을 시도할 때, 해당 방향으로 이동할 수 없는 경우 원래 위치에 그대로 머물게 됩니다. 예를 들어, 에이전트가 (0, 0) 상태에 있을 때 UP이나 LEFT 행동을 취하면 이동하지 않고 (0, 0) 상태에 머물게 됩니다.

이와 같이 에이전트의 네 가지 행동은 격자 내에서 이동 방향을 결정하며, 최적의 경로를 찾기 위해 필요한 의사결정을 나타냅니다.

 

 

 

확률 는 에이전트가 특정 상태 에서 행동 를 취했을 때, 목표 상태 로 전이될 확률을 의미합니다. 이 확률은 환경의 불확실성을 반영하며, 에이전트가 의도한 대로 상태가 변화하지 않을 가능성을 내포합니다.

예를 들어, 에이전트가 현재 상태(s)에 있을 때 RIGHT 행동을 취하면 다음 상태(s')로 이동할 확률이 있습니다. 그러나 환경에 따라 이 이동이 항상 성공하지 않을 수 있습니다. 이 확률 \(p(a, s, s')\) 0과 1 사이의 값이 될 수 있으며, 이는 에이전트가 취한 행동의 결과가 항상 확정적이지 않을 수 있음을 의미합니다.

예시 상황

1. 확률 0 또는 1인 경우:
에이전트가 RIGHT 행동을 취하면 항상 (1, 2)로 이동한다면, 이 행동의 전이 확률은 1이 됩니다. 반면, 오른쪽에 벽이나 장애물이 있어서 이동이 불가능하면 확률은 0이 됩니다. 이 경우, 행동이 상태 전이를 확정적으로 결정합니다.
2. 중간 확률(0 < P < 1):
에이전트가 RIGHT 행동을 취하더라도 (1, 2)로 이동할 확률이 0.8이고, 나머지 0.2의 확률로 다른 상태(예: 원래 상태인 (1, 1)에 머무르거나, 다른 방향으로 이동)로 전이될 수 있다면, 이 불확실성은 환경의 변동성이나 외부 요인 등을 반영합니다.

이와 같이, 는 에이전트가 행동을 취할 때 다음 상태로 전이될 가능성을 수치로 표현합니다. 일부 상황에서는 행동에 따라 상태 전이가 확정적일 수 있지만, 많은 경우에는 불확실성을 반영하여 중간 확률이 주어질 수 있습니다. 이는 강화학습에서 에이전트가 다양한 상황에 대해 학습하고 적응할 수 있도록 하는 중요한 요소입니다.

 

 

 

보상 \(R(a, s, s')\)은 에이전트가 특정 상태 \(s\)에서 행동 \(a\)를 취해 목표 상태 \(s'\)에 도달했을 때 환경이 제공하는 피드백입니다. 이 보상은 에이전트의 행동 성과를 평가하는 지표로, 에이전트가 최적의 경로를 찾아 목표 지점에 도달할 수 있도록 유도하는 데 사용됩니다.

예를 들어, 에이전트가 현재 상태 \(s\)에 있을 때 UP 행동을 선택해 상태\(s'\)에 도달하면 보상이 100이 주어진다고 가정합니다. 이 보상은 특정 행동의 유용성을 평가하는 기준이 되어, 에이전트가 이와 유사한 보상을 받을 수 있는 경로를 선택하도록 학습을 유도합니다.

보상의 역할

1. 목표 지점에 도달하는 보상:
목표 지점에 도달하는 것이 최종 목표인 경우, 에이전트가 목표 지점에 도착할 때 큰 보상을 설정합니다. 예를 들어, 목표 지점에 도달할 때 보상으로 100을 부여하면, 에이전트는 이 보상을 최대화하기 위해 가장 빠르고 효과적인 경로를 찾아내려 합니다.
2. 중간 보상 및 페널티:
에이전트가 목표 지점에 도달하기까지의 경로에서 이동할 때마다 작은 보상이나 페널티를 부여할 수도 있습니다. 예를 들어, 매 이동마다 -1의 페널티를 주면, 에이전트는 목표에 도달하는 데 필요한 이동 횟수를 줄이는 경로를 선택하게 됩니다. 이를 통해 최적의 경로뿐 아니라 최소한의 이동으로 목표를 달성할 수 있도록 유도합니다.
3. 환경이 주는 보상:
보상은 에이전트가 행동을 취했을 때 환경이 제공하며, 이는 에이전트가 목표 달성을 위해 어떤 행동이 가장 효과적인지 학습하게 하는 중요한 동기가 됩니다.

에이전트는 상태와 행동을 통해 가능한 보상 값들을 평가하고, 최종적으로 장기적인 보상 총합을 극대화하는 결정을 하도록 학습합니다. 이를 통해 에이전트는 목표에 빠르게 도달하는 최적의 정책을 찾아나가게 됩니다.

 

할인율 는 강화학습에서 미래 보상의 현재 가치에 대한 가중치를 나타내며, 에이전트가 미래 보상과 현재 보상 중 무엇을 더 중시할지를 결정하는 중요한 요소입니다. 할인율이 높을수록 장기적인 보상, 즉 목표 달성을 위한 장기적 전략을 중요시하게 되고, 낮을수록 현재의 즉각적인 보상을 더 중요하게 여깁니다.

할인율의 효과

1. 할인율이 1.0인 경우
할인율이 1.0에 가까울수록 에이전트는 미래의 모든 보상을 현재의 가치로 고려하게 됩니다. 예를 들어, 격자 세계에서 목표 지점에 도달하기까지 매 이동마다 -1의 보상을 받는다고 가정할 때, 에이전트는 목표 지점에 도달하기 위해 이동한 횟수의 총합을 음수 값으로 누적하여 고려하게 됩니다.
예를 들어, 현재 상태의 총 보상값이 -10이라면 이는 목표 지점에 도달하기까지 약 10회의 이동이 필요하다는 의미로 해석할 수 있습니다. 즉, 에이전트는 목표에 도달할 때까지의 총 이동 수를 줄이는 경로를 찾는 데 집중하게 됩니다.
2. 할인율이 0.0에 가까운 경우
할인율이 0.0에 가까우면 에이전트는 현재 보상을 더 중시하게 됩니다. 즉, 미래에 받을 보상을 거의 무시하고, 현재 상태에서 가능한 보상만을 고려하여 행동을 결정하게 됩니다. 이런 경우, 에이전트는 목표 도달보다 즉각적인 보상을 최대화하는 쪽으로 행동을 취할 가능성이 높습니다.
3. 할인율의 균형
할인율의 값은 문제의 특성에 따라 적절히 설정되어야 합니다. 예를 들어, 격자 세계에서 목표 지점에 도달하기 위해 효율적인 경로를 찾아야 하는 경우, 할인율을 1에 가깝게 설정하여 미래 보상을 최대한 고려하게 하는 것이 적절합니다. 반면, 당장 높은 보상이 중요한 상황에서는 낮은 할인율을 설정하는 것이 좋습니다.

이처럼 할인율 은 에이전트가 장기적인 목표와 단기적인 이익 중 어느 쪽을 중시할지를 결정하게 하여, 최적의 경로 및 행동 전략을 학습하도록 도와줍니다.

 

정책(Policy)은 강화학습에서 에이전트가 특정 상태 에 있을 때, 특정 행동 를 선택할 확률을 나타내며, 이를 로 표현합니다. 정책은 에이전트의 의사결정 전략을 정의하는 중요한 요소로, 에이전트가 어떤 상태에서 어떤 행동을 선택할지를 결정하는 데 사용됩니다.

정책의 역할

1. 정책의 정의
정책 \(p_{\pi}\)는 상태 \(S_t\)에서 행동 \(a_t\)를 선택할 확률을 나타내며, 정책에 따라 에이전트는 다양한 상황에서 최적의 행동을 학습하게 됩니다. 정책은 확률 분포로 나타날 수 있으며, 이는 에이전트가 상태에 따라 결정적으로 행동을 선택하지 않고, 확률적으로 행동을 선택할 수 있음을 의미합니다.
2. 임의의 선택
만약 에이전트가 특정 상태에서 임의로 행동을 선택하는 경우, 모든 행동에 대한 확률이 동일하게 분배됩니다. 예를 들어, 에이전트가 4개의 행동(예: {UP, RIGHT, DOWN, LEFT}) 중 하나를 임의로 선택할 경우, 각 행동을 선택할 확률은 입니다. 이는 무작위 정책(random policy)의 예이며, 상태에 상관없이 모든 행동이 동일한 확률로 선택되는 경우를 의미합니다.
3. 정책의 학습과 최적화
강화학습에서는 에이전트가 목표를 달성하기 위해 최적의 정책을 학습하도록 유도합니다. 초기에는 임의 정책으로 시작할 수 있지만, 학습이 진행됨에 따라 에이전트는 목표 지점에 도달하는 데 유리한 행동을 선택하도록 정책을 업데이트합니다. 최적 정책은 에이전트가 장기적인 보상을 최대화할 수 있는 행동을 상태별로 선택할 수 있도록 합니다.

따라서, 정책은 에이전트가 의사결정을 내리는 데 중요한 항목으로, 상태에 따른 행동 선택을 확률적으로 모델링합니다. 에이전트는 학습을 통해 이 정책을 점차 최적화하여, 주어진 환경에서 가장 효율적인 경로와 행동을 선택할 수 있게 됩니다.

 

에피소드는 에이전트가 환경에서 출발하여 최종 목표를 달성할 때까지 거친 상태들과 행동의 기록(히스토리)입니다. 에피소드는 특정 문제의 시작부터 끝까지의 전체 과정을 담고 있으며, 에이전트가 목표 지점에 도달하거나 종료 조건을 만족했을 때 종료됩니다.

에피소드의 역할과 특징

1. 히스토리로서의 에피소드
에피소드는 에이전트가 이동한 상태와 선택한 행동, 그리고 그로 인한 보상의 일련의 과정을 기록한 것입니다. 이 기록은 에이전트가 환경에서 학습을 진행하는 데 필요한 중요한 정보를 제공합니다. 학습 중 여러 에피소드가 축적되면서 에이전트는 점차 최적의 정책을 학습하게 됩니다.
2. 지연보상과 최종 목표
에피소드는 특히 지연보상 문제에서 중요합니다. 지연보상은 즉각적인 보상이 아닌, 최종 목표에 도달한 후 보상이 주어지는 상황을 의미합니다. 이 경우, 에이전트는 중간 보상이 없는 상태로 여러 상태와 행동을 거치다가 최종 목표에 도달했을 때 보상을 받습니다.
3. MDP에서 에피소드 기반 보상 계산
에피소드가 끝나야 보상을 계산할 수 있는 MDP의 경우, 보상은 개별 행동이 아닌 에피소드 전체 결과에 의해 결정됩니다. 예를 들어, 목표 지점에 도달하면 큰 보상을 주는 상황에서는 에피소드가 종료될 때까지 에이전트는 어떤 행동이 보상을 최대화하는지 확신할 수 없습니다. 이러한 에피소드 기반 보상은 에이전트가 최종 목표에 도달할 수 있는 최적 경로를 학습하도록 돕습니다.

에피소드의 종료 조건과 학습

에이전트는 에피소드의 반복을 통해 학습하며, 각 에피소드가 끝날 때마다 받은 보상을 바탕으로 정책을 업데이트합니다. 에피소드가 종료된 후에는 해당 에피소드의 히스토리 데이터를 통해 상태와 행동의 가치가 평가되며, 이를 통해 에이전트는 목표 달성을 위한 전략을 개선해 나갑니다.

 

3. 벨만 기대 방정식

MDP 문제 풀이에서 핵심은 에이전트가 상태별로 어떤 행동을 선택해야 하는지, 즉 정책을 어떻게 결정할 것인지입니다. 이 과정에서 행동에 대한 보상 기대값을 이용하여 기대값이 최대가 되는 선택을 하는 것이 최선의 선택이 됩니다. 각 행동의 기대값을 계산하고, 가장 높은 기대값을 가진 행동을 선택함으로써 에이전트는 보상을 최대화하는 방향으로 학습할 수 있습니다.

1) 보상에 대한 고려

• 매 스텝마다 보상이 나오지 않는 경우: 일부 게임과 상황에서는 매 스텝마다 보상이 제공되지 않습니다. 예를 들어, 오목, 바둑, 오델로와 같은 경우는 게임이 종료될 때까지 중간 보상이 없고, 최종 결과에 따라 승리나 패배 보상이 주어집니다.
• 지연 보상의 경우: 다른 상황에서는 보상이 지연되어 나타납니다. 예를 들어, 벽돌격파 게임에서 모든 벽돌을 깨기 전까지는 최종 보상이 없거나, 과제를 완료했을 때 보상이 주어지는 경우입니다. 이러한 지연 보상 환경에서는 에이전트가 여러 스텝을 거친 후에야 보상을 받게 됩니다.
• 즉각적인 보상이 없는 경우: 대부분의 경우에서 에이전트가 행동을 취할 때마다 보상이 즉각적으로 제공되지 않습니다. 따라서 보상을 할인율과 학습률을 통해 조절하여 에이전트가 장기적으로 최적의 경로를 선택하도록 학습해야 합니다.

2) 가치 함수 (Value Function)

가치 함수는 특정 상태 에서 미래 보상에 대한 기대값을 나타내며, 에이전트가 주어진 정책에 따라 행동했을 때 상태별로 기대되는 장기적 보상을 평가하는 데 사용됩니다. 가치 함수는 MDP에서 정책을 결정하는 데 중요한 역할을 하며, 에이전트가 보상을 극대화하는 최적의 정책을 선택하도록 돕습니다.
1. 상태 가치 함수 : 특정 상태 에서 미래에 받을 보상의 총합에 대한 기대값을 계산합니다. 에이전트는 이 가치 함수를 바탕으로 각 상태에서 최선의 행동을 선택합니다.
2. 보상의 할인율 : 할인율은 미래 보상의 현재 가치를 계산하는 데 사용되며, 에이전트가 장기 보상을 중시할지 또는 즉각적인 보상을 중시할지를 결정합니다. 값이 1에 가까울수록 장기 보상을 중요하게 여기며, 0에 가까울수록 현재의 보상을 중시합니다.
3. 학습률: 학습률은 가치 함수와 정책을 갱신할 때 얼마나 빠르게 새로운 정보를 반영할지를 결정합니다. 이를 통해 에이전트가 각 상태에서 얻은 보상을 토대로 가치 함수를 업데이트하고, 점차 최적의 정책을 학습합니다.

가치 함수는 MDP 문제 풀이에서 에이전트가 미래 보상에 대한 기댓값을 극대화하는 방향으로 행동을 선택하도록 유도하는 핵심 요소입니다. 가치 함수와 정책을 반복적으로 갱신하면서, 에이전트는 보상을 극대화하는 최적의 경로를 찾아내고 최적의 정책을 학습해 나갑니다.

\[ v_{\pi}(s) = \mathbb{E}_{\pi} [G_t | S_t = s] \]

 

3) 벨만 기대 방정식(Bellman expectation equation)

 

다음은 벨만 기대 방정식은 기대값을 계산하는 방법입니다.

 

\[\begin{align*}
v_{\pi}(s) &= \mathbb{E}_{\pi} [G_t | S_t = s] \\
v_{\pi}(s) &= \mathbb{E}_{\pi} [R_{t+1} + \gamma R_{t+2} + \dots | S_t = s] \\
v_{\pi}(s) &= \mathbb{E}_{\pi} [R_{t+1} + \gamma (R_{t+2} + \dots) | S_t = s] \\
v_{\pi}(s) &= \mathbb{E}_{\pi} [R_{t+1} + \gamma \mathbb{E}_{\pi}(R_{t+2} + \dots) | S_t = s] \\
v_{\pi}(s) &= \mathbb{E}_{\pi} [R_{t+1} + \gamma \mathbb{E}_{\pi}(G_{t+1}) | S_t = s] \\
v_{\pi}(s) &= \mathbb{E}_{\pi} [R_{t+1} + \gamma v_{\pi}(S_{t+1}) | S_t = s]
\end{align*}\]

 

첫번째 식은 기대값에 대한 정의입니다.

두번째 식은 기대값 G는 현재의 보상값과 미래의 보상값에 할인율이 적용된 값의 합입니다.

마지막 식은 기대값은 현재의 보상값에 다음 상태의 기대값에 할인율을 곱한 값의 합이 됩니다.

 

4) 최적의 정책

각 행동  a 에 대해 계산한 기대값  Q(s, a)  중 가장 높은 값을 갖는 행동을 선택하는 것이 최적의 정책이 됩니다. 이를 통해 에이전트는 상태별로 장기적인 보상을 극대화할 수 있는 행동을 선택하여, 최종적으로 최적의 경로를 학습하게 됩니다.

따라서, 최적의 정책은 각 상태에서 행동에 따른 기대값이 최대가 되는 행동을 선택하는 것입니다. 이 방식으로 에이전트는 장기적인 보상을 고려하여 최선의 결정을 내릴 수 있습니다.

 

 

5) 격자세계에서의 기대값

 

동적 프로그래밍을 이용하여 모든 상태에 대한 기대값을 계산할 수 있으며, 이 방법을 통해 에이전트는 각 상태에서 최적의 행동을 선택할 수 있게 됩니다. 할인율이 1.0이고, 모든 상태에서 각 행동 선택 확률이 동일하며, 이동 시마다 -1의 보상을 받는 상황에서는, 에이전트가 출발지에서 목표 위치까지 이동할 때 이동 횟수를 최소화하는 경로를 선택하는 것이 최적의 경로가 됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90

댓글