일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- statistics
- reinforcement learning
- unity
- David Silver
- 판다스
- convex optimization
- Hessian Matrix
- Deep Learning
- Series
- 논문
- paper
- list
- optimization
- Linear algebra
- neural network
- 모두를 위한 RL
- Python Programming
- 강화학습
- 리스트
- 유니티
- pandas
- Laplacian
- rl
- 데이터 분석
- Jacobian Matrix
- 사이킷런
- 딥러닝
- machine learning
- ML-Agent
- 김성훈 교수님
RL Researcher
강화학습 문제와 가치기반 강화학습 문제의 풀이기법 본문
"강화학습 문제"
강화학습의 순차적인 문제를 우리는 Markov Decision Process(마르코프 결정과정), 또는 MDP라고 정의합니다.(Markov Chain)
"강화학습의 문제 풀이 방법"
환경에 대해서 알 때 : Dynamic Programming(DP : 동적 계획법)
장점 : (상대적으로) 문제를 해결하기 쉬움, 매우 효율적임
단점 : 현실적이지 못함
환경에 대해서 모를 때 : Monte-Carlo(MC : 몬테 카를로), Temporal Difference(TD : 시간차)
장점 : 현실의 문제상황에 적용이 가능
단점 : (DP에 비해) 효율성이 떨어짐
"마르코프 특성(Markov property)"
"어떠한 상태 $s_{t}$는 Markov 하다"의 정의 :
$$P(s_{t+1} \mid s_{t}) = P(s_{t+1} \mid s_{t}, s_{t-1}, ..., s_{0})$$
현재상태 $s_{t}$를 알면, 역사를 아는 것과 동일한 수준으로 미래 상태를 추론할 수 있다. (미래의 상태는 과거와 무관하게 현재의 상태만으로 결정된다.)
"마르코프 과정(Markov Process)"
Markov Process :
- Markov Process(Markov Chain)는 $<S, P>$인 튜플입니다.
- $S$는 (유한한) 상태의 집합
- $P$는 상태전이행렬(State Transition Matrix)
"상태 천이 행렬(State Transition Matrix)"
현재 상태 $s$에서 다음 상태 $s^{'}$으로 이동할 확률을 $P_{ss'}$ 이라 부르고
$$P_{ss'} \doteq P(S_{t+1} = s^{'} \mid S_{t} = s)$$
상태 천이 행렬(State Transition Matrix)은 모든 현재 상태에서 다음 상태로 이동할 확률을 정의합니다.
$$P = \begin{bmatrix}
P_{11} & \cdot\cdot\cdot & P_{1n} \\
: & \ : & : \\
P_{n1} & \cdot\cdot\cdot & P_{nn}
\end{bmatrix}$$
$$P_{ij} : i에서 j로 갈 확률$$
"마르코프 보상 과정(Markov Reward Process)"
MRP는 MP에 Reward를 추가한 확률 과정입니다.
MRP는 $<S,P,R,\gamma>$인 튜플입니다.
- $S$는 (유한한) 상태의 집합
- $P$는 상태 천이 행렬
- $R$은 보상 함수, $R:S \rightarrow R$(Stochastic / Deterministic일 수 있음)
- $\gamma$는 감가율, $\gamma \in [0,1]$(0 ~ 1사이의 실수값)
"리턴 (Return)"
Return은 Agent가 현재 상태로부터 미래에 일을 고려할 수 있게 해주는 장치입니다.
Return $G_{t}$는 현재 시점 $t$부터 전체 미래에 대한 "감가된 보상의 합"
$$G_{t} \doteq R_{t+1} = \gamma R_{t+2} + \gamma^{2}R_{t+3} + \cdot\cdot\cdot = \sum_{t=1}^{\infty }\gamma^{t-1}R_{t}$$
$\gamma = 0$ : 미래에 대한 고려 X
$\gamma \rightarrow 1$ : 미래에 대한 고려가 커짐
$R_{t}$는 확률 변수, 즉 아직 하나의 결정된 값이 아님
"Return을 감가하는 이유?"
\[G_{t} \doteq R_{t+1} = \gamma R_{t+2} + \gamma^{2}R_{t+3} + \cdot\cdot\cdot = \sum_{t=1}^{\infty }\gamma^{t-1}R_{t}\]
1. 감가를 하면 값이 무한히 커지는 것을 방지해서, 수치적으로 안정적입니다.
2. 수학적 분석이 쉬워집니다.
3. "먼 미래는 불확실하다"는 철학을 반영하였습니다.
4. 사람은 먼 미래에 실현되는 이익을 선호하지 않습니다.
하지만, 항상 에피소드가 끝나는 경우에는 $\gamma = 1.0$을 사용하기도 한다.
"가치함수(Value Function)"
가치함수 $V(s)$는 현재 상태 s에서 미래의 "감가된 보상의 합"(리턴($G_{t}$))의 기댓값
$$V(s) = E[G_{t} \mid S_{t} = s]$$(현재 $t$의 상태가 $s$일 때, 미래의 기대(평균) 리턴은 얼마일까??)
"Bellman Expectation Equation"
$$V(s) = R_{t+1} = E[G_{t+1}\mid S_{t} = s]
\\\ = E[R_{t+1} + \gamma R_{t+1} + \gamma R_{t+2} + \gamma^{2}R_{t+3} + \cdot\cdot\cdot \mid S_{t} = s]
\\\ = E[R_{t+1} + \gamma(R_{t+2} + \gamma R_{t+3} + \cdot\cdot\cdot) \mid S_{t} = s]
\\\ (4) = E[R_{t+1} + \gamma G_{t+1} \mid S_{t} = s]
\\\ (5) = E[R_{t+1} + \gamma V(S_{t+1})\mid S_{t} = s]$$
$(4) \rightarrow (5) : E[A] = E[E[A]]$를 활용.
"Bellman Expectation Equation"
$$V(s) = E[R_{t+1} + \gamma V(S_{t+1})\mid S_{t} = s]$$
다음과 같이 변경됨
$$V(s) = R(s) + \gamma\sum_{s^{'} \in S_{t+1}}P_{ss^{'}}V(s^{'})$$ ($s$가 유한하다 / $R(s)$가 Deterministic하다를 가정)
"Bellman Expectation Equation"
Bellman Expectation Equation은 선형 연립방정식을 활용해서 표현이 가능합니다.
$$v = R + \gamma Pv$$
- $v$는 모든 상태의 value function 값을 담은 벡터. $v \in R^{n}$($R$은 실수공간을 의미함)
- $R$은 모든 상태의 reward function값을 담은 벡터. $R \in R^{n}$
- $\gamma$은 감가율. $\gamma \in R$(혹은 $\gamma \in R^{1}$로 표현)
- $P$는 상태천이 매트릭스. $P \in R^{n \times n}$
$$\begin{bmatrix}
V(1)\\
: \\\
V(n)
\end{bmatrix} = \begin{bmatrix}
R(1)\\
:\\
R(n)
\end{bmatrix} + \begin{bmatrix}
P_{11} & \cdot\cdot\cdot & P_{1n}\\
: & . & :\\
P_{n1} & ... & P_{nn}
\end{bmatrix}\begin{bmatrix}
V(1)\\
:\\
V(n)
\end{bmatrix}$$
"Bellman Expectation Equation의 풀이법"
$$v = R + \gamma Pv \\\ v = R + \gamma Pv \\\ (I - \gamma P)v = R \\\ v = (I - \gamma P)^{-1}R$$
- Bellman Expectaion Equation은 선형 방정식이기 때문에 직접적으로 해를 구하는 것(수식을 만족하는 $v$를 찾는 것)이 가능.
- 하지만 , $n$이 커질수록 직접적으로 문제를 푸는 것이 어려워짐
- DP, MC, TD 등을 활용해 문제를 풀 수 있습니다.
'Reinfrocement Learning' 카테고리의 다른 글
01. Introduction to Reinforcement Learning (0) | 2021.04.03 |
---|---|
강화학습 공부 자료 (0) | 2021.02.27 |
MAB Problem (0) | 2021.02.19 |
Markov Decision Process(MDP) (0) | 2021.02.09 |
강화학습(Reinforcement Learning) 개요 (0) | 2021.01.25 |