[Unite Seoul 2025] Unity ML-Agents를 이용한 컨테이너 적재 최적화, Deep Dive ver.
- 유니티 ML-Agents는 3D 가상 환경에서 강화 학습을 통해 실제 산업 문제를 해결하는 데 활용될 수 있는 오픈소스 패키지입니다. 🎮
- 컨테이너 적재 최적화 문제는 5x5x5 야드에 75개 컨테이너를 출하 일정에 맞춰 재취급 없이 쌓는 것을 목표로 합니다. 🚢
- 강화 학습 에이전트는 '컨테이너 내려놓기'와 '들어 올리기' 두 가지 이산적인 행동을 수행하며, 각 행동은 가능한 가장 작은 단위로 설계됩니다. 🏗️
- 보상 시스템은 컨테이너를 성공적으로 적재할 때마다 1점을 부여하고, 재취급이나 잘못된 행동 시 0점 처리하여 실패로 간주하는 가혹한 방식을 사용합니다. 💰
- 에이전트의 관측 정보는 현재 야드의 각 위치에 쌓인 최상단 컨테이너의 출하 일정과 새로 들어올 컨테이너의 출하 일정을 포함한 51개의 숫자 데이터입니다. 📊
- 유니티 에디터 내에서 강화 학습 환경을 설정하고, 파이썬(PyTorch)과 PPO 알고리즘을 사용하여 학습을 진행하며, YAML 파일을 통해 하이퍼파라미터를 제어합니다. 🧠
- 학습 과정에서 2차원 좌표 대신 1차원 좌표를 사용하여 행동 마스킹(예: 5층 초과 적재 방지)을 효율적으로 구현하여 에이전트의 잘못된 행동을 제어합니다. 🚫
- 논문 대비 적은 학습 스텝(2천만 번)으로 75개 컨테이너를 재취급 없이 성공적으로 적재하는 결과를 달성했으나, 특정 출하일 컨테이너를 한쪽에 몰아 쌓는 경향이 발견되었습니다. ✨
- 복잡한 문제를 ML-Agents에 적용하기 위해서는 문제를 작은 단위로 쪼개고, 에이전트의 행동, 관측, 보상 규칙을 명확하게 정의하는 것이 중요합니다. 🧩
데브허브 | DEVHUB | [Unite Seoul 2025] Unity ML-Agents를 이용한 컨테이너 적재 최적화, Deep Dive ver.