[논문] Benchmarking Reinforcement Learning Algorithms on Real-World Robots

Date:     Updated:

카테고리:

태그:

이 논문은 최근 시뮬레이션상에서는 좋은 성과를 거두었지만 실제 환경에서도 적용이 가능한지에 대한 연구를 수행한 논문이다. 좋은 성과를 거둔 RL 알고리즘을 실제 산업에서 사용하는 로봇들에 적용해 실험을 하고 그에대한 결과를 소개한다. 실제 자세한 실험 내용보다도 어떻게 실험을 구상했고 그에 대한 결과를 생각해보면 좋을 것 같다.

실험 결과를 통해 확인한 하이퍼파라미터 선택이 알고리즘 선택이나 신경망 초기화보다도 성능에 더 큰 영향을 미칠 수 있다는 점이 중요하다고 생각한다.


0. Abstract

이 논문에서는 다양한 학습 난이도, 실험 환경, 재현성을 고려한 여러 강화 학습 작업을 실제 상용 로봇을 이용해 소개한다. 이러한 작업에서 RL Algorithm (TRPO, PPO, DDPG, Soft-Q)으로 테스트해 학습 성능을 평가하고, 하이퍼파라미터에 대한 민감도를 분석하여 실제 환경에서의 적용 가능성을 검토한다.

결과적으로, 작업 인터페이스와 연산을 신중하게 설정하면 일부는 실제 로봇에서도 바로 적용 가능함을 확인했다. 또한, SOTA Algorithm들은 하이퍼파라미터에 매우 민감하며, 알고리즘의 성능 순위가 작업마다 일관되게 유지되지 않아 최적의 성능을 위해 작업별로 재조정이 필요함을 발견했다. 반면, 하나의 작업에서 최적화된 하이퍼파라미터 설정이 다른 로봇을 사용한 새로운 작업에서도 효과적인 학습을 유도할 수 있어, 기본값으로 활용할 수 있는 가능성을 보여주었다.


1. Introduction

최근 몇 년간 TRPO, PPO, DDPG 같은 방법들은 시뮬레이션 로봇 환경에서 성공을 거두었다.

하지만 실제 로봇을 이용한 강화 학습 연구는 아직까지 가장 단순한 형태의 강화 학습 문제 정의 즉, Agent가 Env를 직접 경험하며 보상을 극대화하도록 학습하는 방식을 완전히 수용하고 실천하지 못하고 있다.

이는 시뮬레이션 기반 연구에서 나타난 성공을 현실 세계로 확장하는 데 어려움이 있음을 시사한다. 또한, 표준 벤치마크 태스크가 부족하기 때문에 이러한 어려움을 분석하고 공동으로 해결하는 것이 쉽지 않다.

이러한 어려움을 연구하고 해결하기 위해, 세 가지 상업용 로봇을 기반으로 여섯 개의 RL Tasks를 도입한다. 이 Task들은 대부분 기본적인 로봇 설정 외에 추가적인 하드웨어 설치가 필요하지 않다. Task에서 continuous control을 위한 RL Algorithms (TRPO, PPO, DDPG, Soft Q-learning)을 비교하고 벤치마킹한다.

2. Robots

Image

실험에 아래 3가지 Robots를 사용했다. 사용한 로봇의 Spec을 간단하게 정리하면 다음과 같다.

  1. UR5
    • UR사에서 제작한 6-joints 협동 로봇 팔
    • Control : low-level position, velocity control commands
    • Sensor data : angles, velocities, target accelerations, currents for each joint.
    • Tasks : UR-Reacher-2, UR-Reacher-6
  2. Dynamixel MX-64AT
    • Robitis 사에서 만든 DC actuators
    • 높은 토크와 하중을 견디고 half duplex asynchronous serial communication protocol을 통해 제어
    • Control : position, Velocity, current control command
    • Sensor data : position, velocity, temperature, current and load
    • Tasks : DXL-Reacher, DXL-Tracker
  3. Create 2
    • iRobot 사의 Roomba vacuum robot (취미 버전)
    • Sensor : Wall sensor(6개), charging sensor, bump sensor, distance sensor 등
    • Control : 두 개의 바퀴 속도를 mm/s 단위로 조정 가능
    • Tasks : Create-Mover, Create-Docker

3. Tasks

RL에서 Agent는 State를 받아 Action을 선택하고 이에 따라 Env이 새로운 State로 전이되면서 Reward를 제공한다. 이 과정을 통한 목표는 미래 Reward의 기댓값을 최대화하는 정책을 학습하는 것이다.

로봇마다 다른 Tasks로 각각의 로봇들을 실험했다. 간단히 각 Task 설명해보면 다음과 같다.

Task마다 어떻게 목표를 세우고, 보상함수를 설정해 평가했는지 그리고 어떤 방식으로 최적화를 했는지 정도의 특징들을 생각해보면 될 것 같다.

  1. UR-Reacher-2
    • Objective : 2번, 3번 joint를 제어해서 목표 위치에 도달
    • angular speed : [-0.3, +0.3] rad/s
    • Reward function : \(R_t = -d_t + exp(-100d^2_t)\) (\(d_t\) = 목표와 손끝의 Euclidean distance)
    • 목표 위치는 0.7m x 0.5m 영역안에서 랜덤하게 생성된다.
  2. UR-Reacher-6
    • Objective : 6개의 joint를 사용해 0.7m x 0.5m x 0.4m 3차원 공간안의 목표 위치에 도달
    • policy space가 더 복잡하고 학습이 더 어렵다.
  3. DXL-Reacher
    • Objective : 목표 위치 도달
    • Action space : [-100, 100] mA
    • Reward function : \(R_t = -d_t\)
    • Observation vector : actuator position, moving speed, target position, previous action
    • Target Position : 랜덤하게 생성
  4. DXL-Trakcer
    • Objective : 움직이는 목표 위치에 도달
    • Action space : [-50, 50]mA
    • Reward function : \(R_t = -d_t\)
    • Observation vector : actuator position, moving speed, current target position, 50ms 전후의 action의 target position
  5. Create-Mover
    • Objective : 장애물이 없는 환경에서 최대한 빠르게 이동
    • Action space : [-150, 150] mm/s (두 바퀴 속도 제어)
    • Observation vector : 6-wall sensors value, 이전 action
    • Reward function : 지난 10개의 거리 센서 값 합
    • 90초 동안 진행되고, 벽 충돌 시 종료
  6. Create-Docker
    • Objective : 충전 도크에 정확히 정렬하여 도킹
    • Reward function : 도킹 성공시 큰 보상, 벽 충돌 시 패널티, 정렬되게 도킹하면 약간의 보상

위의 Tasks들을 최적화 하기 위해서 env와 agent 연산을 별도 프로세스로 실행을 하고, Action cycle time을 조정하고, robot control cycle을 조정했다. 그리고 보상을 action cycle에 맞게 조정하고, action space와 observation을 [-1, 1] 범위로 정규화했다.


4. Reinforcement learning algorithms

4.1 Trust region policy optimization (TRPO)

TRPO는 Poilicy optimization algorithm으로 각 learning update에서 정책 변화량을 제한한다. 정책은 제한된 최적화 문제를 반복적으로 해결하면서 최적화된다.

Image

\({A_\theta}_{old}\) : 기존 정책의 Advantage function

\(r_\theta(a\mid s)\) : target policy과 policy의 ratio

\(D_{KL}\) : Kullback-Leibler divergence

\(\delta\) : step size parameter

TRPO는 conjugate-gradient algorithm을 통해 최적화한다.

4.2 Proximal policy optimization (PPO)

PPO는 TRPO의 KL-divergence 제약을 없애고, 대신 Clipping 기법을 활용하여 정책 변화량을 제한하는 알고리즘이다.

Image

\(\epsilon\) : 정책 변화량을 조절하는 parameter

SGD를 여러 epoch동안 수행해서 최적화한다.

4.3 Soft Q-learning (Soft-Q)

Soft-Q는 정책을 energy-based probability distribution로 정의한다. maximum entropy objective를 최적화하여 정책을 학습한다.

energy-based probability distribution: \(\pi(a\mid s)∝\exp(−E(a,s))\)

Gaussian noise같은 exploration noise 없이 가능하다.

4.4 Deep deterministic policy gradient (DDPG)

DDPG는 estimated action-value function을 최대화하는 determinisitc policy를 학습한다.

Image

N : Batch size

Policy output에 추가적인 noise model이 필요하다.


5. Experiment Protocol

4가지 RL Algorithm을 6가지 Task에 적용해서 여러 특성을 분석한다. 이 논문에서 분석한 특성에는 크게 3가지가 있다.

  1. Task에 따른 Hyperparameter sensitivity
    • 각 알고리즘의 하이퍼파라미터가 Task 내에서 얼마나 성능 변화에 영향을 미치는지 분석
  2. Task에 따른 Hyperparameter consistency
    • 특정 Task에서 잘 동작한 하이퍼파라미터가 다른 Task에서도 유효한지 분석
  3. Overall effectiveness of algorithms
    • 각 알고리즘이 전체 Task에서 얼마나 효과적인지 분석

먼저 Task에 따른 하이퍼파라미터 민감도와 일관성을 분석하기 위해 하이퍼파라미터의 random serach를 사용한다. Random search를 통해 실험할 하이퍼파라미터를 찾고, UR-Reacher-2, DXL-Reacher에서 7개의 하이퍼파라미터를 실험한다. 각 하이퍼파라미터 값은 로그스케일에서 무작위로 30개의 값으로 정해진다.

모든 알고리즘은 동일한 하이퍼파라미터로 설정하여 성능을 비교한다. 그리고 신경망 초기화로 인한 영향을 줄이기 위해, 4개의 하이퍼파라미터 설정을 앞서 찾은 30개의 세트에서 무작위로 선택하고, 이 4개의 세트 각각은 5개의 랜덤하게 선택된 신경망 초기화로 다시 동작한다.

모든 Task에 같은 5개의 신경망 초기화를 선택된 4개의 하이퍼파라미터에 동일하게 적용한다.

전체 알고리즘의 성능을 평가하기 위해서 UR-Reacher-2에서 가장 좋은 성능을 낸 하이퍼파라미터를 선택해 4개의 Task에 적용시켰다. 또한 non-learning script agent와 비교해서 정책의 성능을 평가한다.

각 Task마다 Step수와 학습시간는 다르게 설정한다.


6. Experimental results and discussion

6.1 The Reliability of the Experiments

Image

먼저, TRPO를 사용해 동일한 Seed로 4번 실험을 진행해도 같은 값을 갖는 것을 통해 실험의 신뢰성을 보여준다. 대부분의 Task에서 실행간의 성능 차이가 적고, 시간이 지나도 발산하지 않는것을 확인했다. 하지만 Create-Mover에서는 시간이 지나면서 발산함을 확인했다.

6.2 The Sensitivity

Image

하이퍼파라미터에 따른 각 알고리즘의 성능 민감도를 분석했다.

하이퍼파라미터 설정에 따라 성능 편차가 크고, 일부 설정에서는 학습이 전혀 진행되지 않았다. 특히 DDPG는 모든 설정에서 성능이 낮았고, 중앙값도 최저였다. 그리고 TRPO는 가장 일관된 성능을 보이고, 하이퍼파라미터 변동에 덜 민감하다.

중요한 결론은 하이퍼파라미터 선택이 알고리즘 선택보다 성능에 더 큰 영향을 미칠 수 있다는 것이다.

6.3 Network initialization

Image

이 그래프는 신경망 초기화의 효과를 알 수 있다. 각 파란색 점들은 DXL-Reacher 태스크에서 특정 하이퍼파라미터 설정을 사용한 실험 결과이고 box에 나타내어 진건 신경망 초기화에 따른 성능 변동 범위이다.

그러므로 적절한 하이퍼파라미터를 선택하는 것이 신경망 초기화보다 성능에 훨씬 중요한 요소라는 것을 알 수 있다.

6.4 Hyperparameter consistency

Image

같은 하이퍼파라미터를 사용했을 때 DXL과 UR에서의 성능을 나타낸 것이다. 이 그래프를 통해 새로운 Task를 진행할 때에 하이퍼파라미터 최적화는 필수적이지만. 어느 한 Task에서 좋은 하이퍼파라미터는 다른 Task에서도 비교적 좋은 성능을 낼 수 있다는 것을 볼 수 있다.

6.5 Learning performance

Image

UR-Reacher-2에서 가장 좋은 성능을 낸 하이퍼파라미터를 적용했을 때, TRPO, PPO, Soft-Q는 효과적으로 학습하고. Soft-Q는 가장 빨리 학습하고, TRPO는 모든 Task에서 최고 성능에 근접한 알고리즘이라는 것을 알 수 있다.


7. Conclusion

이 논문에서는 TRPO, PPO, DDPG, Soft-Q Policy Learning Algorithm을 다양한 실제 상용 로봇에서 실험을 하는 최초의 대규모 연구를 수행했다.

모든 알고리즘의 성능은 하이퍼파라미터 값에 매우 민감하게 반응하여, 최적의 성능을 위해 새로운 작업에서 재조정이 필요했다. 그럼에도 불구하고, 일부 알고리즘은 넓은 범위의 하이퍼파라미터 값에서도 효과적인 학습 성능을 보였으며, 이는 연구에서 사용한 작업 설정의 신뢰성과 다양한 물리적 환경에서 이러한 알고리즘 구현이 적용 가능함을 시사한다.

맨 위로 이동하기

Papers 카테고리 내 다른 글 보러가기

댓글남기기