A. 강화학습 훑어보기

Bard·2023년 12월 26일

Reinforcement Learning

목록 보기
1/10
post-thumbnail

Notation

Agent와 Environment

step tt 마다 에이전트는

  • 관측값 OtO_t, 리워드 RtR_t를 받고
  • 그리고 액션 AtA_t를 실행한다.

환경은

  • 액션 AtA_t를 받음
  • 그리고 다음 관측값을 내보낸다. Observation Ot+1O_{t+1}, Reward Rt+1R_{t+1}

reward

reward RtR_t는 스칼라 피드백으로 에이전트는 다음 식처럼 보상의 누적값을 최대화하는 일을 한다.

Gt=Rt+1+Rt+2+Rt+3+G_t = R_{t+1} + R_{t+2} + R_{t+3} + \cdots

GtG_treturn이라고 부른다.

강화학습은 다음 보상 가설을 기반으로 한다.

어떤 목표든 보상의 누적값을 최대화하는 것으로 구조화할 수 있다.

Values

상태 s에서 기대하는 cumulative rewardvalue라고 부르자.

v(s)=E[GtSt=s]          =E[Rt+1+Rt+2+Rt+3+St=s]v(s) = \Bbb{E} [G_t | S_t = s] \qquad\qquad\qquad\qquad\qquad\;\;\;\;\;\, \\ = \Bbb{E} [R_{t+1} + R_{t+2} + R_{t+3} + \cdots | S_t = s]

value는 agent가 수행하는 action들에 의존한다.

따라서 강화학습의 목표는 적절한 action을 고름으로써 value를 최대화하는 것이다.

returns와 values는 다음과 같이 재귀적으로 정의된다.

Gt=Rt+1+Gt+1    v(s)=E[Rt+1+v(St+1)St=s]G_t = R_{t+1} + G_{t+1} \qquad\qquad\;\;\\ v(s) = \Bbb{E} [R_{t+1} + v(S_{t+1})| S_t = s]

state에서 action으로의 매핑을 policy라고 부른다.

Action values

또한 액션에 대한 조건부 value를 구할 수도 있다.

q(s,a)=E[GtSt=s,At=a]  =E[Rt+1+Rt+2+Rt+3+St=s,At=a]q(s,a) = \Bbb{E}[G_t|S_t=s, A_t=a]\qquad\qquad\qquad\qquad\qquad\qquad\;\, \\ = \Bbb{E}[R_{t+1} + R_{t+2} + R_{t+3} + \cdots | S_t = s, A_t=a]

Agent State

history는 observations, actions, rewards의 총 수열을 의미한다.

H=O0,A0,R1,O1,,Ot1,At1,Rt,Ot\mathcal{H} = O_0, A_0, R_1, O_1, \cdots, O_{t-1}, A_{t-1}, R_t, O_t

이 history는 agent state StS_t를 만드는 데 사용된다.

Markov decision process

Marcov decision process(MDP)는 유용한 수학적 도구로, 정의는 다음과 같다.

만약 p(r,sSt,At)=p(r,sHt,At)p(r,s|S_t,A_t)=p(r,s|\mathcal{H}_t,A_t) 라면 해당 프로세스는 Markov decision process이다.

이 뜻은 state가 우리가 history로부터 할 수 있는 모든 것을 포함한다는 뜻이다.

그렇다고 모든 것을 포함한다는 것은 아니고, 그저 history를 추가한다는 것이 도움이 안된다는 것이다.

즉, state를 알고 있다면 history는 갖다 버려도 된다는 말이다.

전형적으로 agent state StS_tHt\mathcal{H}_t의 어떤 압축의 형태가 된다.

Fully Observable Environments

만약 agent가 environment state 전체를 본다고 가정하자.

그러면 observation은 environment state와 동일할 것이고, agent state는 그냥 이 observation이 될 것이다.

St=Ot=environment stateS_t = O_t = \text{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)S_{t+1} = u(S_t,A_t,R_{t+1},O_{t+1})

이 될 것이다. uu는 상태 업데이트 함수이다.

agent state는 대부분 environment state 보다 훨씬 작다.

결국 이 uu를 잘 고르는 것이 중요할 것이다. 마지막 관측은 충분하지 않을 수 있고, 전체 history는 너무 클 수 있다.

Policy

policy는 agent의 행동을 결정한다.

Deterministic policy는 A=π(S)A = \pi(S) 처럼 상태에 대해 agent state가 명확한 함수로 나타나는 경우이다.

Stochastic policy는 π(AS)=p(AS)\pi(A|S) = p(A|S) 처럼 확률적인 함수로 나타나는 경우이다.

Bellman Equation

value function은

v(s)=E[GtSt=s,π]                    =E[Rt+1+γRt+2+γ2Rt+3+St=s,π]v(s) = \Bbb{E} [G_t | S_t = s,\pi] \qquad\qquad\qquad\qquad\qquad\;\;\;\;\;\;\;\;\;\;\, \\ = \Bbb{E} [R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \cdots | S_t = s,\pi]

여기에서 discount factor γ\gamma는 0에서 1 사이 값으로,

만약 reward 값을 그냥 계속 더한다면 value는 무한히 커지게 될 것이다.

따라서 discount factor는 가까운 reward에 더 큰 가중치를 두고, 먼 reward에는 작은 가중치를 둠으로써 이를 작게 할 수록 가까운 reward를 중요하게 여긴다는 말이 될 것이다.

이에 따라 return을 재귀적 형태로 나타낸다면, Gt=Rt+1+γGt+1G_t = R_{t+1} + \gamma G_{t+1}이 될 것이며, value는 아래처럼 나타날 것이다.

vπ(s)=E[Rt+1+γGt+1St=s,Atπ]            =E[Rt+1+γvπ(St+1)St=s,Atπ]v_\pi(s) = \Bbb{E} [R_{t+1} + \gamma G_{t+1} | S_t = s,A_t \thicksim \pi] \qquad\;\;\;\;\;\;\, \\ = \Bbb{E} [R_{t+1} + \gamma v_\pi (S_{t+1}) | S_t = s,A_t \thicksim \pi]

이는 Bellman equation으로 알려졌으며, 최적값을 위한 비슷한 식으로 아래 식이 있다.

vπ(s)=maxaE[Rt+1+γv(St+1)St=s,At=a]v_\pi(s) = \max\limits_a \Bbb{E} [R_{t+1} + \gamma v_* (S_{t+1}) | S_t = s,A_t=a]

이는 policy에 의존하지 않는다.

Model

model은 environment가 다음에 어떻게 될 것인지 예측한다.

예를 들어 P\mathcal{P}는 다음 상태를 예측한다.

P(s,a,s)p(St+1=sSt=s,At=a)\mathcal{P}(s,a,s') \approx p(S_{t+1}=s'|S_t = s, A_t = a)

R\mathcal{R}는 다음 상태를 예측한다.

R(s,a,s)E[Rt+1St=s,At=a]\mathcal{R}(s,a,s') \approx \Bbb{E}[R_{t+1}|S_t = s, A_t = a]

stochastic(generative) model을 고려해볼 수도 있다.

Agent Categories

  1. Value Based

    • Policy 없음 (Implicit)
    • Value Function
  2. Policy Based

    • Policy
    • Value Function 없음
  3. Actor Critic

    • Policy
    • Value Function
  4. Model Free

    • Policy and/or Value Function
    • Model 없음
  5. Model Based

    • Optionally Policy and/or Value Function
    • Model

RL 문제의 Subproblem

Prediction과 Control

  1. Prediction: 미래를 예측함 (주어진 policy를 통해)
  2. Control: 미래를 최적화함 (최고의 policy를 찾아)
π(s)=arg maxπvπ(s)\pi_*(s) = \argmax\limits_\pi v_\pi(s)

이는 위 식으로 강하게 연관되어있다.

Learning과 Planning

  1. Learning
  • 환경은 초기에 알 수 없음
  • 에이전트가 환경과 상호작용함.
  1. Planning
  • 환경의 모델이 주어지고,
  • 에이전트는 이 모델을 통해 외부 상호작용없이 계획을 한다.

Learning Agent Components

모든 컴포넌트들은 함수이다.

  • Policies: π:SA\pi:\mathcal{S} \rarr \mathcal{A}
  • Value Functions: v:SRv: \mathcal{S} \rarr \Bbb{R}
  • Models: m:SSm: \mathcal{S} \rarr \mathcal{S} and/or r:SRr: \mathcal{S} \rarr \Bbb{R}
  • State update: u:S×OSu: \mathcal{S} \times \mathcal{O} \rarr \mathcal{S}
profile
돈 되는 건 다 공부합니다.

0개의 댓글