논문 제목 : Imagination-Augmented Agents for Deep Reinforcement Learning
[Last revised 14 Feb 2018 (this version, v2)]
● 논문 저자 : Theophane Weber (DeepMind)
● 논문 링크 : https://arxiv.org/pdf/1707.06203.pdf
● 이전에 보면 좋은 자료 :
○ Chapter 8. Planning and Learning with Tabular Methods in Reinforcement Learning: An Introduction
○ https://www.slideshare.net/DongMinLee32/planning-and-learning-with-tabular-methods
● 함께 보면 좋을 논문 :
○ Learning model-based planning from scratch(2017)
○ Temporal Difference Models: Model-Free Deep RL for Model-Based Control(2018)
1 Abstract
- model-free와 model-based를 합친 Deep Reinforcement Learning(Deep RL)으로서 Imagination-Augmented Agents(I2As)이라는 새로운 architecture를 소개한다.
- 현존하는 model-based RL과 planning 방법들과는 다르게 I2As는 완벽한 plan들을 구성하기 위해 이 논문에서 쓰이는 방법들을 통해 학습된 환경의 model로부터 "learn to interpret"(해석하여 학습)을 한다.
- 다양한 baseline들에 비해 향상된 data efficiency, performance, and robustness를 보여준다.
2 Discussion
- I2A의 방법은 "Imagination-augmented RL"를 적용한 model-free와 model-based의 idea를 합친 접근이다.
- 여기서 "Imagination-augmented RL"이란, model-free decision을 더 효율적으로 하기 위해 환경의 model이 "learning to interpret"을 하는 것을 말한다.
- I2A는 Mini-Pacman과 Sokoban이라는 게임에서 model-free baseline들을 능가했다.
- 이 논문에 쓰인 model-based RL 방법들로 하여금 I2As는 행동하기 전에 먼저 "imagination", 즉 simulation을 한다.
- I2A는 환경과 상호작용을 할 때마다 simulation을 해야하기 때문에 model-free baseline들보다 더 느리다.
- Imagination의 계샨량은 rollout의 깊이와 수에 linear하게 증가한다.
- Sokoban I2As는 planning baseline 중 perfect한 환경의 모델인 Monte Carlo Tree Search(MCTS)와 비교했다.
- imperfect한 환경의 model일 때, 행동하기 전에 "learn to query" 하여 rollout policy들이 training되기 때문에 MCTS보다 함수를 호출하는 것이 훨씬 더 적다.
3 Introduction
- 지금까지 RL에서는 대부분 model-free RL 방법들로 Deep Neural Network(DNN)을 사용하여 agent들을 학습시켜왔다.
- 그러나 model-free RL의 경우 보통 엄청난 양의 training data를 필요로 하고, 결과로 나오는 policy들은 같은 환경에서 새로운 task들을 주면 잘 학습하지 못한다.
- model-based RL은 agent가 real 환경에서 시행착오(trial and error)를 통한 negative한 결과들과 달리 positive한 결과들을 추구하는 imagining 즉, simulating을 하면서 agent가 좀 더 빠른 길을 갈 수 있도록 만든다.
- imagination, model-based reasoning, decision making에 대한 neural basis는 많은 neuroscience의 지식에 기반한다. 다시말해 cognitive level에서 model learning과 mental simulation은 animal과 human learning에서 가설을 세우고 증명을 해왔다.
- standard planning 방법들을 이용한 model-based agent들의 performance를 보면, 보통 function approximation을 함으로써 "model error"를 겪고 있다.
- 따라서 이러한 "model imperfection"과 반대로 robust한 planning과 model-based method가 현재 없다.
- 이러한 문제점 개선하기 위해 이 논문에서 나오는 I2As는 imperfect한 예측을 "learning to interpret" 함으로서 approximate한 환경의 model을 사용한다.
- 이러한 접근은 model simulation에서 모아진 useful한 knowledge를 추출하여 end-to-end 방식으로 학습한다.
- model-free agent가 실제로 학습할 때 더 효율적으로 행동하기 위해, 그 전에 먼저 imagined trajectories를 simulation하는 환경의 model을 사용한다.
- 또한 하나의 neural network와 추가적인 policy network를 통해 imagined trajectories를 제공한다. (밑에서 더 자세히 설명)
- 환경의 model은 agent의 trajectories에 대해서 unsupervised 방식으로 training되는 recurrent한 architecture를 사용한다.
- input으로 현재 observation (or history of observation)과 현재 action을 주면, 환경의 model은 다음 observation과 다음 reward를 예측한다.
- 그리고 multiple time step에 대해 환경의 model을 roll out한다.
Figure 1 : I2A architecture. $\hat{}$ 기호는 imagined value를 의미한다.
- a): imagination core(IC)는 rollout policy $\hat{\pi}$에 따라 action을 선택하여 다음 time step에 나올 값들을 예측한다.
- b): IC는 rollout encoder에 의해 encoding된 features $\hat{f} = (\hat{o} , \hat{r})$의 trajectories를 imagination한다.
- c): full I2A에서, 종합된 rollout encoding들과 model-free path의 input으로 output policy $\pi$를 결정한다.
- 각각의 rollout을 통해 선택된 action들이 rollout policy $\hat{\pi}$가 된다. (Section 3.1에서 더 자세히 설명)
- a)와 같이 imagination core module인 환경의 model은 $\hat{\pi}$를 이용하여 다음 time step을 예측한다.
- imagination core는 n trajectories $\hat{T}_1 , ... , \hat{T}_n$를 만드는데에 사용된다.
- 각각의 imagined trajectory $\hat{T}$는 features $(\hat{f}_{t+1} , ... , \hat{f}_{t+\tau})$의 sequence (t는 current time, $\tau$는 rollout의 length, $\hat{f}_{t+i}$는 환경의 model에 대한 output, 다시말해 예측된 observation and/or reward)
- 하지만 중요한 issue는 학습된 model이 완벽하다고 가정하지 않는다.
- I2As가 erroneous or nonsensical한 예측을 만들수도 있기 때문에 유일하게 예측된 rewards(or values)를 의존하면 안된다.
- 또한 하나의 trajectory는 더 높은 reward의 결과가 아닌(subproblem을 해결하는 예시로서) informative한 subsequence일 수도 있다.
- 이러한 문제들 때문에, imagined한 rollout을 처리하는 rollout encoder $\epsilon$을 사용하여 미리 "learn to interpret"을 한다.
- 다시말해 agent의 결정에 대해 어떠한 유용한 정보들을 추출하거나 or 필요하다면 그 정보를 무시한다.
- 각각의 trajectory들은 하나의 rollout embedding $e_i = \epsilon (\hat{T}_i)$에 대해 따로따로 encoding된다.
- 최종적으로, aggregator A는 서로 다른 rollout embedding들을 single imagination code $c_{ia} = A(e_1 , ... , e_n)$로 바꾼다.
- c)의 그림은 model-based 예측인 single imagination code $c_{ia}$와 model-free path인 input으로 real observation을 주는 output $c_{mf}$를 다루는 network를 통해 policy $\pi$와 estimated value V를 output으로 하는 policy module을 나타낸다
- 다시말해 I2A는 model-free의 정보와 imagination-augmented path들을 합하여 학습한다.
5 Architectural choices and experimental setup
- 주어진 환경에서 각각의 action마다 한 번의 rollout을 실행한다.
- standard한 rollout과는 다르게 imagination-augmented policy를 증류(distillation)하여 model-free policy를 만든다.
- 여기서 증류(distillation)이란, 추출한 정보들에서 불필요한 부분을 증류하여 더 작고 나은 모델을 만드는 것을 말한다.
- 다시말해 distillation strategy는 하나의 model-free network $\hat{\pi} (o_t)$를 생성하고, 현재 observation에서 계산된 imagination-augmented policy $\pi (o_t)$와 같은 observation에서 계산된 policy $\hat{\pi} (o_t)$ 사이의 전체의 loss를 cross entropy auxiliary loss에 추가한다.
- 여기서 auxiliary loss란, 학습을 잘하기 위한 보조적인 loss이다.
- imagination-augmented policy를 나타냄으로써 내부의 rollout들은 real 환경에서 agent의 trajectory들과 비슷해진다.
- 또한 이렇게 함으로써 rollout이 더 높은 reward가 있는 trajectory들과 일치한다.
- 동시에, exploration과 exploitation사이의 균형을 만들면서 imperfect한 approximation은 더 높은 entropy를 가진 rollout policy가 된다.
- encoder는 하나의 trajectory $T$를 순차적으로 다루는 convolutional encoder인 LSTM을 사용한다. (Figure 1: b) 참고)
- features $\hat{f}_t (\hat{f} = (\hat{o} , \hat{r}))$는 Bellman type backup operation를 흉내 내듯이 $\hat{f}_{t+\tau}$부터 $\hat{f}_{t+1}$까지 반대 순서로 encoder인 LSTM에 넣어진다. (Figure 1: b) 참고)
Figure 2: Environment model. (환경의 model)
- input action은 broadcast하여, observation에 concatenate된다.
- convolutional network는 stacked context를 output image에 대한 pixel-wise 확률 분포와 reward에 대한 분포로 변형시킨다.
- 환경의 model(Figure 2)은 negative log-likelihood loss(NLLLoss) $l_{model}$을 사용하여 최적화된 하나의 분포를 나타내고 있다.
- 따라서 I2A architecture내에서 환경의 model을 rollout embedding하기 전에 pretraining을 하거나, 전체 loss를 negative log-likelihood loss(NLLLoss) $l_{model}$에 추가함으로서 agent에 대해 환경의 model을 training할 수 있다.
- 실제로 환경의 model을 pretraining하는 것은 I2A architecture의 runtime을 더 빠르게 만들기 때문에 이 strategy를 사용한다.
- 환경의 model에 대한 training data는 부분적으로 training된 standard model-free agent의 trajectory들에 의해 생성된다.
- random agent들이 더 적은 reward들을 보기 때문에 부분적으로 pretraining된 agent들을 사용한다. (exploitation & exploration)
- 그러나 이 경우에, data기반으로 생성된 agent를 pretraining뿐만 아니라 그 때에 data를 생성하기 위해서 (real environment의 step면에서) 필요한 budget을 고려해야 한다.
- 뒤에 나올 experiment에서, 위의 문제들을 두 가지 방법으로 말한다.
- pretraining할 때 사용된 step의 수를 명확하게 고려한다. (for Sokoban)
- 어떻게 같은 pretraining된 model이 많은 task들에 재사용될 수 있는지를 증명한다. (for Mini-Pacman)
- 하나의 고정된 pretraining된 환경의 model을 사용할 때 asynchronous advantage actor-critic(A3C)를 이용하여 I2A parameter들을 학습시킨다.
- 32 ~ 64 workers(threads)로 asynchronous training시킨다.
- RMSprop optimizer를 사용한다.
- Standard model-free agent.
- A3C와 비슷한 model-free standard architecture를 사용한다.
- Sokoban 게임에서, 모든 feature maps(for convolutional layers)와 hidden units(for fully connected layers)의 수를 double로 하는 'large' standard architecture를 test한다.
- Copy-model agent.
- 환경의 model에서 나오는 정보들이 performance 증가에 기여하는 것을 명확히 하기 위해, I2A의 환경의 model을 사용하는 것이 아니라 input observation을 그냥 내뱉어주는 'copy' model로 대체한다. (왜 이런 model을 사용해서 비교하였는지는 잘 모르겠다..)
- 환경의 model이 없는 이 agent는 imagination하는 것이 아니라 그저 같은 수의 parameter를 가진 architecture이다.
6 Sokoban experiments
- Sokoban은 agent가 주어진 target 위치로 box들을 밀어야하는 고전 planning 게임이다.
- box들이 당기는 것과 반대로 미는 것밖에 안되기 때문에 action들은 되돌릴 수 없고, 실수는 puzzle을 해결할 수 없도록 만든다.
- 사람도 이 게임을 해결하는 데에 많은 시간을 planning에 집중해야한다.
- Sokoban에서는 순차적으로 새로운 단계마다 random한 episode를 생성하기 때문에 구체적인 puzzle의 위치를 기억할 수 없다.
- model-free baseline agent들은 10억 step의 training을 했음에도 불구하고 단계들마다 60% 미만으로 문제를 해결한다.
- Figure 4: Left
- 기존의 model-free agent와 I2A (with rollouts of length 5) 를 비교한다.
- I2A는 해결된 단계에 대해 85%의 performance, baseline들은 최대 60% 미만의 performance에 도달한다.
- 모든 feature maps(for convolutional layers)와 hidden units(for fully connected layers)의 수를 double로 하는 'large' standard baseline은 약 70%에 도달한다. (그렇지만 I2A보단 아래에 있다.)
- Figure 4: Right
- rollout의 length(unrolling/imagination step의 수)가 performance에 어떤 영향을 미치는지에 대한 그림이다.
- 1보다 더 긴 3, 5, 15 rollout의 length를 사용하는 것이 performance를 더 증가시킨다. (parameter의 수를 증가하진 않음)
- 그러나 일반적으로 더 긴 rollout을 이용한 I2A는 도움되는 정보들이 감소한다는 것을 찾았다. 다시 말해 더 긴 rollout을 이용하면 물론 performance면에서는 증가하겠지만, informative한 rollout을 찾는 것은 오래걸린다.
- 하나의 단계를 해결하기 위해 걸린 step의 수를 비교해봤을 때 5 step의 rollout이 제일 뛰어나다.
- 15 rollout의 length기반의 I2A는 더 느렸기 때문에 앞으로 5 rollout의 length를 쓸 것이다.
- I2A의 장점 중 하나는 이전에 말했던 대로 imperfect한 환경의 model을 다루는 것이다.
- 이것을 증명하기 위해, I2A가 훨씬 더 안좋은 performance를 보여준 환경의 model을 다루는 실험을 했다.
- 먼저 반복된 rollout 예측마다 error로 인해 모아진 다양한 artifact가 있고, (Figure 5: Left) 또한 flawed한 환경의 model이 있다고 가정한다. (Figure 5: Right)
- error로 인한 rollout들을 무시하기 때문에 poor model을 이용한 I2A agent는 결국 good model을 가진 I2A agent를 능가한다. (rollout encoder를 학습하기 때문에 I2A가 imperfect한 model 예측을 다룰 수 있다.)
- rollout encoder가 없는 고전적인 MCTS algorithm과도 비교했다.
- copy model을 이용한 I2A는 performance가 훨씬 더 않좋다.
- reward 없이 오직 observation을 통해 예측한 환경의 model도 performance가 않좋다.
- 그러나 훨씬 더 긴 training후에는 I2A의 performance에 가깝도록 recover했다.
- 따라서 reward 예측은 완전하게 필수적인 task는 아니다.
- Sokoban 게임에서는 imagined observation을 이용하여 충분히 높은 performance를 얻었다.
- 하지만 대체적으로 reward 예측에 의존적이긴 하다.
6-4 Imagination Further insights into the workings of the I2A architecture
- 이번 section은 '만약 perfect한 model이라면 어떻게 I2A를 다른 planning method과 비교할 수 있을까?'에 대해서 다룬다.
- planning의 효율성으로 비교할 수 있음. 다시 말해 각 단계마다 해결하기 위해 필요한 imagination step의 수로 비교할 수 있다.
- Sokoban 게임에서 MCTS을 이용하여 높은 performance를 얻음. 그러나 필요한 환경의 model simulation step의 cost가 훨씬 더 높다.
- I2A의 14,000의 model simulation step과 비교하여 MCTS는 평균적으로 25,000의 model simulation step을 사용했을 때 하나의 단계를 해결하는 데에 87%의 performance를 얻었다.
- 또한 MCTS는 100,000의 model simulation step을 이용하여 95%의 performance를 얻으면서 performance가 점점 더 증가한다.
- 그리고 rollout policy에 대해 training된 I2A를 이용하여 Monte-Carlo search를 실행한다.
- simulation을 전제 episode에 대해 agent가 play한다.
- 만약 retried에 대해 가장 maximum한 수를 찾았다면 successful한 action sequence를 실행한다.
- 평균적으로 4,000의 model simulation step을 이용하여 95%의 performance를 얻었다.
- 하지만 이러한 접근은 거의 perfect한 model일 경우에만 좋다.
- 다른 box의 수를 가진 단계에서 standard model-free agent와 4 box의 단계에서 training된 I2A agent를 비교했다.
- 7 box에서 I2A agent는 4 box보다 더 많은 box의 단계에서도 높은 performance를 보였다.
- 이번 section은 '어떻게 single model이 다른 task들을 해결하는 데에 사용될 수 있는지'에 대해서 다룬다.
- 각각의 task는 하나의 vector $w_{rew} \in \mathbb{R}^5$에 의해 정의된다.
- $w_{rew} \in \mathbb{R}^5$는 5가지 다른 task에 대해 각각의 다른 reward들로 생각할 수 있다. (moving, eating food, eating a power pill, eating a ghost, and being eaten by a ghost.)
- multi-task setting에서 model-based methods의 이점을 설명하기 위해, single 환경의 model이 observations (frames)와 rewards (as defined above, e.g. "eating a ghost")를 예측하도록 training한다.
- 학습하는 model의 marginal한 cost가 0이기 때문에 환경의 model이 효율적으로 모든 task면에서 공유된다.
- 다시 말해 training과 testing하는 동안, I2As는 model에 의해 생성된 frame과 reward 예측을 서로 공유한다.
- 즉, reward vector $w_{rew}$는 같은 환경에서 해결하기 위해 어떠한 task에 대한 "지시(instruction)"로 해석될 수 있다.
- 'Figure 6: Right' 를 보면 각각의 task에서 baseline agents와 I2A를 training했다.
- reward가 굉장히 sparse하고 ghost의 dynamics에 대한 예측이 특히 더 중요하기 때문에 task 4 & 5(Ambush & Rush)에서 I2A와 baselines 사이의 performance 차이가 더 크다.
- I2A agent가 훨씬 더 효율적으로 환경을 exploration하도록 환경과 reward model에 영향을 준다는 것을 증명했다.
'Artificial Intelligence > Reinforcement Learning' 카테고리의 다른 글
High-Dimensional Continuous Control using Generalized Advantage Estimation (0) | 2018.07.03 |
---|---|
n-Step Return vs. Lambda-Return (2) | 2018.07.02 |
A Comprehensive Survey on Safe Reinforcement Learning (0) | 2018.06.20 |
Playing Atari with Deep Reinforcement Learning (0) | 2018.05.03 |
Anticipatory Asynchronous Advantage Actor-Critic (A4C) (0) | 2018.04.24 |