Notation
Agent와 Environment
step t 마다 에이전트는
- 관측값 Ot, 리워드 Rt를 받고
- 그리고 액션 At를 실행한다.
환경은
- 액션 At를 받음
- 그리고 다음 관측값을 내보낸다.
Observation Ot+1, Reward Rt+1
reward
reward Rt는 스칼라 피드백으로 에이전트는 다음 식처럼 보상의 누적값을 최대화하는 일을 한다.
Gt=Rt+1+Rt+2+Rt+3+⋯
이 Gt를 return이라고 부른다.
강화학습은 다음 보상 가설을 기반으로 한다.
어떤 목표든 보상의 누적값을 최대화하는 것으로 구조화할 수 있다.
Values
상태 s에서 기대하는 cumulative reward를 value라고 부르자.
v(s)=E[Gt∣St=s]=E[Rt+1+Rt+2+Rt+3+⋯∣St=s]
value는 agent가 수행하는 action들에 의존한다.
따라서 강화학습의 목표는 적절한 action을 고름으로써 value를 최대화하는 것이다.
returns와 values는 다음과 같이 재귀적으로 정의된다.
Gt=Rt+1+Gt+1v(s)=E[Rt+1+v(St+1)∣St=s]
state에서 action으로의 매핑을 policy라고 부른다.
Action values
또한 액션에 대한 조건부 value를 구할 수도 있다.
q(s,a)=E[Gt∣St=s,At=a]=E[Rt+1+Rt+2+Rt+3+⋯∣St=s,At=a]
Agent State
history는 observations, actions, rewards의 총 수열을 의미한다.
H=O0,A0,R1,O1,⋯,Ot−1,At−1,Rt,Ot
이 history는 agent state St를 만드는 데 사용된다.
Markov decision process
Marcov decision process(MDP)는 유용한 수학적 도구로, 정의는 다음과 같다.
만약 p(r,s∣St,At)=p(r,s∣Ht,At) 라면 해당 프로세스는 Markov decision process이다.
이 뜻은 state가 우리가 history로부터 할 수 있는 모든 것을 포함한다는 뜻이다.
그렇다고 모든 것을 포함한다는 것은 아니고, 그저 history를 추가한다는 것이 도움이 안된다는 것이다.
즉, state를 알고 있다면 history는 갖다 버려도 된다는 말이다.
전형적으로 agent state St는 Ht의 어떤 압축의 형태가 된다.
Fully Observable Environments
만약 agent가 environment state 전체를 본다고 가정하자.
그러면 observation은 environment state와 동일할 것이고, agent state는 그냥 이 observation이 될 것이다.
St=Ot=environment state
그리고 이 경우, Markov desicion process의 조건을 만족한다.
Partially Observable Environments
이 경우 관측이 Markovian이 아니다. 전형적인 예로 포커게임이 있다.
우리는 상대방의 카드가 무엇인지 알지 못한다.
이를 partially observable Markov desicion process (POMDP)라고 부른다.
이 경우 environment state는 역시 Markov이지만, 에이전트가 알지 못한다는 것이고, 이런 경우가 일반적인 경우이다.
Agent State
agent state는 history에 대한 함수이다.
좀 더 일반적으로 본다면
St+1=u(St,At,Rt+1,Ot+1)
이 될 것이다. u는 상태 업데이트 함수이다.
agent state는 대부분 environment state 보다 훨씬 작다.
결국 이 u를 잘 고르는 것이 중요할 것이다. 마지막 관측은 충분하지 않을 수 있고, 전체 history는 너무 클 수 있다.
Policy
policy는 agent의 행동을 결정한다.
Deterministic policy는 A=π(S) 처럼 상태에 대해 agent state가 명확한 함수로 나타나는 경우이다.
Stochastic policy는 π(A∣S)=p(A∣S) 처럼 확률적인 함수로 나타나는 경우이다.
Bellman Equation
value function은
v(s)=E[Gt∣St=s,π]=E[Rt+1+γRt+2+γ2Rt+3+⋯∣St=s,π]
여기에서 discount factor γ는 0에서 1 사이 값으로,
만약 reward 값을 그냥 계속 더한다면 value는 무한히 커지게 될 것이다.
따라서 discount factor는 가까운 reward에 더 큰 가중치를 두고, 먼 reward에는 작은 가중치를 둠으로써 이를 작게 할 수록 가까운 reward를 중요하게 여긴다는 말이 될 것이다.
이에 따라 return을 재귀적 형태로 나타낸다면, Gt=Rt+1+γGt+1이 될 것이며, value는 아래처럼 나타날 것이다.
vπ(s)=E[Rt+1+γGt+1∣St=s,At∼π]=E[Rt+1+γvπ(St+1)∣St=s,At∼π]
이는 Bellman equation으로 알려졌으며, 최적값을 위한 비슷한 식으로 아래 식이 있다.
vπ(s)=amaxE[Rt+1+γv∗(St+1)∣St=s,At=a]
이는 policy에 의존하지 않는다.
Model
model은 environment가 다음에 어떻게 될 것인지 예측한다.
예를 들어 P는 다음 상태를 예측한다.
P(s,a,s′)≈p(St+1=s′∣St=s,At=a)
R는 다음 상태를 예측한다.
R(s,a,s′)≈E[Rt+1∣St=s,At=a]
stochastic(generative) model을 고려해볼 수도 있다.
Agent Categories
-
Value Based
- Policy 없음 (Implicit)
- Value Function
-
Policy Based
-
Actor Critic
-
Model Free
- Policy and/or Value Function
- Model 없음
-
Model Based
- Optionally Policy and/or Value Function
- Model
RL 문제의 Subproblem
Prediction과 Control
- Prediction: 미래를 예측함 (주어진 policy를 통해)
- Control: 미래를 최적화함 (최고의 policy를 찾아)
π∗(s)=πargmaxvπ(s)
이는 위 식으로 강하게 연관되어있다.
Learning과 Planning
- Learning
- 환경은 초기에 알 수 없음
- 에이전트가 환경과 상호작용함.
- Planning
- 환경의 모델이 주어지고,
- 에이전트는 이 모델을 통해 외부 상호작용없이 계획을 한다.
Learning Agent Components
모든 컴포넌트들은 함수이다.
- Policies: π:S→A
- Value Functions: v:S→R
- Models: m:S→S and/or r:S→R
- State update: u:S×O→S