본문 바로가기

Artificial Intelligence/Reinforcement Learning

Imagination-Augmented Agents for Deep Reinforcement Learning


논문 제목 : 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를 합친 접근이다.
    1. 여기서 "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 방식으로 학습한다.



4  The I2A architecture


  • model-free agent가 실제로 학습할 때 더 효율적으로 행동하기 위해, 그 전에 먼저 imagined trajectories를 simulation하는 환경의 model을 사용한다. 
    1. 또한 하나의 neural network와 추가적인 policy network를 통해 imagined trajectories를 제공한다. (밑에서 더 자세히 설명)
  • 환경의 model은 agent의 trajectories에 대해서 unsupervised 방식으로 training되는 recurrent한 architecture를 사용한다.
    1. 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$를 결정한다.


Figure 1: a)
  • 각각의 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$를 만드는데에 사용된다.
    1. 각각의 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)

Figure 1: b)
  • 하지만 중요한 issue는 학습된 model이 완벽하다고 가정하지 않는다.
    1. I2As가 erroneous or nonsensical한 예측을 만들수도 있기 때문에 유일하게 예측된 rewards(or values)를 의존하면 안된다.
    2. 또한 하나의 trajectory는 더 높은 reward의 결과가 아닌(subproblem을 해결하는 예시로서) informative한 subsequence일 수도 있다.
  • 이러한 문제들 때문에, imagined한 rollout을 처리하는 rollout encoder $\epsilon$을 사용하여 미리 "learn to interpret"을 한다.
    1. 다시말해 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)$로 바꾼다.

Figure 1: c)
  • 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



5-1  Rollout strategy
  • 주어진 환경에서 각각의 action마다 한 번의 rollout을 실행한다.
  • standard한 rollout과는 다르게 imagination-augmented policy를 증류(distillation)하여 model-free policy를 만든다.
    1. 여기서 증류(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에 추가한다.
    1. 여기서 auxiliary loss란, 학습을 잘하기 위한 보조적인 loss이다.
  • imagination-augmented policy를 나타냄으로써 내부의 rollout들은 real 환경에서 agent의 trajectory들과 비슷해진다.
    1. 또한 이렇게 함으로써 rollout이 더 높은 reward가 있는 trajectory들과 일치한다.
    2. 동시에, exploration과 exploitation사이의 균형을 만들면서 imperfect한 approximation은 더 높은 entropy를 가진 rollout policy가 된다.

5-2  I2A components and environment models
  • 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}$을 사용하여 최적화된 하나의 분포를 나타내고 있다.
    1. 따라서 I2A architecture내에서 환경의 model을 rollout embedding하기 전에 pretraining을 하거나,  전체 loss를 negative log-likelihood loss(NLLLoss) $l_{model}$에 추가함으로서 agent에 대해 환경의 model을 training할 수 있다.
    2. 실제로 환경의 model을 pretraining하는 것은 I2A architecture의 runtime을 더 빠르게 만들기 때문에 이 strategy를 사용한다.
  • 환경의 model에 대한 training data는 부분적으로 training된 standard model-free agent의 trajectory들에 의해 생성된다.
    1. random agent들이 더 적은 reward들을 보기 때문에 부분적으로 pretraining된 agent들을 사용한다. (exploitation & exploration)
    2. 그러나 이 경우에, data기반으로 생성된 agent를 pretraining뿐만 아니라 그 때에 data를 생성하기 위해서 (real environment의 step면에서) 필요한 budget을 고려해야 한다.
    3. 뒤에 나올 experiment에서, 위의 문제들을 두 가지 방법으로 말한다.
      1. pretraining할 때 사용된 step의 수를 명확하게 고려한다. (for Sokoban)
      2. 어떻게 같은 pretraining된 model이 많은 task들에 재사용될 수 있는지를 증명한다. (for Mini-Pacman)

5-3  Agent training and baseline agents
    • 하나의 고정된 pretraining된 환경의 model을 사용할 때 asynchronous advantage actor-critic(A3C)를 이용하여 I2A parameter들을 학습시킨다.
      1. 32 ~ 64 workers(threads)로 asynchronous training시킨다.
      2. RMSprop optimizer를 사용한다.
    • Standard model-free agent. 
      1. A3C와 비슷한 model-free standard architecture를 사용한다.
      2. Sokoban 게임에서, 모든 feature maps(for convolutional layers)와 hidden units(for fully connected layers)의 수를 double로 하는 'large' standard architecture를 test한다.
    • Copy-model agent.
      1. 환경의 model에서 나오는 정보들이 performance 증가에 기여하는 것을 명확히 하기 위해, I2A의 환경의 model을 사용하는 것이 아니라 input observation을 그냥 내뱉어주는 'copy' model로 대체한다. (왜 이런 model을 사용해서 비교하였는지는 잘 모르겠다..)
        1. 환경의 model이 없는 이 agent는 imagination하는 것이 아니라 그저 같은 수의 parameter를 가진 architecture이다.



    6  Sokoban experiments



    • Sokoban은 agent가 주어진 target 위치로 box들을 밀어야하는 고전 planning 게임이다.
      1. box들이 당기는 것과 반대로 미는 것밖에 안되기 때문에 action들은 되돌릴 수 없고, 실수는 puzzle을 해결할 수 없도록 만든다.
      2. 사람도 이 게임을 해결하는 데에 많은 시간을 planning에 집중해야한다.
      3. Sokoban에서는 순차적으로 새로운 단계마다 random한 episode를 생성하기 때문에 구체적인 puzzle의 위치를 기억할 수 없다.
      4. model-free baseline agent들은 10억 step의 training을 했음에도 불구하고 단계들마다 60% 미만으로 문제를 해결한다.

    6-1  I2A performance vs. baselines on Sokoban



    • Figure 4: Left
      1. 기존의 model-free agent와 I2A (with rollouts of length 5) 를 비교한다.
      2. I2A는 해결된 단계에 대해 85%의 performance, baseline들은 최대 60% 미만의 performance에 도달한다.
      3. 모든 feature maps(for convolutional layers)와 hidden units(for fully connected layers)의 수를 double로 하는 'large' standard baseline은 약 70%에 도달한다. (그렇지만 I2A보단 아래에 있다.)
    • Figure 4: Right
      1. rollout의 length(unrolling/imagination step의 수)가 performance에 어떤 영향을 미치는지에 대한 그림이다.
      2. 1보다 더 긴 3, 5, 15 rollout의 length를 사용하는 것이 performance를 더 증가시킨다. (parameter의 수를 증가하진 않음)
      3. 그러나 일반적으로 더 긴 rollout을 이용한 I2A는 도움되는 정보들이 감소한다는 것을 찾았다. 다시 말해 더 긴 rollout을 이용하면 물론 performance면에서는 증가하겠지만, informative한 rollout을 찾는 것은 오래걸린다.
      1. 하나의 단계를 해결하기 위해 걸린 step의 수를 비교해봤을 때 5 step의 rollout이 제일 뛰어나다.
      2. 15 rollout의 length기반의 I2A는 더 느렸기 때문에 앞으로 5 rollout의 length를 쓸 것이다.

    6-2  Learning with imperfect models


    • 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과도 비교했다.

    6-3  Further insights into the workings of the I2A architecture
    • copy model을 이용한 I2A는 performance가 훨씬 더 않좋다.
    • reward 없이 오직 observation을 통해 예측한 환경의 model도 performance가 않좋다.
      1. 그러나 훨씬 더 긴 training후에는 I2A의 performance에 가깝도록 recover했다.
      2. 따라서 reward 예측은 완전하게 필수적인 task는 아니다.
      3.  Sokoban 게임에서는 imagined observation을 이용하여 충분히 높은 performance를 얻었다.
      4. 하지만 대체적으로 reward 예측에 의존적이긴 하다.

    6-4  Imagination Further insights into the workings of the I2A architecture


    • 이번 section은 '만약 perfect한 model이라면 어떻게 I2A를 다른 planning method과 비교할 수 있을까?'에 대해서 다룬다.
      1. planning의 효율성으로 비교할 수 있음. 다시 말해 각 단계마다 해결하기 위해 필요한 imagination step의 수로 비교할 수 있다.
    • Sokoban 게임에서 MCTS을 이용하여 높은 performance를 얻음. 그러나 필요한 환경의 model simulation step의 cost가 훨씬 더 높다.
      1. I2A의 14,000의 model simulation step과 비교하여 MCTS는 평균적으로 25,000의 model simulation step을 사용했을 때 하나의 단계를 해결하는 데에 87%의 performance를 얻었다.
      2. 또한 MCTS는 100,000의 model simulation step을 이용하여 95%의 performance를 얻으면서 performance가 점점 더 증가한다.
    • 그리고 rollout policy에 대해 training된 I2A를 이용하여 Monte-Carlo search를 실행한다.
      1. simulation을 전제 episode에 대해 agent가 play한다.
      2. 만약 retried에 대해 가장 maximum한 수를 찾았다면 successful한 action sequence를 실행한다.
      3. 평균적으로 4,000의 model simulation step을 이용하여 95%의 performance를 얻었다.
    • 하지만 이러한 접근은 거의 perfect한 model일 경우에만 좋다.

    6-5  Generalization experiments

    • 다른 box의 수를 가진 단계에서 standard model-free agent와 4 box의 단계에서 training된 I2A agent를 비교했다.
    • 7 box에서 I2A agent는 4 box보다 더 많은 box의 단계에서도 높은 performance를 보였다.



    7  Learning one model for many tasks in MiniPacman



    • 이번 section은 '어떻게 single model이 다른 task들을 해결하는 데에 사용될 수 있는지'에 대해서 다룬다.
    • 각각의 task는 하나의 vector $w_{rew} \in \mathbb{R}^5$에 의해 정의된다.
      1. $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면에서 공유된다.
      1. 다시 말해 training과 testing하는 동안, I2As는 model에 의해 생성된 frame과 reward 예측을 서로 공유한다.
    • 즉, reward vector $w_{rew}$는 같은 환경에서 해결하기 위해 어떠한 task에 대한 "지시(instruction)"로 해석될 수 있다.
    • 'Figure 6: Right' 를 보면 각각의 task에서 baseline agents와 I2A를 training했다.
      1. reward가 굉장히 sparse하고 ghost의 dynamics에 대한 예측이 특히 더 중요하기 때문에 task 4 & 5(Ambush & Rush)에서 I2A와 baselines 사이의 performance 차이가 더 크다.
    • I2A agent가 훨씬 더 효율적으로 환경을 exploration하도록 환경과 reward model에 영향을 준다는 것을 증명했다.