👨🏫학습목표
오늘은 Policy Gradient algorithm과 Policy Gradient Theorem에 대해 배워볼 예정이다.
1️⃣ Policy Gradient algorithm

📕 DQN의 특징
- 입력으로 크고 continuous한 state space를 다룰 수 있다.
- 출력으로는 작고 discrete한 action space만 다룰 수 있다는 한계가 존재한다.
- Q-value값을 출력하는 Q-Network를 학습하여 policy를 결정한다.
- 출력된 Q-value에 ϵ-greedy를 적용하여 action을 결정한다.
🔷 Policy Gradient algorithm의 특징
- Continuous action space까지 다룰 수 있다.
- Optimal policy를 직접 학습한다.
- 즉 parametric probability distribution πθ(a∣s)를 학습한다.
- 입력으로 state가 들어오면, action값이 stochastic하게 출력된다.
- 출력 노드는 Action variable 하나를 의미한다
- 또한 Action 값 자체를 실수값으로 출력할 수 있기 때문에 Continuous한 처리가 가능한다.
🔻 Action space 이해하기
예를 들어 로봇의 다리에 4개의 관절이 있다고 하자.
- Action : 각 관절의 상태 → ( 3∘, −2∘, 1∘, −1∘ )
- Action variable : 각 관절을 의미 → ( v1, v2, v3, v4 )
- Action space : 모든 action variable이 가질 수 있는 상태
- −90∘≤vi≤90∘ → 총 181가지
- ( v1, v2, v3, v4 ) → 1814 가지
🔷 Policy Gradient algorithm의 학습
- Policy Gradient algorithm은 total reward가 커지는 방향으로 학습한다.
- Trajectory : τ=s0,a0,r1,s1,a1,…,sT
- Total reward : r(τ)
- Temporal correlation을 없애기 위한 Experience replay를 사용하지 않는다.
- Model이 학습하는 데이터 단위가 하나의 episode이기 때문에 특정 영역만 학습되는 문제가 발생하지 않는다.
Experience Replay에 대한 추가적인 내용은 아래 글에서 확인 가능하다.
🔻 Objective function
J(θ)=Eπθ[r(τ)]=∫p(τ;θ)r(τ)dτ
- Policy Gradient algorithm에서는 objective function J(θ)를 maximize하는 방향으로 학습한다.
- Object function을 업데이트 하기 위해서는 기대값에 대한 미분을 해야 한다.
- 이에 대한 내용은 다음 슬라이드에서 자세히 살펴본다.
🔻 Policy gradient update
θ:=θ+α∇θJ(θ)
- Maximize를 하기 위해 gradient ascent 방법을 사용한다.
- α: step size로 학습률이라고 생각하면 된다.
2️⃣ Policy Gradient Theorem

🔷 Policy Gradient Theorem
- Total reward의 expectation에 대한 gradient를 계산하는 공식이다.
∇θJ(θ)=∇θEπθ[r(τ)]=Eπθ[r(τ)t=0∑T−1∇θlogπθ(at∣st)]
🔻 증명과정
∇Eπ[r(τ)]=∇∫π(τ)r(τ)dτ
- Expectation을 적분 형태로 변환한다.
- policy에 대한 expectation이기 때문에 각 total reward가 발생할 확률로 표현된다.
∇∫π(τ)r(τ)dτ=∫∇π(τ)r(τ)dτ
∫∇π(τ)r(τ)dτ=∫π(τ)π(τ)∇π(τ)r(τ)dτ
- π(τ)를 분자 분모에 곱한다.
∫π(τ)π(τ)∇π(τ)r(τ)dτ=∫π(τ)r(τ)∇logπ(τ)dτ
- log에 대한 미분 공식에 따라 π(τ)∇π(τ)=∇logπ(τ) 이 성립한다.
∫π(τ)r(τ)∇logπ(τ)dτ=Eπ[r(τ)∇logπ(τ)]
- 위 적분식은 r(τ)∇logπ(τ)에 대한 기대값으로 표현할 수 있다.
Eπ[r(τ)∇logπ(τ)]
- 해당 식에서 π(τ)를 조금 더 분해해보자.
π(τ)=p(s0)t=0∏T−1π(at∣st)p(st+1∣st,at)
- Markov property에 따라 위와 같이 분해할 수 있다.
- 주어진 state st에서 특정 action at를 선택할 확률 p(at∣st)은 policy π(at∣st)로 표현한다.
∇logπ(τ)=∇log(p(s0)t=0∏T−1π(at∣st)p(st+1∣st,at))
- 다시 log를 씌우면 위와 같다.
- log는 곱을 합의 연산으로 바꿔준다.
∇log(p(s0)t=0∏T−1π(at∣st)p(st+1∣st,at))=t=0∑T−1∇logπ(at∣st).
- log연산을 통해 Π가 ∑으로 바뀐 것을 확인할 수 있다.
- 이때 ∇는 policy π에 대한 미분이기 때문에 p(s0),p(st+1∣st,at)는 상수로 취급되어 사라진다.
∇θJ(θ)=∇θEπθ[r(τ)]=Eπθ[r(τ)t=0∑T−1∇θlogπθ(at∣st)]
- 따라서 위 내용을 종합하면 Policy Gradient Theorem이 증명된다.
🔻 Policy Gradient Theorem의 장점
∇θJ(θ)=∇θEπθ[r(τ)]=Eπθ[r(τ)t=0∑T−1∇θlogπθ(at∣st)]
Objective function J(θ)는 gradient가 total reward와 πθ(at∣st)의 곱의 expectation으로 바뀌었다.
-
State-transition probability에 대한 값을 몰라도 계산 가능하다.
-
Expectation은 minibatch 단위로 sampling을 통해 근사한다.
이때 Objective function J(θ)을 통해 학습하는 대상은 policy에 대한 파라미터이기 때문에 sample에 사용되는 데이터는 서로 달라도 문제없다.
3️⃣ Policy Gradient Theorem의 이해

🔷 Expectation E
- Expectation은 minibatch 개수만큼 trajectory를 수집하여 평균을 통해 구한다.
- 이러한 방법은 unbiased approximation 이다.
- 이처럼 Minibatch만큼 데이터를 수집하여 expectation을 구하는 방법을 Markov Chain Monte Carlo (MCMC)라고 한다.
🔷 Total reward r(τ)
∇θJ(θ)=∇θEπθ[r(τ)]=Eπθ[r(τ)t=0∑T−1∇θlogπθ(at∣st)]
- Total reward는 policy gradient와 직접적인 관련이 없다.
- 계산된 ∇θlogπθ(at∣st)에 total reward r(τ)를 곱해준다.
- 이때 total reward r(τ)는 각 step의 reward가 가지고 있는 noise가 누적되기 때문에 variance가 크다.
- Variance를 줄이기 위해 discounted return Gt를 사용할 수 있다.
- 또한 total reward r(τ)는 과거부터 미래까지 전체 episode를 고려하지만 return은 현재 state에서부터의 reward만 고려한다는 특징이 있다.
- 이는 과거의 state는 고려하지 않는다는 강화학습의 방향과도 잘 맞다.
- 따라서 실제로 Objective function J(θ)를 계산할 때는 discounted return Gt를 사용한다.
- 이러한 특징을 가진 policy gradient algorithm이 다음시간에 살펴볼 REINFORCE 모델이다.
Discounted Return Gt에 대한 추가적인 내용은 아래 글에서 확인 가능하다.
4️⃣ 정리
🔷 21강에서 배운 내용은 아래와 같다.
- Policy Gradient algorithm은 continuous action space를 처리할 수 있다.
- Policy Gradient algorithm의 목적함수는 gradient ascent를 통해 업데이트 된다.
- Policy Gradient algorithm은 Policy Gradient Theorem을 통해 미분 가능하다.
- Policy Gradient Theorem은 state transition probability 없이 계산 가능하다.
- Policy Gradient Theorem의 expectation은 sampling을 통해 근사 가능하다.