본문 바로가기

분류 전체보기

[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..
[Part 1] Multi-armed Bandit 포스팅에 앞서 Reference의 contents를 review하는 글임을 밝힙니다. 이번 포스팅에서 다룰 예제는 강화학습의 Multi-armed bandit algorithm에 대해 다루겠습니다. 원문에서는 Two-armed bandit이라는 제목을 달았는데, 저는 Multi-armed bandit(이하 MAB)가 조금 더 알려진 이름이고 실제로 실습 code도 2개 이상의 arm이 존재하는 slot machine을 다루기 때문에 원문과 다른 제목으로 바꾸어 달았습니다. MAB algorithm은 A/B testing을 보완한 algorithm입니다. 앞부분에 MAB에 대한 배경설명으로, A/B testing에 대해 간단히 알아보고 그 이후에 MAB algorithm에 대한 설명과 code로 구현한 것..
[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..
[Part 0] Q-Learning with Tables and Neural Networks 포스팅에 앞서 Reference의 contents를 review하는 글임을 밝힙니다. 이번 포스팅에서는 강화학습의 Q-Learning 알고리즘을 알아보겠습니다. 강화학습의 방법론에서 policy gradient은 agent가 인식한(observe) state에 action을 직접적으로 연결하는 함수를 이용하는 반면, Q-Learning은 주어진 state에 대한 value를 학습해서 특정한 action을 선택하는 것으로 학습합니다. 먼저 Deep learning으로 학습하는 것에 앞서서 간단히 Table로 알고리즘을 구현하여 기초적인 원리를 이해하고, 이 후에 Neural Network를 이용하여 구현해보겠습니다. Tabular Approaches for Tabular Environments(Q-Tabl..
[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들을 바탕으로 미래를 예측하거나, 정답이 있는 결과를 맞추는데..
[RL] Prologue 안녕하세요 제 블로그를 찾아주셔서 감사합니다. 현재 학교 연구실에서 학부생 인턴으로 일하면서 인공지능/딥러닝에 대해서 관심이 많아지고 있고, 특히 강화학습에 대한 흥미가 생겨 연구실 분들과 관련해서 스터디를 하고 있습니다. Teaching material 제가 공부하고 있는 자료는 이웅원님의 'Fundamental of Reinforcement Learning' 입니다. 앞으로 제가 포스팅하게 될 글은 이 자료를 review하는 식으로 진행합니다. 이론적인 공부와 함께 실습코드로도 강화학습을 공부하고자 이 곳에 있는 자료를 공부해서 제 블로그 RL>Practice에 포스팅하겠습니다. Motivation이 gitbook을 보면 단연 설명이 잘 되어 있지만, 추가적으로 궁금하거나 이해가 안 되는 부분이 있을..