Basic Concepts of Reinforcement Learning
MAB부터 공부를 하다 보니 개념들이 헷갈려서 정리해서 올린다.
agent, environment, policy, value 등등에 대해서 정리한다.
우선 에이전트 (Agent)란 환경 (Environment)와 상호작용하고 학습하며 의사결정을 내리고 행동 (action)을 취하는 주체다.
환경 (Environment)이란 agent가 상호작용하는 외부 세계로 액션에 반응하여 새로운 상태 (Status)와 보상 (Reward)를 준다.
상태 (Status)란 agent가 처한 구체적인 상황, 정보를 뜻한다. Variable로는 $S$, 구체적인 값으로는 소문자 $s$로 나타낸다.
행동 (Action)이란 agent가 취하는 구체적인 행동이며 Variable로는 $A$, 구체적인 값으로는 소문자 $a$로 나타낸다.
보상 (Reward)은 agent가 특정 상태 $s$에서 행동을 취했을 때 받는 보상으로 $R$로 표기한다.
Return은 특정 시점 $t$에서 측정하며 $G_t$로 표기한다. 특정 시점 $t$부터의 미래 보상인 $R_{t+k}$의 누적 합이다. 이때 $1 \leq k \leq T$다. 이때 $T$면 유한한 숫자일 수도 있고 $\infty$일 수도 있다.
정책 (Policy)는 $\pi$로 표기하며 에이전트가 어떤 상태 $s$에서의 어떤 행동 $a$를 결정하는 원칙이다.
- 결정론적 정책(Deterministic policy)이면 상태 $s$에서 항상 정해진 행동 $a$만을 수행한다.
- 반면에 확률적 정책(stochastic policy)인 경우 상태 $s$에서 다음 행동 $a$를 확률적으로 결정한다.
전이 확률 (Transition Probability)란 $P(s' | s, a)$로 표기하며, 상태 $s$에서 특정 행동 $a$를 취했을 때 환경에 의해서 다음 상태인 $s'$로 상태가 변할 확률을 의미한다.
여기서 헷갈리지 말아야할 점을 정리해본다.
시간이 $t$에서 상태가 $S_t = s$일 때, 에이전트가 행동 $A_t = a$가 확정적이냐 아니냐에 따라 결정론적 정책인지 확률론적 정책인지가 나뉜다.
반면에 전이 확률의 경우 $t$에서 상태가 $S_t = s$일 때, 에이전트가 선택한 행동 $A_t = a$에 따라서, 환경이 다음 상태 $S_{t+1} = s'$이 확정적으로 결정하는지 아니면 확률적으로 결정하는지를 결정하는 요소다. 만약 모든 $(s, a, s')$ triples에 대해서 $P(s' | s, a)$가 1이라면 결정론적이라고 할 수 있다. 전이확률이 스토캐스틱한 경우는 gym의 frozen_lake 예제에서 다음 칸으로 이동할 때 미끄러지느냐 아니냐에서 볼 수 있었던것 같다.
Discount rate (factor)란 보다 먼 미래의 reward의 효과를 다소 감소시키는 효과를 지닌다. 보통 $\gamma$로 표기한다. 현재 시점이 $t$라면 누적 보상합인 $G_t$를 구할 때 $t$+1의 보상의 경우 $\gamma R_{t+1}$을 더하고, $t$+100의 보상의 경우 $\gamma^{100} R_{t+100}$을 더한다.
가치 (Value)는 특정한 정책 $\pi$를 따를 때 특정 상태나 액션이 얼마나 좋은지를 수치적으로 나타내는 지표다. 보통 미래에 얻을 수 있는 기대 보상 (Expected reward)로 측정한다.
- 상태 가치 함수 (State Value Function, $V$)은 정책 $\pi$를 따를 때, 상태 $s$만을 고려하며 이때 얻을 수 있는 expected return이다. 이때 모든 action (즉 $a \in \mathcal{A}$, where $ \mathcal{A} $ is action space which means the set of all possible actions)를 고려한다.
- 행동 가치 함수 (Aciton Value Function, $Q$)는 정책 $\pi$를 따를 때, 상태 $s$에서 특정 행동 $a$를 취했을 때의 expected return을 의미한다.
벨만 방정식 (Bellman Equation)은 State Value Function과 Action Value Function을 재귀적으로 나타내는 방식이다. 반복적인 계산을 통해서 특정한 값으로 수렴한다.
Exploration (탐험)이란 현재 상태 $s$에서 주어진 정보를 가지고 최적의 선택인 행동 $a$를 택하지 않고 행동을 취함을 의미한다. 정보를 모두 알고있지 않을 때 특히 중요하다. 보통 $\epsilon$-greedy 방법을 이용해서 탐험을 수행한다.
Exploitation (활용)이란 현재 상태 $s$에서 주어진 정보를 가지고 최적의 선택을 하여 행동함을 의미한다.
Update Process
정책 평가 (Policy Evaluation)
주어진 정책 $\pi$에 대한 상태 가치 함수 $V_{\pi}(s)$를 계산한다.
정책 평가 (Policy Evaluation)
현재 행동 가치 함수 $Q_{\pi}(s, a)$를 바탕으로 더 나은 정책을 찾는다. 즉 최적의 행동 $a$를 찾는다.
정책 반복 (Policy Iteration)
정책 평가 (Policy Evaluation)과 정책 평가 (Policy Evaluation)을 지속적으로 반복해서 정책 $\pi$가 수렴할 때 까지 진행한다.
$ \pi_{0} \xrightarrow{\text{E}} v_{\pi_{0}} \xrightarrow{\text{I}} \pi_{1} \xrightarrow{\text{E}} v_{\pi_{1}} \xrightarrow{\text{I}}
\pi_{2} \xrightarrow{\text{E}} v_{\pi_{2}} \xrightarrow{\text{I}} \ldots \pi_{*} \xrightarrow{\text{E}} v_{\pi_{*}}$,
where $\xrightarrow{\text{E}}$ denotes **policy evaluation**, and $\xrightarrow{\text{I}}$ denotes **policy improvement**,
and * marks denotes optimality.
가치 반복 (Value Iteration)
정책 평가 (Policy Evaluation)과 정책 평가 (Policy Evaluation)을 분리해서 수행하지 않고 가치 함수 자체를 최적화하면서 이에 따라서 자동적으로 정책이 개선되도록 하는 알고리즘이다. 최적의 가치를 찾은 다음 이에 기반해서 최적의 정책 optimal policy를 달성함을 의미한다.
On-Policy vs Off-Policy
우선 알아야할 개념이 있다.
Behavior Policy: agent가 실제로 action을 취하고 데이터 샘플을 얻는 정책이다.
Target Policy: 평가 (evaluate)하고 개선 (improve)하는 목적이 되는 정책이다.
On-policy는 Behavior policy와 target policy가 같다.
Off-policy는 Behavior policy와 target policy가 다르다.
On-policy의 대표적인 알고리즘은 SARSA이며, Off-policy의 대표는 Q-learning이다.
On-policy 알고리즘
- SARSA (State-Action-Reward-State-Action)
- Actor-Critic
- PPO (Proximal Policy Optimization)
- A2C (Advantage Actor-Critic)
- A3C (Asynchrounous Advantage Actor-Critic)
- TRPO (Trust Region Policy Optimization)
Off-policy 알고리즘
- Q-learning
- DQN (Deep Q-Network)
- DDPG (Deep Deterministic Policy Gradient)
- SAC (Soft Actor-Critic)
- TD3 (Twin Delayed DDPG)
On-Policy vs Off-Policy Comparison Table
구분 | On-Policy | Off-Policy |
장점 | - 더 안전한 전략 학습 - 더 빠른 수렴 - 더 나은 온라인 성능 |
- 최적 정책을 찾을 가능성 높음 - 지역 최솟값에 갇힐 가능성 낮음 - 경험 리플레이 활용 가능 - 다양한 방법으로 데이터 수집 가능 |
단점 | - 지역 최솟값에 갇힐 수 있음 - 최적 정책을 찾을 가능성 낮음 - 현재 정책에 따라 데이터 수집 필요 |
- 학습된 정책이 안전하지 않을 수 있음 - 온라인 성능이 좋지 않을 수 있음 |
# 주의! 검증 필요
On-policy vs Off-policy 그리고 Policy iteration vs Value iteration 여부가 궁금해서 Le Mistral에게시켜서 2 x 2 table로 정리했다.
Value Iteration | Policy Iteration | |
On-policy | - SARSA | - Actor-Critic |
- PPO (Proximal Policy Optimization) | ||
- A2C (Advantage Actor-Critic) | ||
- A3C (Asynchronous Advantage Actor-Critic) | ||
- TRPO (Trust Region Policy Optimization) | ||
Off-policy | - Q-learning | - DDPG (Deep Deterministic Policy Gradient) |
- DQN (Deep Q-Network) | - SAC (Soft Actor-Critic) | |
- TD3 (Twin Delayed DDPG) |
References:
Reinforcement Learning: An Introduction, 2nd edition, Richard S. Sutton and Andrew G. Barto
https://ekababisong.org/key-concepts-of-modern-reinforcement-learning/
'Reinforcement Learning' 카테고리의 다른 글
MAB (Multi-Armed Bandit) 설명과 코드 (0) | 2025.03.20 |
---|