1. 정의
1.1 마르코프 결정 프로세스(MDP)
state( xt ), State Transition Probability Density Function(p)와 행동(at), reward function(r(xt,at) )로 이루어진 이산시간 확률 프로세스(discrete time stochastic process)로서,
순차적으로 action을 결정해야 하는 문제를 풀기 위한 수학 모델.
여기서 state( xt ), 행동(at)은 연속공간이거나 이산공간 랜덤 변수다.
1.2 마르코프 시퀀스
State Transition PDF ( p )
state와 action이 연속공간 변수라면 어떤 state( xt )에서 agent가 행동(at)을 선택했을 때 다음 state( xt )로 갈 PDF는 다음과 같이 표현
p(xt+1∣xt,at)
state와 action이 이산공간 변수라면 State Transition PDF는 다음과 같이 표현
P{xt+1∣xt,at}
state transition function를 미래의 state가 과거의 state와 action에 관계없이 현재 state와 action에만 영향을 받도록 정의
-> 이러한 process를 마르코프 시퀀스라고 한다.
즉 마르코프 시퀀스는 미래의 state를 알기 위해 현재의 state와 action 정보만 필요하며 과거의 history와는 관계없는 sequence.
p(xt+1∣xt,xt−1,...,x0,at,at−1,a0)=p(xt+1)
1.3 MDP 목표
reward function
r(xt,at)는 어떤 state( xt )에서 agent가 action(at)를 선택했을 때 즉시 받을 수 있는 reward. reward는 랜덤 변수로서 환경에서 주어짐.
MDP 목표는 누적된 reward를 가장 많이 획득하기 위해 각 state에서 어떤 action을 취할 것인가 나타내는 conditional PDF를 구하는 것.
π(at∣xt)=p(at∣xt)
즉 π 라는 정책을 구하는 것.
Trajectory
Trajectory는 state 변수와 action의 연속적인 시퀀스로 구성
τ=(x0,a0,x1,a1,x2,a2,...,xT,aT)
- state 변수 x0에서 어떤 정책 π에 의해 a0가 확률적으로 선택(Sampling)되면 State Transition PDF에 의해 상태변수 x1으로 이동
- 이때 환경에 의해 보상 r(x0,a0) 주어짐
- 다시 state 변수 x1에서 u1이 Sampling되면 State Transition PDF에 의해 상태변수 x2로 이동.
- 이때 환경에 의해 r(x1,a1) 주어짐
- 위 과정 반복되어 state, action, reward의 순서로 전개
위와 같이 Environment 모델이 State Transition PDF로 주어지면 확률적 MDP라고 함.
Environment 모델과 정책이 모두 확정적으로 주어졌다면 확정적 MDP라고 한다.
확정적 MDP에서는 환경 모델이 다음과 같이 주어짐.
xt+1=f(xt,at)
즉, t에서 state와 action이 주어지면 다음 state xt+1을 확정적으로 알 수 있다.
확정적 MDP에서 reward가 r(xt,at)로 주어지고, 정책은 state 변수에서 action을 직접 계산하는 함수
ut=π(xt). 이 정책을 확정적 정책.
discounted return(반환값)
t 이후 미래에 얻을 수 있는 reward 총합은 아래와 같다.
Gt=r(xt,at)+γ∗r(xt+1,at+1)+γ2∗r(xt+2,at+2)+...+γT−t∗r(xT,aT)
= ∑k=tTγk−t∗r(xk,ak)
γ는 discount factor( 0≤γ≤1 )
reward가 랜덤 변수이기 때문에 discounted return 값 역시 랜덤 변수.
하지만, 확정적 MDP라면 discounted return은 확정된 값.
discount factor의 값이 작을수록 agent가 먼 미래에 받을 reward보다 가까운 미래에 받을 reward에 더 큰 가중치를 둠
discount factor는 T→∞일 때 discounted return이 무한대로 발산하는 것을 막는 수학적 장치
즉, 0≤γ<1이면 다음 식이 성립하므로 T→∞이더라도 discounted reward는 유한한 값을 가짐.
∣Gt∣=∣∑k=t∞γk−t∗r(xk,ak)∣≤∑k=t∞γk−t∗∣r(xk,ak)∣
≤rmax∑k=0∞γk=1−γrmax
임의의 k에 대해 ∣r(xk,ak)∣≤rmax 성립
Episode: state, action, reward의 시퀀스 집합
유한 구간 Episode: 특정 state에 도달하면 종료됨
무한 구간 Episode: t=T→∞ 무한히 이어짐
2. Value function
State-Value(상태 가치)
어떤 state 변수 xt에서 시작하여 정책 π에 의해서 action이 가해졌을 때 기대할 수 있는 discounted reward
Vπ(xt)=Eτat:aT∼p(τat:aT∣xt)[∑k=tTγk−tr(xk,ak)∣xt]
=∫τat:τaT(∑k=tTγk−tr(xk,ak))∗p(τat:aT∣xt)dτat:aT
해석: 상태 xt에서 ut에서 uT까지 일련의 action을 택하면서 얻는 discounted reward이다. 이 기댓값을 계산할 때 Trajectory인 τ에서 xt일 때 확률밀도 함수 state transition PDF(p(τat:aT∣xt))를 사용한다는 의미
Action-value(행동 가치)
어떤 상태변수 xt에서 행동 at를 선택하고 그로부터 정책 π에 의해서 행동이 가해지면 기대할 수 있는 미래의 discounted reward의 기댓값
Qπ(xt,at)=Eτxt+1:aT∼p(τxt+1:aT∣xt,at)[∑k=tTγk−tr(xk,ak)∣xt,at]
=∫τxt+1:τaT(∑k=tTγk−tr(xk,ak))∗p(τxt+1:aT∣xt,at)dτxt+1:aT
해석: 상태 xt에서 이미 action at를 취하고 xt+1에서 aT까지 일련의 action을 택하면서 얻는 discounted reward이다. 이 기댓값을 계산할 때 Trajectory인 τ에서 at일 때 확률밀도 함수 state transition PDF(p(τxt+1:aT∣xt,at))를 사용한다는 의미
State-Value와 Action-Value 간의 관계
τat:aT=(at,xt+1,at+1,...,aT)
=(at)∩(xt+1,at+1,...,aT)
=(at)∩τxt+1:aT
확률의 chain rule, pXY∣Z(x,y∣z)=pX∣Y,Z(x∣y,z)∗pY∣Z(y∣z)에 의해
p(τat:aT∣xt)=p(at,τxt+1:at∣xt)
=p(τxt+1:at∣xt,at)∗p(at∣xt)
=p(τxt+1:at∣xt,at)∗π(at∣xt)
위 식을 Value-Function에 대입하면,
Vπ(xt)=∫τat:τaT(∑k=tTγk−tr(xk,ak))∗p(τat:aT∣xt)dτat:aT
=∫τat∫τxt+1:τaT(∑k=tTγk−tr(xk,ak))∗p(at,τxt+1:aT∣xt)dτxt+1:aTdτat
=∫τat∫τxt+1:τaT(∑k=tTγk−tr(xk,ak))∗p(τxt+1:aT∣xt,at)∗π(at∣xt) dτxt+1:aTdτat
=∫at[∫τxt+1:τaT(∑k=tTγk−tr(xk,ak))∗p(τxt+1:aT∣xt,at)dτxt+1:aT]π(at∣xt) dat
Vπ(s)=∫atQπ(xt,at)π(at∣xt)da
=Eat∼π(at∣xt)[Qπ(xt,at)]
State-Value는 상태변수 xt에서 선택 가능한 모든 행동 at에 대한 Action-Value의 평균값이다.
3. Bellman Equation
Value Function을 시간 구간 [t,t+n−1]에서 전개. t+n≤T이고, ri=r(xi,ai)
Qπ(xt,at)=∫τxt+1:aT(∑k=tTγk−trk)∗p(τxt+1:aT∣xt,at)dτxt+1:aT
=∫τxt+1:aT(rt+γ∗rt−1+...+γn−1∗rt+n−1+∑k=t+nTγk−1rk)∗p(τxt+1:aT∣xt,at)dτxt+1:aT
=∫τxt+1:aT(rt+γ∗rt−1+...+γn−1∗rt+n−1)p(τxt+1:aT∣xt,at)dτxt+1:aT+∫τxt+1:aT(∑k=t+nTγk−1rk)∗p(τxt+1:aT∣xt,at)dτxt+1:aT
=Q1+Q2
trajectory τxt+1:aT 는 다음과 같이 분할할 수 있다.
τxt+1:aT=(xt+1,at+1,xt+2,at+2,...,xT,aT)
=τxt+1:xt+n∪τat+n:aT
확률의 chain rule에 의해
p(τat:aT∣xt,at)=p(τxt+1:xt+n,τat+n:aT∣xt,at)
=p(τat+n:aT∣xt,at,τxt+1:xt+n)∗p(τxt+1:xt+n∣xt,at)
Q1
=∫τxt+1:aT(rt+γ∗rt−1+...+γn−1∗rt+n−1)p(τxt+1:aT∣xt,at)dτxt+1:aT
=∫τxt+1:xt+n∫τat+n:aT(rt+γ∗rt−1+...+γn−1∗rt+n−1)p(τxt+1:aT∣xt,at)dτxt+1:aT
=∫τxt+1:xt+n∫τat+n:aT(rt+γ∗rt−1+...+γn−1∗rt+n−1)p(τat+1:at+n∣xt,at,τxt+n:xT)dτat+1:at+np(τxt+n:xT∣xt,at)dτxt+nxT
=∫τxt+1:xt+n[∫τat+n:aTp(τat+n:aT)dτat+n:aT](rt+γ∗rt−1+...+γn−1∗rt+n−1)p(τxt+1:xt+n∣xt,at)dτxt+1:xt+n
=∫τxt+1:xt+n(rt+γ∗rt−1+...+γn−1∗rt+n−1)p(τxt+1:xt+n∣xt,at)dτxt+1:xt+n
Q2
=∫τxt+1:aT(∑k=t+nTγk−trk)∗p(τxt+1:aT∣xt,at)dτxt+1:aT
=∫τxt+1:xt+nγn[∫τat+n:aT(∑k=t+nTγk−t−n∗r(xk,ak))∗p(τat+n:aT∣xt,at,τxt+1:xt+n)dτat+n:aT] p(τxt+1:xt+n∣xt,at)dτxt+1:xt+n
MDP라고 가정하면 p(.∣xt,at,τxt+1:xt+n)=p(.∣xt+n)
=∫τxt+1:xt+nγn[∫τat+n:aT(∑k=t+nTγk−t−n∗r(xk,ak))∗p(τat+n:aT∣xt+n)dτat+n:aT] p(τxt+1:xt+n∣xt,at)dτxt+1:xt+n
State-Value function 정의는
Vπ(xt)=∫τat:τaT(∑k=tTγk−tr(xt,at))∗p(τat:aT∣xt)dτat:aT
Q2=∫τxt+1:xt+nγn∗Vπ(xt+n)∗p(τxt+1:xt+n∣xt,at)dτxt+1:xt+n
Q=Q1+Q2
Qπ(xt,at)=∫τxt+1:xt+n(rt+γ∗rt−1+...+γn−1∗rt+n−1)p(τxt+1:xt+n∣xt,at)dτxt+1:xt+n+∫τxt+1:xt+nγn∗Vπ(xt+n)∗p(τxt+1:xt+n∣xt,at)dτxt+1:xt+n
=∫τxt+1:xt+n[(rt+γ∗rt−1+...+γn−1∗rt+n−1+γn∗Vπ(xt+n))]∗p(τxt+1:xt+n∣xt,at)dτxt+1:xt+n
=Eτxt+1:xt+n∼p(τxt+1:xt+n∣xt,at)[ rt+γ∗rt−1+...+γn−1∗rt+n−1+γn∗Vπ(xt+n)]
식 Vπ(xt)=∫utQπ(xt,at)π(at∣xt)dat 에 위의 Qπ(xt,at) 전개식을 대입하면
Vπ(xt)=∫atπ(at∣xt)[∫τxt+1:xt+n[rt+...+γn∗Vπ(xt+n)]∗p(τxt+1:xt+n∣xt,at)dτxt+1:xt+n]dat
확률의 chain rule, pXY∣Z(x,y∣z)=pX∣Y,Z(x∣y,z)∗pY∣Z(y∣z)에 의해
p(τxt+1:xt+n∣xt,at)=π(at∣xt)p(τxt+1:xt+n,at∣xt) 를 대입하면
=∫at[∫τat:xt+n[rt+...+γn∗Vπ(xt+n)]∗p(τxt+1:xt+n,at∣xt)dτat:xt+n]dat
=∫τat:xt+n[rt+γ∗rt+1+...+γn−1∗rt+n−1+γn∗Vπ(xt+n)]∗p(τat:xt+n∣xt)dτat:xt+n
=Eτat:τxt+n∼p(τat:xt∣xt)[rt+γ∗rt+1+...+γn−1∗rt+n−1+γnVπ(xt+n)]
위의 궤적은 어떤 상태변수 xt에서 시작해 정책 π로 생성된 궤적이다.
시간구간 n=1로 하면,
Vπ(xt)=∫atπ(at∣xt)[∫xt+1[rt+γ∗Vπ(xt+1)]p(xt+1∣xt)dxt] dat
=Eat∼π(at∣xt)[Ext+1∼p(xt+1∣xt,at)[rt+γ∗Vπ(xt+1)]]
=Eat∼π(at∣xt)[rt+Ext+1∼p(xt+1∣xt,at)[γ∗Vπ(xt+1)]]
위 식은 Bellman equation이라고 한다.