brunch

13. 로봇 데이터

데이터중심 AI강좌: 데이터세트 구축 및 효율적인 데이터 학습 방법

by AI개발자
gaebalai-blog_(2)_(1).jpg

2012년에 열린 이미지 분류대회 ILSVRC(ImageNet Large Large Scale Visual Recognition Challenge)에서 AlexNet이 압도적인 정확도로 우승한 이래, 딥러닝이 크게 주목받기 시작했습니다. 그 결과 정보학분야, 특히 인공지능, 머신러닝, 컴퓨터비전에서 데이터 수집과 그 활용이 큰 발전을 이루었습니다. 이후 2015년 ResNet, 2017년 Transformer가 발표되며, 딥러닝은 뛰어난 범용성 덕분에 자연어처리나 이미지 처리분야의 발전에 크게 기여해 왔습니다.


그리고 그러한 흐름이 점차 로봇분야에도 다가왔고, 데이터(경험)를 활용한 다양한 로봇 연구들이 발표되기 시작했습니다. 2003년 한국로봇학회가 발족되어 '로봇지능은 센서데이터에서 비롯된다'등의 키워드등을 통해 로보틱스에서 데이터 활용에 대한 논의가 진행되고 있습니다.


다만, 로봇에 관한 대규모 데이터 활용 연구는 2010년부터 본격화되었다고 보고 있으며, 2020년 이후는 K-Digital Platform, AI Hub, AI바우처사업등을 통해 로봇관련 데이터세트 수집 및 개방이 되면서 활발해졌습니다. 과거부터 인간의 동작 데이터를 이용해 로봇에 동작을 재현하게 하는 소량 데이터기반의 동작학습 연구가 이뤄져 왔지만, 이미지나 언어만큼 대규모로 데이터를 수집하고, 모델을 학습시키는 일은 이루어지지 않았습니다. 이는 로봇데이터를 이미지나 언어와 같은 방법론으로 다루려고 할 때, 로봇만의 특수한 어려움이 생기기 때문입니다.


우선 로봇은 여러가지 모달리티를 동시에 다뤄야 한다는 점입니다. 이미지, 언어, 음성처럼 단일 모달리티라면 웹이나 서적등을 통해 대규모 데이터수집이 비교적 용이합니다. 그러나 이들 모달리티가 결합된 형태인 로봇에서는 그렇게 되지 않습니다. 모델을 학습시키는 일은 이루어지지 않았습니다. 카메라, 마이크, 관절각도 등 다양한 모달리티 데이터를 동시에 수집해야 합니다.


다음으로 로봇은 센서배치나 몸체구조가 매우 다양하다는 점이 문제로 지적됩니다. 예로 카메라의 경우 가로세로 픽셀수에 따라, 마이크는 몇 채널인지, 어느정도 주파수로 음성을 수집하는지에 따라 데이터 구조가 정해집니다. 반면에 로봇에는 정해진 센서 구성이 없고 몸체 구조도 제각각이어서, 서로 다른 로봇에 동일하게 적용가능한 형태로 데이터구조를 규격화하는 일이 어렵습니다. 팔의 갯수나 다리를 쓸지 바퀴를 쓸지 같은 이동방식, 카메라의 위치, 설치방식등도 로봇마다 달라집니다. 심지어 동일한 팔이라도 관절배치나 링크길이, 링크 무게등이 로봇별로 달라져 통일하기가 쉽지 않습니다. 그 결과 어떤 로봇에서 수집한 데이터가 다른 로봇에서는 거의 쓸모없게 되는 상황이 자주 발생합니다.


또한 로봇은 센서로 관측만 하는 것이 아니라, 환경에 작용을 가하는 에이전트입니다. 단지 센서값을 수집하는 것만으는 안되고, 뭔가 의미있는 동작을 수행하여 그 결과로써 관측을 얻어야 합니다. 즉, 이미지 및 언어, 음성처럼 웹이나 책에서 데이터를 모으는게 아니라, 각각의 로봇에 동작을 직접 시킨뒤 그 과정에서 생성되는 시계열 데이터를 수집해야 하므로, 이미지, 음성, 언어와 비교했을 때 방대한 시간이 필요합니다. 이런 문제들 때문에, 자연어처리나 컴퓨터비전에서 해왔듯이 통일된 구조를 정하고 대량의 데이터를 모아 주석(어노테이션)한 뒤 학습하는 방법론을 로봇분야에서 직접 적용하기 어려웠습니다.


그런데 2022년 12월에 Google이 발표한 RT-1(Robotics Transformer-1), 2023년 7월 발표된 RT-2, 2023년 10월 발표된 RT-X와 같은 일련의 연구 프로젝트는 이런 상식들을 뒤집고 방대한 데이터를 모으고 그 데이터를 모두 흡수할 정도의 대규모모델을 구축해, 로봇에서 언어기반 행동학습을 시도하는 길을 가고 있습니다. 그리고 이는 놀라운 범용성을 지녀, 미지의 태스크나 환경변화, 심지어 로봇몸체 차이에도 대응할 수 있게 발전하고 있습니다.


이번에는 로봇이라는 분야에서 대규모 데이터 수집을 하고, 그 데이터를 학습형태로 로봇 동작에 반영하는 방법을 RT-1, RT-2, RT-X를 중심으로 설명합니다. 특히 RT-X에 대해서 자세히 다룹니다. 이 프로젝트는 21개 연구기관, 173명의 저자가 참여하고, 22종 롭봇으로 527가지 스킬, 160,266개 태스크에 관한 데이터를 모은뒤, 이를 바탕으로 모델을 학습시킨 초대형 논문을 발표했습니다.


이번 강좌에서는 어떤 로봇의 데이터가 어떻게 수집되고, 어떤 모델 아키텍처를 이용해 학습되었는지 설명하겠습니다. 이 로봇기반모델(Robot Foundation Model)로서 이미지나 언어를 입력으로 받아 행동을 출력하는 모방학습 방식을 중심으로 설명합니다. 다만, 이 글을 쓰는 시점까지도 아직 발전과정에 있어 모든 문제가 해결되었다고 보기는 어렵습니다.



(1) RT 시리즈

① RT-1

이미지나 언어를 다루는 기반모델(Foundation Model)이 활발히 개발되고 있는 한편, 로봇분야에서 기반 모델을 개발하려는 시도는 2022년 되어서도 거의 찾아보기 어려웠습니다. 그런 중 2022년 12월 14일 구글 연구자들이 갑작스럽게 발표한 것이 RT-1(Robotics Transformer-1), 즉, 로봇기반모델(Robotics Foundation Model)에 대한 접근이었습니다. 아래 그림을 보면 로봇이 언어로 된 지시(Instruction)를 받고, 현재 관측한 이미지를 토대로 그 지시에 맞춰 동작하는 '정책(policy)'를 학습하는 방식입니다.


dataai-027.png RT-1개요로 언어지시와 이미지열을 입력으로 하고 로봇행동을 출력 (Brohan et al, 인용)

RT-1 특징은 아래와 같습니다.

로봇: EDR (Google)

모달리티: 이미지, 자연어, 로봇동작(손끝위치, 회전변화량, 그리퍼개폐, 주행부(바퀴) 속도/각속도, 손끝제어, 주행부제어, 종료 여부를 결정하는 모드 변환 변수)

동작환경: 다양한 주방환경

데이터: EDR 13대를 17개월 동안 운용하여 수집한 700개 태스크, 130,000개 에피소드

모델: Trnasformer + FiLM conditioning

성능: 높은 데이터 흡수력(data absorption)과 범용성(generalization)을 바탕으로 기존 베이스라인 기법을 크게 능가함


▣ 로봇

아래 그림의 (d)에 제시된 EDR롭봇은 7자유도(DoF) 암(arm)과 2지핸드, 2륜 주행부, RGB카메라를 탑재하고 있습니다. 카메라에서는 640x512해상도의 RGB이미지를 얻을 수 있습니다. 로봇 자체에는 특별한 점은 없지만, RT-1과 그 다음에 이어지는 RT-2에서는 이 EDR에서 얻은 데이터만을 사용하여 학습을 진행합니다. 참고로 이 로봇은 Google에서만 사용가능한 로봇이므로 다른 기관 연구자는 사용할 수 없습니다.


dataai-028.png RT-1 사용한 로봇 EDR 및 동작환경 (a)대규모데이터수집을 위한 트레이닝환경, (b)/(c)는 실제 주방환경, (d) 로봇EDR, (e)거의 모든 스킬에 사용되는 대상물체,

▣ 모달리티

해상도를 300x300까지 낮춘 연속된 6장의 카메라 이미지와 예를 들어, "open the top drawer"나 "pick iced tea can"처럼 자연어로 된 지시가 모델에 입력됩니다. 그리고 로봇 동작(Action)으로는 손끝의 위치 이동량(3차원), 회전이동량(3차원), 그리퍼의 개폐(1차원), 주행부(바퀴)의 평면 속도 및 각속도(3차원), 그리고 손끝 제어, 주행부 제어, 종료등 3가지를 전환하는 모드전환변수(1차원)를 네트워크가 출력합니다.

일반적으로 로봇에는 관절이나 바퀴마다 액추에이터가 배치되어 있어, 관절각도나 바퀴 속도를 직접 동작으로 삼을 수 있습니다. 반면에 손끝속도와 각속도, 주행부속도와 각속도를 결과물로 삼으면 동작차원을 줄이거나 보가 직관적인 방식으로 동작을 구성할 수 있게 됩니다.


▣ 동작환경

위 그림 (a) - (c)에 제시된 주방일부를 재현한 연습용환경(a)과 실제 사무실주방 두곳(b, c)이 사용됩니다. 전자는 실제 사무실 주방의 일부 카운터를 구성요소로 하여 대규모 데이터수집 용도로 마련되었습니다. 후자는 연습용 환경과 유사한 카운터를 갖고 있지만, 조명, 배경, 전체기하구조(캐비넷 유무, 싱크가 보이는지 등)가 달라집니다.


▣ 데이터

각 로봇은 에피소드 시작시, 자율적으로 스테이션으로 복귀하여 로봇을 조작하는 오퍼레이터에게 이 롭봇이 수행해야 할 작업(태스크)에 대한 언어지시를 전달합니다. 이 지시에는 보통 스킬을 나타내는 동사(예: pick, open, place, upright)와 하나 이상의 목표 객체(object)에 관한 명사("coke on", "apple", "drawer")가 포함됩니다.

여기서는 균형잡힌 데이터세트를 확보하기 위해 배경(scene)구성도 무작위화합니다. 즉, 각 로봇이 오퍼레이터들에게 케이스무작위화방법과 로봇이 시연해야 할 태스크의 언어지시를 전달합니다. 시연(데모)은 오퍼레이터와 로봇 간 시야가 직접 공유되는 상태에서 컨트롤러를 이용해 수집됩ㅂ니다. 오퍼레이터가 컨트롤러를 움직이면 그에 따라 로봇의 위치 및 자세가 변한다고 보면 됩니다. 각 에피소드에는 로봇이 실행한 언어지시와 동작궤적, 관측정ㅂ조가 기록됩니다. 이 과정을 통해 EDR 13대를 17개월간 운용하여, 700개의 태스크와 130,000개 에피소드를 모으고 이를 학습에 활용했습니다.


▣ 모델

아래 그림은 RT-1모델 아키텍처를 나타냅니다. 이미지 인식이나 자연어 처리분야의 전형적인 구조에서 크게 벗어나진 않지만, 입출력 모달리티에 대한 몇 가지 개선점이 눈에 뜁니다.


dataai-029.png RT-1상세모델 아키텍처, 사전학습된 EfficientNet의 중간 특징량을 UniversalSentence Encoder에 의해 얻어진 언어입력과 FiLM(Feature-wise

연속된 6개의 이미지 시퀀스를 토큰화하기 위해 ImageNet으로 사전학습된 EfficientNet-B3 모델을 통해 마지막 합성곱계층에서 9x9x512공간특성 맵(위 그림 Vision-Language Tokens)을 출력합니다. 여기서 사전학습된 Universal Sentence Encoder로부터 얻은 언어 임베딩을 조건(Condition)으로 주어, 자연어 지시에 의존적인 특성을 가지도록 만듭니다. 구체적으로 이 언어 임베딩은 사전학습된 EfficientNet-B3에 추가된 identity-initialized FiLM 레이어의 입력으로 사용됩니다. FiLM(Feature-wise Linear Modulation)레이어는 언어특징에 기반해 이미지 특징을 어파인 변환(Affine Transformation)하는 레이어입니다. 일반적으로 사전학습된 네트워크 냅부에 FILM레이어를 삽입하면 네트워크가 무너져 사전학습 가중치를 활용하는 이점을 잃게 될 우려가 있습니다. 이에 FiLM레이어가 생성하는 어파인 변환의 가중치를 '제로(0)'로 초기화해서 처음에는 항등변환(Identity Trnaform)을 수행하도록 설계함으로써 사전학습된 가중치가 가진 기능을 유지할 수 있게 한 것입니다.


이 FiLM EfficientNet-B3는 26레이어의 MBConv(Mobile Inverted Bottleneck Convolution)블록과 FiLM레이어를 포함해, 총 16M(1600만)개의 파리미터를 가지며, 최종적으로 81개의 시각-언어토큰을 출력합니다. 이후 추론속도를 높이기 위해 토큰수를 줄여 연산량을 절감하는 TokenLearner기법을 이용해 토큰수를 최대 8개까지 압축합니다. 이렇게 각 이미지마다 생성된 8개의 토큰을 모두 이어 붙여 최종 48개 토큰을 RT-1의 Transformer로 전달합니다. 이 Transformer는 8레이어의 Self-Attention구조로 이뤄진 디코더(Deoder)이며, 총 19M(1900만)개의 파라미터를 가집니다. 그 결과 액선 토큰을 출력하게 되는데, RT-1에서는 각 액션차원을 256개 빈(bin)으로 이산화(Discrete)해 토큰화했습니다. 이 모델은 통상적인 다중 분류 (Multi-Class)교차 엔트로피를 손실로 사용해 학습됩니다.


▣ 성능

RT-1을 기존 베이스라인 방식인 Gato, BC-Z와 비교한 결과를 아래 그림에 나타납니다. Gato역시 RT-1과 유사한 Transformer구조를 채택했지만, 사전학습된 언어임베딩이 사용되지 않았고, RT-1처럼 초기 단계에서 이미지 정보와 언어정보를 융합(fusion)하지 않는 등 세부구조가 크게 다릅니다.

BC-Z는 ResNet계열 아키텍처를 활용합니다. 여기서 사용하는 데이터세트는 RT-1에서 수집한 데이터이며, 베이스라인 기법과 RT-1의 차이는 모델 아키텍처뿐이라는 점이 주목할만합니다. 원래 Gato는 블록을 쌓는 태스크용 데이터를, BC-Z는 100가지 조작(Manipulation) 태스크 데이터를 활용해왔습니다. 반면에 RT-1은 훨씬 더 방대한 양과 다양한 태스크를 다루는 데이터세트를 구성했습니다.


dataai-030.png T-1기준 기술 성능 비교 (Brohan et al 인용)

그래프를 보면 RT-1은 200개 이상의 언어지시에 대해 이미 본 태스크라면 성공률 97%라는 높은 정확도로 작업을 수행하는 것이 확인되었습니다. 이는 BC-Z보다 20%p, Gato보다 32%p 높은 수준입니다. 또한 데이터세트에 포함되지 않은 언어지시에 대해서도 76%의 성공률을 달성해 차점 베이스라인 대비 24%p높은 결과를 보였습니다. 위 결과를 통해 RT-1아키텍처가 높은 데이터 흡수력과 범용성을 갖추고 있음을 알 수 있습니다.



② RT-2

RT-2는 RT-1의 후속모델로 개발되었습니다. 사실 여기서 사용하는 로봇, 모달리티, 동작환경, 데이터는 RT-1과 크게 다르지 않습니다. 그러나, 모델 아키텍처는 크게 달라졌습니다. RT-2의 핵심포인트는 아래 그림처럼 지금까지 개발되어 온 대규모 시각-언어모델의 장점을 최대한 누리고자 한다는 것입니다. RT-1처럼 실제 로봇에서 얻은 이미지, 언어지시, 액션 데이터만 쓰는 것이 아나리, 시각-언어모델 분야에서 다루는 Visual Question Answering이나 Image Captioning같은 태스크의 데이터도 동시에 활용해 네트워크를 학습시킵니다. 이 시각-언어모델에 자연어 토큰을 다루는 방식과 유사하게 로봇 액션을 토큰으로 표현해 출력하도록 만든 형태입니다. 이 구조는 VLA(Vision-Language-Action Model)이라 불리며, 그 중 하나의 예시로 RT-2가 개발된 것입니다. 또한, RT-1과 다른 점이 또하나 있다면, RT-2는 매니풀레이션(물건조작) 태스크에만 초점을 맞추었다는 점입니다. 그 결과, 모드 전환 차원은 "팔을 움직일 것인가, 종료할 것인가"하는 이진값(binary)으로 줄었고, 이 외의 액션은 손끝(End-Effector)의 위치 및 자세변위와 그리퍼의 개폐뿐이어서 주행부(바퀴)의 위치, 자세 변위는 액션에 포함되지 않습니다.


▣ 모델

RT-2는 기본 시각-언어 모델로 PaLI-X, PaLM-E를 활용합니다. 그리고 이들을 기반으로 학습한 Vision-Language-Action모델을 각각 RT-2-PaLI-X, RT-2-PaLM-E라 부릅니다. 모델 아키텍처는 일반적인 시각-언어모델과 유사한 구조라고 보아도 무방합니다.


다음으로 액션 공간을 살폅보면, 방금 언급했듯이 로봇엔드 이팩터(end-effector)의 위치 및 회전변위(총 6차원), 그리퍼 개폐(1차원), 그리고 에피소드를 종료할지 여부를 표시하는 이진값(binary) 변수 (1차원)가 있습니다. 에피소드종료변수 외의 값들은 균등하게 256개 빈(bin)으로 이산화했으며 그 결과 로봇 액션은 총 8차원 정수값으로 표현됩니다. 이 값들은 각 시각-언어 모델별로 고유한 방식으로 토큰화됩니다. 예를 들어, PaLM-E의 경우, 거의 쓰지 않는 256개의 토큰을 찾아 닾어쓰는(overwrite) 간단한 방식으로 대응하고 있습니다.


dataai-031.png RT-2개요, 대규모 시각-언어모델을 기반으로 한 모델 아키텍처를 가지고 있으며, 로봇데이터뿐만 아니라 VQA(Visual Question Answering)에 관한 데이터도 동시

이렇게 정의한 액션 표현을 사용해 로봇궤적(trajectory)데이터를 시각-언어 모델 파인튜닝에 적합한 형식으로 바꾸니다. 즉, 로봇의 카메라 이미지와 텍스트 형식의 태스크 설명(Q: what action should the robot take to [task instruction]? A:)을 입력받아, 적절한 로봇액션 토큰열을 출력하는 형태가 됩니다.

학습방식에서 RT-2가 중요한 점은 인터넷 규모의 대량 시각-언어 태스크 데이터와 로봇궤적 데이터를 동시에 사용해 모델을 학습시킨다는 것입니다. 이렇게 함으로써 모델이 시각-언어 태스크로부터 얻은 추상적 개념과 저수준(low-level0의 로봇액션 데이터를 동시에 학습해, 보다 범용적인 정책(policy)를 얻을 수 있습니다. 이때 인터넷 규모 데이터와 로봇데이터 간의 균형을 맞추기 위해 로봇데이터에서 샘플을 뽑는 비율을 높였습니다.


참고로 RT-2와 일반적인 대규모 시각-언어모델 사이의 중요한 차이점은 RT-2는 실제 로봇에서 실행가능한 유효액션 토큰을 출력해야 한다는 점입니다. 따라서 디코딩 단계에서 RT-2가 유효한 액션토큰만 내보내도록 액션을 출력할 때 출력 어휘집(vocabulary)에 제약을 걸어둡니다. 한편 통상적인 시각-언어 태스크에서는 자연어 토큰 전체 범위를 자유롭게 출력합니다.


▣ 성능

아래 그림은 RT-2와 기존 베이스라인 기법인 R3M, VC-1, RT-1, MOO를 비교한 결과를 보여줍니다. R3M과 VC-1은 이미지 표현학습모델이며, 이를 RT-1 아키텍처에 적용한 방식입니다. MOO는 대규모 시각-언어모델을 사용해 시맨틱맵(semantic map)을 얻고, 이를 RT-1이키텍처와 접목한 기법입니다. 이들은 모두 동일한 데이터세트로 학습을 진행했습니다.


dataai-032.png RT-2와 기준선 기술의 성능비교 (Zitkovich 논문 인용)

그래프에서 볼수 있듯이, 이미 본 태스크에 대해서는 RT-1과 RT-2간 성능 차이가 크게 나지 않습니다. 반면에 새로운 물체나 배경, 환경에서는 RT-2가 베이스라인들을 크게 앞지릅니다. 경향은 새로운 태스크에 대한 성능은 RT-2가 R3M-VC-1대비 6배, RT-1-MOO대비 2배가량 높게 나타났습니다. 이는 RT-2가 사각-언어모델 아키텍처와 인터넷 규모의 시각-언어 태스크 데이터를 활용함으로써 한번도 본적없는 상황에서도 높은 범용성을 발휘함을 시사합니다.



③ RT-X

RT-1이나 RT-2는 동일한 환경에서 동일한 로봇이 동작하며 수집한 데이터를 통해 정책(policy)을 학습시켰습니다. 한편, 언어-시각분야의 모델에서는 다양한 태스크에 대한 방대한 데이터를 통해 학습된 사전학습모델이 여러개별 태스크를 학습하는 출발점(백본)으로 널리 활용되고 있습니다. "로봇분야에서도 이런 일이 가능할까?"라는 문제의식에서 시작된 것이 바로 RT-X프로젝트입니다. 즉, 다양한 환경에서 여러 종류의 로봇이 동작해 얻은 데이터를 사용해 정책을 학습한다면, 다양한 로봇 동작의 백본이 될만한 사전학습 로봇ㅅ모델을 구축할 수 있지 않을까라는 시도인 것입니다. 아래 그림에서 보듯이 여러가지 환경 및 로봇이 필요하기 때문에 이 프로젝트는 대규모로 진행되었고, 전세계 21개 연구기관이 협력해, 22종의 서로 다른 로봇에서 527개의 스킬(160,266개 태스크)을 수집하여 RT-X학습에 활용했습니다.


자세히 보면, RT-1이나 RT-2와 비교해 모델과 모달리티는 크게 바뀌지 않았습니다. 모델은 아래 두번째 사진에서 보듯이, RT-1, RT-2에서 개발된 것들을 그대로 이용합니다. 그래서 RT-X 데이터세트로 학습한 RT-1모델을 RT-1-X, RT-2ahepfdmf RT-2-X라고 부릅니다. 모달리티 역시 RT-2와 마찬가지로 주행부(바퀴)동작은 제외하고, 매니풀레이터 동작만 학습합니다. 다만, RT-X데이터세트 전부가 곧받로 RT-1-X, RT-2-X학습에 쓰인 것은 아니며, 바퀴형-다리형 로봇을 포함한 다양한 로봇데이터가 포괄되어 있어, 앞으로의 활용이 기대됩니다.


dataai-033.png RT-X 프로젝트 개요 22종 신체성, 527스킬, 60데이터세트포함한 로봇기반 모델용 데이터세트 구축 (Open X-Embodiment Collaboration 논문인용)
dataai-034 (1).png RT-X모델아키텍처, 다양한 로봇데이터세트를 이용하여 학습 (Open X-Embodiment Collaboration 논문 인용)

RT-1, RT-2와 가장 크게 달라진 부분은 동작환경, 로봇, 데이터입니다. 아래 그림은 RT-X 데이터세트를 어떻게 분류해 놓았는지 보여줍니다. 구체적인 데이터세트 내용은 나중에 다루겠지만, Panda(Franka Emika), xArm(UFactory), Sawyer(Rethink Robotics)등을 비롯한 다채로운 로봇데이터가 수집되었습니다. 또한, picking, moving, pushing등 다양한 스킬, 가구/식재료/전자기기등 여러 종류의 물체를 다루는 데이터도 포함되어 있습니다. 참고로 RT-X 데이터세트는 하나의 완별된 데이터세트라기보다, 지금까지 축적된 여러 데이터세트를 공통 포멧으로 변환해 활용을 촉진하려는 목적이 있습니다. 물론 RT-X용으로 새롭게 수집된 데이터도 많이 포함되어 있지만, RT-X의 데이터세트 자체는 이미 수집된 것들도 포함하는 여러 데이터세트의 집합임을 주의해야 합니다.


dataai-035.png RT-X데이터분석


dataai-036.png RT-1-X와 기준선 기술 성능비교 (Open X-Embodiment Collaboration논문인용)

▣ 성능

위 그림은 RT-X, 특히 여기서 다루는 RT-1-X와 각 태스크 전용으로 구축된 데이터세트를 활용해 별도로 모델을 만든 경우의 성능을 비교한 결과입니다. 5개 태스크 중 4가지에서 RT-1-X가 가장 높은 성능을 보였습니다. 이는 바로 하나의 로봇에서만 모은 태스크 데이터가 아니라, 여러 로봇에서 얻은 다양한 데이터를 동시학습함으로써 성능을 높일 수 있다는 사실을 시사합니다. 또한, RT-1-X, RT-2-X가 여러 로봇의 데이터를 흡수할 만큼 충분한 역량을 갖추고 있습니다.



④ 그외의 연구

지금까지 RT-1, RT-2, RT-X 가 로봇기반모델(Robotics Foundation Model)의 흐름을 주도해왔으며, 이들에서 파생된 형태로 로봇기반 모델을 개발하는 연구가 활발히 진행되고있습니다. 이번에는 RT-Trajectory, RT-Sketch, Octo 3가지를 소개합니다.


▣ RT-Trajectory

RT-Trajectory는 RT-1에서 파생된 모델로 RT-1, RT-2, RT-X처럼 언어지시로 직접 로봇행동을 유도하는 대신, '카메라에서 본 2차눤 평면상의 손끝 궤적(트래젝터리)'을 지시 입력으로 활용합니다. 언어지시로 태스크를 수행하는 모델의 경우, 예를 들어, 물체를 집어옮기는 (Pick-and-Place)작업을 학습했다고 해서, 폴딩(Folding)같은 전혀 다른 종류의 조작에 바로 범용화되는 것은 아닙니다. 반면에 손끝 궤적을 입력으로 쓰면 이러한 상황에서도 어느 정도 범용성이 확보될 수 있지 않을까하는 것이 이 연구의 핵심아이디어입니다.

RT-1모델에서 언어지시를 제거하고, 시간에 따른 카메라 이미지와 함께 2D 손끝 궤적명령을 입력으로 하는 모델을 구성합니다. 학습시에는 카메라 시점에서 본 2차원 평면 상의 손끝궤적을 스케치해서 모델에 입력하거나, 사람이 실제로 태스크를 수행한 비디오에서 손끝 위치 변화를 추출하거나 혹은 LLM이나 시각-언어모델을 사용해 선분(Line Segment)형태로 손끝 궤적을 그려낼수도 있습니다. 이 정보를 기반으로 로봇이 태스크를 수행하게 됩니다.


dataai-037.png RT-Trajectory 모델 아키텍처, RT-1아키텍처에서 언어지시 대신 손끝궤도 지시 (Gu 논문 인용)

▣ RT-Sketch

RT-Sketch 역시 RT-1에서 언어지시를 제거한 대신, '러프스케치(Rough Sketch)'가 태스크 지시로 주어집니다. 언어지시(Instruction)는 모호성이 크고, 원본 이미지를 최종 상태로 직접 지시하는 방식을 불필요한 제약(Constraint)이 될 수 있습니다. 예로 '사과를 책상위에 놓아줘'라는 지시는 '책상 중 어디에 놓아야 하는지' 정보를 담지 않으며, 반대로 '사과가 책상 위에 놓인 상태'를 하나의 이미지로 제시하면, 특정한 책상과 사과에만 구속되어 버립니다.

그래서 연구에서는 러프스케치를 태스크 지시로 삼아, 모호성을 해소하면서도 다양한 태스크를 해결할 수 있도록 시도했습니다. 실제 구현에서는 RT-Trajectory와 비슷하게 RT-1모델에서 언어지시부분을 빼고, 그 대신 스케치가 들어오면 이를 태스크 지시로 삼아 로봇이 동작하도록 했습니다.

학습과정에서는 GAN(Generative Adversarial Network)을 사용해 이미지를 스케치풍(Line Art)으로 바꿔주는 네트워크를 사전에 학습시켜둡니다. 그 뒤 데이터세트의 이미지를 GAN으로 변환해 스케치 형태로 만들고, 선(Line)의 굵기 및 색상을 바꾸거나 어파인(Affine)변환을 적용해 데이터증강(Data Augmentation)을 진행함으로써 모델을 학습시킵니다. 추론시 사람이 원하는 목표상태를 스케치로 그려 모델에 입력하며, 로봇이 그에 맞춰 동작하게 됩니다.


dataai-038.png RT-Sketch 모델 아키텍처 (Sundaresan 논문 인용)

▣ Octo

Octo에는 "Robotics Transformer(RT)"라는 이름이 붙어 있지 않고, 모델 아키텍처도 Transformer외에 Diffusion Policy가 추가도입되어 있습니다. 논문이 "Octo: An Open-Source Generalist Robot Policy"인것에서 알수 있듯이, 모든 것을 오픈소스로 개발하고 있다는 점이 특징입니다.

2024년말 기준 RT-1은 모델만 공개되어 있고, 학습 및 파인튜닝 코드는 비공개이며, RT-2는 모델도 공개가 안되어 있습니다. 따라서 로봇기반모델을 만들려면 Octo와 같은 오픈소스 모델이 중요합니다.

Octo모델 아키텍처는 아래 그림과 같습니다. (1)토크나이저(Tokenizer), (2)Transformer, (3) ReadOut의 3가지 요소핵심을 이룹니다.


(1) Transformer: 우선 태스크지시(예: 언어, 목표이미지)와 관측정보(예; 손끝카메라, 고정카메라)를 공통형식으로 토큰화합니다. 이때 언어지시에는 사전학습된 Transformer인 T5를 이용합니다. 이미지를 얕은(Shallow)합성곱 신경망(CNN)을 통과시킨 뒤, 패치(Patch)로 나누어 토큰화합니다.

(2) Transformer: 블록단위 Attention 기법을 적용하고, 존재하지 않는 지시나 관측은 완전히 마스킹합니다. 덕분에 언어지시가 없는 데이터세트도 그대로 활용할 수 있으며, 파인튜닝시 센서나 태스크 지시를 마음대로 뺴거나 넣을 수 있습니다.

(3) Readout: Diffusion 모델을 동작 궤적 추정(trajectory estimation)에 적용한 diffusion Policy를 채택해 여러 단계에 걸친 액션을 동시에 출력합니다.


이 모델은 RT-X프로젝트로 구축된 데이터세트 중 일부 총 80만 에피소드를 사용해 학습되었습니다.


dataai-039.png Octo 모델 아키텍ㅊ터 (언어나 이미지를 공통형식으로 토큰화, 블록별로 어탠션도구를 포함한 트랜스포머를 통과해 Diffusion Policy에 의한 액션이 출력됨 (Octo Mo


(2) 다양한 로봇

어떤 로봇들이 있는지 알지 못한 상태로 로봇 데이터수집이나 동작학습을 논하는 것은 불가능합니다. 이번에는 지금까지 개발되어 온 다양한 로봇을 분류하고 그 로봇들에는 어떤 센서들이 내장되어 있으며 어떻게 제어하는지 살펴봅시다. 언어처리, 이미지처리와 달리 로봇에서는 여러가지 모달리티를 동시에 다루어야 한다는 어려움이 있음을 이해해봅시다.


로봇을 분류하는 방법에는 여러가지가 있지만, 여기서는 우선 팔(Arm)의 갯수에 다라 단팔인지 양팔인지로 분류하겠습니다. 그 다음 하체(이동부) 구조에 따라 주행부(바퀴)인지 다리(보행)인지로 분류를 시도해 봅시다. 이를 매트릭스 형태로 표현할 수 있으며, 바퀴형 단팔, 다리형단팔, 바퀴형 양팔, 쌍팔에 이족보행까지 갖춘 휴머노이드 로봇 그리고 환경에 고정된 단팔, 쌍팔, 팔이 없는 바퀴형 다리형 로봇도 존재합니다.


① 단팔 로봇

한개의 팔만 달린 단팔로봇은 가장 흔한 구조로 산업용부터 연구용까지 폭럽게 보급되어 있습니다. 몇가지 예시 로봇을 아래 그림과 같이 제시합니다. 우선 RT-X데이터에 포함된 로봇만 살펴봐도 단팔로봇이 얼마나 다양한지 알 수 있습니다.

RT-X에서 사용하는 로봇은 총 22종인데 그중 단팔 로봇은 아래와 같이 13종입니다.


Panda(Franka Emika)

xArm (UFactory)

Sawyer (Rethink Robotics)

EDR (Google)

LBR iiwa (KUKA)

UR5 (Universal Robots)

WindowX 250 (Trossen Robotics)

Stretch (Hello Robot)

SARA (DLR)

COBOTTA (DENSO WAVE)

EDAN (DLR)

Kinova Gen3 (Kinova)

Mate (Func)


이 가운데 EDR, Stretch, EDAN은 주행부(바퀴)를 갖춘 단팔 로봇입니다. RT-X에서 사용되지 않았지만, 다리형 로봇인 Spot(Boston Dynamic), A1(Unitree Robotics), ANTmal(ANYbortics)등에 단팔이 내장된 사례도 있습니다. 이를 다리형 단팔 로봇이라고 볼 수 있습니다.


dataai-040.png

많은 단팔 로봇을 예시로 들었지만, 이 로봇들에 공통적으로 적용되는 점을 간단히 요약하면 각 팔(Arm)에 모터와 기어가 탑재되어 있고, 이를 통해 각각의 관절이 구동된다는 것입니다. 또한, 대부분 RGB색상 정보를 얻을 수 있는 카메라센서를 탑재하며 최근에는 깊이(Depth)를 측정할 수 있는 센서가 함꼐 장착되는 경우도 많습니다. 반면에 그 외 요소는 모두 로봇마다 다르다고 해도 과언이 아닙니다.


앞서 '각 팔에 모터와 기어가 들어있다'고 했지만, 모터에서 관절까지의 '구동계(Actuation 방식)'는 제각각입니다. 예를 들어, Panda같은 일반적 로봇은 모터와 기어로 관절이 회전구동되지만, Stretch는 일부관절이 회전축을 중심으로 움직이고 일부는 선형(Linear)방향으로 움직입니다. 또한, Sawyer는 'Series Elastic Actuator'라 불리는 모터와 링크 사이에 스프링(용수철)을 둔 구조로 좀더 유연한 동작을 구현합니다. 현재 RT-X를 비롯한 관련 프로젝트에서 사용하는 로봇 대부분은 모터구동이지만 공압(Pneumatic)이나 유압(Hydraulic)등 구동방법을 이밖에도 다양합니다.


구동방식만 다른게 아니라, 각 로봇마다 관절배치나 링크길이도 모두 제각각입니다. 언어에서 단어배치와 롭봇에서 관절배치를 같은 선상에 놓고 생각해 보자면, 각 나라언어의 차이가 곧 각 로봇의 차이에 해당합니다. 영어처럼 전세계 사용자가 15억명에 달하는 언어도 있지만, 예를 들어, Panda라는 하나의 로봇은 그 수가 상대적으로 훨씬 적어 데이터가 충분히 모이지 않는 일도 어렵ㅂ지 않게 상상할 수 있습니다.


이뿐만 아니라 같은 로봇이라고 해도 세부사항은 사용자마다 크게 달라질 수 있습니다. 예를 들어, Panda는 단팔 로봇형태로 판매될 뿐이고, 카메라는 사용작 임의로 부착하는 방식입니다. 즉, 어떤 카메라를 어디에 달지도 전적으로 사용자의 결정입니다. 사용자는 경우에 따라 스피커나 마이크, 3D LiDAR나 적외선 센서등을 추가로 장착할수도 있습니다. 한마디로 말해, 한나라 안에서도 사투리가 조금씩 다른 것처럼, 로봇 연구 기관마다 고유방언을 쓰는 상황이고 ,대개 그 방언은 그 연구 기관 내부에서만 통용되는 설정입니다.


로봇의 몸체 구조나 센서 배치뿐만 아니라, 내부제어ㅏㅇ식 역시 로봇마다 다릅니다. 로봇제어에서 흔히 말하는 위치 제어, 속도제어, 토크제어등은 각각 관절위치, 관절속도, 관절토크를 목표값에 가깝게 유지하도록 제어한다는 의미입니다. 어떤 로봇에는 토크센서가 없어서 위치제어만 가능하고 토크제어는 불가능한 형태입니다. 반면에 두 제어 모두 지원하는 로봇도 있습니다. 이처럼 제어방식마다 장단점이 다르므로 태스크에 따라 적절히 제어기를 설계해야 합니다. 그리고 이 제어가 달라지면 로봇거동도 크게 달라집니다. 즉, 통일된 데이터를 얻으려면 같은 로봇에 동일한 센서배치, 그리고 내부 제어방식 및 파라미터까지도 동일하게 맞춰야만 합니다.


그렇다면 이렇게 다양한 단팔로봇에서 모방학습형 기반 모델을 학습할 때, 네트워크 출력 로봇으로 보낼 제어입력(명령값)은 무엇으로 설정하는 것이 좋을까요? RT시리즈는 여기에 하나의 답을 제시합니다. 답은 손끝(End-Effector)속도입니다. 먼저 위치같은 절대값이 아니라 속도를 쓰는데, 절대적 좌표계에서 원점을 어떻게 정의하느냐에 따라 제어입력이 크게 달라질 수 있기 때문입니다. 그리고 관절속도가 아닌 손끝속도를 사용합니다. 관절과 링크의 구조 및 길이는 로봇마다 다르지만, 물체를 다루는(Manipulate)주체는 결국 손끝(End-Effector)이기 때문입니다. 이처럼 손끝(End-Effector)명령값을 사용함으로써 서로 다른 로봇사이의 차이를 어느정도 흡수할 수 있게 됩니다.


다만 문제점도 적지 않습니다. 예를 들어 손끝 속도를 지시해도, 해당 속도를 달성할 수 있는 관절 속도가 ㅅ실제로 존재하지 않을 수도 있습니다. 또한 로봇마다 제어성능이 다라드는 점도 고려되지 않았습니다. 동시에 카메라 위치나 센서종류와 같은 문제도 해결되지 않은 상태입니다. 물론 단 하나의 로봇으로만 학습한다면, 관절각이나 손끝 위치를 그대로 써도 문제가 없을 것입니다.


마지막으로 '그리퍼(Gripper)'에 대해서도 언급하겠습니다. 마니풀레이터가 다양하듯, 장착된 그리퍼도 종류가 무척 다양합니다. 일반적으로는 2개 손가락을 플랫하게 움직이는 2지 평행그리퍼가 흔하지만, 3지, 4지 그리퍼나 인간의 손처럼 5지핸드나 봉같은 형태 저밍(Jamming) 그리퍼등 그형태가 천차만별입니다. 즉, 마니풀레이터와 그리퍼의 조합을 통해 수없이 많은 형태의 로봇이 존재한다고 보시면 됩니다.



② 쌍팔 로봇

아래 그림은 몇가지 쌍팔 로봇 예시입니다. RT-X에서 사용된 쌍팔 로봇에는 PR2(Willow Garage), xArm Bimanual, Baxter(Rethink Robotics)가 있습니다. PR2는 바퀴형(주행부) 쌍팔로봇, 이외에도 Justin(DLR)이나 Mobile ALOHA같은 유사한 구성의 로봇이 존재합니다. xArm Bimanual은 시판중인 xArm을 2대 나란히 설치한 형태이며 Baxter는 애초부터 쌍팔로봇으로 판매되는 모델입니다.


더 나아가 ASIMO(Honda), HRP-2같은 휴먼노이드 로봇 CENTAURO처럼 4족에 쌍팔을 합친 형태등 쌍팔 로봇 몸체구조는 무척 다양합니다. 인간에게 팔이 한쪽이 아니라 두쪽인 것처럼, 쌍팔구조에는 상당한 의미가 있습니다. 먼저 수행할 수 있는 태스크가 대폭 늘어납니다. 단팔 로봇으로는 물체를 집어옮기거나 (Pick-and-Place) 걸레질, 수건을 간단히 두번 접는 정도가 한계이지만, 쌍팔로봇은 인간이할 수 있는 거의 모든 동작을 재현할 수 있습니다. 사람이 쌍팔로봇을 조작하면 티셔츠접기, 침대정리, 끈묶기, 물건조립등 적용범위가 크게 넓어집니다.


또 다른 중요한 점은 조종관점입니다. 인간의 팔이 2개 이기 때문에, VR컨트롤러처럼 실제 조작 장치 대부분이 쌍팔사용을 전제로 만들어집니다. 따라서 사람에게 직관적이고 익숙한 움직임으로 로봇을 조작하기에 쌍팔로봇이 유리하다고 할 수 있습ㅂ니다. 반대로 팔이 3개 이상인 로봇의 경우, 사람이 이를 조작하기 가 훨씬 어렵다는 점도 이해할 수 있습니다. 물론 쌍팔 로봇 역시 단팔로봇과 마찬가지로 각 로봇마다 몸체구성과 제어방식이 크게 다릅니다.


dataai-041.png

③ 바퀴형(주행부) 로봇

아래 그림은 여러가지 바퀴형 로봇을 보여줍니다. RT-X에서 사용하는 바퀴형 로봇으로는 EDR(google), PR2(WIllow Garage), Stretch(Hello Robot), EDAN(DLR), Jackal(Clearpath Robotics), RC Car, TurtleBot2(Willow Garage)등이 있습니다.

바퀴형 로봇도 단팔로봇과 마찬가지로 각 로봇마다 구성이 크게 달라질 수 있습니다. 대부분의 롭봇은 2개의 바퀴로 구도오디는 2륜 구조이지만, 예를들어 Jackal은 4개의 바퀴를 독립구동하는 4륜구동방식이며, PR2는 각 바퀴 방향을 독립적으로 조절할 수 있는 4륜 액티브 스티어(Active Steer)구조를 갖추고 있습니다. 또한, 옴니(Omni)휠이나 메카넘(Mecanum)휠을 사용해 모든 방향으로 움직일 수 있는 이른바 전방위 바퀴형 로봇도 존재합니다. 그리고 바퀴의 지름이나 간격, 마찰계수도 제각각이어서 여기서도 보편적인 일반화를 달성하기 어렵습니다.

그래서 RT-1, RT-2에서는 단팔로봇과 마찬가지로 바퀴속도를 제어입ㅂ력으로 사용합니다. 단팔 로봇에서 그랫듯 바퀴회전속도나 바닥면에서의 절대위치가 아니라, 바퀴의 선속도, 각속도를 직접 조작합니다. 다만, 이 바퀴로봇의 제어입력에도 몇가지 문제가 있습니다. 단팔로봇과 마찬가지로 각 로봇마다 제어성능이나 파라미터가 달라질뿐아니라, 특히 2륜계열 로봇과 전방위 바퀴형 로봇은 낼 수 있는 속도의 방향이 서로 다릅니다. 전방위 바퀴 로봇이 낼 수 있는 속도 방향을 인위적으로 제한해 두면 가장 쉽고 단순하게 공통화를 시도할 수 있겠지만, 그럴 경우 해당 로봇이 원래 지닌 기능을 심하게 제약해 버릴 수 있습니다. 그러므로 앞으로는 이런 차이점도 충분히 고려해야 할 것입니다.


dataai-042.png

④ 다리형 로봇

아래 그림은 여러가지 다리형 로봇을 보여줍니다. RT-X에서 사용하는 다리형 로봇은 A1(Unitree RObotics)뿐만 아니라, 다리형 로봇에는 Cassie, HPR2처럼 2족, Spot, ANYmal은 4족등 다양한 형태가 존재합니다. 현재로서는 다리형 로봇이 로봇기반모델에서 활용되는 일은 거의 없습니다. 그 이유는 우선 바퀴형에 비해 제어가 훨씬 어렵다는 점, 제어입력이 수평방향속도뿐만 아니라높이나 roll/pich방향까지 고려해도 과도한 사양(오버스팩)이 된다는 점 그리고 조작(매니풀레이션) 중에 다리가 움직이면 손끝위치도 크게 변동되어 매니퓰레이션 난이도가 한층 더 높아진다는 점이 지적됩니다.

물론 인간은 다리형에 쌍팔까지 갖춘 존재로서 균형이나 다차원 제어입력 관점에서 가장 까다로운 계열(system)임에도 안정적인 매니풀레이션이 가능하므로 장기적으로 이를 목표로 삼아야 합니다. 하지만 지금 단계의 기술 수준으로는 아직 그경지에 이르지는 못하며 해결해야 할 연구과제는 여전히 많다고 봅니다.


dataai-043.png

⑤ 기타 로봇

마지막으로 앞에서 설명한 카테고리에 속하지 않는 로봇들에 대해서도 약간 설명하겠습니다. 지금까지 살펴본 로봇대부분은 기업에서 구매가 가능한 로봇들이지만, 실제로 훨씬 다양한 로봇이 존재합니다.

예를 들어, 근골격 휴먼노이드(Musculoskeletal Humanoid)는 관절에 직접 모터를 달지 않고 인간처럼 ㅇ균육형태의 액추에이터가 관절을 구동합니다.


또한 소프트 로보틱스(Soft Robotics)분야에서 다루는 유연(soft)로봇 역시 특정제어 입력을 가했다고 해서 바로 예측가능하고 명료한 상태변화를 일으키는 것은 아니기 때문에 위치나 속도를 제어하기가 몸시 까다롭습니다. 또한 변형을 측정하는 센서가 다수 부착되어 있지만, 현재 제어이론이 충분히 뒷반침되지 못하고 있습니다. 또한 드론이나 특수링크구조 로봇처럼 공통화를 시도하기 어렵고 독자적인 형태를 지닌 롭봇도 존재합니다.


dataai-044.png

현재는 이처럼 극도로 다양한 로봇들중 모터구동을 기반으로 한 한팔, 쌍팔, 바퀴형롭봇에 초점을 맞추어 로봇기반모델을 개발하려는 시도가 늘어나고 있습니다. 다음 강좌에서는 이러한 로봇들을 기준으로 데이터를 어떻게 수집하고 어떤 데이터세트가 구성되어 있는지 설명하겠습니다.


©2024-2025 GAEBAL AI, Hand-crafted & made with Damon Jaewoo Kim.

GAEBAL AI 개발사: https://gaebalai.com

AI 강의 및 개발, 컨설팅 문의: https://talk.naver.com/ct/w5umt5


keyword
이전 12화12. 파인튜닝 모델 평가