RL(11)
-
[RL] 5. Temporal Difference: SARSA, Q-learning
몬테카를로법을 이용하면 환경 모델 없이도 정책을 평가할 수 있다.하지만, 몬테카를로법은 에피소드의 끝에 도달한 후에야 가치 함수를 갱신할 수 있다.그렇기 때문에, 지속적 과제에서는 몬테카를로법을 사용할 수 없다. 또한 일회성 과제더라도 완료까지 시간이 꽤 걸리는 과제라면 몬테카를로법으로 가치 함수를 갱신하는데 오랜 시간이 소모되기 때문에 적합하지 않다. 이번 글에서는 환경 모델을 사용하지 않을 뿐 아니라 행동을 한 번 수행할 때마다 가치 함수를 갱신하는 TD(Temporal Difference) 기법에 대해 알아볼 것이다. TD법은 MC(Monte Carlo)법과 DP(Dynamic Programming)법을 합친 기법이다.직관적으로, TD법은 DP법처럼 추정치로 추정치를 갱신하고, MC법처럼 환경 모델..
2024.04.26 -
[RL] 4. Monte Carlo method
이전 글에서 DP 기법으로 최적 가치 함수와 최적 정책을 구해봤다.DP를 이용하려면 환경 모델을 알고 있어야 한다.하지만 안타깝게도, 현실에는 환경 모델을 알 수 없는 경우가 대부분이다. 환경 모델이 알려진 경우에는 에이전트 측에서 실제로 행동하지 않고 '상태, 행동, 보상'의 전이를 시뮬레이션할 수 있지만,이런 경우에는 에이전트가 실제로 행동을 취해 얻은 경험(상태, 행동, 보상)을 토대로 최적 가치 함수와 최적 정책을 구해야 한다. 이번 글의 목표는 에이전트가 실제로 행동을 취해 얻은 경험을 바탕으로 가치 함수를 추정하고 이를 기반으로 최적 정책을 찾는 것이다.더보기분포 모델(distribution model) vs 샘플 모델(sample model)분포 모델은 확률 분포를 표현한 모델이다. 샘플 모..
2024.04.24 -
[RL] 3. DP: policy iteration, value iteration
이전 글에서 벨만 방정식에 대해 살펴봤다.벨만 방정식은 상태 가치 함수를 연립 방정식으로 풀 수 있게 해줬다. 하지만, 상태와 행동의 수가 조금이라도 많아지면 감당할 수 없게 된다. DP(Dynamic Programming) 기법을 사용하면 위 한계점을 어느정도 해결할 수 있다.다시 말해, DP을 사용하면 상태와 행동의 수가 어느정도 많아져도 가치 함수를 구할 수 있다. 참고로, DP의 핵심은 1. 중복 계산 방지와 2. 부분 문제로 나누어 푸는 것이다.강화학습에서는 일반적으로 두 가지 문제를 해결해야 한다. 바로, 정책 평가(policy evaluation)와 정책 제어(policy control)다.정책 평가는 정책 $\pi$의 가치 함수 $v_\pi(s)$, $q_\pi(s, a)$를 구하는 문제고..
2024.04.23 -
[RL] 2. Bellman equation
환경(상태 전이, 보상)와 에이전트 정책이 결정적이라면, 수익 공식인 $G_t = R_t + \gamma R_{t+1} + \gamma^2 R_{t+2} + \cdots$로 상태 가치 함수를 쉽게 구할 수 있다.하지만 결정적이지 않다면, 위 방식으로 구할 수 없다. 벨만 방정식은 환경 및 에이전트 정책이 확률적일 때 상태 가치 함수를 구하는데 사용되는 유용한 식이다.벨만 방정식 유도$$\begin{matrix}G_t &=& R_t + \gamma R_{t+1} + \gamma^2 R_{t+2} + \cdots \\ &=& R_t + \gamma (R_{t+1} + \gamma R_{t+2} + \cdots) \\ &=& G_t = R_t + \gamma G_{t+1} \end{matrix}$$ $$\be..
2024.04.23 -
[RL] 1. Markov Decision Chain
마크로프 결정 과정이란?마르코프 결정 과정(Markov Decision Process)은 마크코프 보성 과정에 결정(action) 요소를 추가한 모델이다.마르코프 보상 과정(Markov Reward Process)은 마르코프 연쇄(Markov Chain)에 보상(reward) 요소를 추가한 모델이다. 구체적으로 MDP의 정의(definition)를 살펴보면 다음과 같다. A Markov Decision Processes is a tuple $$- $\mathcal S$ is a set of states- $\mathcal A$ is a finite set of actions- $\mathcal P$ is a state transition probability matrix, $\mathcal P_{ss^\..
2024.04.20