로봇이 코딩으로 입력한 실행 방법을 따라서 작업을 완수하는 것은 이제 옛날 방식이 되어버렸죠.
미래형 로봇은 사람이 어떻게 행동하는지를 지켜보고 실행 방법을 직접 배운답니다.
지난 주에 열린 GPU 테크놀로지 컨퍼런스(GPU Technology Conference)에서 스탠포드 대학교의 아니메쉬 가르크(Animesh Garg) 및 마리넬 바즈케즈(Marynel Vázquez)는 “로봇의 이동 및 조작을 위한 일반화 가능 자율성(Generalizable Autonomy for Robotic Mobility and Manipulation)”을 주제로 한 대담에서 자신들의 연구 내용을 공유했는데요.
일반화 가능 자율성이란, 쉽게 말해 로봇이 인간의 행동을 관찰해 다양한 작업 및 상황에 적용할 수 있는 방식으로 모방하도록 학습한다는 개념입니다.
어떠한 종류의 상황을 의미하는 걸까요? 유튜브 동영상을 보며 요리를 배우는 것이 좋은 예인데요. 다른 곳으로 가기 위해 사람들이 붐비는 공간을 통과하는 방법을 고민하는 것도 예시로 들 수 있겠죠.
요리 배우기
스탠포드 대학교 시각 및 공간 연구소(Computational Vision and Geometry Lab, 이하CVGL)의 박사 후 연구원인 가르크는 요리하는 것을 좋아합니다. 로봇을 좋아하기도 하지요. 하지만, 다가오는 미래에 할 수 있는 요리가 하나로 정해진 로봇이 나온다면 그다지 반길 만한 일이 아니라고 생각했습니다.
현재로선 한 가지 일을 월등하게 잘 해내는 로봇이 대세지만, 가르크는 “다목적 로봇의 꿈”을 달성하려 노력하고 있습니다.
이 꿈을 이룰 수 있는 길은 새로운 메타러닝(meta-learning) 접근 방식인 뉴럴 태스크 프로그래밍(Neural Task Programming, NTP)에 달려있을 지도 모릅니다. NTP에서는 계층 구조를 활용해 모듈식 로봇 API로 프로그래밍하도록 학습하여, 하나의 시범 사례만으로 처음 접하는 작업을 수행할 수 있습니다.
예를 들면, 로봇 셰프가 조리법 동영상을 입력 자료로 받으면 계층 구조식 뉴럴 프로그램을 이용해 해당 동영상 자료를 세분화하는데요. 가르크 연구원은 시각적 신호와 시간적 순서에 따라 작업을 구조적으로 표현하는 것이라고 설명합니다.
이 경우 로봇은 미트볼 스파게티를 만드는 요리법만 학습한다기보다는 해당 작업을 구성하는 하위 동작 또는 요소를 모두 이해하게 됩니다. 이렇게 되면, 초보 로봇 요리사는 물 끓이기, 미트볼 굽기, 소스 끓이기 같은 기술을 다른 상황에 적용할 수 있습니다.
가르크 연구원이 메타러닝이라고 부르는 이 방식에서 핵심은 작업 사례가 아닌 작업 영역을 해결하는 것입니다. NTP는 구조화된 계층적 접근 방식으로 이미 전도유망한 성과를 보여주고 있는데요. 처음 접하는 작업에서는 평면식 프로그래밍을 크게 앞지르고 접해본 작업에서도 큰 차이 없이 우수한 수행 능력을 보여줍니다. 자세한 기술적 세부 정보는 해당 프로젝트의 GitHub에서 확인할 수 있습니다.
길이 많이 붐비나요? 로봇을 따라가세요
사람이 붐비는 공간을 통과하려다가 갑자기 반대편에서 오던 누군가와 정면으로 맞닥뜨린 경험, 누구나 겪어봤을 텐데요.
비켜가기 위해 오른쪽으로 움직였더니 상대방도 똑같은 방향으로 움직여 가로막힙니다. 본능적으로, 두 사람 다 다른 방향으로 움직여서 또 한번 가로막히지요.
어색한 순간을 모면하고자 누군가 “우리 춤추는 건가요?” 농담을 던지고, 마침내 서로 비켜서면서 각자의 길을 갑니다.
붐비는 곳을 지나갈 때 사람이 자신의 움직이는 방식을 결정하는 과정 및 이유를 파악하기란 다소 어려울 수 있습니다. 로봇에게 그 규칙을 이해하도록 가르치기란 정말 쉽지 않은 일이죠. 바즈케즈 연구원과 CVGL의 소셜 네비게이션 로봇 잭래봇(Jackrabbot)이 등장할 차례입니다.
잭래봇은 2015년 처음 보행자용 인도에 도입되었는데요. 시간당 5마일 이하의 보행자 속도로 움직이며 소형 화물의 배송과 이동을 수행했습니다. 바즈케즈 연구원의 설명에 따르면, 잭래봇은 캠퍼스에서 자주 보이던 산토끼(jackrabbit)에서 이름을 따온 것으로 잭래봇은 군중 속에서의 인간 동작 예측이라는 복잡한 문제를 해결하기 위한 하나의 수단이었습니다.
자율주행차가 실세계의 구조화되지 않은 공간을 돌아다니도록 학습시키는 작업은 다면적인 문제입니다. 바즈케즈 연구원은 “안전이 최우선 사항”이라고 합니다. 그러다 보니 많은 사람들의 움직임을 예측하고 이에 즉시 대응하는 것이 도전과제가 되는 것이죠.
안전 문제를 해결하기 위해, 이들은 딥 러닝으로 눈을 돌려 GAN(generative adversarial network)을 개발했는데요. 잭래봇의 카메라에서 생성된 실시간 데이터를 GAN에서 생성한 이미지와 즉시 비교하는 네트워크입니다.
해당 이미지들은 통로에 닫힌 문이 없거나, 가구가 여기저기 배치되어 있거나, 혹은 사람들이 서 있는 것처럼 통과해도 괜찮은 영역인지 등 잭래봇이 보게 되는 장면을 보여줍니다. 실제 이미지가 이상적인 이미지와 일치하면, 잭래봇은 계속해서 이동합니다. 그렇지 않으면 멈추게 되죠.
이 단계에서, 연구진은 멀티 타겟 태스킹으로 눈을 돌렸습니다. 이른 바 “Tracking the Untrackable”라고 불리는 작업인데요. 우아하게 군중을 뚫고 지나가려면 즉각적으로 “진행로가 비어 있는지” 판단하는 것을 넘어, 다양한 방향으로 이동하는 여러 사람들을 추적하고 이들의 다음 이동 경로를 예측해야 합니다.
여기서 연구진은 장단기 메모리 접근 방식을 이용해 재귀 신경망(Recurrent Neural Network, 이하 RNN)를 구축해 시간에 따라 측정한 모습, 속도, 인터랙션 및 유사성 등 다양한 신호를 처리했습니다.
한 발표 논문에서는 CVGL이 고안해낸 접근 방식, 즉 사람들이 복잡한 곳에서 관찰하는 상식적인 행위를 학습한 후 학습한 내용을 이용해 각자 다음에 향하게 될 “인간 이동 경로”를 예측하는 방식의 기술을 철저히 파헤치고 있습니다.
혹시라도 낯선 사람들로 꽉 찬 공간에서 “우리 춤추는 건가요?”라며 어색한 농담을 건네게 되는 순간을 마주하게 되면, 시간의 흐름에 따라 다양한 신호를 추적해 눈앞에 보이는 모든 사람들의 이동 경로를 예측하는 것을 시도해보세요.
그것이 어렵다면, 간단하게 잭래봇을 찾아 그 뒤만 따라가면 됩니다. 최근 새롭게 발표된 엔비디아 GPU를 듀얼로 장착한 잭래봇 2.0은 정확히 붐비지 않는 경로를 안내해 줄 것입니다.
이미지 출처: Stanford Vision and Learning Lab.