ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Paper Review] - Beyond Tabula-Rasa: a Modular Reinforcement Learning Approach for Physically Embedded 3D Sokoban
    Reinforcement Learning 2022. 9. 2. 19:48

    논문을 읽은 이유

      우리의 뇌 중에서 브로카 영역이 언어를 담당한다고 알려진 것처럼, 뇌의 각 부위들이 특정 역할을 담당한다는 내용을 뇌과학책에서 보았다. 비슷한 원리로 강화학습의 에이전트의 정책 또는 정책을 근사하는 뉴럴 네트워크를 여러 모듈로 나누어서 각자의 역할을 담당하는 그런 연구가 없을까 하는 와중에 논문을 발견해서 읽게 되었다. 

     

    TL;DR

      강화학습의 구성요소들을 여러 모듈로 나누어서 문제를 푸는 방식을 제안했다. Mujoco 기반의 Sokoban 문제에서 기존 10%도 안되던 테스크 성공률은 70퍼센트 넘게 개선했다. 

     

    생각해볼 것들

    • Tabula rasa의 의미? 
      -> 위키백과에 따르면 어떤 인간이 태어날 때에는 정신적인 어떠한 기제도 미리 갖추지 않고 마음이 '빈' 백지와도 같은 상태로 태어나며 출생 이후에 외부 세상의 감각적인 지각활동과 경험에 의해 서서히 마음이 형성되어 전체적인 지적 능력이 형성 된다는 개념이라고 한다. 현재 RL의 에이전트 정책이 랜덤으로 초기화된 뉴럴 네트워크에서 학습을 시작하는 것을 생각하면 된다. 
    • Modular의 의미?
      -> 전체는 여러 개의 나누어진 부분들로 구성되어 있고 이들이 결합하여 완전체를 형성한다는 의미. 레고블록이 그 예시
    • 왜 모듈화를 하면 문제를 잘 풀 수 있을까?
      -> 모듈화를 통해 state space와 action space의 크기를 줄이게 되어서 그런 것 같다.

     

    Abstract

      지능이 있는 로봇은 추상적인 목표들을 달성하기 위해서 구체적이고 시공간적인 복잡한 감각정보를 활용하고, 모터를 제어하는 것이 필요하다. Tabula rasa deep RL은 시각적, 추상적, 물리적 추론이 요구되는 작업들을 다루어 왔는데, 이들을 같이 푸는 것은 매우 어렵다. 이 논문에서는 Mujoban이라는 3D 창고 환경에서 위의 도전과제들을 해결하는 내용을 다루었다. sense-plan-act라는 계층으로 RL 모듈을 구성해서 문제를 풀 수 있다고 한다. 각 모듈들은 classic 로봇 아키텍처와 비슷하게 잘 정의된 모듈인데, model-free 방식으로 동작한다. 그 결과 Mujoban에서 SOTA를 달성하였다.  

     

    1. Introduction

    Figure 1: Mujoban environment

      기존의 RL 메소드들은 하나의 시스템에서 여러 문제를 jointly하게 풀려고 시도해왔다. (하나의 정책으로 모든 의사결정을 해결하려고 함). 이는 에이전트의 학습을 어렵게 해서 벤치마크에서 낮은 성능을 보였다. Mujoban이라는 환경에서 에이전트는  1인칭 시점의 Observation을 입력으로 받아서 상자를 밀어서 옮기는 퍼즐을 풀어야 한다. 기존 Sota RL들은 TPU에서 몇 주의 학습을 해도 전체 시도 중에서 10%만 문제를 풀 수 있었다. 이때, 위 그림처럼 top-down view 같은 정보에 접근할 수 있었는데도 잘 풀 수가 없었다고 한다. 

    Figure 2: Modular RL architecture

      논문에서는 어려운 embodied task 들을 RL 모듈들을 구성해서 풀 수 있는지 조사한다. 이 모듈들은 sense-plan-act hierarchy로 동작하며 1) perception -> 2) abstract reasoning -> 3) motor contorl을 수행한다. 이렇게 모듈러 디자인을 하게 되면 효율적인 네트워크 구조와 학습 영역을 선택할 수 있고, 학습된 모듈을 재사용할 수 있다고 한다. 예를 들면 다른 테스크에서는 다른 모듈을 갈아 끼우는 식이다. 각 모듈들은 model-free 로 배타적으로 동작하고, 이전에 연구된 사례는 없었다. 

      모듈러 아키텍처는 그림 2와 같다. 각 모듈은 다른 목적함수를 최적화한다. 컨트롤러의경우 goal-oriented locomotion과 pushing에 대해 학습되고, 플래너는 고차원의 추상적 추론에 대해 학습된다. 인지 네트워크는 1인칭 시점의 RGB 시퀀스를 입력 받아서 2차원 상태를 추론한다. MPO 기반의 time-abstracted RL 알고리즘을 사용해서 성공률을 9.4%에서 78.7%로 개선했다. (이때 1인칭 시점만 사용했다) 

      Contribution은 다음과 같다

    • model-free RL 모듈들이 sense-plan-act hierarchy로 구성되어 sota를 달성
    • planning에 학습된 모듈이 다른 로봇 플랫폼에서 재사용 가능함을 보였다. 
    • hierarchical policy를 학습시키는 modular RL 알고리즘을 제안한다. 

     

    2. Related Work

      도메인 지식, 구조를 모델프리 강화학습에 통합하는 방법에 대한 연구가 최근에 수행되어 왔다. 도메인 지식은 다양한 형태로 나타날 수 있는데 1) reward shaping, 2) training curricula, 3) auxiliary tasks, 4) state representation, 5) algorithmic structure, 6) memory 에 대한 연구들이 있었다. 논문에서는 문제를 풀기 위해 계층적 강화학습 (Hierarchical RL) 형태로 접근한다. 추상화 수준, 시간 규모에 따라 다르게 행동하는 정책들의 hierarchy를 사용한다. (이렇게 한 이유는 로보틱스에서 sense-plan-act 아키텍처가 널리 사용하기 때문인 것 같다). 이러한 계층이  큰 종류의 embodied 문제에 대해서 inductive bias의 형태를 가능하게 한다. 

     

    3. Mujoban

    Figure 3: RL trajectory in Mujoban

      Mujoban 환경에서 시각 인지, 추상적 추론, 모터 제어를 해결한다. 이 환경은 2D sokoban 퍼즐로부터 3D 미로를 생성한다. 로봇은 미로를 탐험하고 박스를 목표 위치에 자신의 몸으로 밀어 넣는다. 기본 로봇은 2-DoF (Degree of freedom)을 가지는 공이다. (x축, y축으로 움직임) 그 다음 8-DoF 를 가지는 개미에 대해서도 실험한다. 

      로봇이 받는 인풋은 1인칭 시점의 카메라 이미지 $o^{cam}$이고, proprioceptive 신호 $o^{pr}$이 있다. (터치, 위치, 속도, 가속 센서값). 그리고 global pos $o^{pos} = x, y, \phi $가 있다. 퍼즐을 풀면 +10의 보상을 받고, 박스를 타겟 위치로 옮기냐 마느냐에 따라 +1/-1 보상을 받는다. 그림에서 노란 색은 상자들이고 목표 위치는 빨간색이다. 에이전트는 박스를 빨간 상자로 밀어야 한다. 챌린지들은 다음과 같다. 

    • Motor control. 에이전트는 목적지에 도달하기 위해 움직이는 법을 배워야 한다. 박스를 밀고 정렬해야 하며, grid peg에 막히면 안된다. 
    • Abstract reasoning / Planning. 소코반 퍼즐은 long horizon planning을 필요로 한다. 박스들은 오직 밀기만 가능하고 당길 수 없다. 많은 움직임들이 되돌릴 수 없기에 미리 계획해서 움직이는 것이 중요하다. 
    • Perception. Mujoban 환경은 겉으로 보기에 간단헤 보이지만 perception은 non-trivial한 visual mapping을 포함한다. 즉, 2D sokoban state 정보를 추론하기 위해 RGB 이미지들의 시퀀스들이 통합되어야 한다. (과거의 시각 정보들을 잘 기억해야 한다는 의미인 것 같다)

      현실에서의 동작을 고려해서, 에이전트에게 1인칭 관측값만 제공하는 실험도 진행한다. 

    4. Modular RL

    4.1 Overview

      embodied reasoning 레이어들을 구분되는 RL 모듈들로 나눈다. 1) perception module, 2) planner, 3) controller 세 가지고 있으며 각 모듈들의 목적함수는 다르다. (도메인 지식을 활용해서 만듬). 그림 2에 아키텍처를 살펴보면 1인칭 시점 이미지를 받아서 추상적인 2D 상태를 출력하는 역할을 perception module이 수행한다. 플래너는 추상적인 상태를 받아 지시사항을 내린다. (동, 서, 남, 북, 정지). 마지막으로 컨트롤러는 goal-oriented visuomotor policy인데 locomotion과 object manipulation을 수행한다. 시각정보와 instruction을 입력으로 받아서 모터의 토크 값 a와 완료 시그널 $\beta$를 출력한다.

     

    4.2 Controller module

      컨트롤러의 역할은 locmotion과 object manipulation이다. control policy와 completion predictor에 대한 네트워크를 분리해서 사용했다. control policy는 $o^{cam}_t, A_t, o^{pr}_t, \beta_t $를 입력으로 받아서 토크 액션 $a_t$를 출력한다. 지시사항은 원 핫 인코딩되어 있고, ResNet과 LSTM을 연결해서 네트워크를 구성했다. 이후, actor critic MPO 알고리즘으로 학습시켰다. 

     

    4.3 Planner module

      플래너의 역할은 퍼즐을 풀기 위해 abstract state estimates 값을 받아서 discrete instruction $A_t$를 출력한다. 여기서 instruction은 이런식이다. (앞으로 가기, 북쪽으로 가기, ...). 플래너는 abstract time에서 동작한다. 즉, 플래너의 각 스텝에서에 로봇은 지시사항을 완료할 때 까지 환경과 몇 번(가변)을 상호작용을 한다. 예를 들어 앞으로 가라는 한 번의 지시사항에 10번의 + 토크 행동을 취할 수 있다. Policy network와 비슷하게 ConvLSTM 구조를 사용하고, Q-value 값을 추정하는 critic head를 추가했다. 마찬가지로 플래너의 정책도 RL로 학습되지만 플래너의 관점에서 환경의 추상화된 버전과 상호작용한다. 

    4.4 Perception module

     

    Figure 4: Geometry-aware perception network

      인지 모듈의 경우 $o^{\text {cam}}_t$와  $o^{\text {pos}}_t$로부터 순차적으로 abstract state $S_t$를 예측한다. 이 테스크 mapping 문제인데 3D 장면으로부터 2D 지도로 만드는 문제와 동일하다. geometry-aware network 아키텍처를 그림 4와 같이 설계했는데, 강한 inductive bias가 포함된 것이다. (ConvLSTM 구조가 1인칭 시점으로부터 2D mapping을 잘 수행) 그리고 새로운 spatial attention mechanism을 사용했다. 원래의 어텐션과 달리 문제에 맞게 조금 변형 했다고 한다.  
      네트워크는 2D 지도 $S_t$의 가능한 각 위치에 대해 시각 입력의 다른 요소에 주의를 기울임으로써 작동한다. 공간적 어텐션은 2D 그리드로 배열된 특징 벡터를 생성한다. 이 메커니즘은 abstract state에 대한 implicit belief를 만들고 ConvLSTM에 입력된다. LSTM의 출력은 5가지로 (None, Wall, Box, Target, Box-on-target)으로 구성되어 있다. 현재 추상적 상태의 공간적 위치를 예측하는 것이다. 네트워크의 학습은 크로스 엔트로피로 진행하고 레이블은 abstract state observation $S^* _t$이다. 이 네트워크는 현재 에이전트의 위치값에 의존하지만 시각정보와 고유감각 정보로부터 미래 위치를 예측할 수도 있다. 

    4.5 Training algorithm

      알고리즘은 위와 같다. 17-19 라인을 보면 RL과 지도학습을 같이 활용한다는 것을 알 수 있다. task-specific한 구현 사항들은 생략되어 있어서 코드를 살펴봐야할 것 같다. side information $(o^{\text {box}}, S^*)$를 observation에 포함시켰는데, 학습에서 컨트롤러의 리워드와 지도학습의 loss를 계산할 때 사용한다. 샘플 수집과 모듈 업데이트를 분리된 노드에서 수행하도록 distributed RL을 적용했다. 하나의 V100 GPU로 learner 노드를 업데이트하고 actor 노드에는 CPU만 사용했다. 

    수렴하는데는 각각 7, 21, 5일이 걸렸다고 한다.

    5. Results

    5.1 Modular RL results

      먼저 세 가지 경우에 대한 실험이다. 1) oracle의 경우 2D 이미지만을 사용해서 수행한 경우, 2) 플래너와 컨트롤러가 perfect abstract state input을 받는 경우 3) 학습된 모듈들을 사용한 경우다. 성공률은 512개의 랜덤 에피소드에 대해서 다른 난이도로 실험했다. easy (5x5, 1 box), medium (8x8, 3 boxes), hard (10x10, 4 boxes). 만약 에이전트가 4800 스텝 (240초) 내에 퍼즐을 푼다면 성공한 것이다. 모든 모듈은 어려움 단계에서만 학습되었다. 보상의 경우 어려움 난이도에서 측정된 것이다. 최종적인 성공률은 78.7%로 아주 좋은 성능을 보이고 있다. 아래의 그림 5에서 학습 곡선을 보여준다. 이 결과는 Mujoban에서 가장 좋다고 알려진 RL 알고리즘의 성능보다 더 좋다는 것을 보여준다. (표 4를 보면 어려움 단계에서 50%도 안되는 성능을 보이고 있다.) 성능을 직접 비교할 수는 없다는 것에 유의해야 한다. (45초 동안 수행하고, top-down camera, abstract state, expert instruction을 포함하고 있다. )

     

    5.2 Comparison results

      비교결과를 보면 Modular RL의 장점이 더욱 드러난다! Monolithic RL은 ResNet-LSTM 네트워크와 MPO로 학습했다. 동일하게 partially observable setting이고 동일한 actor critic setup을 사용했다. (critic에 privileged side information을 넣음). 커리큘럼 방식, critic network torso share, easy level에서만 학습한 것 등에 대해 비교했다. 
      표 3에서는 Structured RL에 대한 실험 결과를 보여준다. partial observability를 제거하고, top-down observation, abstract state를 추가한 것에 대한 실험이다. Monolithic RL의 경우 잘 동작하지 않지만, abstract state를 추가하고 structured exploration을 하도록 했다. 추가적인 유사 보상을 주었다고 한다. 성능이 꽤 잘나오는데 추후에 Option-Critic 같은 일반적인 HRL 메소드와의 비교를 future work로 남겨두고 있다. 

    5.3 Module transfer

      Ball robot을 ant robot으로 대체한 실험이다. 환경의 물리적인 크기를 세 배 가까이 늘리고 상자들의 무게와 grid peg는 변하지 않았다. 복잡한 컨트롤에만 집중하기 위해 fully observable mujoban 세팅을 사용했다. 따라서 플래너와 컨트롤러 모듈만 필요하다. 평가 시간은 480초로 늘려서 실험한다. 

      개미를 위한 컨트롤러를 학습시키고 이전의 ball robot에서 학습한 플래너를 가져와서 구성했다. 결과는 표 5에 나와 있는데 성능이 조금 떨어지긴 했지만 학습한 모듈이 재사용 가능하다는 것을 보이고 있다. 

     

    6. Discussion & Conclusions

    • 적절한 모듈화된 아키텍처를 사용하면 매우 어려운 도메인 (시각 입력을 사용하는)에서 개선을 이룰 수 있음을 보였다.
    • 기존의 End-to-end 방식은 충분한 계산 리소스와 시간이 있어야만 학습이 가능해서 현실문제에 적용하기 어려웠는데, 모듈 아키텍처를 적용하면 더 효율적으로 학습시킬 수 있다. 
    • 과도하게 모듈화된 구조는 불필요한 오버헤드를 발생시킬 수 있고, 에이전트가 로컬 옵티마에 빠지거나 솔루션을 찾지 못하게 할 수도 있다 이는 모듈들을 일반화해서 설계하고 joint refinement를 함으로써 피할 수 있다. 

     

    References

    [1] https://sites.google.com/view/modular-rl/ 

     

    Modular RL

    Abstract Intelligent robots need to achieve abstract objectives using concrete, spatiotemporally complex sensory information and motor control. Tabula rasa deep reinforcement learning (RL) has tackled demanding tasks in terms of either visual, abstract, or

    sites.google.com

    [2] https://arxiv.org/abs/2010.01298

    댓글

Designed by Tistory.