본문 바로가기

reinforcement Learning17

Contextual Bandits - LinUCB 금번 포스팅을 시작하면서 multi-armed bandit 포스팅의 초반부를 상기시켜보겠습니다. Bandit을 크게 stochastic, non-stochastic으로 분류했고, 그 다음 분류는 context-free, context로 분류했습니다. 지금까지 살펴본 ε-greedy, UCB, Thompson Sampling의 알고리즘은 context-free에 해당하는 방법이었습니다. 즉 action을 선택하기 앞서 주어진 환경을 전혀 고려하지 않고 매시도 독립적으로 의사결정을 해왔습니다. 이번 포스팅에서는 context를 고려하는 contextual bandits, 그 중에서도 가장 유명한 Li, Lihong, et al., 2010의 LinUCB를 살펴보겠습니다. 어떠한 형태의 co-work도 환영합.. 2021. 1. 30.
Bayesian Bandits - Thompson Sampling 이번 포스팅은 Bayesian Bandits을 살펴보려고 합니다. 특히 Bayesian Bandits 중 대표적인 알고리즘인 Thompson Sampling을 부제로 선정했습니다. :) On The View of Bayesian Frequentist는 확률을 상대빈도의 관점으로 바라보지만, Bayesian은 확률을 어떤 사건에 대한 믿음의 정도로 해석합니다. 동전을 던져서 앞면이 나올 확률에 대해서 Frequentist는 "10000번 던지면 앞면이 5000번 나온다."고 해석하는 것이고, Bayesian은 "경험에 의하면 앞면이 나온다고 50% 믿는다."라고 해석합니다. Prior vs. Posterior Probability? 위 예시에서 Bayesian의 멘트 중 "경험에 의하면"이라는 문구가 있습.. 2021. 1. 14.
Stochastic Bandits (3) - UCB (Upper Confidence Bound) 이번 포스팅은 Stochastic Bandits 그리고 Frequentists 관점의 연속입니다. 직전 포스팅에서는 reward의 확률 분포를 Point Estimation하는 관점에서 살펴보았고, 대응하는 알고리즘으로는 ε-greedy를 살펴보았습니다. 이번 포스팅에서는 Interval Estimation하는 관점의 algorithm인 Upper Confidence Bound Algorithm (UCB Algorithm)이 메인입니다. Point Estimation vs. Interval Estimation Frequentist의 확률 철학은 많은 시도를 반복했을때 사건이 발생한 상대빈도를 의미한다고 했습니다. 이러한 상대빈도를 추청하는 방식에는 크게 두가지 방식이 있는데, Point Estimatio.. 2021. 1. 3.
Stochastic Bandits (2) - ε-greedy 이전 포스팅에서 Stochastic Bandits에 대한 개요를 다루었습니다. 짧게 Reward에 확률 분포를 가정하는 MAB라고 요약 할 수 있습니다. 이번 포스팅에서는 Reward의 확률 분포를 Frequentist의 관점에서 point estimation하는 방법을 다루려고 합니다. 대표적인 알고리즘은 ε-greedy이고, 부제로 선정했습니다. :) On The View of Frequentist Frequentist, Bayesian의 구분은 확률을 해석하는 철학적인 차이입니다. Frequentist는 확률을 상대빈도의 관점으로 바라보며, 이는 많은 시도를 했을때 사건(Event)이 발생한 상대빈도로 확률을 정의합니다. 반면 Bayesian은 확률을 어떤 사건(Event)에 대한 믿음의 정도를 정.. 2020. 12. 18.
Stochastic Bandits (1) - Introduction Introduction to Multi-armed Bandit (1), (2)에서 MAB가 무엇이고, 목적은 어떤 것인지에 대해 살펴보았습니다. 본격적으로 MAB를 푸는 Algorithm을 소개하려고합니다. Algorithm의 첫 주제로는 Stochastic Bandits이란 이름으로 Multi-Armed Bandits의 중간 session을 열었습니다. 시작하겠습니다. 이번 포스팅에서는 Stochastic Bandits이란 무엇이고, Stochastic Bandits이라는 큰 틀 안에서 최적의 arm을 찾기 위해 approach에 대한 scketch를 한 후, 이어질 포스팅에서 UCB, Thompson Sampling, linUCB 등 저명한 알고리즘을 다루겠습니다. Formulation MAB는 ar.. 2020. 12. 9.
Introduction to Multi-Armed Bandits (2) 직전 포스팅에서 MAB 개요 중, MAB, Exploration-Exploiation Trade-off, Application Example등을 살펴보았습니다. 이번 포스팅에서는 본격적으로 MAB Algorithm을 다루기 앞서 (1) 제 블로그를 읽어가기 위한 notation에 대한 framework을 제시하고, (2) 앞으로 다루게될 MAB Algorithm와 대응하는 branches를 제시해보고자 합니다. Glossaries and Notation of MAB 앞으로 다룰 MAB 문제를 풀기위한 알고리즘 설명을 위한 용어와 수식 notation을 정리해보겠습니다. 행동의 주체를 Bandit, Player, Agent라고 합니다. 이 Player는 매 라운드별 행동을 선택합니다. 이때 라운드는 rou.. 2020. 12. 2.
Introduction to Multi-Armed Bandits (1) 오늘 포스팅을 시작으로 Multi-Armed Bandits (MAB)에 대하여 차근차근 정리하고자 합니다. 며칠전 예고(?)와 같이 제가 느끼기엔 MAB에 대하여 스토리가 있게 체계적으로 풀어가는 글들을 찾기가 어려웠고, 작게나마 MAB를 recommendation에 적용하길 고민하고 계시는 분들과 연구를 목적으로 기본적인 틀을 잡을 수 있는데 도움이 되길 바랍니다 :) Multi-Armed Bandit? 먼저 MAB란 무엇일까요? 단어를 두덩이로 쪼개서 보면, "multi-armed" + "bandit"으로 살펴볼 수 있습니다. 직역하면 "팔이 많은 강도"라는 뜻입니다. 어떤 팔이 많은 강도가 슬롯머신 $K$개 위에 팔을 모두 올려놨습니다. 그런데 이 강도는 팔이 많지만, 한 번에 딱 하나의 팔을 선택.. 2020. 12. 1.
Tabular Temporal Difference Learning - Sarsa, Q-learning, Double Q-learning Reinforcement Learning/Tabular Methods에 있는 이전 글에서 Dynamic Programming, Monte Carlo Learning을 알아보았습니다. 위 두 가지 방법은 역사적으로 중요한 방법으로, 각각의 장점을 취한 방법이 Temporal Difference Learning (TD)입니다. 또한 강화학습에서 가장 중요한 방법과 학습의 컨샙은 TD라고 할 수 있습니다. 이번 포스팅에서는 Tabular Methods 세 가지 방법 중 마지막인 TD에 대하여 살펴보겠습니다. Temporal Difference Learning DP 와 MC의 장단점 DP 장점: 최종 상태에 도달하지 않더라도 그때 그때 발생하는 보상을 이용하여 가치함수 업데이트가 가능하다. 단점1: Model-.. 2019. 11. 11.
Monte Carlo Methods in RL (2) 이번 포스팅에서는 저번 포스팅에 이어서 몬테카를로 방법에 대해 알아보겠습니다. 특히 저번 포스팅에선 개념과 on-policy 방법이 주였다면, 이번 포스팅에서는 off-policy 방법을 살펴보겠습니다. Monte Carlo Iteration (Off-policy) Off-policy Learning Off-policy Learning은 목표 정책 (Target Policy, $\pi$)와 행동 정책 (Behavior Policy, $b$)를 구별하여 학습하는 방법을 일컫습니다. 즉 에이전트가 움직일 때는 행동 정책을 따라서 움직이지만, 거기에서 얻어진 보상으로는 목표 정책을 학습하는 것 입니다. 행동 정책을 별도로 운용함으로써 탐색과 활용의 균형을 유지할 수 있습니다. Off-policy learnin.. 2019. 11. 1.
Monte Carlo Methods in RL (1) 이번 포스팅에선 Monte Carlo 추정법을 이용하여 가치 함수를 추정하는 방법을 소개하고자합니다. 개요 이전 포스팅에서 DP를 이용하여 가치함수를 계산하는 방법을 살펴보았습니다. 몬테카를로 방법에 들어가기 앞서 왜 우리가 공부해야되는지 가벼운 동기부여를 하겠습니다. 바로 앞문장에 '계산'이라는 말에 하이라이트되어 있듯 엄연히 DP는 주어진 정책과 모델을 알고있는 상황에 대하여 가치함수를 계산한 것이기 때문에 '학습'을 했다고 보기 어렵습니다. 다시 바로 앞 문장에선 모델을 알고 있는 상황을 대전제로 했습니다. 즉, 모델을 알고 있어야만 DP로 가치함수를 계산할 수 있습니다. 하지만 실제로 대부분의 상황에선 모델을 알 수 없기 때문에 적용하기 힘듭니다. 진정한 의미의 학습과 모델을 모르는 상황에서도 가.. 2019. 10. 30.
Dynamic Programming in RL (2) 직전 포스팅에서는 DP를 이용하여 주어진 정책아래 가치함수를 어떻게 계산하고, 계산된 가치함수 기반 정책 개선을 어떻게 이뤄낼 수 있는지 살펴보았습니다. 이번 포스팅에서는 가치함수의 평가, 개선을 반복적으로 수행하여 최적 정책을 찾는 알고리즘인 정책반복(Policy Iteration)과 가치반복(Value Iteration)에 대하여 살펴보겠습니다. 정책 반복 (Policy Iteration) 정책 반복은 앞서 다룬 정책 평가와 개선을 반복하는 방법입니다. 이를 수식화 하면 다음과 같습니다. $$\pi_{0}\stackrel{E}{\longrightarrow}v_{\pi_{0}}\stackrel{I}{\longrightarrow}\pi_{1}\stackrel{E}{\longrightarrow}v_{\pi.. 2019. 10. 16.
Dynamic Programming In RL (1) 이전 포스팅에서 강화학습이 무엇인지 살펴 보았고, 이를 MDP로 정의할 수 있음을 살펴 보았습니다. MDP로 정의하는 이유는 가치 함수를 이용하여 순차적 의사결정을 하는 강화학습 문제를 풀기위함이었습니다. 즉 우리가 강화학습문제를 해결하기 위해선 가치함수의 값을 알고 있어야 합니다. 가치함수를 추정하는 방법은 상태공간($\mathcal{S}$)의 크기에 따라서 tabular method와 approximation method 두 가지 방법이 존재합니다. Tabular method는 기본적으로 각 상태에 대한 가치함수 값을 모두 저장하고 있습니다. 이에 따라 상태 공간 크기가 너무 크면 각 상태에 대한 가치함수의 값을 저장하는데 한계가 있어 tabular method를 적용하기 어렵고, 해당 경우에는 ap.. 2019. 10. 11.
Markov Decision Process (2) - Bellman Equation 이번 포스팅에서는 저번 포스팅에서 살펴본 Value function과 Bellman Equation, 그리고 행동전략인 정책 (Policy)을 정의하여 MDP를 푸는 방법을 살펴보고 강화학습의 뼈대인 MDP를 마무리하도록 하겠습니다. Policy 에이전트와 환경의 상호과정 속 에이전트는 상태를 확인하고 이에 맞는 행동을 합니다. 이렇게 에이전트가 특정 상태에서 어떤 행동을 할 것 인지를 확률로 정의하는 것을 정책(policy)이라고 합니다. (사실 확률이라는 용어를 사용했지만 선호도에 가깝긴합니다.) $$\text{policy}=\pi(a|s)$$ 정책을 확률로 정의하면서 우리는 앞에서 정의한 return의 기대값을 구할 수 있게 됩니다. Bellman Equation Bellman Equation은 이.. 2019. 10. 3.
Markov Decision Process (1) - 개요 이번 포스팅에서는 강화학습의 골격을 잡아주는 Markov Decision Process (MDP)의 개요에 대해 알아보겠습니다. MDP의 가치함수 정의 및 최적 정책결정에 대해서는 다음 포스팅에서 자세히 다루겠습니다. MDP는 순차적 의사결정 (sequential decision process)을 하기 위한 아주 고전적인 방법론입니다. 이전 포스팅에서 살펴보았듯 강화학습은 에이전트가 환경과 상호작용을 하며 보상을 최대화하는 방향으로 학습합니다. 이렇게 상호작용의 과정을 순차적으로 나타낼 수 있기 때문에 강화학습문제를 MDP로 정의 할 수 있습니다. 강화학습은 문제를 MDP로 정의하는 것으로 출발하기 때문에 MDP는 강화학습 전반에 걸쳐서 중추적인 역할을 합니다. Agent-Environment Inter.. 2019. 10. 2.
Multi-Armed Bandit for RL(3) - Gradient Bandit Algorithms 이번 포스팅에서는 Gradient Bandit Algorithms에 대해 알아보겠습니다. 내용은 심플한데 업데이트 알고리즘을 유도하는 과정이 조금 복잡합니다. 유도하는 과정을 이해하지 않더라도 충분히 적용가능하니 유도하는 내용은 취사적으로 읽어보면 좋을 것 같습니다. Gradient Bandit Algorithm MAB(2)에서는 action value 이용한 행동 선택 전략을 알아봤습니다. 물론 좋은 방법이지만 당연히 action value가 아닌 다른 방법으로도 행동 선택 전략을 수립할 수 있습니다. 또 다른 대표적인 행동 선택 전략은 선호도(preference)를 이용하는 gradient bandit algorithm입니다. $H_{t}(a)$를 $t$ 시점에서 행동 $a$의 선호도로 정의하겠습니다.. 2019. 9. 17.
Multi-Armed Bandit for RL(2) - Action Value Methods 이번 포스팅에선 이전 포스팅에서 다룬 MAB의 행동가치함수기반 최대보상을 얻기위한 행동선택법을 취하는 전략을 살펴보겠습니다. Action Value Methods 큰 제목은 action value methods입니다. 즉 행동가치함수 기반 행동을 취하는 전략의 모음입니다. 기본적으로 action value methods는 행동가치가 큰 쪽으로 행동을 취합니다. 행동가치함수가 $t$ 시점에서 $Q_{t}$로 추정되었다는 대전제 아래 차근차근 살펴보겠습니다. Greedy Action Selection 뼈대가 되는 방법은 탐욕 행동 선택법(greedy action selction)입니다. 탐욕 행동 선택법은 각 시점에서 기대보상이 최대인 행동을 취하는 전략 방법으로 아주 심플합니다. 가볍게 수식으로 정리하면,.. 2019. 9. 15.
강화학습개요 이번 포스팅에선 강화학습이 무엇이고, 머신러닝의 큰 틀 안에서 어떤 포지션을 잡고 있는지 살펴보겠습니다. 강화학습개요를 시작으로 강화학습의 전반적인 내용을 다룰 생각입니다. 강화학습개요 강화학습이란? 강화학습(Reinforcement Learning)은 머신러닝의 한 영역으로 행동심리학에서 영감을 받은 방법입니다. 어떤 환경(Environment)안에서 행동의 주체인 에이전트(Agent)가 선택 가능한 행동(Action)들 중 보상(Reward)을 최대화하는 행동 또는 행동 순서를 선택하도록 학습하는 방법입니다. (Wikipedia, Reinforcement Learning) 머신러닝의 한 영역 치고는 새롭게 등장하는 용어(환경, 에이전트, 행동, 보상)가 많아서 잘 와닿지 않을 것 같습니다. 이번 포스.. 2019. 9. 12.