ML Agents(머신러닝) - 에이전트, 브레인, 아카데미
유니티 머신러닝에는 유니티 내부환경과 외부환경으로 구분된다.
외부에는 파이썬 프로그램에서 돌아가는데 이번엔 내부의 유니티 환경만 보도록 하자.
유니티 머신러닝 내부 환경에는 에이전트, 브레인, 아카데미로 나뉜다.
에이전트는 유니티로 치면 오브젝트, 언리얼로 치면 액터 같은 존재다.
(말 그대로 요원 같은 느낌)
주변 정보를 관측하고 해당 정보를 브레인에게 주고 정책을 받은 후 선택과 행동을 실행하며
보상과 처벌을 받는다.
브레인은 정책을 결정한다.
브레인에는 아래의 타입이 있다.
External(외부) : 외부 파이썬 프로그램에서 모델 제공. 가장 기본 설정이다.
Internal(내부) : 이미 학습된 모델을 시연할 때 사용한다. 더 학습은 할 수 없다.
Player : 플레이어 입력을 그대로 전달. 모방학습에 사용된다.
Heuristic : 상황에 따른 선택을 하드 코딩. 이전의 하드코딩 방식의 AI 설계. 머신러닝과는 직접적 관련 없음.
에이전트에게 정보를 받고 어떠한 정책을 결정 후 에이전트에게 행동을 지시한다.
아카데미는 학습의 에피소드 단위를 관리한다.
다시 말해 각 환경은 한 개의 아카데미만을 포함한다.
아카데미는 엔진 설정, 프레임 스킵, 글로벌 에피소드 길이 등과 같은 설정을 한다.
◦ 엔진 설정 – 훈련 및 추론 모드 상에서 게임 엔진의 속도와 렌더링 품질을 설정합니다.
◦ 프레임 스킵 – 각 에이전트가 새로운 결정을 내릴 때 생략할 엔진 단계의 개수를 나타냅니다.
◦ 글로벌 에피소드 길이 – 에피소드가 지속될 길이를 의미하며, 에피소드가 이 길이에 도달하면 모든 에이전트가 완료 상태로 바뀌게 됩니다.
자세한 내용은 유니티 공식 블로그를 확인해보자.
유니티 머신러닝 에이전트 소개 – Unity Blog - Page 2
기존에 작성한 두 개의 블로그 게시물에서 게임이 강화 학습 알고리즘 개발을 진전시키는데 수행할 수 있는 역할이 있다고 언급했었습니다. 유니티는 세계에서 가장 널리 사용되는 3D 엔진 개발업체로 머신러닝 및 게임 분야 사이에서 미래를 그려나가고 있습니다. 머신러닝 연구자가 가장 ...
blogs.unity3d.com
간단히 정리하면 아카데미 밑에 브레인 밑에 에이전트가 있고,
아카데미는 상황을 브레인은 방향을 에이전트는 행동을 담당하며 외부(파이썬)와 통신한다.
'게임 개발 사전 > ML Agents(머신러닝)' 카테고리의 다른 글
ML Agents(머신러닝) - 강화 학습 시작. (0) | 2019.07.13 |
---|---|
ML Agents(머신러닝) - 브레인 생성 (0) | 2019.07.13 |
ML Agents(머신러닝) - 예시 환경 구성과 에이전트 스크립트 세팅 (0) | 2019.07.13 |
ML Agents(머신러닝) - 프로젝트 생성, 아카데미 추가 (0) | 2019.07.13 |
ML Agents(머신러닝) - 개발 환경 구성 (0) | 2019.07.13 |