Loading [MathJax]/jax/output/CommonHTML/jax.js
본문 바로가기
Reinforcement Learning

강화 학습의 기본 개념들 정리

by 아르카눔 2025. 3. 21.

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에서 측정하며 Gt로 표기한다. 특정 시점 t부터의 미래 보상인 Rt+k의 누적 합이다.  이때 1kT다. 이때 T면 유한한 숫자일 수도 있고 일 수도 있다.  

 

정책 (Policy)π로 표기하며 에이전트가 어떤 상태 s에서의 어떤 행동 a를 결정하는 원칙이다.  

  • 결정론적 정책(Deterministic policy)이면 상태 s에서 항상 정해진 행동 a만을 수행한다.  
  • 반면에 확률적 정책(stochastic policy)인 경우 상태 s에서 다음 행동 a를 확률적으로 결정한다.  

전이 확률 (Transition Probability)P(s|s,a)로 표기하며, 상태 s에서 특정 행동 a를 취했을 때 환경에 의해서 다음 상태인 s로 상태가 변할 확률을 의미한다.  

 

여기서 헷갈리지 말아야할 점을 정리해본다.

시간이 t에서 상태가 St=s일 때, 에이전트가 행동 At=a가 확정적이냐 아니냐에 따라 결정론적 정책인지 확률론적 정책인지가 나뉜다.  

반면에 전이 확률의 경우 t에서 상태가 St=s일 때, 에이전트가 선택한 행동 At=a에 따라서, 환경이 다음 상태 St+1=s이 확정적으로 결정하는지 아니면 확률적으로 결정하는지를 결정하는 요소다. 만약 모든 (s,a,s) triples에 대해서 P(s|s,a)가 1이라면 결정론적이라고 할 수 있다. 전이확률이 스토캐스틱한 경우는 gym의 frozen_lake 예제에서 다음 칸으로 이동할 때 미끄러지느냐 아니냐에서 볼 수 있었던것 같다.  

 

Discount rate (factor)란 보다 먼 미래의 reward의 효과를 다소 감소시키는 효과를 지닌다. 보통 γ로 표기한다. 현재 시점이 t라면 누적 보상합인 Gt를 구할 때 t+1의 보상의 경우 γRt+1을 더하고, t+100의 보상의 경우 γ100Rt+100을 더한다.  

 

 

가치 (Value)는 특정한 정책 π를 따를 때 특정 상태나 액션이 얼마나 좋은지를 수치적으로 나타내는 지표다. 보통 미래에 얻을 수 있는 기대 보상 (Expected reward)로 측정한다.

  • 상태 가치 함수 (State Value Function, V)은  정책 π를 따를 때, 상태 s만을 고려하며 이때 얻을 수 있는 expected return이다. 이때 모든 action (즉 aA, where A is action space which means the set of all possible actions)를 고려한다. 
  • 행동 가치 함수 (Aciton Value Function, Q)는 정책 π를 따를 때, 상태 s에서 특정 행동 a를 취했을 때의 expected return을 의미한다.  

벨만 방정식 (Bellman Equation)은 State Value Function과 Action Value Function을 재귀적으로 나타내는 방식이다.  반복적인 계산을 통해서 특정한 값으로 수렴한다.  

 

Exploration (탐험)이란 현재 상태 s에서 주어진 정보를 가지고 최적의 선택인 행동 a를 택하지 않고 행동을 취함을 의미한다. 정보를 모두 알고있지 않을 때 특히 중요하다. 보통 ϵ-greedy 방법을 이용해서 탐험을 수행한다.  

 

Exploitation (활용)이란 현재 상태 s에서 주어진 정보를 가지고 최적의 선택을 하여 행동함을 의미한다.  

 

Update Process

정책 평가 (Policy Evaluation)

주어진 정책 π에 대한 상태 가치 함수 Vπ(s)를 계산한다.  

 

정책 평가 (Policy Evaluation)

현재 행동 가치 함수 Qπ(s,a)를 바탕으로 더 나은 정책을 찾는다. 즉 최적의 행동 a를 찾는다.  

 

 

정책 반복 (Policy Iteration)

정책 평가 (Policy Evaluation)과 정책 평가 (Policy Evaluation)을 지속적으로 반복해서 정책 π가 수렴할 때 까지 진행한다. 

 

π0Evπ0Iπ1Evπ1Iπ2Evπ2IπEvπ,  

where E denotes **policy evaluation**, and 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)

 

 

 

Model-based vs Model-free  

여기서 말하는 모델이란 P(S|S,A)이라고 볼 수도 있다.

즉 현재 상태 S에서 어떤 행동 A를 취했을 때 다음 상태 S가 어떻게 나올지를 알 수 있다는 뜻이다.

모델을 안다는 말은 agent가 현재 상태를 알고 행동을 취할 때 environment가 어떻게 변할지를 알 수 있다는 뜻이다.   

 

Model-based는 말 그대로 위 모델을 알 수 있는 상태에서의 강화학습을 의미한다.

 

Model-free는 위 모델을 모른 상태에서 수행하는 강화학습을 의미한다. 

 

 

 

 

 

 

References:

Reinforcement Learning: An Introduction, 2nd edition, Richard S. Sutton and Andrew G. Barto

https://ekababisong.org/key-concepts-of-modern-reinforcement-learning/  

https://ai-com.tistory.com/entry/RL-%EA%B0%95%ED%99%94%ED%95%99%EC%8A%B5-%EC%9D%B4%EB%A1%A0-On-policy-Off-policy

https://core-robotics.gatech.edu/2022/02/28/bootcamp-summer-2020-week-4-on-policy-vs-off-policy-reinforcement-learning/

https://smj990203.tistory.com/47

https://dreamgonfly.github.io/blog/rl-taxonomy/

https://ebbnflow.tistory.com/343

 

 

'Reinforcement Learning' 카테고리의 다른 글

MAB (Multi-Armed Bandit) 설명과 코드  (0) 2025.03.20