| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 백준
- hm3d
- image processing
- hm3dsem
- Reinforcement Learning
- 딥러닝
- UC Berkeley
- opencv
- r-cnn
- 그래프 이론
- machine learning
- C++
- 머신러닝
- ubuntu
- CNN
- BFS
- NLP
- YoLO
- RL
- Python
- 강화학습
- dynamic programming
- LSTM
- CS285
- AlexNet
- GIT
- dfs
- DP
- deep learning
- MySQL
- Today
- Total
JINWOOJUNG
[RL] CS285: Lecture 05. Policy gradients(2) 본문
본 포스팅은 UC Berkeley 에서 진행된 CS285: Deep Reinforcement Learning, Decision Making and Control
강의자료 및 강의를 기반으로 공부한 내용을 정리하는 포스팅입니다.
https://jinwoo-jung.tistory.com/175
[RL] CS285: Lecture 05. Policy gradients(1)
본 포스팅은 UC Berkeley 에서 진행된 CS285: Deep Reinforcement Learning, Decision Making and Control강의자료 및 강의를 기반으로 공부한 내용을 정리하는 포스팅입니다.https://jinwoo-jung.tistory.com/174 [RL] CS285: Lecture
jinwoo-jung.com
Off-Policy Policy Gradients
기존에 On-Policy, Off-Policy에 대해서 잠깐 정리했었다.
- On-Policy: Latest policy로 직접 환경과 상호작용하여 얻은 Samples(Trajectories) 만으로 학습. 학습하려는 정책(Target policy) = 데이터 수집 정책(Behavior policy)
- Off-Policy: 새로운 Samples를 생성하지 않고, 이전에 생성한 samples를 재사용 가능
지금까지의 Policy gradient는 On-Policy 이다. 즉, $\tau \sim p_\theta(\tau)$의 경우 매번 Latest policy를 기반으로 Samples를 생성해야 하는 어려움이 있다. 특히, NN 기반의 DRL의 경우, 경사하강법의 기본 이론은 테일러 근사 이론이기에 Gradient step이 매우 작을 때만 성립하므로, On-Policy는 매우 비효율적이다.

다시 말하면, 1번 단계를 매번 반복해야 하기 때문에 비효율적이다.

따라서 Off-Policy에 대해서 살펴보자. Trajectory를 얻은 $p_\theta(\tau)$가 Latest policy가 아닌 다른 Distribution(Old policy, , distribution by person, ...)로 부터 왔다고 가정하자. 그러면 우리는 Importance sampling을 통해 Objective function을 아래와 같이 재정의할 수 있다. 만약 $p_\theta = \bar{p}$라면 우리가 알고 있던 식과 동일하다.
Importance sampling: 다른 Distribution으로 부터 얻은 Sample을 통해 특정 Distribution의 Expectation을 평가하는 방법

이때, 두 Distribution에 대한 식을 전개하면, 우리가 알고 있는 Policy probability의 곱만 남게 된다.

이러한 수학적 개념을 가지고 Off-Policy Policy Gradient를 다시 한번 살펴보자. 데이터를 생성한 Parameter
(Behavior Policy)를 $\theta$라 하고, 우리가 평가하고 싶은 Parameter(Target Policy)를 $\theta'$이라 하자. 그렇다면 Objective function과 Gradient of objective function을 아래와 같이 계산할 수 있으며, 만약 $\theta=\theta'$이면 우리가 알고 있떤 식과 동일함을 확인할 수 있다.

앞서 구한 값을 기반으로 Gradient of objective function을 조금 더 전개 해 보자. 우리는 앞에서 Variance를 줄이기 위해 Causality를 배웠으므로 이를 적용 해 보자.

여기서 첫번째 $\prod$ 항은 현재의 행동만이 영향을 미치기에 Weight로써 동작한다. 두번째 $\prod$ 항은 앞으로의 Reward에 영향을 미치는데, 이를 무시하면 Policy iteration algorithm으로 이어지는데, 이는 나중에 배우게 된다.

Implementing Policy Gradients
이제 실제 구현 단계이다. 실제로 해당 식을 분석해 보면, 만약 Policy가 NN이라면 매 Sample, Timestep 마다 log probability의 gradient를 매번 계산해야 하는데, 이는 매우 비효율적인 방법이다.
$$\nabla_\theta J(\theta) \approx \frac{1}{N}\sum_{i=1}^{N}\sum_{t=1}^{T} \nabla_\theta log \pi_\theta (a_{i,t}|s_{i,t}) \hat{Q}_{i,t}$$
따라서 우리는 PyTorch, TF 등에서 사용되는 Automatic differentiation이 요구된다. 즉, 어떠한 함수가 주어지면 단순히 Gradient를 계산할 수 있도록 해야한다.
L = f(theta)
L.backward()
따라서 우리가 구하고자하는 $\nabla_\theta J(\theta)$는 이미 Gradient 형태이므로, 이 Gradient를 가지는 Objective function이 요구된다. 이때, $\hat{Q}_{i,t}$는 이미 계산된 상수이므로, 미분을 해도 앞으로 빠지게 된다. 따라서 우리는 실제 RL의 Objective function은 아니지만 유사한 형태를 만들 수 있다.

실제 이것은 Maximum likelihood와 유사하기에 weighted maximum likelihood라 칭하게 된다.

실제 Sudo-code를 살펴보자. 먼저 Maximum likelihood이다.
Policy를 이용해 prediction 하면서 각 Sample($i$)에서 각 Timestep($t$)에 대한 Action의 확률 logits를 반환하게된다. 이후, Discrete actions에서는 보통 Policy를 softmax로 paramter화하기 때문에, Softmax cross entropy를 통해 $-log \pi_\theta(a|s)$를 계산하게 된다. 이후 reduce_mean을 통해 평균을 내주면, 쉽게 gradients를 계산할 수 있다.

그렇다면 실제로 우리가 원하는 Objective function에 대해서는 어떻게 계산할까? 단순히 $\hat{Q}_{i,t}$만 q_values로써 추가됨을 확인할 수 있다.

실제로 Policy gradient는 Variance가 매우 크다. 그래서 큰 Batch size를 고려해야 되며, Learning rate를 적절히 조절해야 되는데, 이는 이후에 자세히 배운다.

'Reinforcement Learning' 카테고리의 다른 글
| [RL] CS285: Lecture 06. Actor-Critic Algorithms(2) (0) | 2026.01.29 |
|---|---|
| [RL] CS285: Lecture 06. Actor-Critic Algorithms(1) (0) | 2026.01.29 |
| [RL] CS285: Lecture 05. Policy gradients(1) (0) | 2026.01.28 |
| [RL] CS285: Lecture 04. Introduction to Reinforcement Learning(2) (0) | 2026.01.27 |
| [RL] CS285: Lecture 04. Introduction to Reinforcement Learning(1) (0) | 2026.01.27 |