번외_권휘님의 UCB 소개
Optimism in the face of uncertainty
Reinforce Super Mario Manual
강화학습을 이용한 인공지능 슈퍼마리오 만들기
Planning and Learning with Tabular Methods - 2
6.2 Dyna: Integrating Planning, Acting, and Learning
Planning이 online 일때 환경과 상호작용을 하며 여러가지 이슈가 발생한다.
모델이 환경에서 새로운 정보를 받아들이면서 model이 변할 수 있기 때문이다.
만약 Decision making을 하는 것과 Learning하는 것이 둘다 computational-intensive process라면 computation resources를 분리시켜야 할 필요가 있을 것이다.
분리시키는 방법으로 여기서 on-line planning agent에 사용할 Dyna-Q learning에 대해 알아보겠다.
Dyna-Q는 on-line planning agent에서 필요한 아키텍쳐를 통합시키는 메이저함수들이다. 각 함수들은 아주 간단한 형태의 함수이다.
planning agent에서 real experience의 역할이 두가지이다.
- 모델을 개선할때 사용 : 진짜 환경에 더욱 잘 맞는 모델을 만들기 위해
- 강화학습 방법을 사용 : 바로 value function과 policy를 개선하는 것이다.
1번을 model learning이라고 하며, 2번을 direct reinforcement learning이라고 한다.
Learning, planning, acting의 관계는 위의 그림과 같다.
그림의 화살표와 같이 value/policy를 바로 개선하는 방법을 direct reinforcement learning 이라고 하며, model을 거쳐 value/policy를 개선하는 것을 indirect reinforcement learning 하다고 한다.
Direct method와 Indirect method에는 둘다 장,단점이 있다.
Indirect method 은 환경과의 상호작용량이 적어도 더 나은 policy를 얻을 있고, Direct method는 간단하며 모델의 영향을 받지 않는다.
Indirect method가 항상 더 좋다는 주장과, Direct method가 동물과 사람이 배우는 방법이라는 주장이 많다.
하지만 여기서는 두 가지 방법의 다른면을 보지 않고 공통점에 집중하도록 하겠다.
planning으로 디자인된 DP와 Model-free로 디자인된 TD가 비슷한 점이 있듯이,
Indirect와 Direct에는 비슷한 점이 존재한다.
위에서 말한 Dyna-Q는 planning, action, model-learning, direct RL이 포함되며 연속적으로 일어난다.
여기서planning model은 앞에서 배운 random-sample one-step tabular-Q-planning이고,
(Q-planning)
Direct RL method는 one-step tabular Q-learning이다.
여기서 model-learning method는 table기반이며 환경은 deterministic하다고 가정한다.
각 transition마다() model이 의 했을때 을 기록한다.
그러므로 모델은 state-action pair을 input으로 받고 prediction을 할때,
마지막으로 관측되었던 다음 state와 다음 reward를 prediction으로 리턴한다.
Planning에서 Q-planning Algorithm은 전에 경험하였던 state-action pair만 random하게 sample하기에 ( Select a state, S and an action A, at random) model은 정보가 없는 state-action pair는 절대 queired하지 않는다.
아래의 구조는 Dyna agent중 하나의 예제로 Dyna-Q algorithm이다.
agent와 Environment이 상호작용을 하며 real experience를 생성한다. 그 생성된 real experience로 policy와 value function을 업데이트하는데, 바로 업데이트를 하는 direct RL update와 모델을 학습시키는 model learning으로 나뉜다.
왼쪽의 화살표는 direct RL을 나타낸다. agent와 evironment의 상호작용을 통하여 생성된 real experience를 사용하여 바로 policy/value function을 업데이트한다.
오른쪽은 Mode-based process이다.
모델은 real experience를 통하여 배우며, model을 통하여 simulated experience를 생성한다.
여기서 search control이란 단어는 model에 의해 생성된 simulated experience의 시작 state와 action을 선택하는 작업이다.
그다음, 실제로 발생한 것처럼 강화학습 방법을 simulated experience사용하여 planning update한다.
Dyna-Q에서 강화학습의 방법은 real experience에서의 learning과 simulated experience에서의 planning에 둘다 사용되기 때문에 강화학습 방법은 planning과 lerning 에서 “final common path”이다.
이론적으로는 Planning, action, model-lerning, directRL이 동시에 병렬적으로 발생하지만, Dyna-Q에서는 learning과 planning이 통합되어 시행되며 Tabular Dyna-Q의 pseudo code는 아래와 같다.
는 의 predict값인 reward와 next state를 의미한다.
step d~f의 의미는,
- step(d): Direct reinforcement learning,
- step(e): Model-learning
- step(f):planning
을 의미한다. 만약 여기서 e와,f가 빠진다면 one-step tabular Q-learning과 동일한 알고리즘이다.
Reference
- Reinforcement Learning: An Introduction Richard S. Sutton and Andrew G. Barto Second Edition, in progress MIT Press, Cambridge, MA, 2017
Planning and Learning with Tabular Methods - 1
6. Planning and Learning ith Tabular Methods
이번에는 환경의 모델이 필요한 방법과 필요하지 않은 강화학습 방법을 통합적인 관점으로 보도록 하겠습니다.
환경의 모델이 필요한 방법 : Dynamic programming, Huristic search
환경이 모델이 필요없는 방법 : Monte Carlo, temporal difference
것들을 각각 Model based와 Model Free라고 부른다.
Model based는 planning을, Model free는 learning을 한다.
위의 두가지 방법은 value funtion을 측정한다는 공통점이 있다. 미래의 상황을 예측하고 value를 측정해 이 value를 update target으로 사용하여
value function을 approximate한다.이 공통점을 이용하여, 이번 챕터에서는 model based과 model free learning을 통합 하겠다.
환경에 model은 agent predict하기위해 사용하는 것이다.
6.1 Models and Planning
모델은 state와 action을 받으면 그에 맞는 다음 state와 reward를 return한다.
만약 model이 stochastic한 경우, return된 state 혹은 reward가 여러개이다.
Model의 종류로는,
- distribution models : 모든 가능성과 확률을 산출하는 모델( Dynamic programming)
- Sample models : 어떠한 한 확률에 의해 뽑힌 sample만을 생성하는 모델 ( Monte carlo method )
Model은 simulation에 사용된다. 시작 State와 action이 주어진 경우,
-
sample model은 하나의 가능한 transition을 생성한다.
-
distribution model 은 일어날 확률 에 의해 weighted되어진 가능성 있는 모든 transition을 생성한다.
(Sample Model의 예)
(Distribution model 의 예)
State와 Policy가 주어지는 경우,
-
Sample model은 하나의 전체 Episode을 생성한다.
-
Distribution model은 가능한 모든 episode와 그것들의 확률을 생성한다.
우리는 Model을 환경을 simuate하기 위해서, simulated experience를 생성하기 위해 사용한다.
강화학습에서 planning의 의미는,
input을 model 받고 policy를 생성 또는 개선하는 계산프로세스을 의미한다.
인공지능에서 planning의 2가지 접근법이 있다. 첫번째는 state space planning이고 두번째는 plan-space planning이다.
우리는 state space를 통해 optimal policy를 찾는 state space planning에 대해서 다루겠다.
state-space planning는 2가지 기본 아이디어가 있다.
- 모든 state-space planning방법은 policy를 개선하기 위해 value function을 계산한다.
- value function을 update 또는 backup 을 통해 계산한다.
이 구조는 다음과 같이 나타낼 수 있다.
우리가 전에 배웠던 learning과 planning의 같은점은 둘다 Back-up을 통하여 value function을 estimate하는 것이다.
다른점은 planning는 model에 의해 생성된 simulated experience를 쓴다는 것이고,
learning은 환경에 의해 생성된 real experience를 사용하는 것이다.
많은 경우에 learning algorithm이 planning method의 update 방법으로 대체될 수 있다.
밑의 박스는 planning method를 기반으로 한 one-step tabular Q-learning의 예이다.
sample model에서 임의로 sample한 one-step tabular Q-learning의 예제다.
이 방법을 random-sample one-step tabular Q-planning라고 한다.
Reference
-
Reinforcement Learning: An Introduction Richard S. Sutton and Andrew G. Barto Second Edition, in progress MIT Press, Cambridge, MA, 2017
-
https://goo.gl/images/vKKXU7