2021-05-26
‘유니티 머신러닝 에이전트 v2.0’에서 협동형 동작을 훈련시키는 모습 (사진제공: 유니티)
세계적으로 가장 널리 사용되는 실시간 3D 콘텐츠 제작 및 운영 플랫폼을 제공하는 유니티(unity.com/kr)가 복잡한 프로그래밍과 코딩 없이 쉽고 편리하게 다양한 종류의 인공지능 프로그램과 앱, 게임 등을 개발할 수 있는 소프트웨어 개발 키트(SDK, software development kit)인 ‘유니티 머신러닝 에이전트(Unity Machine Learning Agents, 이하 ML 에이전트) v2.0’을 공개했다.
2017년 처음 출시된 유니티의 ML 에이전트는 유니티가 인공지능 플랫폼으로 진화할 수 있는 발판을 마련해주었다. 개발자들은 ML 에이전트를 활용해 복잡한 상황을 시뮬레이션하고 결과를 스스로 학습하는 연구 프로그램을 만들거나, 자가 학습을 통해 스스로 동작하는 콘텐츠가 포함된 게임 등을 만드는데 활용한다.
ML 에이전트는 지난 한 해 동안 15차례가 넘는 업데이트를 통해 성능이 더욱 향상되었다. 이번에 새롭게 공개된 ML 에이전트 v2.0의 주요 개선 기능은 협동형 동작을 훈련시키는 기능, 에이전트가 환경 내 다양한 엔티티를 관찰하는 기능, 여러 작업을 훈련하도록 지원하는 작업 파라미터화 기능이다. 새로운 개선 사항들을 통해 ML 에이전트 v2.0은 복잡한 협동형 환경을 더 완벽하게 지원한다.
최근 선풍적인 인기를 끌었던 어몽 어스(Among Us)와 같은 멀티플레이어 게임 환경에서는 플레이어들이 협동을 통해 주어진 과제를 해결해야 한다. 그런데 이전까지는 공동의 목표를 가진 특정 에이전트 그룹의 정의가 불가능해 직접적으로 승리에 기여하지 않은 에이전트조차 승리 보상을 받게 되므로 에이전트가 독자적으로 무엇을 해야 할지 학습하기가 어려웠다. 유니티는 새로운 다중 에이전트 트레이너(Multi-Agent POsthumous Credit Assignment)의 개발을 통해 팀 전체를 대상으로 계속 보상을 지급하면서도 에이전트가 공동 목표에 최대한 기여하는 방법을 학습하도록 하는 기능을 추가했다.
또 그간 개발자들의 요구가 가장 많았던 기능 중 하나로, 게임 캐릭터가 다양한 수의 엔티티(entity)에 반응할 수 있도록 하는 기능이 업그레이드되었다. 엔티티는 사물의 구조나 상태, 동작 등의 구성 요소를 일컫는다. 게임 내 캐릭터는 여러 적이나 아이템을 동시에 다루는 방법을 학습하는 경우가 많은데, 업그레이드 기능을 통해서는 이러한 엔티티 간의 관계를 기반으로 엔티티의 중요성을 배울 수 있다.
작업 파라미터화 기능은 여러 작업을 한 번에 완료할 수 있도록 하나의 모델에 훈련을 가능하게 한 기능이다. 게임 캐릭터는 다양한 게임 모드에서 여러 작업을 해야 할 때가 있다. 이 경우 여러 행동을 개별적으로 훈련시킨 다음 훈련된 모델들을 상황에 맞게 전환하는 방법이 있지만 복수의 작업을 한 번에 완료할 수 있는 단일 모델을 훈련시키는 것이 보다 바람직하다. 단일 모델을 사용하면 최종 게임에서 메모리 할당 공간을 줄일 수 있고, 여러 작업에서 신경망의 일부를 재사용하여 전반적인 훈련 시간을 단축할 수 있기 때문이다.
유니티 ML 에이전트에 관한 자세한 내용은 공식 홈페이지(unity.com/kr/products/machine-learning-agents)를 통해 확인 가능하다.
에디터_ 정석원 편집주간(jsw@jungle.co.kr)