작업 내용
ML-Agents를 No-code 방식으로 학습할 수 있는 에셋인 'ML-Agents 노코드 트레이너'의 진행 상황을 보고합니다.
샘플 씬 'CrowdExitScene'을 추가했습니다. 이 씬은 출구 앞에 기둥을 1개 설치했을 경우와 기둥이 없는 경우를 비교하여, 군중이 출구로 얼마나 원활하게 이동할 수 있는지 검증할 수 있는 씬입니다.
군중의 각 개체는 독립적인 AI 에이전트이며, 출구로 효율적으로 향하는 행동을 학습합니다. 본 씬은 이 에셋에서 최초로 다수의 에이전트를 학습시키는 시나리오입니다. 코지(こーじ)님의 '【물리 엔진】사람들이 모이는 좁은 출구 근처에 기둥을 하나 놓으면...' 영상을 참고했습니다.
아울러, 여러 개의 학습된 모델을 일괄적으로 연결하는 기능도 구현했습니다.
또한, 'CrowdExitScene'에서 기둥이 없는 경우(0개)와 기둥이 있는 경우(1개) 두 가지 패턴에 대해 각각 평균 보상이 포화될 때까지 학습시켰습니다. 이후 이 두 모델을 추론시켜, 어느 쪽 모델이 더 빨리 탈출할 수 있는지 비교했습니다.
학습 결과
보상 곡선은 우상향으로 향상되었으며, 군중이 가장 짧은 경로로 출구에 도달하는 행동을 취함을 확인했습니다. 이번 비교에서는 기둥 1개가 더 빨리 탈출 완료되는 경우도 있었지만, 기둥 0개와 기둥 1개 간에는 큰 차이가 없었습니다.
코지님에 따르면, 기둥의 위치나 크기, 출구의 크기 등 조건을 변경하면 결과가 달라질 수 있으며, 기둥 1개가 더 빨라지는 경우도 있다고 합니다.
본 에셋에 대하여
Unity의 ML-Agents를 No-code 방식으로 체험할 수 있는 튜토리얼용 에셋입니다. Unity의 ML-Agents 관련 패키지 설치와 uv 또는 venv를 사용한 Python 가상 환경(PyTorch, mlagents 등) 구축을 원클릭으로 진행할 수 있습니다.
학습용 샘플 씬인 'SeekerScene', 'JumperScene', 'CrowdExitScene'도 원클릭으로 생성할 수 있습니다.
- SeekerScene: Seeker가 무작위로 생성되는 Target에 접촉하는 것을 학습하는 씬입니다.
- JumperScene: Jumper가 장애물을 점프하여 넘고 Target에 접촉하는 것을 학습하는 씬입니다.
- CrowdExitScene: 다수의 Person이 출구 앞 기둥이 있는 방에서 가장 짧은 경로로 출구로 향하는 행동을 학습하는 씬입니다.
보상(다른 에이전트와의 접촉 페널티, 출구 통과 보너스 등)이나 기둥의 개수/위치, 출구 크기, 군중 인원 등의 다양한 파라미터는 슬라이더를 통해 쉽게 조정할 수 있습니다. '학습 시작' 버튼을 누르는 것만으로 학습이 시작되며, 단계별 평균 보상을 보여주는 실시간 그래프를 전용 창에서 확인할 수 있습니다.
또한, 학습된 모델을 원클릭으로 여러 대상 에이전트에 일괄 적용하여 추론시키는 것이 가능합니다.
향후 계획
1. 샘플 씬 확장
다양한 시츄에이션의 샘플 씬을 추가할 예정입니다.
2D Unity 게임을 대상으로 하는 학습 씬 등을 추가할 계획입니다.
2. 개별 보상 시각화
기존의 총합 보상 실시간 그래프 외에도, 개별 보상(출구 통과 보너스, 시간 경과 페널티 등)을 표시하는 실시간 그래프도 구현할 예정입니다.
3. 툴 공개
Unity Asset Store나 GitHub에 공개할 계획입니다.
개발 도구
- Claude Code (Claude Fable 5, Claude Opus 4.8)
- Codex (GPT-5.5)
실행 환경
영상 타임라인
- 0:00 기둥 0개 vs 기둥 1개 (첫 번째만 기둥 1개의 승리, 1배속)
(이하 모두 3배속)
- 0:20 CrowdExitScene (기둥 0개)에서 207만 스텝까지 강화학습을 시키는 모습
- 0:25 학습된 모델 (207만 스텝)에 추론을 시키는 모습 (가장 짧은 경로로 출구에 접근)
- 0:42 슬라이더를 이용해 기둥의 개수나 보상 등의 파라미터를 변경하는 모습
- 0:58 미지원 파라미터 (기둥 크기)를 CrowdExitScene의 Hierarchy에서 변경하는 모습
- 1:27 새로운 파라미터로 10만 스텝까지 학습시키는 모습
- 1:45 여러 개의 학습된 모델을 원탭으로 모든 Person에 적용하는 모습
- 1:51 학습된 모델 (10만 스텝)에 추론을 시키는 모습
#ML-Agents 노코드 트레이너
#Unity
#강화학습
#GameDev
#튜토리얼