image 37

오늘 발표할 논문은  DreamWaQ  라고 하여 사족보행 로봇 보행에 강화학습을 적용한 논문입니다.

image 1

이 DreamWaq 논문을 선택한 이유는 다음과 같습니다.

-먼저 로봇을 연구하고 있는 입장에서 세계 사족보행 로봇 대회에서 1등을 한 로봇의 보행 기술이기 때문에 관심을 관심 을 가질 수 밖에 없었습니다.

-현재 보드 게임이나 비디오 게임 이외에도 다양한 분야에서 강화학습 연구가 활발히 진행되고 성과를 보이고 있습니다. 하지만 로보틱스에서는 그동안 큰 성과를 보이지는 못하였었는데요

-이러한 상황에서 이 논문은 로보틱스 분야에서도 강화학습의 응용 가능성을 보여주는 좋은 사례였다고 생각했습니다.

image 2

무슨 말인지 어떤 의미를 가지고 있는지 이해하기 힘들것이라 생각합니다. 조금은 어려울 수 있지만 하나둘씩 받아들여 보겠습니다.

image 3

먼저 로봇에서에 강화학습 설명드리고자 합니다. 왼쪽의 로봇은 저희 나라의 레인보우로보틱스의 사족보행 로봇인데요

image 4

로봇에는 다양한 센서가 있고 state estimation 이나 perception 단계를 거칩니다.

image 5

우리가 이해하기 쉬운 정보를 변환되는 단계이고 control 은 이 쉬운 정보들을 활용해서 actuator command 로 바꾸는 과정입니다.

많은 분들이 deep learning 하면 end to end 로 가능하지 않냐? 라고 하는데 미래에는 그 방향이 맞고 아직 현재 연구는 control 쪽에 집중되어 있다고 합니다.

결국 정제되어 있는 state 와 environment representation 에서 어떻게 actuator command 를 뽑아 내느냐가 문제라고 합니다.

즉 어떻게 로봇을 보행시킬것이냐 입니다.

image 6

어떤 과정을 거쳐 로봇 control 에서 강화학습은 왜 사용되고 어떻게 사용되게 되었는지 살펴보겠습니다.

image 7

처음에는 간단한 규칙에 의존했습니다. 예를 들어 다리의 위치에 따라 속도를 조절하는 방식이었습니다. 하지만 이 방법은 새로운 상황에 적용하기 어려웠습니다.

이전 수훈의 논문 세미나 발표에서 다리 관절의 속도 궤적을 cos 으로 나타내어 나타낸 논문이 있었습니다. 여기에 해당합니다.

image 8

이후 로봇 제어는 물리적 원리를 기반으로 발전했습니다. 이때는 문제를 simplify 하기 위해 무게 중심 위치가 발안에 있도록 하는 등의 제약을 걸어 문제를 해결하고자 하였습니다. 제어를 잘한다면 위에서 한 그런 제약은 깨져야 할 것입니다. 제약을 함으로서 solution space 를 줄일 수 있었습니다.

image 9

이후에는 단순히 무게 중심만 이용 하는게 아니라 로봇 움직임의 모든 것을 계산하기 시작합니다. 당연히 계산할 것이 많아졌습니다. 더욱이 로봇이 여기서 여기로 움직여야 한다라는 정답이 필요하게 되었습니다.

여기 까지 보면 기존의 로봇은 어느정도 잘 움직이지만 결국 “정답 움직임“ 이 존재 하는 상황에서 작동합니다.

image 10
image 11

그렇기 때문에 최근들어서는 강화학습을 이용해서 보행 제어 연구를 많이 하고 있다고 합니다.

강화학습을 통한 보행 제어의 장점으로는 네트워크를 키움으로서 더 복잡한 문제를 해결할 수 도 있고 simulation 을 이용해서 정확한 시스템 모델링을 적용할 수 있습니다. 모터의 마찰과 같은 것들이요.

image 12

일반적으로 로봇에 대한 강화학습 적용 과정을 보면 어떤 환경에서 센서 information 과 reward func 을 정의하고 agent 가 이것들을 보고 다음은 어떤 액션을 취할지 environment 에 줍니다. 액션은 모터에 토크나 모터 각도에 대한 pd target 이 될 것입니다.

image 13

이때 실제 로봇으로 강화학습을 하게 되면 이 로봇에 경우 3억 6천만원인데 고장날 경우 엄청난 금전적 손해가 있기 때문에 대부분 시뮬레이션을 이용합니다.

이러한 루프로 돌아가는 것이 로봇에서의 강화학습입니다.

image 14

다시 DreamWaq 논문으로 돌아가서 그렇다면 사족보행 로봇에서 강화학습 연구는 어떻게 이루어 졌는지를 먼저 밝히고 있습니다.

마치 동물들이 주변 환경을 인식하는 것 처럼 로봇에 달려있는 Lidar 나 카메라와 같은 외부 감지 센서를 활용하였습니다.

하지만 악천후, 조명 과 같은 외부 요인으로 오작동 할 가능성이 매우 크고 눈을 보행할 수 있는 곳으로 판단하는 등의 문제가 대표적으로 있었습니다.

이때문에 외부 센서를 사용하지 않고 로봇 고유의 센서 만으로 주변 환경을 인식하여 보행하도록 하는 연구가 이루어졌으나 추정 오류가 높았기 때문에 산악 환경과 같은 도전적인 지형에서 장거리 보행하는 것에는 한계가 있었습니다.

image 15

이러한 상황에서 결국 이 논문에서 다루는 주요 문제는 "사족 보행 로봇이 다양하고 도전적인 지형을 안전하게 걸을 수 있도록 하는 견고한 보행 정책을 학습하는 것”입니다. 이 때 불확실성을 유발하는 해결해야 하는 문제는 representation learning bottleneck 입니다. 이 딜레마는 로봇이 지형의 특성을 학습하기 위해서는 해당 특성을 효과적으로 표현할 수 있어야 하지만 반대로 이 효과적인 표현을 개발하기 위해서는 다양한 지형의 특성을 경험하고 학습하는 과정이 필요하다는 것입니다.

만약 효과적인 표현을 하지 못한다면 다양한 지형의 특성을 경험하고 학습하여도 특정 지형에만 잘 작동하거나 마지막에 학습한 지형에만 잘 자동하는 등의 로봇이 될 수 있습니다. 즉 최적의 보행 정책을 학습하는데 제한이 생깁니다.

 구체적으로:
“Representation learning bottleneck”은 로봇이나 인공 지능 시스템이 환경의 복잡한 특성을 학습하고 표현하는 과정에서 발생하는 어려움을 가리킵니다. 이 문맥에서, 사지가 있는 로봇이 주변 지형의 특성을 이해하고 그에 맞게 보행 정책을 학습하는 과정에서 겪는 특정한 문제점을 지칭합니다.

1.복잡한 환경의 이해: 로봇이 다양한 지형의 특성을 정확하게 파악하고 이를 내부적으로 표현하는 것은 매우 복잡한 과제입니다. 지형의 높이, 마찰력, 탄성 등 다양한 물리적 특성을 정확히 인식하고 모델링하는 것이 필요합니다.

2.학습과 표현의 상호 의존성: 로봇이 지형의 특성을 학습하기 위해서는 해당 특성을 효과적으로 표현할 수 있는 능력이 필요합니다. 반대로, 효과적인 표현을 개발하기 위해서는 해당 지형을 경험하고 학습하는 과정이 필요합니다. 이러한 상호 의존성 때문에 학습 과정이 복잡해지고, 한 쪽이 부족할 경우 전체 학습 과정에 영향을 미칠 수 있습니다.

3.최적 정책 학습의 어려움: 로봇이 다양한 지형을 경험하며 학습하는 과정에서, 정확한 환경 표현을 개발하지 못하면 최적의 보행 정책을 학습하는 데 제한이 생깁니다. 즉, 로봇이 환경을 어떻게 인식하고 표현하는가에 따라 그 효율성과 정확성이 크게 달라질 수 있습니다.

따라서, 이러한 “representation learning bottleneck”을 극복하기 위해서는 로봇이 환경을 정확하게 인식하고 표현할 수 있는 능력과 함께, 이를 바탕으로 효과적인 보행 정책을 학습할 수 있는 통합적인 학습 프레임워크의 개발이 필요합니다. 이를 통해 로봇은 다양한 지형에서 안정적이고 효율적으로 움직일 수 있게 됩니다.

image 16

다시 이 논문의 main contribution 을 보겠습니다. 결국 이 논문의 contribution 은 제약이 있는 외부 센서를 사용하지 않고 로봇 고유의 센서만을 사용하여 효과적으로 복잡한 지형을 추정하는데 이 추정은 효과적으로 환경을 “표현“ 하여 로봇이 다양한 환경을 학습할 수 있게 하여 다양한 지형에서 안전하게 걸을 수 있게 한 것입니다.

image 17

DreamWaQ 전체적인 구조는 이렇습니다. 그리고 오른 쪽에는 결과를 도식화 해놓았습니다.

image 18

actor-critic policy gradient 구조를 거의 그대로 가지고 있습니다.

행동을 제안하는 actor, policy network 가 있으며 주어진 상태에서의 행동의 가치를 평가하는 크리틱, value network 가 있습니다.

마지막 추가적으로는 context-aided estimator network 를 통해 현재 로봇의 상태와 주변 지형 정보를 추정하고 있고 이를 actor 의 입력으로 하고 있습니다.

Actor와 critic 에 대해서 살펴보면 다음과 같습니다.

image 20

이 논문이 제안하는 dreamwaq 에서 actor 와 critic 은 비대칭성을 띄고 있습니다. 이는 이 논문에 main contribution 중 하나기도 합니다.

비대칭 액터-크리틱(Asymmetric Actor-Critic) 구조는 강화학습에서 사용 되는 중요한 개념으로, 특히 부분적으로 관측 가능한 환경에서의 정책 학습에 효과적입니다.. 여기서 ‘비대칭’이라는 용어는 액터(정책 네트워크)와 크리틱(가치 네트워크)이 서로 다른 정보를 사용한다는 것을 의미합니다.

이 구조의 주요 목적은 시뮬레이션을과 현실 세계에서 로봇이 얻을 수 있는 정보다 서로 다를 때, 즉 로봇이 현실 세계에서 제한된 정보를 바탕으로 최적의 행동을 학습하고 결정할 수 있도록 하는 것입니다.

image 21

결국 이론적으로는 POMDP 라고 하는 에이전트가 환경의 전체 상태를 완전히 관찰 할 수 없는 상황을 모델링 하는 문제인 것이고 그 해결 방법으로 asymmetric actor-critic architecture 를 제안하는 것입니다. POMDP  상황에서는 완벽한 정보가 없기 때문에 actor 는 불확실성을 고려하여 최적의 행동을 선택해야 합니다. 이 때 asymmetric actor-critic architecture 는 critic 에 더 많은 정보를 사용하여 보다 정확한 가치 평가를 할 수 있기 때문에 효과적인 행동을 학습할 수 있습니다. 즉 불확실성을 처리하고 더 나은 정책을 학습하는데 도움을 줍니다.

image 22

그러면 actor 와 critic 에는 어떤 값이 들어가는지 살펴보면 다음과 같습니다.

image 23

이 때 criti에서 추가적으로 보이는 것이 있습니다. 로봇 바디에 가해지는 외부 힘과 로봇 주변 지형의 높이 입니다. 로봇이 실제 환경에서는 제약이 있는 외부 센서를 활용하거나 로봇 고유의 센서로는 측정하지 않는 이 정보를 critic 에 추가한 것입니다. 이를 통해 이 로봇은 제한된 관측에도 불구하고 더 효과적인 행동을 학습할 수 있게 되었습니다.

image 24

이어서 저희는 이전에 이런 논의를 한 적이 있습니다. 결국 이 이 로봇이 복잡하고 예측 불가능한 환경에서 효과적으로 작동하게 하기 위해서는 주변 환경을 효과적으로 표현하고 추정하여 이를 로봇의 입력으로 하여야 합니다.

image 25

그 부분이 이 부분입니다. 고유 센서를 통한 현재 로봇 스스로의 body velocity 를 추정하고 Zt 라는 latent state 의 형태로 주변 환경을 표현하여 로봇이 주변 환경을 효과적으로 인지하게 합니다. 이 부분에 대해서 더 자세히 알아보겠습니다.

image 26

Context-Aided Estimator Network 를 자세히 살펴 보겠습니다. CENet는 로봇의 상태와 환경의 잠재적 표현을 함께 추정하고 학습하는 네트워크 구조입니다. CENet는 단일 인코더와 다중 헤드 디코더 구조로 구성됩니다. 인코더는 관측값을 로봇의 선형 속도 와 컨텍스트 벡터로 인코딩합니다. 이때 입력에 붙은 H 는 얼마동안의 시간동안 관측된 observation 시계열 데이터를 입력할 것이냐는 파라미터 입니다 본 논문에서는 H 는 5 라는 값을 사용하였습니다. 5step 동안의 observation 을 입력으로 하고 있고 , 특히variation auto encoder 아키텍처를 사용하고 있습니다. 이를 통해 효과적으로 Zt 라는 주변 환경에 대한 문맥 정보를 얻을 수 있었습니다. 손실 함수는 로봇의 선 속도에 대한 mse 와 valiation auto encoder loss 를 사용합니다. 그리고 policy 에는 이렇게 cenet 의 encoder 부분에서 나온 문맥 정보가 입력으로 들어가게 됩니다. 이 때 학습 초반에 학습하는 동안 발생할 수 있는 노이즈로 인한 actor 의 성능 저하를 방지 하기 위해 adaBoot 라고 하는 적응형 부트스트래핑 을 적용하기도 합니다.

image 27

지금 까지의 설명을 통해 temporal partial observations 이 context-aided estimator 에 들어가 로봇의 속도와 주변 지형에 대한 문맥 정보를 효과적으로 추정, 표현하고 거기에 로봇 고유의 센서만으로 이루어진 current obs 가 policy network 에 들어가는 것 그리고 시뮬레이션단에서 주변 환경에 대한 높이 지도, height map 과 로봇에게 가해지는 외란 힘을 value network 에 함께 포함하여 어떻게 가치를 평가하는지 이 모든 과정을 살펴 보았습니다.

image 28

이전에 설명한 저자가 제안하는 핵심 방법론 을 제외하고도 저자가 성능을 높이기 위해서 다른 검증된 방법론들을 사용하였는데요. 먼저 PPO 입니다. 논문에서는 우리는 PPO 를 사용했다라고 한줄만 적혀있는데요 그만큼 유명한 알고리즘입니다.

PPO의 핵심 아이디어는 정책을 조금씩 업데이트하는 것으로, 이를 통해 학습 중에 발생할 수 있는 큰 정책 변화로 인한 불안정성을 방지합니다는 것입니다. 이때 정책 업데이트를 제한하는 것을 clipping 이라는 방법으로 하는 것을 제안 하였습니다.

image 29

리워드는 크게 속도 추적 보상, 안정성 및 자세와 관련된 보상, 관절 및 동력 관련 보상이 있습니다. 논문에서 밝히기를 각각의 리워드와 weight 는 다른 연구들에서 가져왔고 특별히 reward tuning 을 진행하지는 않았다고 합니다. 하지만 예외로

image 30

이전 연구들에서는 일반적으로 모터 전력을 최소화 하기 위한 리워드를 포함합니다. 여기서는 joint power 보상일 것 같습니다. 하지만 이는 전체 전력을 최소화 하는 것이 목표기 때문에 각 모터의 전력 사용 균형은 고려하지 않습니다. 때문에 일부 모터가 빠르게 과열되는 문제가 발생합니다. 때분에 논문에서는 파워에 대한 분배 보상을 도입하였습니다.

image 31

추가적으로 저자는 로봇이 다양한 지형을 건너는 능력을 향상시키기 위해 커리큘럼 러닝을 사용합니다. 원래 인용한 논문에서는 5가지 유형으로 지형을 나누어 복잡한 보행 정책을 학습할 때 이 커리큘럼 러닝을 적용하는 것의 이점을 보였는데요

Dreamwaq, 이 논문에서는 매끄럽고 거칠고 불연속적이며 10단계의 경사를 가진 계단 지형에서 커리큘럼 러닝을 진행하였습니다. 첨부된 이 사진은 인용한 논문에서 가져온 이해를 돕기 위한 사진이고 dreamwaq 논문에서는 특별히 어떤 지형인지 사진을 첨부하지는 않았습니다.

image 32

DreamWaQ은 일관되게 다른 모든 방법들을 능가하는 것을 볼 수 있습니다. 가장 좋은 모습을 보여주는 회색은 oracle 이라고 하는 알고리즘인데 이는 dreamwaq 와 다르게 로봇이 주변 높이 정보를 직접적으로 취득하는 알고리즘으로 오히려 외부 인지 없이 걷는 DreamWaQ은 주변 지형의 높이 지도에 직접 접근하는 오라클 정책만큼 거의 잘 수행하는 것은 흥미로운 결과입니다.

이떄 결과 위에 있는 table2 의 각각의 파라미터는 시뮬레이션에서 real world 로의 적용을 위한 randomized parameter 입니다.

Real world 실험에서도. 외부힘에 대한 반응이나 30분동안에 random walk 에서 survival time 을 측정한 것에서  dreamwaq 가 가장 좋은 모습을 보여주었습니다

참고 링크


0 Comments

Leave a Reply