Introduction to Reinforcement Learning

|


[About RL]

RL의 특성

다른 머신러닝과 RL의 차이점은?

  • supervisor가 없이 오직 reward signal만 있음.
  • 피드백이 즉각적이지 않고 지연될 수 있음. (ex. 했던 행동에 대해 10분 뒤 보상 주어짐.)
  • Time이 굉장히 중요함. 순서가 중요하고 i.i.d data라는 가정이 없다.
  • Agent의 행동에 따라서 다음에 받게 될 데이터들이 달라진다.

예시

  • 헬리콥터의 스턴트 조작 움직임
  • 투자 포트폴리오 관리
  • 게임에서 세계 챔피언 이기기

[Reward]

Rewards

  • 리워드 \(R_t\)는 scalar feedback signal이다. == 숫자 하나.
  • step \(t\)에서 에이전트가 얼마나 잘하고 있는지를 나타내는 지표.
  • 에이전트의 목표가 cumulative reward를 최대화 시키는 것.

Definition (Reward Hypothesis)
모든 목표는 축적된 리워드의 최대화로 설명될 수 있다.

Sequential Decision Making

  • 순서에 맞게 동작을 결정해야 함. (처음 시작에만 걸을 수 있다고 해서 뒤로가서도 걸을 수 있는건 아니니까..)
  • 목표 : 미래의 총 리워드을 최대화할 액션을 선택하는 것.
  • 액션은 롱텀 결과를 가질 수 있다. == 당장 말고 나중에 결과를 얻을 수 있다.
  • 롱텀 리워드를 얻기 위해서는 즉각적인 보상을 포기해야할 수도 있다. (greedy하지 않도록..)

[Environment]

Agent and Environment

image

그림에서 에이전트는 뇌, environment는 지구로 표현된다. 에이전트가 액션을 하나 취하면 environment가 이를 받아서 두 가지 신호를 방출한다. 이는 reward와 observation이다. 리워드는 ‘에이전트 니가 한 행동에 대한 보상은 이거야.’를 의미하고 observation은 ‘에이전트 니가 한 행동으로 인해서 상황이 이렇게 바꼈어.’를 의미한다. 그리고 time step \(t\)에 따라서 discrete하게 작동하는 걸 유심히 봐야한다.


[State]

History and State

History는 observations, actions, rewards 를 다 순서대로 묶어놓은 것이다. 그 다음에 일어날 일을 위해 존재한다.

  • 에이전트는 history를 보고 다음 action을 결정.
  • Environment는 history를 보고 observation과 reward를 방출.

State는 굉장히 중요하다. 다음에 뭘 할지 결정하기 위해서 쓰이는 정보들이다. 즉, 에이전트도 다음 액션을 결정하기 위해 일련의 숫자들(에이전트의 state)을 보고 결정하고 environment도 일련의 숫자들(env의 state)를 보고 observation과 reward를 결정한다.

State는 history의 함수인데 과거의 일부만 볼 수도 있을 것이고 전체를 볼 수도 있을 것이다. 즉, history 안에 있는 정보를 가공해서 state를 만든다.

Environment State

Environment state \(S_t^e\)는 environment(환경)의 private representation이다.

즉, 다음 observation과 reward를 뽑아내 위해 사용된 모든 정보를 의미한다. 그리고 환경의 state는 에이전트에게 보통은 보이지 않는다. 잘 이해가 되지 않으니 아래 그림으로 이해해보자.

image

1024비트를 이용하는 아타리 게임기가 있다하자. 에이전트는 조이스틱을 움직여 action을 취할 것이고 그 액션을 받아서 환경은 reward와 observation을 생산할 것이다. 이 때 이 reward와 observation을 구하기 위해서 게임기는 게임기 내부의 1024개의 숫자들을 참고할 것이다. 이 숫자에는 캐릭터의 위치, 현재 총알의 위치 등 게임관련 모든 정보가 담겨있다. 이 때 이 숫자들을 Environment의 state라고 하는 것이다. 즉, 우리는 게임 플레이를 하면서 알 필요가 없는 정보들이다.

Agent State

Agent state \(S_t^a\)는 에이전트가 action을 취하기 위해서 참고하는 모든 정보(숫자)들을 의미한다.

Information State (Markov state)

현재 state가 Markov 상태에 있다는 뜻은 다음 액션을 취하기 위해서는 현재보다 더 과거의 정보는 필요가 없고 현재의 정보만 필요한 상태를 의미한다.

image

\[H_{1:t} → S_t → H_{t+1:∞}\]

현재 State를 알게되면 이전의 history는 다 던져버릴 수 있다. 즉, 이미 state 그 자체는 미래를 표현하기 위한 충분한 통계치를 의미한다. 정의적으로 environment state \(S_t^e\)는 Markov하다. 또한 히스토리 \(H_t\)도 Markov하다.

“현재 상태만 있으면 과거는 다 버려도 된다~”

Fully Observable Environments

image

Full observability : 에이전트가 다이렉트하게 envrionment state를 관찰할 수 있음.
\(O_t = S_t^a = S_t^e\). 즉, Agent state = environment state = information state 상태이다.
이러한 상태를 Markov decision process (MDP)라고 한다.

Partial obervability

에이전트가 부분적으로 env를 관찰이 가능한 상태. (Agent sate ≠ Environment state)

  • 카메라를 단 로봇의 시야는 그것의 절대적인 위치를 말해주지 않는다.
  • 포커 플레이어는 모든 카드가 아닌 오직 public 카드만 볼 수 있다.

이러한 상태를 partially observable Markov decision process (POMDP)라고 한다. 에이전트는 반드시 자기자신의 state를 정의해야 한다. 예를 들어, 히스토리가 될 수 있고 RNN을 쓸 수도 있다.


Inside An RL Agent

RL agent의 구성요소

  • Policy
  • Value function
  • Model

Policy

에이전트의 행동을 규정하는 것. State를 넣으면 action을 꺼내줌. 주로 \(\pi\)로 표현함.

  • Deterministic policy : \(a = \pi(s)\)
    • s 하나를 넣어주면 결정적으로 액션을 정해줌.
  • Stochastic policy : \(\pi(a \vert s) = ℙ[A_t = a \vert S_t = s]\)
    • s 하나를 넣으면 여러가지 액션이 가능한데 각 액션들의 확률을 정해줌.

Value Function

상황이 얼마나 좋은지를 나타냄. 미래 리워드의 총 합을 예측해줌. 수식에 익숙해져야 함..

\[v_\pi(s) = 𝔼_\pi[R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + ... \vert S_t = s]\]

에이전트가 어떤 상태 state s로부터 policy \(\pi\)를 따라갔을 때 상황이 끝날 때까지 얻는 총 리워드의 기대값을 의미함. 즉, policy가 없으면 value를 예측 못함.

왜 기대값을 구하느냐? –> stochastic의 경우 여러가지 액션을 취할 때마다 리워드가 달라지므로 그 모든 액션에 대해서 기대값을 취해주기 위해.. 또한 deterministic의 경우는 에이전트가 아닌 environment에서 확률이 존재할 수 있다. 예를 들어, 로봇이 움직일 때 바람이 살짝 불어 현재 state를 살짝 바꿀 확률이 있다.. 이런 경우까지 다 살펴봐야하기 때문에 기대값을 취해준다.

Model

모델은 환경이 어떻게 될 지 예측하는 애.

  • 𝑷 는 다음 state를 예측. → \(𝑷_{ss'}^a = ℙ[S_{t+1} = s' \vert S_t = s, A_t = a]\)
  • 𝑹 은 다음 (바로의) reward를 예측. → \(𝑹_s^a = 𝔼[R_{t+1} \vert S_t = s, A_t = a]\)

Maze Example

image

최대한 빠른 시간(움직임) 내에 미로를 탈출하자.

  • reward : time-step 당 -1
  • action : 동서남북
  • state : 에이전트의 위치

Maze Example : Policy

image

각 칸에서의 최적의 policy를 나타내고 있다. 화살표가 policy를 나타내며 이 경우는 optimal policy이다.

Maze Example : Value

image

Value function은 Optimal policy를 따랐을 때 value가 어떻게 되는지를 보여준다. Policy에 의존적 함수.

Maze Example : Model

image

그림 자체가 모델이다. 리워드와 state 예측을 수행한다. 리워드는 각 칸을 움직일 때마다 -1이니까 모두 -1로 예측했다. 길 자체(state)는 모델이 그냥 예측한 길이기 때문에 imperfect할 수 있다. 밑으로의 길이 실제 환경에서는 존재하지만 모델은 없다라고 예측한 것. 즉, 내부적으로 환경에 대한 (imperfect) 모델을 가지고 있는 것이다.

모델은 사실 미로에 처음 놓여지면 다 까맣게 길이 아예 어떻게 생긴지 모른다. 그래서 모델을 앞세워서 이렇게 생겼겠구나~ 하고 예측을 한 뒤 시작을 하는 것이다.

Categorizing RL agent

  • Value Based
    • No Policy
    • Only Value Function
  • Policy Based
    • No Value Function
    • Only Policy
  • Actor Critic
    • Policy
    • Value Function


다른 방식으로 분류도 가능하다.

  • Model Free
    • Policy and/or Value Function
    • No Model
  • Model Based
    • Policy and/or Value Function
    • Model

RL Agent Taxonomy

RL agent를 분류하는 방법들을 그림으로 표현했다.

image


Problems within RL

Learning and Planning

Sequential decision making에는 2가지의 근본적 문제가 존재한다. (environment를 아는지 모르는지에 따라..)

  • Reinforcement Learning
    • environment를 모른다.
    • 환경을 모르니까 환경과 interaction을 통해서 policy를 개선시켜 나간다.
  • Planning
    • environment를 안다. (= 다음 state에서 무슨 reward를 받을 지 알고 어느 state로 가야할 지 아는 것)
    • 환경을 아니까 직접 부딪혀보지 않고 내부적 계산을 통해 다음 state로 나아갈 수 있다.

Example - Reinforcement Learning

image

게임의 룰과 플레이 방법을 모르기 때문에 직접 게임 플레이를 하면서 interaction을 통해 배워나간다.

Example - Planning

image

게임의 룰을 알기 때문에 emulator에게 쿼리를 날릴 수 있다. (= perfect model inside agent’s brain). 예를 들어, 왼쪽으로 가면 뭐가 나와? 오른쪽은? 이런식으로 질문을 던져서 트리 형태로도 표현이 가능하다.

Exploration and Exploitation

강화 학습은 environment와 상호작용하면서 겪었던 경험을 통해서 좋은 Policy를 찾는 과정이다. 이 때 두 가지 과정이 있다:

  • Exploration : environment로 부터 정보를 얻어서 environment를 이해하는 과정.
  • Exploitation : 여태 모은 정보를 바탕으로 최선의 선택을 내리는 과정.

둘은 trade-off 관계이다.

Prediction and Control

  • Prediction : policy가 주어졌을 때 미래를 평가하는 것. 다른 말로는 value function을 잘 학습시키는 게 prediction 문제이다.
  • Control : 미래를 최적화 하는 문제. 최적의 policy를 찾는 것.


David Silver 교수님의 강의자료를 참고하였습니다.

Comments