본문 바로가기

ML & DL

[강화학습] Lec.1 Introduction to Reinforcement learning

본 내용은 팡요랩의 강화학습 강의와 UCL Reinforcement learning Lecture 바탕으로 작성되었습니다. 

 


□ 강화학습이 기존 머신러닝(supervised)과 다른 점

  - Supervisor가 없고, reward signal만 존재 : 사람이 정답을 주는 게 아닌 reward를 maximize 하는 방향으로 학습

  - Feedback이 즉각적이지 않고 delay 될 수 있음

  - 지도학습에서는 iid data 를 가정을 하지만, 강화학습은 sequential data이므로 시계열성이 중요

  - Agent의 반응이 다음 data에 영향을 준다

 

 > 강화학습의 활용

   - 로봇, 게임, 투자..등등

 


□ Reward

  - scalar feedback signal, agent는 cumulative reward를 최대화하는 것이 목표 > scalar 값이므로 vector로만 표현할 수 있는 reward는 강화학습을 적용하기 어렵다. 이를 scalar로 변환시키는 작업이 필요하다.

  - 따라서 reward 정의는 다음과 같은 가설을 따르게 된다 "모든 목표는 cumulative reward를 최대화"

 

 > Sequetial Decision making

   - 미래의 최종적 cumulative reward를 최대화시키는 방향으로 action이 선택되야 한다.

   - 즉각적인 반응이 약하더라도 최종적인 결과를 생각해야된다.

 


□ Agent(뇌) & Environment(지구)

 

  - Agent가 t시점에서 action A(t)를 하면 Environment가 Agent에게 reward R(t)랑 observation O(t)을 준다. Agent는 R, O를 바탕으로 다음 action을 취하게 된다. 주의 깊게 봐야될 점은 하첨자 t에 의해 각 sequence가 discret하게 이뤄진다는 점이다.

 

 > History

   - O,R,A를 모아둔 sequence.

 


□ State

  - Agent의 state/ Environment의 state는 각 주체가 다음 step에서 뭘 할지 결정하는 정보, history의 함수다.

 

 > Environment state

   - Environment가 다음 observation과 reward를 결정하는데 쓰이는 정보, history의 함수

   - 특정 t 시점의 환경 상태

 

 > Agent state

   - Agent가 다음 action을 하는데 사용하는 정보 

 

 > Markov state

   - 다음 t+1시점 state를 취할 때 t시점의 정보만을 사용한 것은 과거 모든 정보를 사용한 것과 같다.

   - 즉, t+1 시점에 결정은 t시점에만 dependent하다.

   - Environment state는 Markov state다. (Agent state는 Markov하지 않은 게 존재한다)  

  

> Full observability Environment(바둑)

  - Agent가 Environment state를 직접 볼 수 있는 상태

  - S(t)^a = S(t)^e : Markov

  - 이를 Markov decision process(MDP)라고 정의한다.

 

> Partial observability Environment(포커)

  - Agent가 Environment state를 간접적으로 볼 수 있는 상태

  - S(t)^a != S(t)^e

  - Partially observable Markov decision process(POMDP)

 


□ Agent의 3요소

  → Agent는 policy, value function, model로 이루어져 있다.

 

  1) Policy : agent의 행동을 결정, state를 넣어주면 action을 출력

state를 현재 agent의 위치, action을 동서남북으로 정의했을때, 그림의 화살표는 각 state s에서의 policy ㅠ(s)를 나타낸다. 이 경우에는 deterministic policy이다. 왜냐면 action이 확률로 표현되지 않았기 때문. 

 

   - Deterministice policy(integer mapping 될 수 있는 policy)

   - Stochastic policy(action에 대한 확률값을 출력하는 policy)

  2) Value function : 미래 reward의 기댓값을 예측하는 함수로, 현재 state를 평가하는데 사용

   - policy에 dependent한 함수, 즉 특정 policy (ㅠ)가 주어졌을때, 현재 state에서의 최종 reward를 계산한다.

state를 agent의 현재 위치로 정의했으므로, 각 위치(state)에서의 최종 reward의 기댓값

 

  3) Model : agent가 environment state & reward를 예측하는 모델 

 


□ Agent의 분류

 

 1) Value based : value function만 있는 agent

 2) Policy based : policy만 있는 agent 

 3) Actor Critic : value function & policy 다 있는 agent

 

 1) Model free or Model based : model이 없는/있는 agent

 

  → 총 6가지 agent 조합이 가능해진다.

 

 

> Learning and Planning

  - RL은 Environment를 모르면 learning, 알면 planning(eg. tree search) 두 가지 과정으로 나뉜다.

  - RL은 다음의 두 과정을 통해 agent로 하여금 더 좋은 policy를 형성하게 한다. 

   1) Exploration : 여러 다른 탐색을 통해 Environment에 대한 다양한 정보를 찾는 과정

   2) Exploitation : 1)에서 구한 정보를 reward 최대화 하는데 사용하는 과정

 

> Prediction & Control

  - Prediction : 주어진 policy하에 미래를 평가하는, value function을 학습하고, 최종 value 즉,        최종 cumulative reward를 찾는 문제

  - Control : 미래를 최적화하는, 최적의 policy를 찾는 문제

 

Notation : 하첨자 *는 optimal 

 

 

 

 

 

'ML & DL' 카테고리의 다른 글

[강화학습] Lec.2 Markov decision process(MDP)  (0) 2020.02.02
[머신러닝] Boosting Algorithm  (3) 2020.01.26
[NLP] Seq-to-Seq  (0) 2019.12.07
[딥러닝]RNN과 LSTM  (0) 2019.11.18
[머신러닝]SVM(Support Vector Machine) by MIT  (0) 2019.11.16