본문 바로가기
AI/강화학습

7. [OPENAI] Part 1: Key Concepts in RL

by 보안매크로 2025. 1. 24.
728x90

RL은 에이전트(agent)가 시도와 실패(trial and error)를 통해 학습하는 방법을 다루며, 행동에 대한 보상이나 처벌이 미래 행동을 변화시키는 방법을 공식화한 학문입니다.


What Can RL Do?

강화 학습의 활용 사례:

  • 로봇 제어(시뮬레이션 및 실제 환경에서)
  • 전략 게임(예: 바둑, Dota)에서의 인공지능 학습
  • 아타리 게임을 픽셀 정보만으로 학습
  • 사람의 명령을 따르는 시뮬레이션 로봇 학습

Key Concepts and Terminology

Agent와 Environment

  • Agent(에이전트): 학습하고 행동을 수행하는 주체
  • Environment(환경): 에이전트가 상호작용하는 세상
  • 에이전트는 상태(state)나 관측(observation)을 기반으로 행동(action)을 선택하며, 행동의 결과로 보상(reward)을 받습니다.

States and Observations

  • State(상태): 세상의 완전한 정보를 포함한 설명.
  • Observation(관측): 상태의 부분적인 정보.
  • 환경이 완전히 관측 가능한 경우 fully observed, 일부만 관측 가능하면 partially observed라고 합니다.

Action Spaces

  • Discrete Action Space(이산적 행동 공간): 선택 가능한 행동의 개수가 유한.
    • 예: 바둑, 아타리 게임
  • Continuous Action Space(연속적 행동 공간): 행동이 실수 벡터로 표현됨.
    • 예: 로봇 제어

Policies

  • Policy(정책): 에이전트가 행동을 결정하는 규칙.
    • Deterministic Policy(결정적 정책): 특정 상태에서 항상 같은 행동을 선택.
      • at=μ(st)a_t = \mu(s_t)
    • Stochastic Policy(확률적 정책): 상태에 따라 행동을 확률적으로 선택.
      • at∼π(⋅∣st)a_t \sim \pi(\cdot | s_t)

Categorical Policies (범주형 정책)

범주형 정책은 이산적 행동 공간(Discrete Action Space)을 처리하기 위한 정책입니다. 이는 분류기(Classifier)처럼 동작합니다.

구현 방법

  • 입력은 관측(observation)이며, 이를 신경망에 전달합니다.
  • 중간에 몇 개의 레이어(합성곱 레이어 또는 밀집 연결 레이어)를 거친 후, 마지막 선형 레이어가 각 행동에 대한 로그 확률(logits)을 출력합니다.
  • 마지막으로 softmax를 적용해 확률로 변환합니다.

Sampling (행동 샘플링)

  • 각 행동에 대한 확률이 주어지면, PyTorch나 TensorFlow와 같은 딥러닝 프레임워크에서 제공하는 함수를 사용해 샘플링할 수 있습니다.
    • 예: torch.distributions.Categorical, torch.multinomial, tf.distributions.Categorical, 또는 tf.multinomial.

Log-Likelihood (로그 우도)

  • Pθ(s)P_{\theta}(s): 각 행동의 확률을 나타내는 벡터.
  • 특정 행동 aa에 대한 로그 우도는 다음과 같이 계산됩니다: log⁡πθ(a∣s)=log⁡[Pθ(s)]a\log \pi_{\theta}(a|s) = \log \left[P_{\theta}(s)\right]_a
  • 여기서 [Pθ(s)]a\left[P_{\theta}(s)\right]_a는 행동 aa에 해당하는 확률 값입니다.

Diagonal Gaussian Policies (대각형 가우시안 정책)

대각형 가우시안 정책은 연속적 행동 공간(Continuous Action Space)을 처리하기 위한 정책입니다. 이는 다변량 가우시안 분포(Multivariate Gaussian Distribution)를 사용하며, 분산 행렬이 대각선 값만 가지는 특별한 경우입니다.

구현 방법

대각형 가우시안 정책은 관측값을 평균(mean) 행동으로 매핑하는 신경망을 포함합니다:

  • μθ(s)\mu_{\theta}(s): 상태 에서의 평균 행동.
  • 분산 행렬 표현 방식:
    1. 고정된 로그 표준 편차 (log⁡σ\log \sigma): 상태에 의존하지 않고, 별도의 매개변수로 유지됩니다.
    2. 상태 의존 로그 표준 편차 (log⁡σθ(s)\log \sigma_{\theta}(s)): 상태에 따라 로그 표준 편차를 계산하는 신경망을 사용합니다. 경우에 따라 평균 신경망과 레이어를 공유할 수도 있습니다.

왜 로그 표준 편차를 사용하는가?

  • 로그 표준 편차는 (−∞,∞)(- \infty, \infty) 범위를 가지므로 제약 없이 학습할 수 있습니다.
  • 로그 표준 편차를 지수화하면 표준 편차를 쉽게 계산할 수 있습니다.

Sampling (행동 샘플링)

  • 평균 행동 μθ(s)\mu_{\theta}(s)와 표준 편차 σθ(s)\sigma_{\theta}(s)가 주어졌을 때, 샘플링 과정은 다음과 같습니다: a=μθ(s)+σθ(s)⊙za = \mu_{\theta}(s) + \sigma_{\theta}(s) \odot z
    • 여기서 z∼N(0,I)z \sim \mathcal{N}(0, I): 단위 가우시안 노이즈 벡터.
    • ⊙\odot: 원소별 곱(Elementwise product).
  • PyTorch나 TensorFlow와 같은 프레임워크는 가우시안 노이즈를 생성하는 함수를 제공합니다:
    • 예: torch.normal, tf.random_normal, torch.distributions.Normal, tf.distributions.Normal.

Log-Likelihood (로그 우도)

  • kk-차원 행동 aa의 로그 우도는 다음과 같이 계산됩니다: log⁡πθ(a∣s)=−12(∑i=1k((ai−μi)2σi2+2log⁡σi)+klog⁡2π)\log \pi_{\theta}(a|s) = -\frac{1}{2}\left(\sum_{i=1}^k \left(\frac{(a_i - \mu_i)^2}{\sigma_i^2} + 2 \log \sigma_i \right) + k \log 2\pi \right)
  • 위 식은 가우시안 분포의 로그 확률 밀도 함수에 기반합니다.

Categorical vs. Diagonal Gaussian

  • Categorical Policies: 이산적 행동 공간에서 사용. 행동에 대한 확률 분포를 직접 학습.
  • Diagonal Gaussian Policies: 연속적 행동 공간에서 사용. 평균 행동과 분산(또는 표준 편차)을 학습.

Trajectories

  • Trajectory(궤적): 상태와 행동의 순서.
    • τ=(s0,a0,s1,a1,...)\tau = (s_0, a_0, s_1, a_1, ...)
  • 첫 상태는 초기 상태 분포(ρ0\rho_0)에서 샘플링되며, 상태 전환은 확률적이거나 결정적일 수 있습니다.

Reward and Return

  • Reward(보상): 행동의 결과로 환경에서 받은 값.
  • Return(수익): 궤적 상에서 누적된 보상의 합.
    • 유한한 시간 동안: R(τ)=∑t=0TrtR(\tau) = \sum_{t=0}^T r_t
    • 무한 시간 동안: R(τ)=∑t=0∞γtrtR(\tau) = \sum_{t=0}^\infty \gamma^t r_t (감쇠율 γ\gamma)

The RL Problem

  • RL의 목표는 **기대 수익(expected return)**을 최대화하는 최적 정책(π∗\pi^*)을 찾는 것입니다.
  • 최적화 문제는 다음과 같이 표현됩니다: π∗=arg⁡max⁡πJ(π),J(π)=Eτ∼π[R(τ)]\pi^* = \arg \max_{\pi} J(\pi), \quad J(\pi) = \mathbb{E}_{\tau \sim \pi}[R(\tau)]

Value Functions

  • Value Function(가치 함수): 특정 상태에서 시작해 특정 정책에 따라 행동했을 때 기대 수익.
  • 주요 가치 함수:
    1. State Value Function (Vπ(s)V^\pi(s)): 상태 s에서 정책 π\pi를 따랐을 때의 기대 수익.
    2. Action-Value Function (Qπ(s,a)Q^\pi(s, a)): 상태 , 행동 a 이후 정책 π\pi를 따랐을 때의 기대 수익.
    3. Optimal Value Function (V∗(s)V^*(s)): 최적 정책을 따랐을 때의 기대 수익.
    4. Optimal Action-Value Function (Q∗(s,a)Q^*(s, a)): 행동 a 이후 최적 정책을 따랐을 때의 기대 수익.

Bellman Equations

  • 벨만 방정식: 가치 함수 간의 자기 일관성 관계.
    • Vπ(s)=E[r+γVπ(s′)]V^\pi(s) = \mathbb{E}[r + \gamma V^\pi(s')]
    • Qπ(s,a)=E[r+γQπ(s′,a′)]Q^\pi(s, a) = \mathbb{E}[r + \gamma Q^\pi(s', a')]

Advantage Functions

  • Advantage Function (Aπ(s,a)A^\pi(s, a)): 특정 행동이 평균보다 얼마나 더 나은지 나타냄. Aπ(s,a)=Qπ(s,a)−Vπ(s)A^\pi(s, a) = Q^\pi(s, a) - V^\pi(s)

Formalism (MDP)

강화 학습은 수학적으로 **Markov Decision Process (MDP)**로 표현됩니다.

  • MDP는 5-튜플 ⟨S,A,R,P,ρ0⟩\langle S, A, R, P, \rho_0 \rangle로 구성:
    1. S: 상태의 집합
    2. A: 행동의 집합
    3. R(s,a,s′)R(s, a, s'): 보상 함수
    4. P(s′∣s,a)P(s' | s, a): 상태 전환 확률
    5. ρ0\rho_0: 초기 상태 분포
728x90

'AI > 강화학습' 카테고리의 다른 글

8. [OPENAI] Part 2: Kinds of RL Algorithms  (0) 2025.02.04
6. [OPENAI] Plotting Results  (0) 2025.01.23
5. [OPENAI] Experiment Outputs  (1) 2025.01.22
4. [OPENAI] Running Experiments  (0) 2025.01.21
3. [OPENAI] Algorithms  (0) 2025.01.20