본문 바로가기

Backup/David Silver RL course

[강화학습 1강] 강화학습 introduction

David Silver

 

교집합이 기계학습이 아니라 저 모든것을 포함하는 더 큰 범위가 기계학습니다.

 

강화학습은 지도학습처럼 정답이 없지만 행동을 했을때 보상이 있다.

이 방법론의 경우 지도자 없이 스스로 Optimal을 찾고자 하기에 사람을 뛰어넘는 결과에 도달할 가능성이 있다.

supervised같은경우 iid(독립적인 샘플), 강화학습 같은경우 sequential data을 이용하기 때문에 더 어렵다.

 

 

reward는 강화학습의 전부: 한 시간때의 숫자(scalar) 하나이다.

강화학습은 목적은 cumulative reward를 최대화 하는것이라 할수있다.

 

중요한것은 Sequantial하게 행동을 잘해야됨

목적은 미래에 받을 reward의 총합을 최대화하는 액션을 선택하는것

계속 greedy하게 하면 즉각적으론 좋아도 lon

 

agent: 뇌, 로봇, 관리하는 알고리즘 / environment: agent외의 모든환경,

agent가 action을 하면 environment가 그에 반응하여 O와 R을 줌

이게 매 timestap마다 반복

 

history에는 {Obserbation, Reward, Action | t1}.... 이 순서로 계속 반복됨

State는 다음에 action을 정하기위해 사용하는 모든것

State는 history의 함수

 

environment state는 내적으로 가지고있는 표현인데, 다음 reward나 observation을 결정하는데 쓰이는 모든것

 

예를들어 atari 게임같은경우 게임기가 action을 받으면 화면과 점수를 계산할텐데 그 과정에서 게임기가 내부적으로 가지고있는 메모리에 있는 숫자가 environment state

 

agent state는 다음 action을 하는데 있어서 사용되는 모든 정보 (과거와 지금의 모든 o,r,a)

 

markov state 결정을 할때 바로 이전 t의 state만 보면 된다는 뜻

예) 헬리콥터의 현재 위치, 속도, 가속도 등등의 정보가 주어질때 운전하는대 있어서 지금의 정보가 중요하지 10분전의 정보는 중요하지 않음 ⇒ markov한 state다.

markov state는 현재의 state가 미래에 모두 다 영향을 주는 환경

 

 

Environment에는 fully obserbation과 partially observation이 있다

state를 표현하는건 여러가지 방법이 있다. (RNN 등)

 

policy는 agent의 행동을 결정한다. 파이로 표시하는데 state가 들어오면 action을 내뱉는 mapping함수

deterministic policy : 1-1 mapping stochastic policy : 여러 수가 가능하고 각 수의 확률을 내뱉음

 

value function은 상황이 얼마나 좋은지를 나타냄

현재 state가 좋은지 안좋은지 알려주는 값

내가 현재 state로부터 이 파이를 쭉 따라갔을때 총 얻게되는 reward들의 기대값

 

RL agent의 구성요소 3가지중 마지막 (Policy, Value, Model)

(근데 이 model을 쓸수도있고 안쓸수도있음. model free, model base)

Model은 환경이 어떻게 될지 예측하는 놈

환경을 예측하는건 두가지로 나뉨

  1. Reward를 예측
  2. state를 예측

 

다시 agent의 구성요소 3가지에 대한 예를 보자

위와 같이 주어진 문제가 있을때

 

이게 policy(optimal)이고

 

이게 value function이고 (value function는 policy가 있어야됨!dependent하고 optimal을 따랏을때 나온거임)

 

model은 그림 자체가 model이긴한데 agent가 생각하는 (environment) state와 reward를 표현한것이다

 

이번엔 rl agent를 분류하는 방법에 대한것이다.

value based rl은 value funtion만 있어도 되는것임

policy based rl agent는 policy만 있으면 되고

actor critic는 policy랑 value 둘다 있어야됨

 

이와 다르게 또 분류를 할수있는데

model free는 model없이 value와 policy로 작동됨

model based는 내부적으로 model을 만들어서 그거에 근거하여 움직임

 

rl agent를 분류하는 방법들.

 

rl 문제는 learning과 planning으로 나눌수있다.

learning은 environment를 모른 상태

planning은 environment(reward와 state)를 알고있음. model을 알고있음

 

learning은 주어진 환경이 화면과 action임. 알아서 잘 끝까지 해야됨

 

planning은 중간중간에 계속 quary를 나눌수있음, 중간중간 점수확인 가능

 

exploration 과 exploitation을 잘 발랜스있게 하는게 중요함.

 

prediction 문제와 control문제가 있음

prediction은 policy가 주어졌을때 미래를 평가하는것(=value function을 잘 학습시키는거)

control은 미래를 최적화하는것(=best policy를 찾는거)

 

prediction같은경우 같 state에서 출발해서 미래의 reward(value)가 어떻게 될지를 찾는것

 

control은 저 최적의 정책을 찾는 것이다.