데이터중심 AI강좌: 데이터세트 구축 및 효율적인 데이터 학습 방법
로봇기반모델(Robotics Foundation Model)을 구축하려면, 앞서 살펴본 다양한 로봇에서 방대한 데이터를 수집해야 합니다. 데이터 수집방식은 매우 다양하고 그 분류법도 확립되지 않았습니다. 예를 들어 로봇동작생성 방법을 teach-by-showing, teleoperation, textual programming, automatic programming 4가지로 구분하고 있고 어떤 논문에서는 teaching by guiding, text programming, off-line simulation-based programming, inductive learning 4가지로 구분합니다.
이때 text programming이나 textual programming은 우리 인간이 텍스트 형태로 프로그램을 작성하는 가장 원시적인 동작생성방식에 해당됩니다. teleoperating은 어떤 장치를 사용해 실시간으로 로봇을 원격조작하며 새로운 동작을 가르치는 방법입니다. teaching by guiding은 산업용 로봇에서 흔히 사용되는 ㅂ방식으로 사람이 롭봇을 직접 잡고 움직여가며 실시간으로 동작을 가르치는 것이고, teaching by showing은 사람이 직접 동작을 시연하고 로봇이 이를 관찰 및 모방하는 형태입ㅂ니다. automatic programming이나 off-line smulation-based programming은 시물레이션이나 태스크 정보를 활용해 자동으로 동작을 생성하는 방식입니다. 마지막으로 inductive learning은 로봇이 스스로 시행착오를 가치며 동작을 익히는 방법입니다.
이처럼 로봇 프로그래밍 방식에는 여러가지가 있지만, RT-1, RT-2, RT-X와 같은 모방학습형 연구에서 실제로 활용할 수 있는 데이터수집방법은 제한적입니다. 예로 '직접교시(teaching by guiding)'는 흔히 쓰이는 동작 지도방식이지만, 사람이 로봇을 손으로 직접 잡고 움직이는 동안 카메라 화면에 상시 사람 손이나 몸이 노출됩니다. 이 경우, 로봇이 실제 동작할 때와 학습ㅂ할 때의 영상(이미지) 정보가 크게 달라져 언어지시뿐만 아니라, 이미지를 입력받아야 하는 모방학습형 아키텍처와는 잘 맞지 않습니다. 따라서 모방학습형 연구에서 직접 고사를 사용하는 사례는 매우 드뭅니다.
또한 '자동 프로그래밍(automatic programming, off-line simulation-based programming)'은 자동으로 프로그래밍이 가능한 수준의 태스크라면 애초에 모방학습을 할 필요가 없는 경우가 많습니다. 단, 다른 것을 학습할 때, 데이터 양을 늘리기(data augmentation)위한 보조수단으로 쓰는 것은 가능하며, 실제로 RT-X에는 자동 프로그래밍과 약간의 노이즈를 추가해 실행한 데이터가 포함되어 있습니다. 텍스트 프로그래밍(text programming, textual programming)도 같은 맥락으로 프로그램 코드로 명시적으로 작성할 수 있다면, 굳이 모방학습을 적용할 이유가 없다고 볼 수 있습니다. 마지막으로 inductive learning은 현재까지 대규모로 발전한 사례가 적습니다. 물론 DAgger처럼 온라인으로 데이터수집을 하여 동작 학습하는 기법도 있지만, 현시점에서는 로봇기반 모델에 크게 활용되지 않고 있습니다.
그렇기에 이번에는 teleoperation(온라인원격교시방식)과 teaching by showing(오프라인교시방식)을 대표적인 예시를 들어 설명합니다. 특히 온라인원격교시방식은 유니레터럴(Unilateral)제어와 바이레터럴(Bilateral)제어로 나눌 수 있으며 각각 구체적으로 살펴봅시다.
온라인 원격 교시(Online Remote Teaching)란, 어떤 장치를 활용해 인간 동작을 취득하고, 이를 실시간으로 로봇에 전달하여 로봇 동작을 가르치는 방식을 말합니다. 이때 유니레터럴(Unilateral)은 인간의 움직임이 일반적으로 로봇에 반영되는 교시방법을 가리키며, 반대로 바이레터럴(bilateral)은 로봇쪽에서 얻은 정보를 인간쪽으로 피듭백하는 제어가 이루어진 경우를 일컫습니다. 유니레터럴 방식은 장치구성 등이 비교적 간단한 반면, 인간이 로봇에 가해지는 힘을 직접 느끼기 어렵습니다. 반면에 바이레터럴 방식은 장치나 제어구성이 복잡해지는 대신 로봇이 받는 힘을 인간이 피드백받을 수 있다는 장단점이 있습니다.
이번에는 유니레터럴 온라인 원격 교시 방법 중에서도 장치(디바이스)의 종류에 따라 여러 방식이 제안된 사례를 살펴보겠습니다. 대표적인 예로 3D 마우스나 VR기기를 쓰는 경우, 소형 로봇을 이용하는 예시를 소개합니다.
▣ 3D마우스나 VR기기를 활용한 유니레터럴 온라인 원격 교시
아래 그림에 나오는 3D마수으나 VR기기등을 예로 들어보겠습니다. 이는 가장 간단하면서도 매우 많은 연구자들이 데이터수집에 쓰는 방식입니다. 일반적으로 3D 마우스라 불리는 제품 중에서는 3Dconnexion사의 SpaceMouse가 유명합니다. 보통 마우스가 2D 평면의 입력만 받는 반면, 3D마우스는 6차원(3차원 병진 + 3차원 회전)을 입력할 수 있습니다. 이를 통해 RT시리즈나 다른 데이터 수집 연구에서 활용하듯 로봇 손끝의 병진, 회전속도를 마우스 하나만으로 제어할 수 있습니다. 추가로 버튼2개가 있어, 데이터수집 시작 및 종료나 그리퍼 개폐도 동시에 수행가능합니다. 이렇게 로봇을 조정하여 그 동작 궤적(trajectory)과 관측(observation)을 데이터로 수집하는 방식입니다.
VR기기 또한 손쉽게 데이터 수집에 사용할 수 있는 도구 중 하나이며, 대표적으로 HTC Vive, Meta Quest, Apple Vision Pro등이 있습니다. VR기기를 쓸 때는 보통 동봉된 컨트롤러를 사용하는 경우와 컨트롤러없이 이용하는 경우가 있습니다.
컨트롤러를 활용하면 컨트롤러의 병진/회전 3D위치정보를 직접ㅂ 로봇의 손끝위치와 자세에 대응시킬 수 있습ㅂ니다. VR컨트롤러는 버튼등 입력수단이 매우 풍부해서 현재 활발히 데이터 수집 용도로 쓰이고 있습니다. 또한 로봇이 관측한 영상을 VR고글안에 투영해서 원격 조작 시에도 유리합니다.
단, RT-1, RT-2에서는 사람이 직접 로봇환경을 보면서, 조작하는 편이 데이터를 모으기 더 쉬워 VR고글을 사용하지 않습니다.
컨트롤러 없이 VR기기를 쓸 경우, VR기능을 통해 손위치, 손가락각도등을 추출해 로봇을 조종합니다.물론 VR컨트롤러를 사용하는 것보다 정밀도가 떨어지고, 다양한 버튼도 이용하기 어렵지만, 손가락(5지) 관절각도까지 어느정도 계산이 가능하므로 2지 평행 그리퍼뿐만 아니라 인간손처럼 5개 손가락을 지닌 로봇 핸드도 제어할 수 있습니다. 또한, 기기를 손에 항상 쥐고 있을 필요가 없어, 조작 다감을 크게 줄일 수도 있습니다.
사실 이러한 기능은 일반적인 RGB-D카메라와 공개 소프트웨어들을 활용해서도 간단히 구현할 수 있습니다. 예로 인간의 팔 관절각이나 손가락 관절각만 측정하려면 굳이 VR기기를 사용하지 않아도 가능합니다. 그 외에도 2D평면만 조작하면 되는 태스크라면 일반적인 게이밍 컨트롤러나 화면에 표시되는 가상 조이스틱등을 활용하기도 합니다.
위 장치들을 사용시, 유의할 점이 있습니다. 손끝 위치나 속도를 지정해도, 로봇이 꼭 그 지령값대로 움직인다는 정보가 없다는 것입니다. 로봇의 구동계는 관절각을 기반으로 하므로, 손끝 조작을 관절각에 역운동학(Inverse Kinematics)으로 변환해야 하는데, 이는 항상 해가 존재하지 않을 수 있어, 의도대로 로봇이 안움직일 때도 있습니다. 또한 인간 동작에서 관절각을 추출해 로봇을 구동시키는 경우에도 사람과 로봇의 관절배치나 링크길이가 크게 달라 리타겟팅(retargeting)을 고려해야 합니다. 리타겟팅은 현재도 활발히 연구되는 분야입니다.
▣ 소형로봇을 활용한 유니레터럴 온라인 원격 교시
소형로봇을 이용한 예로 ALOHA, GELLO를 들 수 있습니다. ALOHA는 "A Low-cost Open source Hardware System for Bimanual Teleoperation"의 약어로 아래 그림처럼 오픈소스이며 낮은 비용으로 구성가능한 쌍팔 로봇 원격 교시 세트업입니다. 사람이 조작하는 리더(leader)로봇과 실제 작업을 수행하는 팔로워(Follower)로봇을 모두 포함한 종합시스템을 이룹니다.
리더쪽은 6자유도 WidowX 250(Trossen Robotics), 팔로워쪽은 마찬가지로 6자유도 ViperX 300(Trossen Robotics)같은 일반적인 로봇을 쓰고 있지만, 그리퍼와 그 조종부는 별도로 설계되었습니다. 리더와 팔로워 로봇은 관절배치가 거의 같고, 모터 종류나 링크길이만 조금 다른정도입니다.이 시스템이 뛰어난 이유는 앞서 언급한 주의점과 관련이 있습니다. 기존에 살펴본 장치(3D 마우스, VR컨트롤러 등)에서는 손끝 위치를 관절각으로 바꾸는 문제나 인간과 로봇의 신체 차이에 따라 리타겟팅 문제가 늘 존재합니다. 반면에 ALOHA처럼 작업하는 로봇과 같은 구조의 로봇을 조작장치로 쓰면 이런 문제가 전혀 없게 됩니다. 사람이 조종한 리더로봇의 관절각을 그대로 팔로워 로봇에 보내면 직관적으로 로봇을 움직일 수 있습니다. 이 방식이 가장 직관적이어서 '어떤 동작이든 생각보다 쉽게 가능하다'는 점에서 놀라게 됩니다. 이렇게 로봇을 조종하면서 동작궤적과 관측 정보를 데이터로 수집합니다.
또한, ALOHA에는 위 그림의 Mobile ALOHA와 같은 파생형도 있습니다. 지금까지는 주로 매니풀레이션(조작)에 집중했지만, Mobile ALOHA는 주행부를 갖추어 자유롭게 이동할 수 있도록 한 형태입니다. 그 덕에 이동과 조작이 함께 필요한 부엌 작업이나 정리 및 청소같은 태스크도 가능해지고 있습니다.
GELLO는 다양한 동작을 팔로워로 지원하도록 설계된 것으로 위 그림에 제시된 낮은 비용, 오픈소스 리더측 원격교시 장치입니다. ALOHA가 리더와 팔로워를 거의 동일한 로봇으로만 제한했던 것에 비해 GELLO에는 그런 제약이 없ㅅ습니다. 팔로워 로봇의 관절배치에 맞춰 리더쪽 장치의 관절배치를 바꿔서 직관적 조종이 가능하도록 합니다. 링크 길이도 팔로워 로봇의 링크길이를 비례하여 스케일링함으로써 리더 장치길이를 정합니다. 3D 마우스나 VR기기를 사용했을 때의 태스크 수행 시간과 GELLO를 썼을 때, 수행시간을 아래 그래프에서 비교하고 있는데 리더 로봇의 관절각을 팔로워 로봇에 직접 반영할 수 있기 때문에 그렇지 않은 장치를 썼을 때보다 태스크 수행시간을 크게 줄일 수 있습니다.
▣ Haptic 기기를 활용한 바이레터럴(bilateral) 온라인 원격교시
아래 그림은 시중에서 판매중인 Haptic 기기입니다. 저렴한 제품 중 하나로 3D Systems Touch가 있는데 이는 펜 형태 기기로서 병진,회전 6자유도 움직임을 지원할 뿐만 아니라, 위치(3자유도)에 대한 힘각 피드백을 제공할 수 있습니다. 이 기기와 Panda(Franka Emika)로봇을 연결해서 간단한 바이레터럴 제어를 구현하려는 시도가 나오고 있습니다. 또한 다른 경우는 Force Dimension Omega6가 있는데 3D Systems Touch보다 가격은 비싸지만, 위치 3자유도뿐만 아니라 회원 3자유도에 대해서도 힘각 피드백을 제공할 수 있습니다.
오프라인 교시(Offline Teaching)은 사람이 먼저 시범동작(모범동작)을 수행하고 이를 로보이 모방(흉내)하는 2단계를 걸치는 교시방법입니다. 로봇을 실시간으로 조작하지 않으므로 사람이 해당 태스크를 성공적으로 수행했다고 해서 로봇도 똑같이 성공한다는 보장은 없습니다. 온라인 교사라면 구조가 약간 달라도 사람이 눈으로 확인 및 보정할 수 있지만, 오프라인 교시에서는 그게 불가능합니다. 이를 해결하는 방법으로 Dobb-E와 Universal Manipulation Interface(UMI)가 제안되었습니다.
▣ Dobb-E
위 그림에 나타난 Dobb-E는 오프라인 교시 시 사람이 로봇과 똑같은 그리퍼를 잡고 작업을 지도하는 구조입니다. 이 그리퍼에는 아이폰이 부탁되어 있어, 손끝(그리퍼)과 주변환경 간 상호작용 영상을 기록할 수 있습니다. 이떄 아이폰은 손끝만을 촬영하므로, 로봇쪽에도 동일하게 아이폰을 달아놓으면 사람이 조작할 때와 로봇이 동작할 때 정확히 같은 이미지를 얻을 수 있어, 모방학습 데이터로 이상적입니다. 또한 아이폰에 내장된 IMU(관성측정장치)나 RGB-D센서를 통해 손끝 6차원 위치와 회전을 계속 얻을 수 있습니다.
단, 이 방법은 그리퍼 개체 정보를 직접 층정하지 못하므로 이미지 기반으로 그리퍼 개폐 상태를 추정하는 모델을 사전에 학습해 둡니다. 이를 통해 사람의 동작에서 이미지 및 손끝위치, 자세, 그리퍼 개폐 정보를 모두 얻어 모방학습에 활용합니다. 이미지를 입력받아 그리포의 위치 및 자세 변화를 보내면, 롭봇 손끝 좌표가 그 지시에 따라갈수 있도록 역운동학(Inverse Kinematics)를 풉니다. 이렇게 사람이 잡ㅂ은 그리퍼와 로봇이 그리퍼를 완전히 동일하게 하면 사람이 시연한 동작이 롭봇으로도 정확히 재현될 수 있는 개념입니다. 물론 기존 장치들과 마찬가지로 역운동학이 풀리지 않는 경우는 여전히 해결되지 않은 상태입니다. 이 연구에서 사용한 로봇은 Stretch (Hello Robot)입니다.
▣ UMI(Universal Manipulation Interface)
UMI(Universal Manipluation Interface)도 위 그림에서 보듯이 사람과 로봇이 동일한 형태의 그리퍼를 사용해 작업을 지시한다는 점에서 Dobb-E와 비슷한 구조입니다. 다른 점은 단팔이 아닌 쌍팔에 초점을 맞춘다는 것이지만 UMI에는 여러가지 개선요소가 추가되어 있습니다.
그리퍼에는 GoPro가 장착되어 그리퍼 개폐 상태를 AR(Augmented Reality)마커로 추적하는 방식을 사용합니다. GoPro에서 얻은 카메라 영상과 IMU로부터 비주얼 SLAM을 수행해 그리퍼 위치 및 자세를 추적합니다. 또한 GoPro는 RGB영상을 제공하지만, 그리퍼 양끝에 거울을 달아 서로 다른 시점에서 영상을 촬용함으로써 암묵적인 스테레오시각을 구현했습니다.
이 그리퍼를 사람이 적접 조작해 데이터를 수집하고 모방학습을 수행한 뒤, 같은 형태의 그리퍼를 로봇에 장착해 태스크를 실행합니다. 한편 여기서 사용하는 로봇은 UR5(Univeral Robots)입니다.
다양한 로봇에서의 다양한 데이터수집 방법에 대해 설명했습니다. 이번에는 기존 데이터세트와 RT-X에 포함된 대표적인 데이터세트에 대해 설명합ㅂ니다. 주로 어떤 로봇이 어떤 환경에서 어떤 태스크를 어느 정도 제어주기로 수행하고 있으며, 그 데이터가 어떻게 수집되었는지에 대해 초점을 맞춥니다. 단, 이미 설명한 RT-1데이터세트나 시뮬레이션 전용 데이터세트에 대해서는 생략하며 데이터세트와 관련없는 실제학습부분을 이야기합니다.
① QT-Opt
QT-Opt는 로봇기반 모델이 세상에 나오기 전에 2018년 발표되었습니다. 위 그림처럼 대량의 실제 기계 데이터를 모아 학습시킴으로써 로봇에 높은 범용적 매니퓰레이션 능력을 부여하려는 매우 선구적인 시도입니다. QT-Opt는 앞서 언급한 언어지시를 포함한 모방학습과는 달리 실제 기계를 이용한 강화학습에 의해 구현되었으나 그 데이터는 RT-X에서도 사용되고 있습니다.
태스크는 LBR iiwa가 한대의 RGB 카메라로부터 얻은 영상을 보면서 상자안에 있는 물체를 하나 집어 올리는 것입니다. 이 데이터세트에는 7대 로봇을 4개월간 운용하여 약 580,000회 집기 시도가 포함되어 있습니다. 집기에 사용된 물체수는 약 1000개이며, 로봇은 한번에 4~10개의 물체를 동시에 다루고 평일마다 4시간 간격으로 물체를 교체하며, 자율적으로 강화학습 정책을 업데이트하면서 데이터를 수집합니다. 그 결과 각 시도에는 집기 성공 또는 실패를 나타내는 플래그가 기록되어 있습니다. 참고로 제어주기는 10Hz이며, 언어 어노테이션은 포함되어 있지 않습니다.
QT-Opt이후에는 집기뿐만 아니라, 다양한 태스크를 수행하는 MT-Opt라는 데이터세트도 발표되었습니다.
② RoboNet
RoboNet은 아래 그림처럼 다양한 로봇에서 다양한 태스크에 대한 데이터를 수집한 공개 데이터세트입니다. RT-X이전에 다양한 로봇의 데이터세트를 정비한 것은 RoboNet만 있었습니다. 이 데이터세트에는 Sawyer, Baxter, WidowX 250, LBR iiwa, Panda, Fetch, R3(Google)등 7가지 로봇이 포함되어 있고, 이들 로봇은 물체를 밀거나 집어올리는 동작을 통해 물체의 위치를 이동시키는 태스크를 수행합니다. 데이터세트는 총 162,000회의 시도(trials)로 구성되며, 4개의 연구실이 다양한 환경과 다양한 카메라 위치엣서 100개 이상의 물체를 다루는 데이터를 수집했습니다. 동작은 미리 정해진 움직임에 가우시안 노이즈(Gaussian Noise)를 추가하여 재생하는 방식으로 데이터를 수집하므로, 최적의 동작이 반드시 수집되는 것은 아닙니다. 그 결과, 이 연구자체에서는 이미지 예측모델의 학습과 이를 활용한 모델 예측 제어(Model Predictive Control)를 수행하고 있습니다. 참고로 제어주기는 1Hz이며, 언어 이노테이션은 포함되어 있지 않습니다.
③ BridgeData v2
BridgeData v2는 이전 Bridge Datase를 확장한 데이터세트로 WidowX 250을 사용하여 아래 그림처럼 다양한 환경에서 다양한 스킬 시연을 포함하고 있습니다. 이 데이터세트는 총 60,096회의 시도를 포함하며, 그 중 50,365회는 VR기기를 이용한 인간의 원격고시로 9,731회 무작위 파라미터에 의해 실행된 픽앤플레이스(pick-and-place)동작으로 구서오딥니다.
실행된 스킬은 pick-and-place, pushing, wiping, sweeping, stacking, folding clothes, opening/closing drawers/doors/boxes, twisting knobs, flipping switches, zipping/unzipping, turning levers 등 13종류이며, 스킬을 수행한 환경은 물체와 카메라위치, 작업공간의 배치를 변경한 주방, 싱크대, 테이블등 다양한 환경에서 이루어집니다. 다양한 물체는 100개이상의 식기, 천, 식재료, 블록등입니다. 제어주기는 5Hz이며, 이 데이터세트는 언어지시를 포함하고 있고 이는 클라우드수싱을 통해 수집되었습니다.
④ BC-Z
BC-Z는 아래 그림처럼 언어와 인간의 데모스트레이션 영상 모두를 지시로 하여 모방학습을 수행하는 프레임워크입니다. 따라서, 데이터세트에는 25,877회의 로봇 데모스트레이션과 18,726회의 인간 데모스트레이션 비디오가 포함되어 있습니다. 12대의 EDR로봇을 대상으로 7명의 오퍼레이터가 9가지 서로 다른 스킬이 요구되는 100개의 매니풀레이션 태스크를 물체조합이나 배경을 변경하면서 데이터를 수집하였습니다. 데이터 수집은 VR기기를 통한 원격교시를 통해 이루어지지만, 데이터 수집 방식은 다른 연구와 약간 차이가 있습니다. 우선 11,108회 데이터를 직접 인간의 원격교시에서 수집하여 정책을 학습시킵니다. 그후 그 정책을 실행하는 도중에 태스크가 실패할 것 같은 상황에서 인간이 VR컨트롤러를 통해 이를 수정하는 공유자율(Shared Autonomy)방식을 사용하여 동작을 수행합니다. 이를 통해 새로운 데이터를 낮은 비용으로 확보할 수 있으며, 정책 업데이트를 반복함으로써 추가로 14,769회 데이터를 수집하고 있습니다. 제어주기는 10Hz이며, 언어지시가 데이터세트에 포함되어 있습니다.
⑤ Interactive Language
Interactive Language는 언어지시에 기반하여 블록을 조작하기 위한 데이터세트와 환경, 벤치마크, 학습된 정책을 제공합니다. 원통형 손끝을 장착한 xArm이 테이블 위에 있는 4가지 색상과 6가지 모양을 포함한 8개의 블록을 언어지시에 따라 조작하는 태스크를 수행합니다. 이 데이터세트는 Language Table이라 불리며, 언어로 라벨링된 약 600,000회의 로봇동작 궤적이 포함되어 있습니다.
데이터수집방식은 다소 특이한데, 아래 그림처럼 먼저 목적없이 장기간 동작하는 데이터를 사람이 원격교시를 통해 수집합니다. 그후 클라우드소싱을 통해 어노테이터가 자유롭게 그 장기동작 중 시작점과 끝점을 선택하고 그 구간의 동작에 대해 언어로 라벨링을 수행합니다. 즉, 언어지시로 데모스트레이션을 수행하며 데이터를 수집하는 것이 아니라, 동작결과에 대해 어노테이션을 하는 방식입니다. 이를 통해 정확하고 다양한 라벨링을 가능해지며, 학습후 정확도도 향상됩니다. 제어주기는 BC-Z와 동일하게 10Hz입니다.
⑥ DROID
DROID는 RT-X가 발표될 당시에 포함되지 않았지만, 2024년 11월에 RT-X 1.1이 나오면서 이 DROID를 포함한 여러 데이터세트가 추가되었습니다. 아래 그림처럼 13개 기관이 12개월이 걸쳐 564개 Scene, 52개 건물에서 86개 스킬에 관한 76,000회 에피소드를 수집한 데이터세트입니다.
이 데이터세트는 Robotiq 2F-85- Gripper가 장착된 Panda와 VR기기 Oculus Quest2, 휴대용작업대, 손목에 고정된 카메라와 위치 변경이 가능한 2대의 카메라를 포함한 세트업을 13개 기관에 준비하여 동일한 플랫폼에서 데이터수집을 수행하였습니다. 다른 연구와의 차별점으로는 태스크 수행전에 카메라 위치를 조정하고, 그 카메라의 내부/외부 파라미터를 동잃화하는 단계가 포함되어 있다는 점입니다. 따라서 이 데이터세트에는 3개의 카메라 이미지와 깊이 이미지, 카메라 캘리브레이션 정보, 동작궤적, 언어 어노테이션이 포함되어 있습니다. 모든 데이터는 사람이 VR기기를 이용한 원격 교시를 통해 수집되었으며, 논문 제목에 "In-The-Wild"라고 명시된 것처럼, 욕실, 다이닝 테이블, 주방, 클로젯등 실제 환경에 가까운 데이터세트를 다수 포함고 있습니다.
현실세계의 데이터로 학습하는 것만으로는 모든 상황에 범용적으로 대응할 수 있게 되지는 않습니다. 이를 해결하기 위해 획득한 데이터를 확장하는 데이터증강이 자주 수행됩니다. 가장 간단한 증강방법은 각 센서값에 가우시안 노이즈를 추가하는 것이지만, 데이터에 다양한 변형을 주기 위해 지금까지 어려가지 기법이 제안되어 왔습니다.
예를 들어 이미지데이터의 경우, 회전, 이동, 반전, 확대/축소등 매우 손쉽게 다양한 데이터증강이 가능합니다. 한편 로봇의 경우는 어떨까요? 사실, 이미지 데이터에서 일반적으로 사용되는 데이터 증강은 로봇에서 적용할 수 없습니다. 왜냐하면 로봇은 다양한 센서들의 집합체이며 카메라 위치나 매니폴레이터의 위치, 음향센서 위치등 모든 센서가 서로 상호 연관되어 있기 때문입니다. 이미지를 단순히 이동시키면 이는 매니풀레이터에 장착된 카메라 위치를 이동시키는 것과 같아지며, 결국 로봇의 구성자체가 바뀌어 버리게 됩니다.
따라서, 로봇의 데이터 증강은 단일 모달리티의 데이터 증강과 크게 다릅니다. 이번에는 RT시리즈의 입력으로 사용되는 모달리티인 이미지와 언어에 관한 주요 데이터 증강방법을 설명합니다.
이미지 데이터 증강기법으로 대표적인 GenAug, ROSIE를 설명합니다. GenAug는 확산모델(diffusion model)로 대표되는 생성모델을 로봇의 학습에 어떻게 이용할 수 있는지 논의한 연구입니다. 여기서는 RT-1이 등장하기 이전에 제안된 언어지시와 이미지를 기반으로 물체를 놓을 위치를 출력하는 CLIPort의 학습을 예로 들어 이미지 데이터 증강을 수행합니다. 아래 그림처럼 얻어진 이미지를 대량으로 증강하여 학습에 사용함으로써 새로운 태스크(task)에 제로샷(zero-shot)으로 적응가능한 정책을 구축합니다.
구체적으로 위 그림처럼 (1) 잡아야할 물체나 물체를 놓을 용기, (2) 방해물체(작업과 관계없는 물체로 distractor라고 불림), (3) 배경이나 테이블, 3가지 외관을 변경하는 데이터증강 수행합니다. 이를 통해 학습된 정책은 (1) 다양한 물체에 적용될 수 있도록, (2) 주변의 다양한 물체에 혼란을 겪지 않도록 (3) 다양한 주변 환경 변화에 적용할 수 있도록 합니다.
우선 (1)에서는 지시대상 물체와 용기가 마스킹된 이미지를 미리 어노테이션해둡니다. 그런 다음 깊이 이미지(depth image)를 조건으로 한 사전학습된 Stable Diffusion을 활용하여 지시된 물체나 용기의 이미지와 마스크, 그 물체나 용기 색상(빨강,초록,노랑 등)이나 소재(유리, 나무, 금속 등)의 외관 변화를 언어로 입력하여 다양한 이미지를 생성합니다. 이것만으로는 물체의 외관만 변화시키므로 새로운 물체에 대응할 수 없기 때문에 완전히 다른 물체도 추가로 배치합ㅂ니다. 미리 준비한 물체 메쉬(mesh) 중에서 무작위로 선택한 물체를 확대/축소하며 배치하여 원래 깊이 이미지와 유사한 3차원 물체배치를 획득하고 생성모델을 통해 외관을 생성합니다.
다음 (2)에서는 방해물체를 추가하기 위해 미리 준비된 물체메쉬 중에서 무작위로 새로운 메쉬를 선택하여 이를 배치하고 렌더링하여 같은 방식으로 생성모델을 통해 외관을 생성합니다. 이때 무작위로 배치한 물체가 지시대상 물체나 용기와 충돌하지 않도록 충돌판정을 수행합니다. 마지막으로 (3)에서는 지시대상물체나 용기, 방해불체를 제외한 배경만 동일한 방식으로 생성모델을 사용하여 외관을 변화시켜 데이터를 증강합니다. 단순히 이미지를 회전, 이동, 확대, 축소하는 방식이 아니라, 이처럼 대상 물체나 배경, 작업과 관계없는 물체를 생성모델의 힘으로 증강하여 다양한 환경에 적용가능한 정책을 구축할 수 있습니다.
ROSIE는 GenAug가 필요로 하는 깊이 이미지를 사용하지않고, 수동으로 수행되는 마스크 생성을 완전히 자동화한 이미지 데이터 증강방법입니다. 여기서는 RT-1과 동일한 모델을 사용하고 있습니다. 데이터 증강의 절차를 위 그림으로 나타냅니다. 원래 작업의 언어지시에 대해 새로운 작업의 언어지시를 만들어내고, 그 언어지시에 맞는 이미지를 자동으로 생성해 나갑니다.
우선 LLM을 이용하여 원래 작업의 언어지시(예: "콜라캔을 맨위 서랍에 넣어라")와 앞으로 대응하고 싶은 새로운 언어지시(예: "콜라캔을 물건으로 가득 찬 맨위 서랍에 넣어라")로부터 이미지 내 어떤 영역을 변경할지 (예: "열린 서랍"), 어떤 영역은 변경하지 않을지 (예: "로봇 팔"), 그리고 어떻게 변경할 것인지(예: "서랍에 장난감 블록을 추가한다")를 추출합니다. 다음은 오픈 보캐뷸러리(open vocabulary) 시각언어모델(vision-language model)을 활용하여 이미지에서 변경해야 하는 영역 마스크를 얻습니다. 이 마스크와 변경방법에 대한 지시를 생성모델은 Imagen Editor에 입력하여 새로운 이미지를 생성합니다.
GenAug와 마찬가지로 외관, 방해물체, 배경을 생성하여 높은 적응성을 가진 정책을 성공적으로 학습할 수 있게 됩니다.
언어지시를 증강하는 대표적인 예로 DIAL을 소개합니다. 학습시 언어지시를 변경을 줌으로써 다양한 언어지시에 대응 가능한 정책을 구축할 수 있습니다. 참고로 DIAL은 ROSIE와 마찬가지로 RT-1을 학습하는 모델에 사용됩니다.
데이터 증강 절차는 위 그림처럼 방대한 로봇궤적(trajectory)데이터 중 일부 소수의 데이터에 대해새 해당 궤적을 표현하는 언어지시를 크라우드소싱을 활용해 어노테이션하여 이를 데이터세트A라고 합니다. 다음은 데이터세트A에 있는 로봇궤적, 특히 궤적의 시작과 끝의 이미지, 그리고 언어지시간의 유사도를 계산할 수 있는 모델을 구축합니다. 여기에서는 일반적인 Vision-Language모델 특히 CLIP을 파인튜닝합니다.
다음으로 아직 어노테이션이 되지 않은 대량의 로봇궤적데이터B에 대해 언어지시를 부여해 나갑니다. 앞서 데이터세트A에서 어노테이션된 언어지스를 GPT-3를 이용해 확장하여 다량의 언어지시 L을 생성해 둡니다. 그리고 방대한 로봇궤적 데이터B에 대해 파인튜닝된 CLIP모델을 사용하여 L중에서 적절한 언어지시를 찾아 짝을 지어 데이터세트C를 생성합니다. 이때 짝이 되는 언어지시는 반드시 하나일 필요는 없으며, 예를 들어, 유사도가 높은 언어지시를 위에서부터 5개를 선정하여 짝으로 삼는 것도 가능합니다. 다수의 언어지시를 짝으로 얻음으로써 다양한 언어지시에 대응할 수 있게 되지만, 한편으로는 잘못된 언어지시가 부여될 가능성도 증가하므로 여기에는 트레이드오프(tradeoff)가 존재합니다. 마지막으로 이 데이터세트 A, B, C를 사용하여 RT-1를 학습함으로써 보다 댜앙한 언어지시에 대응할 수 있는 정책이 학습됩니다.
지금까지 로봇데이터에 대해서는 RT-1, RT-2, RT-X 기준으로 모델 아키텍처, 데이터수집방법, 기존 데이터세트, 데이터 증강에 대해서 포괄적으로 설명했습니다. 다양한 센서의 집합체이며 환경에 능동적으로 작용하는 에이전트인 로봇에 데이터수집과 그 학습은 이미지나 언어와 같은 단일 모달리티 또는 그것들을 조합한 멀티 모달리티보다 더욱 어렵고 복잡한 분야입니다. 따라서 기술적으로 낮은 부분이 여전히 많으며 데이터수집방법이나 모델 아키텍처,, 사용하는 로봇에 대해서도 아직 정해진 표준이 없는 것이 현실입니다.
다르게 말하면, 앞으로 연구할 여지가 여전히 많고 향후 큰 발전이 기대되는 분야이기도 합니다. 현재 컴퓨터 비전이나 자연어처리(NLP)연구자들 또한 로봇분야로 진출을 많이 하고 있습니다.
©2024-2025 GAEBAL AI, Hand-crafted & made with Damon Jaewoo Kim.
GAEBAL AI 개발사: https://gaebalai.com
AI 강의 및 개발, 컨설팅 문의: https://talk.naver.com/ct/w5umt5