BRICKSTUDY

Embodied AI : Survey(2) 본문

AI

Embodied AI : Survey(2)

c-park-2 2024. 9. 1. 02:15

2024.08.10 - [AI] - Embodied AI : Next-Gen AI System(1)

1. 개요

안녕하십니까 브릭스터디 박찬영입니다. 저번에 포스팅했던 내용에서는 embodied ai 연구가 왜 중요 해졌는지에 대해서 이야기를 했었는데, 이번에는 embodied ai 서베이 논문을 읽고 나서 어떤 연구 task들이 있는지, 고려해야 할 요소들은 어떤 게 있는지 가볍게 살펴보려고 합니다. 

 

참고한 논문은 다음과 같습니다. 

Duan, Jiafei, et al. "A survey of embodied ai: From simulators to research tasks." _IEEE Transactions on Emerging Topics in Computational Intelligence_ 6.2 (2022): 230-244.

 

Liu, Yang, et al. "Aligning Cyber Space with Physical World: A Comprehensive Survey on Embodied AI." arXiv preprint arXiv:2407.06886 (2024).

 

2. Introduction

지난 포스팅의 내용을 다시 살펴보면, AI알고리즘과 Agent는 더 이상 인터넷으로부터 온 데이터셋으로 학습하지 않고, 인간과 비슷하게 환경과 상호작용하면서 학습한다고 했습니다. 이는 딥러닝, 강화학습, 로보틱스, 컴퓨터 그래픽스 등 다양한 분야의 발전이 General-purpose AI system 개발에 대한 관심을 모았기 때문입니다. 

General-purpose AI system에 대한 관심 증가로 더 이상 인터넷에서 큐레이팅된 이미지, 비디오, 텍스트 데이터 셋에서 학습하는 것에 초점을 맞춘 "Internet AI"에서 Agent가 주변 환경과 상호 작용을 통해 학습하는 "Embodied AI"로의 패러다임 전환이 있었다. 

 

Aligning Cyber Space with Physical World: A Comprehensive Survey on Embodied AI, Fig1

Google Scholar에서 embodied ai publication의 볼륨을 리포트한 결과를 보면 10,700개의 논문이 2023년도에 나왔습니다. 이는 하루 평균 29개의 논문이고, 1시간에 1개 이상의 논문이 나온다는 것을 뜻하고 있습니다. 이렇듯 embodied ai 연구 커뮤니티는 점점 커지고 있습니다. 

 

 

지난 포스팅에서도 언급했듯이, AGI를 달성하기 위해서는 ChatGPT처럼 Conversational Agent가 아닌, 물리적인 embodiment를 컨트롤하고 시뮬레이션과 리얼한 물리 환경에서 상호작용할 수 있어야 합니다. 

 

이후에 알아볼 embodied task를 위해서는 embodied agent가 완전하게 language instructions에서 사람의 의도를 이해하고, 주변 환경을 탐색, 물리 환경의 Multi-modal 요소들을 포괄적으로 인지, 복잡한 task를 위해 알맞은 Action을 실행해야 합니다. 

 

이렇게 중요도, 관심 그리고 연구가 활발하게 이루어지고 있는 embodied AI 연구 분야에 대해서 embodied robot, simulator, research task 항목으로 살펴보도록 하겠습니다. 

 

3. Embodied Robots

Embodied Agent는 물리적 환경과 적극적으로 상호작용하며, 로봇, 스마트 가전, 스마트 안경, 자율주행차 등을 포함한 다양한 유형의 Embodiment를 포괄합니다. 이들 중 robot은 가장 두드러진 embodiment 중 하나입니다. robot은 애플리케이션에 따라 특정 작업을 위해 하드웨어 특성을 활용하도록 다양한 형태가 존재합니다. 그 형태별로 간단하게 특징을 살펴보도록 하겠습니다. 

 

A. Fixed-base Robots

Example of fixed-base robots : Franka Emika Panda

공장에서 흔히 볼 수 있는 듯한 로봇을 말하고, 고정된 기반을 가지고 있어, 실험실 자동화, 산업 제조 분야에서 광범위하게 사용되는 로봇의 종류입니다. 고정된 기반과 구조 덕분에 작동 중 안정성이 뛰어나서 높은 정확도와 반복성이 요구되는 작업에 적합합니다. 

B. Wheeled & Tracked Robots

https://youtu.be/bm5XMn3J6cM
https://gizmodo.uol.com.br/app-robos-irobot/

바퀴형 로봇과 궤도형 로봇은 효율적인 이동성을 가지고 있고, 단순한 구조와 상대적으로 낮은 비용, 높은 에너지 효율성 등에서 많은 장점을 가지고 있다. 

 

C. Quadruped Robots

TechCrunch

보스턴 다이나믹스의 사족보행 로봇은 복잡한 지형 탐사, 적응력이 뛰어난 장점입니다.

D. Humanoid Robots

https://electrek.co/2024/04/23/tesla-may-start-selling-optimus-humanoid-robot-next-year-elon-musk/

테슬라의 옵티머스와 같은 휴머노이드 로봇은 인간과 유사한 형태를 가져 정교한 손 설계를 통해 정밀하고 복잡한 작업을 수행할 수 있습니다. 

E. Biomimetic Robots

https://www.designboom.com/technology/metafly-biomimetics-robot-insect-03-07-2019/

생체 모방 로봇은 자연 생물의 움직임과 기능을 모방하여 복잡하고 동적인 환경에서 작업을 수행할 수 있습니다. 

4. Embodied Simulators

하지만, 현재 embodied ai는 주로 가상 환경에서의 문제 해결에 초점을 맞추고 있으며, 기존의 AI 기술들을 "embodiment" 형태로 통합하려 노력하고 있는 상황입니다. 이는 실제 물리적 로봇에 직접 적용하기 전, 중간 단계로 볼 수 있습니다. 

 

가상 환경인 시뮬레이션된 세계는 현실 세계에 배포하기 전에 embodied ai 프레임워크를 훈련하고 테스트하는 가상 테스트베드 역할을 합니다. 이러한 embodied ai 시뮬레이터는 작업 기반 데이터 셋 수집을 용이하게 합니다.(실제 세계에서는 수집하기 매우 번거로운 작업을 쉽게 만들어줌)

 

이번 파트에서는 embodied ai 시뮬레이터들에 대해서 알아보려고 합니다. 

시뮬레이터의 구분을 시뮬레이터를 구성하는 7가지 features에 대해서 알아보면서 살펴보겠습니다. 

7가지 features는 다음과 같습니다. 

1. Environment
2. Physics
3. Object type
4. Object Property
5. Controller
6. Action
7. Multi-Agent

A. Environment

A Survey of Embodied AI : From Simulators to Research Tasks Fig1

시뮬레이터의 envrionment를 구성하는 2가지 주요 방법은 다음과 같습니다.

1. Game-based scene construction (G)

2. World-based scene construction (W)

G의 경우 3D 모델링으로 만들어졌고, W의 경우는 environment와 object의 real-world scan으로 만들어졌습니다. 일반적으로 G의 경우는 잘 세분화된 물리 기능과 개체 클래스가 내장된 특징을 가지고 있고, W의 경우에는 현실 세계에 대한 더 높은 fidelity와 더 정확한 represnentation을 제공해서 sim-to-real에서 더 나은 성능을 보이기도 합니다. 

 

B. Physics

A Survey of Embodied AI : From Simulators to Research Tasks Fig2

시뮬레이터는 리얼한 환경을 만들어야 할 뿐만 아니라 Agent와 Object, Object와 Object 사이에서 리얼한 상호작용을 만들어야 합니다. 여기서는 2가지로 분류를 해볼 수 있습니다. 

1. Basic physics features (기본 물리 기능) (B)

2. Advanced physics features (고급 물리 기능) (A)

기본 물리 기능에는 충돌(collision), 강체 동역학(rigid-body dynamics), 중력 모델링(gravity modelling)이 구현되고, 고급 물리 기능에는 천 물리(cloth physics), 유체 물리(fluid physics), 연체 물리(soft-body physics)와 같은 기능들을 갖추고 있습니다.

 

C. Object Type

오브젝트 타입도 마찬가지로 2가지로 나눌 수 있습니다. 

1. Dataset-driven environment (D)

2. Object assets driven environment (O)

 

데이터셋 기반은 SUNCG, Matterport3D와 같은 기존 객체 데이터셋에서 나온 환경들이다. 일종의 벤치마크 데이터셋이라고 생각할 수 있고, 오브젝트 기반은 인터넷에서 온 오브젝트들이 주를 이룬다.(Unity 3D game asset store)

 

또한 데이터셋 기반의 경우 품질 보증, 일관성 있는 데이터 품질 유지 면에서는 장점이 있지만, 수집 비용, 지속 가능성 측면에서는 상대적으로 어려울 수 있고, 오브젝트 에셋 기반은 수집 비용이 낮고, 누구나 3D 객체 모델에 기여할 수 있어서 지속 가능성이 높습니다. 반면에 일관성 있는 품질을 유지하기가 어려울 수 있다는 단점이 있습니다. 

 

environment feature하고 연관을 지어보면, 대부분 Game-based -> Object assets, World-based -> dataset 인 경우가 많습니다. 

 

D. Object Property

오브젝트 속성의 경우 간단하게 기초적인 상호작용만을 제공하는지, 세밀한 상호작용을 적용하는지에 따라서 구분할 수 있는 feature입니다.

기초적인 상호작용만을 구분할 수 있으면, Interactable object : 충돌과 같은 기초적인 상호작용  (I)

세밀한 상호작용을 제공하면, Multiple-state object (사과를 얇게 썰면 -> 사과 조각으로 상태가 바뀜) (M)

 

E. Controller

A Survey of Embodied AI : From Simulators to Research Tasks Fig4

컨트롤러 부분에서는 유저와 시뮬레이터 사이에서 다른 컨트롤러 타입들이 있습니다.

- Python API controller (P)
- Virtual robot controller(R)
- Virtual reality controller (V)

 

F. Action

시뮬레이터에서 인공 Agent의 액션 능력의 복잡도에 따라 나눌 수 있습니다.

- Navigation (N)

가장 낮은 단계에 해당하고 이는 embodied ai 시뮬레이터에서 가장 흔한 기능입니다.

- Atomic action (A)

이는 인공 agent에게 관심 대상에 대한 기본적인 개별 조작을 수행하는 수단을 제공하며, 대부분 가능합니다. 

- Human-computer interaction (H)

인간이 가상 agent를 제어하여 실시간으로 시뮬레이션된 세계를 배우고 상호 작용할 수 있게 해 줄 수 있는 VR controller의 결과로 나타나는 것입니다. 

 

G. Multi-Agent

multi-agent setup은 AI2-THOR, iGibson and ThreeDWorld와 같은 시뮬레이터들이 가지고 있습니다.(다중 에이전트 강화학습 관련 연구가 부족하기 때문에, 셋업을 가지고 있는 시뮬레이터가 별로 없음)

일반적으로 시뮬레이터 부분에서, 다중에이전트가 여러 협업 또는 적대 task를 수행하기 이전에 object content가 풍부해야 하기 때문에, multi-agent를 지원하는 시뮬레이터가 부족한 경우라고 생각할 수 있습니다. 

 

여러 가지 시뮬레이터들

A Survey of Embodied AI : From Simulators to Research Tasks table1

5. Embodied Research Tasks

A Survey of Embodied AI : From Simulators to Research Tasks Fig5

research task는 간단하게 3가지로 나누는 경우도 있고, 더 자세하게 나누는 경우도 있습니다. 먼저 3가지로 나누면 Visual Exploration, Visual Navigation, Embodied QA로 나눌 수 있습니다. 

 

Aligning Cyber Space with Physical World: A Comprehensive Survey on Embodied AI, Fig3

세부적으로 나누면 위 그림과 같이 굉장히 많은 분야들이 존재합니다. 

 

A. Embodied Perception

Visual-Language Navigation은 Embodied Perception 카테고리 안에 있습니다. 계속해서 언급했듯, embodied perception이라는 것은, 단순히 이미지에서 오브젝트를 인식하는 것과 다르게 agent가 물리적 세계에서 이동하고 환경과 상호작용을 해야 합니다. 

 

그런데, 이미지는 2D space이고 변화가 거의 없지만, 실제 리얼 월드에서는 3D space이고 굉장히 다이나믹한 환경인 경우가 많습니다. 그렇기 때문에 embodied perception 측면에서는 3D space와 dynamic 환경에 대한 더 깊은 이해가 필요합니다. 

 

정리하자면, embodied perception 측면에서의 목표는 환경에서 정보를 수집하고 해석하는 능력을 개발하는 것이라고 정리할 수 있습니다. 에이전트는 다양한 센서를 통해서 시각적, 공간적 데이터를 수집하고, 이를 기반으로 환경을 이해하여 결정을 내립니다. 

 

해당 연구의 구성요소로 먼저 Visual SLAM(Simultaneous Localization and Mapping)이 있습니다. 이는 에이전트가 미지의 환경에서 자신의 위치를 추정하고 환경 지도를 생성하는 기술입니다. 

https://medium.com/@amirpourshafiee/introduction-to-slam-basics-c20c1a516c4

Visual perception system에서는 state estimation, scene perception,  environment exploration과 같은 기본적인 기술들이 필요한데, 주로 SLAM 분야에서 활발하게 연구가 이루어졌습니다. SLAM 연구 분야들이 로버스트한 active visual perception system을 가능하게 하는 기초가 됐습니다. 

 

SLAM은 원래 Range-based SLAM이라고 해서, rangefinders(레이저 스캐너, 레이더)를 이용해서 point cloud representation을 만드는 방법이 초기에 제안됐습니다. 하지만, 최근에는 rangefinders와 같은 비싼 장비들 보다 카메라를 사용해서 frame을 캡처하고 frame안에서 처리를 하는 방법이 주를 이루었다고 할 수 있겠습니다.  --> Visual SLAM

 

vSLAM에서는 전통적인 방법과 semantic을 합친 방법이 있고, 전통적인 방법은 이미지 정보와 지리적 정보만을 처리하지만, semantic 방법은 semantic information을 합쳐서 로봇의 인지와 네비게이션 능력을 크게 향상할 수 있었다고 합니다. 

 

 

https://biomedicalcomputervision.uniandes.edu.co/publications/indoor-scene-understanding-with-rgb-d-images-bottom-up-segmentation-object-detection-and-semantic-segmentation/

다음은 3D Scene Understanding 분야입니다. 이 분야는 3D 공간 내에서 객체를 구별하고, 위치를 파악하며, 그 객체의 기하학적 특성을 이해하는 기술입니다. 딥러닝 기반의 3D scene understanding 방법들은 주로 3D point를 image plane으로 projection하고 2D CNN-based Backbone을 사용해서 feature extraction 하는 projection-based, point cloud를 다이렉트로 처리하는 point-based , voxel grids로 변환해서 사용하는 voxel-based 방법이 있습니다. 

 

최근에는 Transformers-based 방법들과 Mamba-based 방법들이 나오고 있다고 합니다. 

 

perception 측면의 세부적인 분야의 마지막은 Active Exploration입니다. 이는 에이전트가 능동적으로 환경을 탐색하고 인식하는 과정 수동적 인식을 바탕으로 해서 에이전트가 주변 환경과 상호작용하며 더 많은 정보를 획득하도록 돕는 역할을 합니다. 

 

이전의 3D scene understanding 방법으로 에이전트는 수동적인 방법으로 환경을 인지할 수 있는 능력을 얻었습니다. 하지만, 이러한 경우에 perception system의 정보 획득과 decision-making은 변화하는 장면에 적응할 수가 없습니다. 에이전트가 움직일 수 있고, 주변과 빈번하게 상호작용할 수 있다는 점을 고려할 때, 에이전트가 능동적으로 환경을 탐색하고 인식할 수 있어야 하는데, 이를 연구하는 분야가 바로 Active Exploration입니다. (중요한 정보를 스스로 찾아서 인지한다.)

 

지금까지는 에이전트가 어떻게 환경을 인지하는지(입력의 측면)에서 분야들을 살펴봤습니다. 지금부터는 인지한 다음의 프로세스에 대해서 작성하려고 합니다. 

 

 

Aligning Cyber Space with Physical World: A Comprehensive Survey on Embodied AI, Fig8

 

3D Visual Grounding은 자연어 설명을 사용해서, 오브젝트의 위치를 특정하는 작업입니다. 보통은 one-stage, two-stage 방법으로 분류할 수 있는데, 초기에는 two-stage 방법을 많이 사용했습니다. two-stage detect-then-match pipeline으로도 불렸는데, 말 그대로 오브젝트를 detector를 사용해서 찾은 다음에 자연어 쿼리와 매칭하는 형식의 파이프라인입니다. 

 

Aligning Cyber Space with Physical World: A Comprehensive Survey on Embodied AI, Fig8

그런데 two-stage에서 proposal의 수를 정하는 것에 있어서 문제가 생깁니다. 만약에 sparse하게 진행을 한다고 하면, 그 안에서 실제 정답이 포함되어 있지 않은 경우 문제가 발생하고, dense 하게 진행을 하면, 매칭해야 할 오브젝트들이 너무 많아서 더 어렵게 만드는 문제가 있습니다. 그렇기 때문에, 최근에는 one-stage 방법을 많이 사용하는 추세인 것 같습니다. 

 

one-stage의 경우는 detection과 자연어 쿼리 가이드 feature extraction을 동시에 진행해서 문제를 해결하는 방식입니다. 

 

 

3D visual grounding을 통해서 visual 과 자연어를 연결시키는 작업을 할 수가 있게 됐습니다. 이런 상황에서 다음 분야는 Visual-Language Navigation 입니다. 

VLN은 에이전트가 unseen 환경에서 자연어 설명에 따라서 navigate 하는 작업입니다. 

 

VLN의 input은 보통 2가지로 구성되는데, visual information, natural language instruction입니다. 그래서 에이전트는 input으로 들어온 informations을 이용해서 하나 또는 여러 시리즈의 액션을 선택해서 instruction에서 주어진 요구사항을 만족하려고 해야 하는 것이고, 이를 수식으로 표현하면 다음과 같습니다. 

VLN의 평가지표로는 다음 3가지가 가장 많이 쓰이는 지표입니다. 

SR(success Rate)
: navigation performance를 직접적으로 나타내는 지표
TL(trajectory lenght)
: navigation efficiency를 나타내는 지표
SPL(success Weighted by path length)
: performance와 efficiency를 같이 나타내는 통합 지표

 

Embodied Interaction
   - 주요 목표: 에이전트가 환경과 상호작용하며 물리적 작업을 수행하는 능력. 이는 로봇이 주어진 작업을 수행하기 위해 환경과 물리적으로 접촉하고 조작하는 것을 포함한다.
   - 구성 요소:
     - Physical Object Interaction: 에이전트가 물리적 객체를 조작하고 상호작용하는 과정. 예를 들어, 물건을 집거나 이동하는 작업 등이 포함된다.
     - Human-Robot Interaction: 로봇이 사람과 의사소통하고 협력하여 작업을 수행하는 과정. 자연어 처리와 감정 인식이 중요한 역할을 한다.
     - Task-Specific Interactions: 특정 작업을 수행하기 위해 필요한 상호작용. 예를 들어, 산업 로봇이 조립 작업을 수행하거나 가정용 로봇이 청소 작업을 수행하는 것 등이 해당된다.

Embodied Agent
   - 주요 목표: 환경 내에서 자율적으로 행동하고 학습하며, 인간의 명령을 이해하고 수행하는 인공지능 에이전트.
   - 구성 요소:
     - Multi-modal Large Models (MLMs): 시각, 청각, 언어 등 여러 입력 모드를 처리하고 통합하여 에이전트가 더 복잡한 작업을 수행할 수 있도록 하는 대형 모델.
     - World Models (WMs): 에이전트가 물리적 세계의 법칙을 이해하고, 그에 따라 행동을 예측하고 계획을 세우는 모델. 이는 에이전트가 시뮬레이션과 현실 환경 사이에서 학습한 내용을 적용할 수 있게 돕는다.
     - Task Planning and Execution: 주어진 작업을 계획하고, 필요한 절차를 실행하는 능력. 여기에는 상황 인식, 경로 계획, 작업 분해 등이 포함된다.

Sim-to-Real Adaptation
   - 주요 목표: 시뮬레이션 환경에서 학습된 모델을 실제 환경에서 적용할 수 있도록 하는 과정.
   - 구성 요소:
     - Realistic Simulators: 실제 환경과 유사한 높은 현실감을 제공하는 시뮬레이터. 이는 에이전트가 시뮬레이션에서 얻은 경험을 실제 세계에 적용할 때 발생하는 차이를 줄이는 데 필수적이다.
     - Domain Randomization: 시뮬레이션에서 다양한 변화를 주어 모델이 여러 상황에 잘 적응할 수 있도록 하는 기술. 예를 들어, 조명, 텍스처, 물체의 위치 등을 무작위로 변경함으로써 학습의 일반화를 도모한다.
     - Transfer Learning: 시뮬레이션에서 학습된 지식을 실제 환경에 전이하여 사용할 수 있도록 하는 기법. 이는 시뮬레이션과 실제 환경 간의 차이를 극복하기 위한 중요한 방법론이다.

 

 

마치며...

VLN까지의 간략하게 연구 분야들을 정리를 해봤는데, VLN의 방향으로 더 디테일하게 살펴보면서 다음 포스팅 준비하도록 하겠습니다. 

감사합니다. 

'AI' 카테고리의 다른 글

RNN, Sequence-to-Sequence model  (0) 2024.11.04
인공지능 기초 Optimization  (0) 2024.10.26
Supervised Learning 기초  (6) 2024.10.11
Embodied AI : Vision-Language Navigation Challenges  (3) 2024.09.28
Embodied AI : Next-Gen AI System(1)  (0) 2024.08.10