본문 바로가기

RL/Contents

[Ch.9] DQN(Deep Q-Networks) 우리는 지금까지 MDP로 정의된 문제를 푸는 강화학습의 여러 방법들을 살펴보았습니다. 하지만, 이는 table형태로 값을 저장하기때문에 현실의 문제를 다루기에는 한계가 있어서 value func.을 parameter w를 이용한 func.으로 approximation하여 이 w을 update시킨다고 했습니다. 이번 포스팅에서는 이러한 강화학습의 func. approximator로써 Deep Learning을 사용하는 DQN에 대해서 다루겠습니다. 이 포스팅에서는 기본적인 neural network에 대해 알고 있다고 가정하고 DQN을 중점적으로 다루겠습니다. 혹시 neural network에 대해 더 알고 싶으신 분은 제가 review하고 있는 reference [1]이나 거기에 참조되어있는 아래 두 링..
[Ch.8] Value Function Approximation 지난 포스팅까지 살펴본 방법론들은 제가 구현한 code를 보시면 느끼셨겠지만 value func.과, action value func.을 table로 저장하고 이를 꺼내어 쓰고, update하는 방식으로 이루어집니다. 이러한 방법을 Tabular Method라고 합니다. Ch.5의 MC control agent와 Ch.6의 SARSA agent를 구현한 gridworld에서는 col, row가 각각 5개씩, 그리고 이에 취할 수 있는 action은 4개였습니다. 하지만, 간단한 gridworld가 아닌, 현실의 문제는 이보다 훨씬 복잡한 환경에서 이루어집니다. 아래글은 Sutton 교수님의 책에서 이에 대해 인용한 것입니다. We have so far assumed that our estimates of..
[Ch.7] Off-Policy Control 이번 포스팅에서는 off-policy control에 대해 다루겠습니다. Ch.5의 MC와 Ch.6의 TD는 모두 on-policy control에 해당합니다. on-policy control이란, 현재 움직이고 있는(action을 취하는) policy와 improve하는 policy가 같다는 뜻입니다. MC나 TD의 경우 control을할 때 action을 취하는 policy와 improve하는 policy가 같습니다. 하지만, on-policy control에서는 greedy improvement의 방법으로 policy를 improve할 때 한계가 있습니다. 이를 해결하는 방법으로 ε-greedy improvement를 소개했었는데 다른 방법도 존재합니다. 그 방법이 바로 off-policy cont..
[Ch.6] Temporal Difference Methods 이번 포스팅에서는 Ch.5의 Monte-Carlo와 같이 model-free한 방법으로써, Temporal Difference Methods에 대해 다루겠습니다. MC는 한 episode가 끝난 후에 얻은 return값으로 각 state에서 얻은 reward를 시간에 따라 discounting하는 방법으로 value func.을 update합니다. 하지만, atrai게임이나 현실의 문제는 episode의 끝이 무한대에 가깝도록 길기 때문에 episode가 반드시 끝나야 학습을 하는 MC의 방법으로는 한계가 존재합니다. DP처럼 time-step마다 학습하면서 model-free한 방법이 바로 TD입니다. TD Methods Sutton교수님 책에서 TD를 아래와 같이 설명하고 있습니다. If one ha..
[Ch.5] Monte-Calro Methods 이전 포스팅에서는 bellman eqn.을 이용한 dynamic programming, policy iteration과 value iteration에 대해 알아보았습니다. 하지만 DP는 우리가 machine learning에서 다루는 learning이 아니라 planning입니다. 따라서, 계산복잡도가 state의 크기 3제곱에 비례하기때문에 grid world보다 차원의 크기도 크고 state가 무수히 많은 실제 문제에 적용하기에는 많은 한계가 있습니다. 이를 보완한 것이, env.의 model을 몰라도 trial and error를 시행해보며 env.과 상호작용을 통해 알아가는, 강화학습입니다. env.으로부터 model을 learning하는 것입니다. 그래서 강화학습은 full-width backu..
[Ch.4] Dynamic Programming 이번 포스팅에서 다룰내용은 Dynamic Programming(이하 DP)입니다. 강화학습은 시간에 따라 step별로 action을 취하는 문제를 MDP로 정의하여 푸는 방법 중에 하나인데, DP도 마찬가지 입니다. 차이점은 DP는 model(environment)의 reward, state transition probability)을 알아야하는(Model-based) 방법인데 반해, 강화학습은 model을 몰라도(Model-free) 풀 수 있는 방법입니다. 전자를 Planning이라고 부르며, 후자를 Learning이라고 말합니다. 즉, DP는 Planning의 방법으로써 env.의 model을 안다는 전제 하에 Bellman Eqn.을 푸는 것을 말합니다. 이 DP를 보완한 것이 강화학습입니다. D..
[Ch.3] Bellman Equation 이번 포스팅에서는 Ch.2의 연장선으로 MDP로 정의된 문제를 풀 때 등장하는 2가지 value function들의 관계에 대해 다루겠습니다. Ch.2의 state value function과 action value function들의 관계로 현재 state/action과 다음 state/action과의 관계식이 만들어지는데 이를 Bellman Equation이라고 합니다. 강화학습은 이런 Bellman Eqn.을 푸는 과정이라고 볼 수 있습니다. Bellman Expectation Equation Bellman Eqn.은 Expectation과 Optimality, 두 가지 종류가 있는데 먼저 Expectation Eqn.부터 살펴보겠습니다. MDP에서의 두 가지 value func에 따라 각각 Bel..
[Ch.2] Markov Decision Process 저번 포스팅에서 '강화학습은 Markov Decision Process(MDP)의 문제를 푸는 것이다.' 라고 설명드리며 끝맺었습니다. 우리는 문제를 풀 때 어떤 문제를 풀 것인지, 문제가 무엇인지 정의해야합니다. 강화학습이 푸는 문제들은 모두 MDP로 표현되므로 MDP에 대해 제대로 알고 가는 것이 필요합니다. 이번 포스팅에서는 MDP에 대해 알아보며 강화학습에 쓰이는 용어들을 정리하고자 합니다. Markov Process(MP, Markov Chain) 사실 이번 포스팅에서 이 부분을 다루어야하는지 고민이 되었습니다. 하지만, 강화학습의 대상이되는 문제들은 MDP로 표현되고, 이 MDP는 모두 Markov Process에 기반합니다. 따라서 이 부분을 짚고 넘어가는 것이 이해에 도움이 되리라 생각이 ..
[Ch.1] Introduction 우리가 공부하고자 하는 강화학습(Reinforcement Learning)에 대해 알아보는 것으로 시작하겠습니다. 과연 강화학습은 무엇이고, 어떤 것을 강화학습이라고 부르며, 이것이 적용된 예는 어떤 것이 있는지 살펴보는 Chapter입니다. Reinforcement Learning in ML 강화학습의 정의에 대해 살펴보기 전에, 강화학습이 속해있는 Machine learning에 대해 간단히 살펴보겠습니다. ㆍ Supervised Learning : 지도학습은 Label이라는 정답 data를 알고 있어서 이로부터 즉각적인 feedback을 받으며 학습하는 것을 말합니다. 현재의 data들을 바탕으로 미래를 예측하거나, 정답이 있는 결과를 맞추는데..