# Reinforcement Learning
Reinforcement Learning은 Machine Learning에 포함되며 seupervised learning은 아니다.
supervisor가 없고 reward signal만 있다.
reward는 scalar feedback signal이다.
RL은 Time really matters다.
# Agent , Environment
agent와 environment가 상호 작용한다.
agent는 environment에게 action을 준다.
environment는 agent에게 reward와 observation을 준다.
agent의 목적은 cumulative reward(total future reward)를 maximization 하는 것이다.
# Observation , State
observation은 action의 feedback이고 environment로부터 얻는 상황에 대한 정보다.
state는 the information used to determine what happens next이다.
state는 feedback을 받기 위해 실질적으로 사용되는 정보다.
observation과 state의 차이점을 예로 들면, artari game에서 각 프레임의 데이터는 observation, 4개의 프레임을 합성한 데이터가 state가 된다. 즉, observation은 환경으로부터 얻어지는 모든 속성이나 정보이다. 반면에 state는 다음 observation, reward, action 등을 계산하는데 필요한 몇 개의 속성이다.
더 엄격한 정의로 state는 "Markov" 하다. 필요충분조건이다.
Markov 하다는 것은 P[St+1 | St] = P[St+1 | S1, ,,, St]를 만족한다는 것이다.
즉, 다음 state St+1로 가는데 S1부터 St-1까지는 생략하고 St만으로 다음 상태에 도달하면 된다는 것이다.
The future is independent of the past given the present
previous state를 참고하지 않고 현재의 state만 참고해서 next state로 갈 수 있도록 state를 설정해야 한다.
# Episode, Sampling
episode는 시점 t의 state St에서 terminal state까지의 state sequence이다.
episode = [[s1, s2, s3, s4], [s1, s3, s4], [s2, s4]]
sampling은 episode에서 하나의 episode를 추출하는 것이다.
sampling episode = [s1, s3, s4]
# Observabillty
environment state는 다음 Observation, Reward 계산에 사용된 정보다.
agent state는 다음 action을 결정하는 데 사용하는 모든 정보다.
environment의 state를 agent가 볼 수 있는지 없는지에 대한 여부로 observabillity를 구분할 수 있다.
Full observabillity는 Observation = agent state = environment state, MDP 문제이다.
Partial observabillity는 agent state != environment state, POMDP 문제이다.
예를 들어 포커 게임의 경우 agent가 상대의 패를 못 본다. 카메라가 달린 로봇은 로봇을 둘러싼 환경과 로봇이 보고 있는 환경이 서로 다르기 때문에 POMDP 문제다.
Policy , Value Function
policy는 정책이다. agent의 행동을 규정한다. state를 받아서 action을 준다.
Deterministic policy: a = π(s)
Stochastic policy: π(a|s) = P[At=a|St=s]
value function는 state가 얼마나 좋은지 평가하는 함수다.
reward를 기댓값으로 계산하는데 환경에서 오는 확률 변수가 있기 때문에 기댓값을 취해야 한다.
2020/09/04 - [공부/강화학습] - MDP, 가치 함수, 벨만 방정식
# RL 분류
RL의 구성요소는 policy, value function, model이다.
model free: environment 정보가 없거나 부족하다.
model based : environment 정보가 충분해서 어떤 action을 취하면 어떤 state가 되는지 모두 알고 있다.
learning: 아무것도 모르는 상태에서 policy를 개선하는 문제. model free다.
planning: environment를 아는 상태에서(state transition, reward를 아는 상태) query emulator로 policy를 개선한다. environment와 유사한 model(simulator)에서 실제 experience가 아닌 simulated experience를 통해 value function을 업데이트할 수 있다. model based다. dynamic programming이 쓰인다.
Prediction: value function을 학습하는 문제. 정책이 얼마나 잘 수행하는지 측정하는 문제. policy가 고정되어 있다고 가정할 때, 예상되는 총보상을 예측하는 것이다. - evaluation value function, true value
Control: optimise the future - optimal 한 policy를 찾는 문제. policy를 개선하는 것이다. - improvement policy, optimal policy
value based: no policy, only value function
policy based: no value function, only policy
actor critic: policy, value function
출처: https://www.youtube.com/playlist?list=PLpRS2w0xWHTcTZyyX8LMmtbcMXpd3s4TU
'데이터 사이언스 공부 > 강화학습' 카테고리의 다른 글
4) Model-Free prediction, control, TD Lambda (0) | 2020.11.25 |
---|---|
3) Dynamic Programming, Policy Evaluation, Iteration (0) | 2020.11.12 |
1) MDP, Value Function, Bellman Equation (0) | 2020.09.04 |
3) Q-Network, DQN (0) | 2020.08.14 |
2) Q-learning exploit & exploration and discounted reward, stochastic(non-deterministic) world (0) | 2020.08.07 |