Search Unity

유니티는 2월에 옵스타클 타워 챌린지(Obstacle Tower Challenge) 1라운드를 개최했습니다. 1라운드가 종료된 후 집계 결과, 무려 350개 이상의 팀으로부터 2,000개 이상의 출품작이 제출되었습니다. 1라운드에 참여해 주신 모든 참가자 분들께 감사드리며, 2라운드에 진출할 자격을 얻은 분들께 축하의 말씀을 전합니다. 이제 새로 시작되는 옵스타클 타워 2라운드를 공개합니다.

2라운드에 진출한 팀을 대상으로 오늘부터 옵스타클 타워 챌린지 2라운드가 시작됩니다. 이번 라운드에 참여하는 팀은 이전에는 없었던 새로운 유형의 타워에서 평균 점수 5점을 달성할 수 있는 에이전트를 훈련하고 제출했습니다. 이는 지난번 블로그 게시글에서 설명해 드렸듯이 매우 뛰어난 점수입니다. 2라운드에 진출하신 모든 팀에게 축하의 말씀을 드리며, 진출팀에 GCP 크레딧을 제공한 Google Cloud Platform과 챌린지를 주최한 AICrowd 파트너 분들께 감사드립니다.

 

유니티는 챌린지 2라운드에 발맞춰 옵스타클 타워 환경의 2.0 버전도 출시할 예정입니다. 타워의 층수를 25층에서 100층으로 늘렸으며, 새로운 층에는 다양한 새 비주얼 스타일, 장애물, 풀어야 하는 퍼즐과 피해야 하는 적이 포함되어 있습니다. 또한 유니티는 AI 관련 일반화(generalization)를 연구하는 연구팀을 위해 환경을 커스터마이즈할 수 있는 기능을 크게 확장했습니다. 1라운드를 통과한 상위 팀만 챌린지 2라운드에 진출하지만, 누구나 최신 버전을 다운로드하여 사용하실 수 있습니다. 2라운드가 끝나면 옵스타클 타워 환경을 오픈 소스로 공개할 예정입니다.

Obstacle Tower Environment v2.0 적용된 새로운 특징

층수 확장

먼저 옵스타클 타워 환경이 확장되어, 에이전트는 아직까지 본 적이 없었던 새로운 조합과 층 전체에서 일반화를 수행할 수 있어야 합니다. 기존 타워 버전 환경에는 25층까지밖에 없었지만, 새 버전에는 100층까지 추가되었습니다. 새롭게 추가된 층은 인더스트리얼, 모던, 퓨처라는 총 세 가지의 비주얼 스타일로 구성되어 있습니다.

이렇게 타워 층수가 높아지면서 다양한 비주얼 스타일만 추가된 것이 아니라  도전 과제도 추가되었습니다. 낮은 층에 있었던 모든 메카닉스는 그대로 표시되고, 고층의 난이도는 더 높아졌습니다. 이러한 메카닉스 외에도 층마다 피해야 할 적, 집중을 방해하는 TV, 경로가 보다 복잡한 층 레이아웃, 그리고 더 넓은 공간과 더 많은 플랫폼 도전 과제가 높은 층에 포함되어 있습니다.

비주얼 스타일(인더스트리얼, 모던, 퓨처)

새로운 장애물과 방해물

파라미터 재설정을 통한 환경 커스터마이징

기존의 옵스타클 타워 릴리스에서는 Python API를 통해 시작 층과 초기화 시드만 변경할 수 있었습니다. 2.0 릴리스에서는 환경 재설정 시 커스터마이즈 가능한 파라미터의 수가 크게 증가했습니다. 여기에는 조명, 비주얼 테마, 층 레이아웃, 방 내부 물품 등을 변경할 수 있는 기능이 포함됩니다.

1라운드 피드백이 반영된 개선 변경 사항

챌린지 1라운드를 진행하는 동안 사용자의 피드백을 반영하여 여러 부분을 변경할 수 있었다는 점이 매우 의미가 있었습니다. 이들 중 상당수는 참가자가 직접 버그를 신고하거나 기능을 요청한 것이었으나, 에이전트가 게임에서 점수를 극대화하는 방법을 학습하는 중에만 발견할 수 있는 버그와 관련된 변경도 몇 개 있었습니다. 한 가지 피드백을 공유드리자면 퍼즐 방의 재설정 버튼 배치가 직관적이지 못하다는 것이었습니다. 그래서 이번 릴리스에서는 방에서 블록, 목표 및 재설정 버튼의 위치를 분리하여 에이전트가 실수로 재설정 버튼을 누르지 않도록 개선하였습니다.

바로 다운로드하여 사용 가능

옵스타클 타워 환경은 기본적으로 Unity ML-Agents 툴킷을 지원하며, 여기에서 다운로드할 수 있습니다. 일반적인 문제나 환경 자체에 대한 논의는 Github 리포지토리를 참조하시기 바랍니다. 환경에 대한 자세한 내용은 연구 논문을 참고하시기 바랍니다. 오픈 소스 릴리스에 관심 있는 분들을 위해, 2라운드가 종료되고 나면 Unity 프로젝트용 전체 소스 코드를 공개할 예정입니다. RL(강화 학습) 연구를 더욱 발전시키기 위해 연구원과 커뮤니티가 옵스타클 타워 환경을 더욱 확장할 수 있는 기반을 제공하는 것이 유니티의 목표입니다. 또한 확장된 재설정 파라미터를 통해 머신러닝을 연구하시는 분들이 보다 유연하게 사용할 수 있기를 바랍니다. 여러분들이 앞으로 환경을 어떻게 새롭고 획기적인 방식으로 사용할지 매우 기대됩니다.

마지막으로 Obstacle Tower Environment v2.0를 개선하는 데 도움을 주신 모든 분들께 감사의 말씀을 드립니다.

2라운드 결선 진출팀 소개

2라운드에 진출하신 모든 팀에게 축하의 말씀을 전합니다! 몇 달 전 처음 챌린지를 시작했을 때만 해도 타워를 몇 층까지 오를 수 있을지 예상하지 못했습니다. 하지만 상위권을 차지한 팀에서 제출한 에이전트가 열쇠를 찾고 사용하는 메카닉스를 완전히 터득했을 뿐 아니라 블록을 밀어 퍼즐을 푸는 메카닉스까지 완벽하게 터득했다는 점에 매우 놀랐습니다.

아래는 최종 진출팀 목록입니다. 이 목록은 실격 및 대회 참가 자격 요건 등으로 인해 AICrowd 리더보드의 목록과 다를 수도 있음을 알려드립니다.

Participant Round 1 Average Floors Round 1 Average Reward
unixpickle 16.401 29.881
joe_booth 10.001 16.461
dougm 9.601 15.921
karolisram 8.401 13.321
sova876 8.201 13.121
giadefa 8.001 12.821
wywarren 8.001 12.581
PerInDisguise 7.001 10.681
tatsuyaogawa 6.601 9.721
STAR.Lab 6.001 8.721
tky 6.001 8.661
sungbinchoi 5.601 8.101
ipv6 5.601 8.061
kyunghyunlee 5.601 7.881
denamganai_kevin 5.601 7.861
adamloch 5.401 7.621
rudy_gilman 5.401 7.601
wenyuyangpku 5.401 7.561
oleksandra_fedorova 5.401 7.521
hanschoi86 5.401 7.501
TruthMaker 5.401 7.501
petr 5.401 7.501
BIgG 5.401 7.501
ub 5.401 7.481
Petero 5.401 7.481
duc_nguyen 5.401 7.441
gardenermike 5.201 7.461
kenshi_abe 5.201 7.241
hyochini 5.201 7.221
gr1d 5.201 7.201
Leckofunny 5.201 7.161
steven 5.201 7.141
cit 5.201 7.101
felixlaumon 5.001 6.881
xihe 5.001 6.861
kyushik_min 5.001 6.861
Miffyli 5.001 6.781
HappySlice 5.001 6.781
thesoenke 5.001 6.781
paullewislobo 5.001 6.761
andwetry 5.001 6.761
alex_gomez 5.001 6.761
Parilo 5.001 6.721
banjtheman 5.001 6.721

챌린지와 관련된 질문이 있는 경우 OTC@unity3d.com으로 문의해 주시기 바랍니다. 머신러닝과 게임이 만나는 이 흥미로운 분야에서 커리어를 쌓고 싶다면 유니티에서 진행 중인 채용 공고를 확인하시고 지원해주시기 바랍니다.

 

2 코멘트

코멘트 구독

코멘트를 달 수 없습니다.

  1. Don’t you think it would be appropriate to have a left and a right eye view from the player perspective as available observations? After all, humans playing these games have already gained their knowledge about 3d perspective etc. from real life before playing 3d games. How many one-eyed creatures have survived evolution? 1d observation image may be ok for Mario type games, but is it really enough for this?

    1. Without knowing much about the Unity ML-Agents Toolkit, I’d say that I could see that being useful. Like maybe ray tracing from both eyes to help establish depth for the AI. I’m just trying to find videos of the attempts. Can’t find any… :(