팡요랩 - 강화학습 2강 공부
CS234 2019 Winter를 듣다보니 영어 강좌일 뿐 아니라 용어가 너무 어려워 따로 자료를 찾던 도중 발견한 곳이 팡요랩이었습니다.
CS234 2019 Winter를 듣다보니 영어 강좌일 뿐 아니라 용어가 너무 어려워 따로 자료를 찾던 도중 발견한 곳이 팡요랩이었습니다.
2015 David silver 강좌를 기반으로 한 강화학습을 한국어로 설명해 주시기에 이를 토대로 블로깅해보며 한 번 적어볼까하고 시작해볼까합니다.
물론 이번 강좌를 필사하고 괜찮으면 더 이어갈 것이고 그렇지 않다면 아마 이 2강으로 끝나지 않을까 생각합니다.
1강 URL : https://www.youtube.com/watch?v=wYgyiCEkwC8
1강은 개요라서 생략 2강에 대한 공부를 할 것 입니다.
2강 URL : https://www.youtube.com/watch?v=NMesGSXr8H4
강화학습에 MDP Sequential 상태를 알아야한다.
Markov Decision Property
Markov State : 이전 history는 다 버리고 이전 State만을 가지고 사용할 것
순서
1. Markov Process
2. Markov Reward Process
3. Markov Decision Process
4. Extension to MDPs - 강의에서는 소개하지 않으므로 다루지 않는 부분
1. Markov Process
MDP 환경을 표현하는 것, 환경이 모두 관측가능한 상황을 말하는 뜻으로
거의 모든 강화학습은 MDP 형태로 만들 수 있다.
P(St+1|St)=P(St+1|S1,S2,...St)
이전 history를 다 버릴 수 있다.
State Transition Matrix
env를 설명하는데 필요한 것으로
시간 t에 St=s라면 S_(t+1) = s`으로 전이할 확률들을 matrix 형태로 만든 것
Pss′=P(St+1=s′|St=s)
nxn matrix에 각 state -> state로 가는 확률을 넣어만든 값
Markov Process
S : 상태들의 집합
P : transition probability matrix 전이 확률 행렬 상태를 나타낸 행렬
memoryless random process
episode : sampling 한다는 의미
sampling : 한 event sequence episode를 뽑아낸다.
2. Markov Reward Process
⟨S,P,R,γ⟩
r : discount factor 0~1
action에 대한 reward를 주는 것은 state마다의 reward를 주는 것과는 다르다.
state와 action에 대한 reward는 다름
강화학습은 return을 maximize하는 것이 목표
경로 sampling 했을 때 γ 지수승을 통해 먼 state에 대해서 약하게 할 수 있다.
r = discount factor : 수학적으로 편리해서 -> 수렴성을 증명이 가능하므로 사용
terminal 종료점이 있으면 r=1이 가능
value function : return의 기댓값
E(Gt|St=s)
Gt는 확률 변수
ex) G1=R2+γR3+⋯+γT−2RT
각 episode에 따라 v를 계산 -> 평균
Bellman Equation for MRPs
중요한 개념
Immediate reward Rt+1
discounted value of successor state γv(St+1)
v(s)=E[Gt|St=s]
=E[Rt+1+γRt+2+γ2Rt+3+....|St=s]
=E[Rt+1+γ(Rt+2+γRt+3+....)|St=s]
=E[Rt+1+γGt+1|St=s]
=E[Rt+1+γv(St+1)|St=s]
v(s)=Rs+γ∑s′∈SPss′v(s′)
v=R+γPv
(I−γP)v=R
v=(I−γP)−1R
3. Markov Decision Process : 36:40s
⟨S,A,P,R,γ⟩
S : a finite set of state
A : a finite set of actions
P : a state transition probability matrix
Pass′=P[St+1=s′|St=s,At=a]
Ras=E[Rt+1|St=s,At=a]
γ : a discount factor γ∈[0,1]
action마다 reward
action을 하면 확률적으로 state들로 진행
action이 나올 확률은? s
policies
π(a|s)=P[At=a|St=s]
현재의 상태에 의존 not history
stationary, time-independent
Pπs,s′=∑a∈Aπ(a|s)Pass′
Rπs=∑a∈Aπ(a|s)Ras
policy π라 한다면 action을 했을 때의 state, reward를 통해 다음 state에 넘겨주는데 전체적으로 MRP로 볼 수 있다.
⟨S,A,P,R,γ⟩ => ⟨S,Pπ,Rπ,γ⟩
value function
policy pi를 따라 진행된다.
state-value function : vπ(s)=Eπ[Gt|St=s]
action--value function : qπ(s,a)=Eπ[Gt|St=s,At=s]
bellman eqn을 통해 수식적 표현할 것임
state-value function : vπ(s)=Eπ[Rt+1+γvπ(St+1)|St=s]
action--value function : qπ(s,a)=Eπ[Rt+1+γqπ(St+1,At+1)|St=s,At=s]
vπ(s)=Ras+γ∑s′∈SPass′vπ(s′),∀s
Optimzal Value Function
v∗(s)=maxπvπ(s)
q∗(s,a)=maxπqπ(s,a)
Optimal Policy
π≥π′ifvπ(s)≥vπ′(s)
모든 state에 대해서 value function이 클 때 조건이 너무 까다로운 정의
모든 MDP에 대해서 ...
Bellman Optimality Equation for v_*
v∗(s)=maxaq∗(s,a)
q∗(s,a)=Ras+γ∑s′∈SPass′v(s′)v∗(s′)
v∗(s)=maxaRas+γ∑s′∈SPass′v(s′)v∗(s′)
max -> linear equation이 아님
식 전개로 풀 수 없음
끝
아~ 식 쓰는거 개빡셈...