Traffic Simulation/Unity ML-Agents

ML-Agents v1.0 소개

rrojin 2021. 2. 25. 11:37

 

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:

[1]: www.youtube.com/watch?v=APMAHDRNv2I

[2]: aifrenz.github.io/47th-seminar/

'Traffic Simulation > Unity ML-Agents' 카테고리의 다른 글

ML-Agents Tutorial 01  (0) 2021.02.25