Record/TIL
[Unity] ML-Agent 알고리즘 종류
석영
2024. 8. 1. 23:03
반응형
ML-Agent란?
Unity ML-Agents Toolkit은 Unity 엔진을 사용하는 게임 및 시뮬레이션 환경에서 인공지능(AI) 에이전트를 훈련하고 평가할 수 있도록 돕는 오픈 소스 도구이다. 이 툴킷은 강화 학습, 모니터링 및 시뮬레이션을 통해 다양한 AI 모델을 개발할 수 있는 기능을 제공한다. ML-Agents Toolkit을 사용하면 게임 캐릭터, 로봇, 자율주행 차량 등 다양한 에이전트를 훈련시키는 데 필요한 작업을 쉽게 수행할 수 있다.
ML-Agent 종류
1. Proximal Policy Optimization (PPO)
특징:
- 정책 기반 알고리즘으로, 에이전트의 행동을 직접적으로 학습한다.
- 단기 및 장기 목표를 균형 있게 학습한다.
- 중요도 샘플링(Importance Sampling)을 통해 안정적인 학습을 보장한다.
사용 시나리오:
- 복잡한 상태 공간을 가진 문제에서 적절한 성능을 발휘한다.
- 환경이 동적일 때, 안정적인 학습을 요구할 때 유용하다.
- 게임의 캐릭터 제어, 로봇의 조작 등에서 주로 사용된다.
2. Soft Actor-Critic (SAC)
특징:
- 오프 폴리시 알고리즘으로, 과거의 경험을 활용하여 학습한다.
- 정책과 가치 함수를 동시에 학습한다.
- Entropy를 통해 탐색을 장려하며, 안정적인 학습을 지원한다.
사용 시나리오:
- 연속적인 액션 공간을 가진 문제에 적합하다.
- 높은 차원의 상태 공간과 연속적 행동이 필요한 환경에서 효과적이다.
- 로봇 제어, 물리 시뮬레이션 등에서 많이 사용된다.
3. Deep Q-Network (DQN)
특징:
- 값 기반 알고리즘으로, 상태-행동 값 함수(Q 함수)를 학습한다.
- 딥 신경망을 사용하여 Q 값을 근사한다.
- 경험 리플레이(Experience Replay)와 타겟 네트워크(Target Network)를 통해 학습의 안정성을 높인다.
사용 시나리오:
- 디스크리트 액션 공간을 가진 환경에서 사용된다.
- 간단한 게임 또는 시뮬레이션 환경에서 효과적이다.
- Atari 게임과 같은 문제에서 성능을 발휘한다.
4. Multi-Agent Reinforcement Learning (MARL)
특징:
- 다중 에이전트가 서로 상호작용하며 학습하는 방법이다.
- 각 에이전트는 독립적이거나 협력적일 수 있다.
- 상호작용 모델과 협력 모델을 적용할 수 있다.
사용 시나리오:
- 팀워크나 경쟁을 기반으로 하는 복잡한 환경에서 유용하다.
- 멀티플레이어 게임, 자율주행 차량 군집 제어 등에서 사용된다.
5. Curriculum Learning
특징:
- 점진적 학습을 통해 에이전트가 점점 더 복잡한 태스크를 해결하도록 한다.
- 초기에는 쉬운 문제부터 시작하여 점차 난이도를 높여간다.
사용 시나리오:
- 학습이 어려운 환경에서 효과적이다.
- 학습이 복잡한 태스크나 높은 난이도의 문제를 해결해야 할 때 사용된다.
요약
- PPO: 안정적이고 일반적인 정책 기반 학습에 적합.
- SAC: 연속적 행동 공간과 복잡한 상태 공간에서 유용.
- DQN: 디스크리트 액션 공간에서 잘 작동.
- MARL: 다중 에이전트가 상호작용하는 환경에 적합.
- Curriculum Learning: 점진적인 학습이 필요한 복잡한 문제에서 사용.
반응형