2020년 4월 ML-Agents v1.0 이 출시되었다.
Unity ML-Agents는 Agent와 Environment간의 action & (state,reward)을 주고 받으며
상호작용 할 수 있도록 연결고리와 같은 역할을 한다.
- ML-Agents의 구성요소
Learning Environment = 학습을 위한 환경
Python Low-Level API = 독립적으로 communicator을 통해 유니티 환경과 통신 -> 직접 강화학습 코드 짜서 사용!
External Communicator = Learning Environment 에 포함되며 Python low-level API와 learning environment연결
Python Trainers = 에이전트를 학습시킬 수 있는 머신러닝 알고리즘 포함 -> Unity가 강화학습 코드 제공!
Gym Wrapper = Learning environment 를 OpenAI Gym 형태로 만들어줌.
- Learning Environment 구성요소
(1) Agents (스크립트 -> Observation에 대한 설정, 각 action 행동결정, 보상 조건, 게임종료 조건)
(2) Behavior (구체적인 설정 수행)
=> 각 환경에는 하나 이상의 에이전트가 필요하고, 에이전트는 behavior script를 포함함.
이때, 각 에이전트는 행동을 다양한 방식으로 선택 가능 [Communicator, Inference, Heuristic]
Communicator = PythonAPI를 통해 학습
Inference = 이미 학습된 모델을 사용하여 행동 결정함
Heuristic = 사람이 직접 컨트롤 하는 등 정해진 규칙에 따라 행동(rule-based)
- 구현 가능한 Learning Environment의 종류
- ML-Agents에서 제공하는 강화학습 알고리즘 (Python Trainers)
Reference:
'Traffic Simulation > Unity ML-Agents' 카테고리의 다른 글
ML-Agents Tutorial 01 (0) | 2021.02.25 |
---|