티스토리 뷰

이 글은 David Silver의 강화학습 강의를 기초로 하여 작성하였습니다.

https://www.davidsilver.uk/teaching/

 

Teaching - David Silver

 

www.davidsilver.uk

■ 강화학습(Reinforcement Learning, RL)이 다른 머신러닝과 어떻게 다른가?

(1) Supervisor(답 알려주는 자)가 없음
(2) Only a reward signal 
 - reward(목적) 신호 받아서 reward를 maximize하는(optimal해에 도달하는) 좋은 방법을 결정
(3) Feedback이 즉각하지 않고 늦어질 수 있음
 - reward가 좋은 action을 했을 때 바로 주어지는 것이 아님
 - 어느 action이 reward를 야기시키는 것인지 모름
(4) Time이 중요
 - Sequential, 순서 중요
 - Non iid(identically independant distributed) data
(5) agent의 action이 그 이후에 받게 되는 데이터에 영향을 줌

 

■ 강화학습 예제 

(1) backgammon 보드 게임에서 world champion 이긴 것
(2) 투자 포트폴리오 매니징(이윤이 reward)
(3) 휴머노이드 로봇 걷게 하는 것(넘어지면 -10 reward)
(4) Atari game에서 사람보다 잘 하는 것

 

■ 용어 설명

(1) Reward(Rt)
 - scalar feeback signal
 - step t때 agent가 얼마나 잘하고 있냐를 나타낸다.
 - agent의 목적은 cumulative reward를 최대화하는 것이다.
 - 강화학습은 reward hypothesis에 근거한다. 
 - Reward Hypothesis : 모든 목적은 cumulative reward를 극대화하는 것으로 묘사될 수 있다.
  (e.g 로봇 걷는 것의 reward는 1초씩 안 넘어질 때마다 1점씩 더하고 넘어질 때마다 -10점씩)
 - Sequential Decision Making
   - Goal : 미래 받을 reward 총합을 maximize하는 action을 선택
   - Action은 long term consequence 일 수도 있음
   - Reward는 delay 될 수도 있음
   - 즉각적인 reward를 포기하고 좀 더 long-term reward를 얻는 것이 나을 수 있다.
     (e.g 금융투자-한 달정도)
(2) Agent and Environment

Agent와 Environment


- 각 t step마다 agent
   - action(At) 수행
   - observation(Ot) 받고
   - scalar reward(Rt) 받음
 - 각 t step마다 Evironment
   - action(At) 받고
   - observation(Ot+1) 뱉음
   - scalar reward(Rt+1) 뱉음

 

(3) History and State
 ● history : observation, actions, rewards의 sequence

   Ht = O1, R1, A1, ... At-1, Ot, Rt


state : 다음 step에서 뭘 할지 결정하는 정보의 모든 것, history의 함수(history 안에 있는 정보를 가공)

   St = f(Ht)


 Environment state(set) : 
  - Environment의 내적인 표현으로, 다음 observation과 reward를 선택하기 위해 environment가 사용하는 모든 정보
  - agent에게 일반적으로 보이지 않음, 보이더라도 관련하는 정보를 포함한다.
  e.g) Atari 게임기
     - observation : 화면, action : 조이스틱 컨트롤러, reward(몬스터 죽일 때마다 쌓이는) : 총점
        - Evironment state : 다음 화면을 계산하기 위해 현재 몬스터 위치, 내 위치, 등 참고하는 숫자들(사실상 알 필요가 없는)


  Agent State(sat) : agent가 다음 action하는데 필요한 정보들
  e.g) 삼성전자 투자 시 참고하는 어제 주가, 어재 거래량, 삼성전자 분기별 재무제표들이 Agent State라 할 수 있음


  Markov State(information state) : 결정 시 바로 이전 State에서만 결정
  - 현재가 주어져 있으면 과거는 미래에 독립적이다.

  P[St+1|St] = P[St+1|S1...St]


 - S1~St가 주어지더라도 St+1에 갈 확률은 St로만 결정된다. 이럴 때 Markov하다고 할 수 있다

  H1:t → St Ht+1:∞


  - State를 알면 history는 던져버릴 수 있다. 오로지 현재 State가 미래에 영향을 줄 때 Markov하다고 할 수 있다.
  - State는 미래에 대한 충분한 통계치이다.
  - Environment state는 Markov
  - History는 Markov
  
 (4) Observable Environments
Fuly Observable Environments
  - Full observability : agent가 직접 environment state를 관찰할 수 있다.
  - Agent state = environment state = infomration state
  - Markov decision process(MDP)라고 부름
Partially Observable Environments
  - Partial observability : agent가 간접적으로 environment 관찰
     (e.g 로봇이 머리에 카메라를 달고 걸을 때 로봇이 어느 방향을 쳐다보느냐에 따라 카메라의 vision이 달라짐,
            포커할 때 상대 패를 모르고 결정)

  - agent state ≠ environment state
  - Partially observable Markov decision process(POMDP)라고 부름
  - Agent는 자신만의 state 표현형을 구축해야 한다.(sat)
  -  <state 표현하는 방법>
     - history를 쓸 수도 있음


     - Environment state의 beliefs


     - RNN과 같이 이전 state의 linear combination + 현재 observation의 linear combination를 변형 

 


■ RL Agent의 구성요소

 (1) Policy : agent의 행동을 나타내는 함수
  - state를 넣어주면 action을 뱉어주는(매핑)
  - Deterministic policy : state를 넣어주면 action이 결정적으로 정해짐


    a = π(s)


  - Stochastic policy : state를 던져주면 여러 action별 확률을 뱉어주고 확률에 따라 action을 선택
    π(a|s) = P[At = a|St = s]
 (2) Value function : 각 state 또는 action이 얼마나 잘했는지
  - state가 얼마 좋은지를 평가, 총 미래 reward의 합산을 예측
  - 내가 이 state에서 어떤 policy를 따라서 게임이 끝날 때까지 할 때, 얻을 총 reward의 기대값
    (기대값인 이유 : stochastic policy라 할 때 뭘 선택해야 하는지에 따라 결정이 달라지므로)
(deterministic policy 역시 policy / environment 자체에 확률이 있을 수 있어 기대값을 넣어줘야 함)

  vπ(s) = Eπ[Rt+1 + γRt+2 + γ2Rt+3 + ... |St = s] 


 (3) Model : environment의 agent 표현형
  - environment가 어떻게 될 지 예측하는 것
  - ① action을 했을 때 reward를 뭘 받을지를 예측하거나 ② state transition을 예측하는 것

Model


 e.g [미로(짧은 step으로 도착)]

- Reward : time-step마다 -1, Action : N/E/S/W, State : agent의 위치

Policy Value Function Model
각 state에서 어떤 방향으로 가야할지 
화살표를 나타냄
policy에 dependant하며 optimal policy할 때 value가 어떻게 되느냐를 표현

-  Model 부연설명 : 
  - Dynamic Model(action이 state를 어떻게 변화시키는지)
  - Reward Model(각 state에서 reward를 얼마나 받는지)
  - 실제 Environment가 일어나는 게 아니기 때문에 agent가 생각하는 Model은 완벽하지 않을 수 있음

 


■ RL agent의 분류방법

 <분류1>
 (1) Value Based - No Policy, Value Function
 (2) Policy Based - Policy, No Value Function
 (3) Actor Critic - Policy, Value Function
 <분류2>
 (1) Model Free - Policy and/or Value Function, No Model
 (2) Model Based - Policy and/or Value Function, Model

RL Agent Taxonomy


 


■ Learning and Planning

 강화 학습
  - Environment를 초기에는 모름
  - Agent가 Environment와 interaction하며 policy 개선
 Planning
  - Environment를 앎(Reward와 state transition을 아는 것)
  - Agent는 외부와 interaction 없이 내부적 computation을 통해 plan을 하며 최적의 policy를 찾아나가는 것
  - a.k.a deliberation, reasoning, introspection, pondering, thought, search

 


■ Exploration and Exploitation

 - 강화학습은 trial-and-error learning과 같다
 - agent는 좋은 policy를 탐색해야만 한다.
Exploration : 정보를 얻어서 environment를 이해하는 과정
Exploitation : 정보를 모아서 reward를 maximize하는 과정 
 - Exploration도 Exploitation를 하는 만큼 중요하다.
 - 이 둘은 trade-off 관계(Exploration하려면 정보가 없는 곳도 가봐야 함. 당장은 reward에 도움될지는 모름)
  (e.g 저녁메뉴 결정 시 Exploration-선호 하는 곳 / Exploitation-새로운 식당)


■ Prediction and Control

Prediction : policy가 주어졌을 때 미래를 평가, value function를 학습, state에 따른 value를 찾는 것!
  (e.g 격자세계에서 한칸씩 움직일 수 있고, 한 칸 움직일 때마다 -1, A→ A' reward +10
       random policy로 움직이면 각 칸의 value는 얼마일까?
       각 state에서 출발해서 충분히 오래했을 때 내 future reward의 합이 무엇인지?)
Control : 미래를 최적화하는 것, 최적의 policy를 찾는 것, state에서 어떻게 움직여야 하는 지를 찾는 것