• 주제 : Walk Lizzie, walk! - Emergent physics-based animations through Reinforcement Learning
  • 강연자 : 조지 델 발 산토스 - 엠바크 스튜디오 / Embark Studios
  • 발표분야 : 프로그래밍
  • 권장 대상 : 모든 수준의 AI/게임플레이/애니메이션 프로그래머 및 기술 애니메이터
  • 난이도 : 기본적인 사전지식 필요


  • [강연 주제] 본 세션에서는 자동 애니메니션에 대한 새로운 강화 학습 접근 방식을 소개합니다. 어떤 애니메이터도 관여하지 않고, 버튼을 클릭하기만 하면 디지털 창작물이 스스로 학습할 수 있도록 함으로써 창작물에 생명을 주는 방법을 보여드리고자 합니다. 이와 같은 패러다임 하에서, 애니메이션은 더 이상 출발점이 아니라 해부학의 새로운 특성이 될 것입니다. 창작물의 움직임은 이제 고전적인 애니메이션이라기보다는 로봇 공학과 더 비슷해집니다. 우리의 비전인 '누구나 창조할 수 있도록 하기'에 향하는 과정에서 맞닥뜨린 문제와 해결 방법, 결과를 여러분에게 소개합니다.

    이번 NDC 2022를 통해 강연에 나선 조지 델 발 산토스는 신작 게임 '아크 레이더스'를 개발하고 있는 엠바크 스튜디오의 설립부터 함께 한 선임 연구 엔지니어이다. 그는 커리어 전반에 걸쳐 게임 개발은 물론 기타 산업의 맥락에서 자동 애니메이션 콘텐츠 생성과 이벤트 예측에 이르는 다양한 문제에 적용 가능한 머신 러닝 기술 연구 개발에 종사해 왔다.

    본 강연을 통해, 조지 델 발 산토스는 엠바크 스튜디오에서 개발하고 있는 '아크 레이더스'에 적용한 자동 애니메이션 기술을 작고 귀여운 도마뱀 '리지'의 사례로 설명한다. 애니메이터의 관여 없이, 창조물이 스스로 생각하며 움직일 수 있도록 만드는 기술을 어떻게 이룩할 수 있었는지 그의 설명을 들어보자.




    ■ PART #1 - 기존 애니메이션 과정의 문제점


    강화 학습을 통해 임의의 생명체에게 물리 기반 애니메이션을 부여하는 방법을 이야기하기에 앞서, 기존 창작물에 애니메이션을 삽입하는 과정에 있는 문제점을 짚고 넘어가야 한다. 이번 강연은 도마뱀 모양 창작물인 리지(Lizzie)를 사례로 들기로 했으므로, 일반적으로 3D 도마뱀을 움직이기 위한 과정은 다음과 같았다.

    창작자가 살아있는 도마뱀을 만들고 싶다고 생각한다면, 먼저 도마뱀을 구성하는 애셋이 필요하고, 이를 리깅한 다음 애니메이터에게 가서 도마뱀의 움직임을 구현해달라고 부탁하는 과정이 이어진다. 하지만, 이런 방식으로는 살아있는 도마뱀을 만들 수는 있지만, 그 결과물이 '물리학'에 기반을 두었는지에 대해서는 또 다른 과정이 필요하게 된다.


    물리학에 기반한 도마뱀은 위와 같은 과정에 더해, 역운동학이나 그 비슷한 요소를 적용해 도마뱀의 각 움직임을 물리학의 영역으로 옮기는 작업이 수반된다. 그러고 나서는 도마뱀의 움직임이 현실의 그것을 닮을 때까지 디테일한 영역을 수정하는 작업을 거치는 식이다.

    하지만, 모두가 알고 있듯 애니메이션 하나를 만드는 것은 엄청난 작업이고, 애니메이션의 수가 늘어나면 늘어날수록 이를 완성하기 위해선 애니메이터의 수를 늘리는 것 외에는 별다른 뾰족한 수가 없는 것이 사실이다. 더욱이 목표로 하는 창작물이 '특정 세계에서 누구나, 무엇과도 상호작용할 수 있는 것'일 경우, 무한한 수의 상호작용만큼 이에 반응할 수 있는 무한한 수의 애니메이션 또한 필요하게 된다.

    조지 델 발 산토스 엔지니어는 위와 같은 문제를 해결하기 위한 방법으로 창작한 생명체가 스스로 학습하게 하는 법을 설명하며, 끝으로는 어떻게 '아크 레이더스'에 적용할 수 있었는지 강연을 이어나가기 시작했다.


    ■ PART #2 - 생명체가 스스로 생각할 수 있도록 '두뇌' 만들어 주기


    이제 우리의 도마뱀 친구 '리지'가 등장할 차례다. 리지는 그저 물리적인 관절이 겹겹이 쌓인 프리미티브 집합이다. 예를 들면 다리가 있는 로봇과 같으며, 움직이기 위해서는 각 관절에 알맞은 힘을 줘야 하는 생명체라고 볼 수 있다.

    당면한 과제는 리지가 도마뱀처럼 제대로 움직이게 만드는 것이고, 이를 해결하기 위해서는 리지가 스스로 아무 의미 없이 팔다리의 위치를 바꾸는 것만으로는 움직이는 것이 불가능하다는 것을 기억하게 하는 것이다. 앞으로 나아가려면 각각의 다리에 어떤 물리력이 적용되어야 할지는 스스로 판단하게 만들어야 한다. 어떻게 보면 더이상 애니메이션의 영역이 아닌 로봇 공학에 더욱 근접한 것처럼 들리기도 한다.

    리지가 스스로 생각하기 위해서는 '두뇌'가 필요한데, 여기서 말하는 두뇌는 상황에 따라 어떤 행동을 취할 것인지 지시하는 일종의 컨트롤러 역할을 하게 된다. 이 두뇌가 작동하기 위해서는 먼저 주변 상황과 움직임에 관련된 모든 정보를 수집한 리스트가 필요하다. 예를 들어, 팔을 움직이려면 최소한 지금 팔이 어디있는지, 또 어디로 이동하고싶은지를 알아야 하는 것처럼 말이다. 따라서, 리지의 신체 각 부위의 위치와 관절 방향 등, 생명체의 움직임과 관련이 있다고 판단되는 모든 데이터가 필요하며, 두뇌는 이 데이터를 바탕으로 계산을 수행해 또 다른 데이터 목록, 즉 '행동'을 만드는 역할을 하게 된다.


    두뇌의 역할을 쉽게 정리하면, 관찰 값마나 특정한 행동을 연결하는, 지극히 일반적인 연산을 수행하는 입력-출력의 관계라고 볼 수 있다. 제곱연산은 모든 숫자를 출력의 제곱과 연결짓는 입력-출력 관계이고, 합연산은 모든 숫자의 목록과 그것의 합을 연결짓는 입력-출력 관계인 것처럼 말이다.

    다만, 리지의 두뇌는 '신경망'이라고 부르는 특별한 입력-출력 관계로 구성된다. 신경망이 특별한 입출력 관계인 이유는 '매개변수'의 존재 때문인데, 이 매개변수의 변화에 따라 신경망은 어떠한 입력-출력 관계로든 변화할 수 있기 때문이다.

    리지의 두뇌가 맨 처음 전제했던 무한한 상호작용에 대응하기 위해서는, 상황에 따라 매개변수 또한 달라져야 한다. 그리고 강화 학습은 이러한 매개 변수를 계산할 수 있게 해 주는 분야로, 그 자체로는 무의미한 상자에 지나지 않는 신경망을 유용한 컨트롤러, 즉 두뇌로 만들어 주는 데 아주 중요한 역할을 한다.



    ■ PART #3 - 강화 학습, 가장 중요한 것은 적절한 보상


    강화 학습에 대해서 이야기하기 전에 앞서, 관찰에 따른 '올바른' 행동이라는 무엇인지 생각해볼 필요가 있다. 우리는 리지를 비롯한 창조물이 상황에 따라 올바른 행동으로 반응하기를 원하는데, 이 올바름에 대한 모든 것은 '보상(reward)'에서 시작한다는 것이 조지 델 발 산토스 엔지니어의 설명이다.

    보상 함수는 일종의 인센티브로, 생명체가 관찰-행동 과정을 취한 다음 그 행동이 좋았는지 나빴는지를 프레임 단위로 평가하는 함수다. 예를 들어 생명체가 목표를 향해 걸어가면 인센티브로 쿠키를 주는 함수를 만들었다고 생각해 보자. 프레임에서 생명체가 목표 지점에 가까워지면 쿠키 2개를 주고, 목표 지점을 쳐다보면 쿠키를 하나 준다. 그리고 프레임 안에서 넘어질 경우 쿠키 100개를 차감하고, 목표 지점에 도달할 경우 쿠키를 200개를 준다는 명령을 함수로 지정하는 것이다.

    이렇게만 봐도 생명체가 더 많은 쿠키를 얻고 싶다면 보상 함수에 따라 작업을 수행할 것이라고 판단할 수 있다. 여기서 더 중요한 것은 미래에 보상을 극대화 하는 것인데, 간편하게 생애주기동안 얻을 수 있는 쿠키의 총합을 '가치'라고 부르자. 이제 이 생명체의 행동이 앞으로 얼마나 더 많은 쿠키를 얻을 수 있는지는 가치를 가지고 평가를 내릴 수 있게 된다.


    생명체의 행동에 따른 가치를 극대화하는 방법으로는 기본적으로 두뇌의 매개변수를 일일이 바꿔보는 작업을 생각해 볼 수 있지만, 단순히 여러 두뇌를 시도해 보며 앞으로 천 걸음동안 얻게 될 쿠키의 양을 시뮬레이션하는 것은 어마어마한 비용이 발생한다.

    강연자는 이 때 필요한 패러다임으로 '행위자-비평가' 알고리즘이라고 부르는 방법을 제시했다. 해당 패러다임은 두 개의 네트워크로 구성되는데, 그 중 하나가 관찰 값을 연산해 행동을 만들어내는 두뇌(행위자)다. 또 다른 하나는 '가치망'이라고 부르는 네트워크가 필요한데, 이 가치망은 행위자가 앞으로 얼마나 더 많은 인센티브를 얻을 수 있을지를 추정하여 평가한다. 즉, 비평가의 역할을 맡는 셈이다.

    이 두 가지 네트워크가 서로 상호작용하게 되면, 가치망은 끊임없이 앞으로 행동에 따른 가치를 추정하려고 할 것이며, 행위자는 비평자 네트워크가 좋다고 평가하는 행동을 극대화하는 방법으로 강화 학습이 이루어지게 된다.


    ■ PART #4 - 더 복잡한 환경에서도 강화 학습은 가능하다


    위와 같은 일련의 패러다임 속에서, 우리의 작은 도마뱀 리지는 먼저 무작위의 두뇌로 무작위를 행동을 취한다. 이 시간동안은 가치함수가 학습을 하면서 무작위 행동 중 어느 것이 미래에 더 좋은 보상으로 이어지는지 배우는 과정을 거친다. 시간이 지남에 따라 더 좋은 결과를 내는 행동을 파악한 두뇌는 당면한 과제에 대해 합리적인 행동을 하는 모습을 보이게 된다.

    약 네 시간 정도 경과한 이후, 리지는 목표를 향해 안정적으로 움직이는 것은 물론 현실 속 도마뱀과 유사하게 움직이는 방법을 스스로 터득하는 모습을 보여줬다. 특히, 위의 모든 과정은 꼭 도마뱀 리지에만 적용되는 것이 아니라 어떤 형태의 창조물에도 적용 가능하다는 것이 강연자의 설명이다.

    이어 조지 델 발 산토스 엔지이어는 리지 대신 물개 모양의 생명체, 사람 손 모양 생명체에게 동일한 패러다임을 적용한 결과를 보여주며 설명을 이어갔다. 놀랍게도 이들 모두 스스로 가치를 판단하며 실제 물개와 손(엘든 링의 손 모양 괴물을 생각하면 편하다)처럼 움직이는 모습을 보여줬다. 또한 그는 걷는 방법보다 넘어지는 방법이 더 많은 이족보행 생명체의 경우도 더 복잡한 알고리즘이나 추가 데이터를 사용하지 않고, 더욱 적절한 보상과 많은 학습 시간 안배를 통해 스스로 걷게 하는데 성공했다고 덧붙였다.

    ▲ 도마뱀이 아닌 물개도

    ▲ 심지어 손도 목표 지점을 향해 스스로 생각하며 움직이게 만드는 것이 가능

    물리 법칙이 바뀌어도 위의 패러다임은 크게 달라지지 않았는데, 실시간으로 비행하는 생명체의 사례가 바로 그 예다. 실시간으로 실행 가능한 공기 역학 구조와 함께 새를 연구한 논문에서 발췌한 날개의 공기역학을 참고하여 실험해본 결과, 판처럼 생긴 날개를 가진 생명체는 목표 지점을 향해 실시간 물리학에 기반하여 비행을 하는 모습을 보여준 것이다.

    조지 델 발 산토스 엔지니어는 이러한 과정 전반에 걸쳐 "애니메이션은 더 이상 생명체의 움직임을 만드는 시작점이 아니라, 해부학의 창발적인 속성이라는 점을 명확히 할 필요가 있다"고 강조했다. 도마뱀 리지의 사례에서처럼 해부학적으로 정확한 모델을 창작할 경우, 두뇌가 스스로 학습해 움직이는 것으로 실제 도마뱀과 유사한 움직임을 모방하는 것이 가능하다는 것이다.

    다만 이와 같은 방법의 단점으로는 창조물의 세부적인 움직임까지는 제어하기 힘들다는 점을 꼽았다. 이 방법은 A 지점부터 B지점까지 이동하거나, 특정 행동을 보상 체계에 따라 수행하도록 한 것으로, 동작 실행 중 미세한 꼬리의 흔들림과 같은 세부 사항들을 어느 정도 포기가 필요하다는 것이 그의 설명이다.

    또한, 그는 걷는 것 외에 다른 행동을 유도하는 고급 제어 문제에 대해서는 더욱 세밀한 보상 체계 설정이 중요하며, 울퉁불퉁한 지형과 같이 복잡한 환경을 맞닥뜨리기 이전에 커리큘럼에 따른 강화 학습을 진행하는 것이 중요하다고 강조했다. 인간의 교육 과정과 비슷하게, 창조물들 또한 어려운 과제를 수행하기에 앞서 쉬운 난이도의 과제부터 적절하게 난도를 올리는 것이 필요하다.


    ■ PART #5 - "거기 딱 기다리십시오, 휴먼"

    ▲ 그렇게 탄생한 스스로 생각하며 움직이는 로봇, '와사비'

    강연을 마무리하며, 조지 델 발 산토스 엔지니어는 엠바크 스튜디오에서 개발중인 신작 '아크 레이더스'에 등장하는 거대 로봇 '와사비'의 사례를 함께 공유했다.

    와사비는 아크 레이더스 트레일러에도 잠깐 등장한 적 있는 거미 형태의 대형 로봇으로, 위에서 설명한 것과 마찬가지로 보상 체계에 따라 스스로 행동하는 방법을 깨우친 창조물 중 하나다. 체계적인 학습 훈련으로 복잡한 지형도 문제 없이 다닐 수 있도록 설계된 것은 물론, 플레이어에게 위협을 줄 수 있도록 많은 부분에서 조정이 이뤄졌다.

    특히, 트레일러 장면에서는 플레이어의 공격으로 다리 한 쪽이 떨어지는 장면을 확인할 수 있는데, 이 경우에도 와사비는 떨어진 다리에 영향을 받는 환경을 관찰하고, 가장 높은 보상을 받을 수 있는 방법으로 알아서 움직이게 된다. 실제 게임 내에서 이들에게 주어질 보상이 어떤 것인지는 아직 알 수 없으나, 플레이어들이 기존에 접해 왔던 것과는 다른 움직임을 보여줄 것으로 기대된다.

    ▲ "지금 때린 거 다 공부하고 있습니다 휴먼"