1. Objective Function(목적함수)
강화학습의 목표
- return 값의 기댓값으로 이루어진 J(목적함수)를 최대로 만드는 정책(π(xt∣at)) 구하는 것
- Policy가 Parameter화된 것이 πθ(at∣xt)라면, J(θ)를 최대로 만드는 policy parameter(θ)를 계산하는 것
θ∗=argmax J(θ), J(θ)=Eτ∼p0(τ)[∑t=0Tγt∗r(xt,at)]
| 변수 | 설명 |
|---|
| r(xt,at) | 시간 t일 때 state 변수(xt)에서 action(at)를 했을 때 agent가 받는 보상 |
| γ | discount factor(감가율) 0~1 |
| τ | policy(πθ)로 생성되는 trajectory(궤적). (x0,a0,x1,a1,...xT,aT) |
| pθ(τ) | 정책 πθ로 생성되고, 기댓값 계산 시 사용하는 확률밀도함수 |
policy(πθ)는 보통 neural network로 parameter화됨.
1.1 Total Discount reward
t=0부터 Episode가 종료될 때까지 받을 수 있는 전체 Trajectory에 대한 Total discount Reward
- G0=∑t=0Tγt∗r(xt,at)
임의의 시간 k=t부터 Episode가 종료될 때까지 받을 수 있는 Reward-to-go(예정 보상)
- Gt=∑k=tTγk−t∗r(xt,at)
위의 확률 pθ(τ)을 확률의 chain rule(연쇄법칙)에 의해 전개하면,
초기 상태변수 x0의 PDF(p(x0))는 πθ(policy)와 무관하므로 첨자 없애기.
또한 p(x1∣x0,a0)는 환경의 모델로 Transition Probability(x0→x1)이므로 알 수 없고 policy와 무관.
pθ(τ)=pθ(x0,a0,x1,a1,...,xT,aT)=p(x0)pθ(a0,x1,a1...xT,aT∣x0)
=p(x0)pθ(a0∣x0)p(x1∣x0,a0)pθ(a1∣x0,a0,x1)p(x2∣x0,a0,x1,a1)pθ(a2,...,xT,aT∣x0,a0,x1,a1,x2)
마르코프 시퀀스 가정(Markov Decision Process)에 따라 현재 상태의 이전 상태만이 영향을 줄 수 있기 때문에
pθ(a1∣x0,a0,x1)=πθ(a1∣x1)
p(x2∣x0,a0,x1,a1)=p(x2∣x1,a1)
최종적으로 pθ(τ)=p(x0)∗Πt=0Tπθ(at∣xt)p(xt+1∣xt,at)
1.2 Objective Function
J(θ)=Eτ∼pθ(τ)[∑t=0Tγt∗r(xt,at))]=∫τpθ(τ)(∑t=0Tγt∗r(xt,at))dτ
여기서 trajectory를 두 영역으로 분할
τ=(x0,a0,x1,a1,...xT,aT)=(x0)∪(a0,x1,a1,...xT,aT)=(x0)∪τa0:aT
pθ(τ)=pθ(x0,τa0:aT)=p(x0)∗pθ(τa0:aT∣x0)
J(θ)=∫τpθ(τ)(∑t=0Tγt∗r(xt,at))dτ
=∫x0∫τa0:aTpθ(x0,τa0:aT)(∑t=0Tγt∗r(xt,at))dτa0:aTdx0
=∫x0∫τa0:aTp(x0)∗pθ(τa0:aT∣x0)(∑t=0Tγt∗r(xt,at))dτa0:aTdx0
=∫x0[∫τa0:aTpθ(τa0:aT∣x0)(∑t=0Tγt∗r(xt,at))dτa0:aT]p(x0)dx0
대괄호항은
Vπθ(x0)=∫τa0:aTpθ(τu0:uT∣x0)(∑t=0Tγ∗r(xt,at))dτa0:aT
따라서,
J(θ)=∫x0Vπθ(x0)p(x0)dx0
=Ex0∼p(x0)[Vπθ(x0)]
Objective Function은 초기 state 변수 x0에 대한 state value function의 평균값이 된다.
2. Policy Gradient
J(θ)를 최대로 만드는 θ를 계산하기 위해 Objective Function을 θ로 미분
∂θ∂J(θ)=∇θJ(θ)=∇θ∫τpθ(τ)∑t=0Tγt∗r(xt,at)dτ
=∫τ∇θ pθ(τ)∑t=0Tγt(xt,at)dτ
2.1 Gradient of Objective Function
∇θ log pθ(τ)=pθ(τ)∇θ pθ(τ) 식을 이용하여
위의 식, ∂θ∂ J(θ)=∫τpθ(τ)pθ(τ)∇θ pθ(τ)∑t=0Tγt(xt,at)dτ
=∫τpθ(τ)pθ(τ)∇θ pθ(τ)∑t=0Tγt(xt,at)dτ
=∫τpθ(τ)∇θ log pθ(τ)∑t=0Tγt(xt,at)dτ
∇θ log pθ(τ)를 전개해보면
=∇θ log(p(x0)∏t=0T πθ(at∣xt) p(xt+1∣xt,at))
=∇θ(log p(x0)+∑t=0Tlog πθ(at∣xt)+∑t=0Tlog p(xt+1∣xt,at)
두번째 항만이 θ에 대한 함수이므로, 첫번째, 세번째 항은 θ에 대해 상수항이므로 ∇θ=0이다.
여기서 Transition Probability 또는 Environment의 동역학 모델인 p(xt+1∣xt,at)가 objective function의 gradient 식에서 사라졌다는 것.
따라서 Model이 필요 없으므로 Gradient of the Objective Function을 이용하는 방법은 Environment의 모델이 필요 없는 model-free 강화학습 방법이다.
∇θ log pθ(τ)=∑t=0T∇θ log πθ(at∣xt)
∇θ J(θ)=∫τpθ(τ)(∑t=0T∇θ log πθ(at∣xt)) (∑t=0Tγt∗r(xt,at))dτ
2.2 Gradient of Bias Objective Function
Objective Function이 아래일 때
J(θ)=Eτ∼ pθ(τ)[∑t=0Tγt∗r(xt,at)]
Gradient of the Objective Function은
∇θ J(θ)=Eτ∼pθ(τ)[(∑t=0T∇θ log πθ(at∣xt))∗(∑t=0Tγt∗r(xt,at)]
=Eτ∼pθ(τ)[∑t=0T(∇θ log πθ(at∣xt)(∑k=0Tγk∗r(xk,ak)))]
오른쪽 2번째 항은 t=0에서 Episode가 종료될때까지 받을 수 있는 trajectory에 대한 total discounted sum G0.
하지만 t=k에서 실행된 policy (πθ(ak∣xk))는 t<k에서의 reward 값에 영향을 끼치지 못하는(non-causality)를 고려한다면 위 식은 다음과 같이 수정
즉, 결과인 r(xk,ak)은 원인인 t<k인 πθ(at∣xt)에 앞서 발생할 수 없다.
xk는 {ak−1,xk−1,...,at,xt,...}에 영향을 줄 수 없음.
그렇기 때문에 오른쪽 2번째 항은 G0가 아니라, ∑k=tTγk∗r(xt,at)로 변경. 아래와 같이 수정
=E τ∼pθ(τ)[∑t=0T(∇θ log πθ(at∣xt)(∑k=tTγk∗r(xk,ak)))]
=E τ∼pθ(τ)[∑t=0T(γt ∇θ log πθ(at∣xt)(∑k=tTγk−t∗r(xk,ak)))]
처음 감가율 γt는 log-policy gradient에 곱해지기 때문에 시간이 갈수록 변화율을 점점 작게 만듬. 감가율 γ가 작을수록 빠른 시간 안에 log-policy gradient(Jθ(θ))를 0으로 만들 수 있다.
이렇게 되면 episode의 후반부 trajectory에 있는 data의 이용도가 크게 떨어지는 단점.
감가율이 γ=1이라면 objective function의 gradient는 다음 식
∇θ J(θ)=E τ∼pθ(τ)[∑t=0T(∇θ log πθ(at∣xt)(∑k=tTr(xk,ak)))]
- 위 식은 Objective Function의 gradient의 분산을 크게 만들 수 있다는 단점
- 무한 구간 Episode에서는 보상의 총합(Gt)이 무한대가 될 수 있기 때문에 사용하지 못함.
실용적인 Objective Function의 Gradient
∇θ J(θ)=E τ∼pθ(τ)[∑t=0T(∇θ log πθ(at∣xt)(∑k=tTγk−t∗r(xk,ak)))]
예정된 reward에만 감가율 적용. 위 식은 다소 편향된 gradient.
t일 때 r(xt,at),
t+1일 때 γ∗r(xt+1,at+1),
...
T일 때 γT−t∗r(xt+1,at+1)
감가율 γ가 포함된 MDP는 생각보다 까다로운 문제, 아래 논문에서 자세히 논의.
Bias in Natural Actor-Critic Algorithms, 2014
2.3 Summary
Objective Function을 이용해 policy를 update하는 것을 policy gradient라고 한다.
Objective Function을 최대로 하는 parameter θ는 다음과 같이 Gradient Ascent로 구할 수 있음
- Objective Function
J(θ)=Eτ∼pθ(τ)[∑t=0Tγt∗r(xt,at)], τ=(x0,a0,x1,a1,...,xT,aT)
- 가정
Stochastic Policy at∼πθ(at∣xt)
- Gradient of O.F
∇θ J(θ)=E τ∼pθ(τ)[∑t=0T(∇θ log πθ(at∣xt)(∑k=tTr(xk,ak)))]
- Update
θ←θ+α∗∇θ J(θ)|