1. 강화학습이란?
머신러닝에서는 학습하는 방식으로 크게 4가지로 나누게 됩니다.
지도학습, 비지도학습, 준지도학습, 강화학습
강화학습은 학습하는 방식이 다른 머신러닝과 달라 다른 분류 기준에 들어가게 됩니다.
가장 크게 차이나는 거는 데이터가 필요없다는 겁니다. 필요한 강화학습 방식도 있긴 합니다만(ex. GAIL, Model based등등...) 개념파트니 이 부분은 넘어가도록 하죠. 나중에 기회가 된다면 해당 부분도 포스팅을 해보도록 하겠습니다.
제가 강화학습을 공부 했을 때는 가장 어려웠던 부분은 모델링을 예상하고 공부를 시작했는데 알고리즘의 성향이 강해서 이에 대해 적응하기가 조금 어려웠습니다. 계속 지도학습의 입장에서 이해하려고 했던 탓에 처음에 받아들이기가 어려웠죠.
앞으로 내용은 지도학습을 공부 했을 때 생각은 잠시 접어두시고 읽어주시길 바라겠습니다.
2. 강화학습 개요
강화학습 5요소
강화학습에는 총 5가지 요소가 있습니다. 강화학습으로 문제를 풀 때는 이 5가지를 바탕으로 문제를 설계하고 강화학습 모델을 설명 할때도 이 5가지를 먼저 이야기를 해야하죠.
-
Agent : 관측과 보상을 받아와서 Action을 계산해내는 주체
-
Environment : 에이전트가 취할 수 있는 행동, 그에 따른 보상 등 시스템의 모든 규칙을 뜻한다.
-
State : 현재 시점에서 상황이 어떤지 나타내는 값의 집합.
-
Action : 에이전트가 현재 State에서 취할 수 있는 행동의 선택지.
-
Reward : 어떤 행동을 했을 때 따라오는 이득.
에이전트의 3요소
1. Policy : 에이전트가 State를 받았을 때 Action판단하는 방식
- Deterministic Policy :
- 항상 특정 State를 받으면 똑같은 Action을 뱉는 정책을 뜻합니다.
$$a = \pi(x)$$
- Stochastic Policy :
- 특정 State를 받았을 때 Action을 선택할 수 있는 특정 분포가 결정되고 해당 분포에서 Sampling을 통해 Actino을 선택하게 됩니다.
$$\pi(u|x) = P[u_t = u|x_t = x]$$
2. Model : 에이전트가 환경을 표현하는 방법
- State Transition Probability
$$P_{XX'} = P[X_{t+1} = X' | X_t =X]$$
- Markov Reward Process
$$R_X = E[R_{t+1} | X_t =X]$$
- Value Function : 가치 함수
2.2 Value Function : 가치함수
- 각 행동과 상태의 누적보상을 예측하는 함수.
- Total Discounted Return(누적 감가 보상)
$$G_t = R_{t+1} + \gamma R_{t+2} + .... = \sum_{k=0}^{\infty}\gamma^kR_{t+k+1} $$
(1) 상태 가치 함수(State_value function)
$$V^{\pi}(x) = E_{\pi}[G_{t+1}|x_t = x] = \sum_{u \in U}\pi(u|x)Q^{\pi}(x,u)$$
(2) 행동 가치 함수(Action -value function)
$$Q^{\pi}(x, u) = E_{\pi}[G_t|X_t=x, u_t = u] = R_x^u+\gamma\sum_{x' \in x}P_{xx'}^uV_{\pi}(x')$$
(3)상태 가치 함수와 행동 가치 함수의 관계
$$V^{\pi}(x_t) = \int_{u_t}Q^{\pi}(x_t, u_t)\pi(u_t|x_t)du_t$$
$$= E_{u_t \sim \pi(u_t|x_t)}[Q^\pi(x_t,u_T)]$$
즉, 상태가치는 상태변수 x_t에서 선택 가능한 모든 행동 u_t에 대한 행동가치의 평균값임을 알 수 있다.
2.3 Bellman function : 벨만 방정식
지금 상태 변수의 가치와 다음 시간 스텝의 상태 가치와의 관계
1. 상태 가치 함수로 이루어진 벨만 방정식
$$V^{\pi}(x) = \sum_{x \in X}\pi(u|x)(R_x^u+\gamma \sum_{x' \in x}P_{xx'}^u V_{\pi}(x'))$$
2. 행동 가치 함수로 이루어진 벨만 방정식
$$Q^{\pi}(x, u) = R_x^u + \gamma \sum_{x \in X}P_{xx'}^u(\sum_{u' \in u}\pi(u'|x')q_{\pi}(x', u'))$$
2.4 Bellman Optimality function : 벨만 최적 방정식
- 상태 가치 최적 함수
$$V^*(x_t) = max_{\pi}V^{\pi}(x_t)$$
$$=max_u R_x^u + \gamma \sum_{x' \in x}P_{xx'}^uV^*(x')$$
- 행동 가치 최적 함수
$$Q^(x,u) = R_x^u + \gamma\sum_{x' \in x}P_{xx'}^uV^(x')$$
$$= R_x^u + \gamma \sum_{x' \in x}P_{xx'}^u max_{x'}q_*(x',u')$$
- 최적 정책
$$\pi^(u_t|x_t)=argmax_{u_t}Q^(x_t,u_t)$$
2.5 강화학습 방법
1. 가치 기반 강화학습
- 행동 가치 함수 추정
- 각 상태에서 행동가치 함수를 최대화 하는 행동을 선택
- 최적 정책 유도
- ex) Q-learning계열
2. 정책 그래디언트
- 정책 파라미터 공간을 직접 탐색
- 최적의 정책 찾기
- ex) Actor-Critic 계열
3. 모델 기반 강화학습
- 환경 모델을 정의하는 방식에 따라 여러 가지가 있습니다
- ex) Recurrent World Model, Dreamer...
'인공지능 > 강화학습' 카테고리의 다른 글
[강화학습] A2C (0) | 2021.04.20 |
---|