Rainforce Learning 강화학습
Enviornment -> State | Reward -> Agent | Policy -> Action -> Environment
(경험 + 지식) > 판단 > 정책 :
적설히 설계된 보상체계를 활용하여 Agent가 긍정적인 행동을 할 수 있도록 행동을 제어한다.
Markov Chain 마르코프 연쇄
마르코프 연쇄는 마르코프 속성을 가지고 있는 시스템의 상태 변화를 말한다.
과거 상태와는 독립적으로 현재 상태에 의해서면 결정되어야 한다.
S : 상태(State)의 집합
P : 상태 전이 매트릭스
에피소드 : 일련의 연속된 상태 변화
환경 : 전체 에피소드의 모음
마르코프 연쇄를 계산하기 위해서는 매트릭스 행렬의 내적의 곱을 계산하면 된다.
마르코프 속성 : 과거의 모든 상태를 무시하고 현재 상태만 가지고 미래를 예측한다.
그리고 마르코프 속성(Property)은 메모리를 가지지 않는다.
P[S(t+1) | S(t)] = P[S(t+1) | S(1) , ... S(t) ]
-예제-
숫자카드 1, 2, 3, 4에서 카드를 뽑는다.
1을 뽑고나서, 2, 3, 4에서 한장을 뽑는다면 1이 없기때문에 마르코프 속성을 만족하지 않는다.
1을 뽑고나서, 1을 다시 넣고, 1, 2, 3, 4에서 한장을 뽑는다면 마르코프 속성을 만족한다.
이유 : 1. 1을 뽑았을때, 2. 1을 넣었을때, 3. 카드를 새로 뽑을때, 3번 행동에 1번 행동의 영향을 미치지 않는다.
Markov Reward Process, MRP
마르코프 보상과정은, 마르코프 체인에 가치(Reward, 감가율)을 추가한 과정이다.
Reward는 가치를 말하며, 변화에따른 가치를 부여한다고 보면된다.
예시 : 시스템의 효율성을 개선할때 많이 사용한다.
- S : 상태(State) 의 집합
- P : 상태 변화 매트릭스 = 확률
- Pss = P[St+1 = s' | st = s]
- R : 보상 함수
- Rs = E[Rt+1 | St = s] (기대 값) 확률 곱하기 보상의 기대 값 더해야함.
- y : 감가율
- Y = [0 ~ 1] (감가율을 계속 곱해야함)
확률의 기대값
이산 확률 분포 : 이산확률분포의 기대값의 경우, E(X) 는 사건이 일어날 확률 f(x) 와 사건의 값 x를 곱한 값들을 모두 더한 값이다.
연속 확률 분포 : 연속확률분표의 기대값은, x * f(x) 값에 시작값 a 부터 b까지의 적분 값이다.
보상함수 (Reward Function)
각 상태별로 지정된 보상 값 R과 상태별로 이동할 확률을 곱하여 보상함수를 구할 수 있다.
감가율 y
시간의 흐름에 따라 가치를 얼마나 낮출지 결정하는 비율이다.
즉시 받을 보상과, 어느정도 이후에 받을 보상을 감가율로 계산하여 값을 도출한다.
반환 값 G
Gt = Rt+1 + Rt+2 ... = 모두 더한 값
예제
3 타임 스텝에 목적지에 도달하는 에피소드의 반환 값 계산
S = 0.5 (시작점) , R1 = 1,0, R2 = 2.0, F =3.0 (도착 점)
0.5 + 1/2 x 1.0 + 1/2 x 1/2 x 2.0 + 1/2 x 1/2 x 1/2 x 3.0 = 1.5
S = 0.5, R1 = 1.0, R2 = 1.5, F = 3.0
0.5 + 1/2 x 1.0 + 1/2 x 1/2 x 1.5 + 1/2 x 1/2 x 1/2 x 3.0 = 1.21875
S = 0.5, R1 = 1.5, R2 = 2.0, F = 3.0
0.5 + 1/2 x 1.5 + 1/2 x 1/2 x 2.0 + 1/2 x 1/2 x 1/2 x 3.0 = 1.875 ( 제일 우수한 에피소드 )
상태가치함수 : 에피소드 하나에 대한 가치를 측정할 수 있다면, 상태 가치함수는 환경 전체에 대한 가치를 측정 할 수 있다.
V(s) = E[Gt | St = s] (Gt 는 기대 값)
E[Rt+1 + yRt+2 + y^2Rt+3 + .. | St = s]
E[Rt+1 + y(Rt+2 + yRt+3 + .. ) | St = s]
E[Rt+1 + yGt+1 | St = s] (G는 벨만방정식)
E[Rt+1 + yv(St+1) | St = s]
시그마[Rt+1 + yv(St+1) | St = s]
Rt+1 + yE[v(St+1) | St = s]
Rt+1 + y시그마(S' = S)Pss'v(s') (y는 감가율)
Markov Decision Process, MDP
마르코프 보상 과정에 행동과 정책이 추가된 개념 ( 가장 큰 가치를 가진 정책을 찾는다. )
MDP = MRP + Action + Policy
Markov Chain = 확률 ( 야구경기 선수 선발 )
Markov Reward Process = 가치 ( 환경, 에피소드 > 가치 )
Markov Decision Process = 가치, 정책 ( 강화학습 )
Agent : 에이전트 ( MDP는 능동적이다. 나머지 MC, MRP 는 수동적 )
행위자, 어떤 행동을 하는 주체이며, 정책에 따라 행동을 한다.
즉, 에이전트가 취한 상태(State)는 에이전트가 취한 행동과 상태 전이 확률(P)에 따라 바뀐다.
정책( Policy ) : 행동을 선택하는 확률
파이 = P(At = a | St = s]
- S : 상태(State)의 집합
- P : 상태 전이 매트릭스
- R : 보상 함수
- y : 감가율
- A : 행동(Action)의 집합 (에이전트의 행동, 다음 상태에 영향)
- 파이 : 정책 함수 [기대 값] (행동을 선택하는 확률 = 상태전이 매트릭스 형태)
최적정책 Optimal Policy
최적정책은 최적의 가치를 얻도록 행동할 수 있게 만드는 정책이다.
정책이란 행동을 선택할 수 있는 확률 즉 값이 큰 것이 확률이 높다는 이야기이다.
가치함수를 이용하여 최적정책을 구한다. 최적정책으로 가치함수를 구한다.
두가지 함수를 반복하면서 점점 더 좋은 결과를 내는 것이 MDP 이다.