★ 머신러닝(ML)이란 ★
-1. 기계학습 또는 머신러닝은 인공지능의 한 분야이다
-2. 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야
-3. 대량의 데이터나 알고리즘을 통해 '학습' 을 시켜 수행하는 방식이다
(기초 데이터를 주지 않아도 스스로 학습을 통하여 결과를 만들어낸다)
(ex) 예로 이메일이 스팸인지 아닌지를 구분할 수 있다
★ 학습 종류 ★
-1. 강화 학습(PPO)
-2. 모방 학습
-3. 커리큘럼 학습
-4. 관찰학습
★ Unity ML(머신러닝) - 에이전트 훈련 주기 ★
-1. Agent 행동
-2. Environment (환경) 상태 변경
-3. Agent 에게 보상 제공
★ Unity ML(머신러닝) - 에이전트 내부 구조 ★
에이전트(Agent)
-1. 각각의 에이전트는 고유의 상태 및 관측 값을 가지고 있다
-2. 환경 내에서 고유의 행동을 하며 환경에서 일어나는 이벤트에 따라 고유의 보상을 받는다
-3. 각 에이전트의 행동은 에이전트가 연결된 브레인에 의해 결정된다
브레인
-1. 각 브레인은 특정 상태와 행동 공간을 정의한다
-2. 연결된 에이전트가 어떤 행동을 취할지 결정한다
현재버전 행동결정
- External - TensorFlow 를 사용하여 파이썬 API 를 통해 개방형 소켓으로 통신하여 행동을 결정
- Internal(실험 단계) - TensorFLowSharp 을 통해 프로젝트에 탑재된 훈련된 모델을 활용하여 행동을 결정
- Player - 플레이어의 입력을 통해 행동을 결정
- Heuristic - 직접 코딩한 동작을 기반으로 행동을 결정
아카데미
-1. 씬에 포함된 아카데미 오브젝트는 해당 환경에 포함된 모든 브레인을 자식으로 포함한다
-2. 각 환경은 한개의 아카데미만 포함하며 그 정의는 다음과 같다
-엔진 설정 : 훈련 및 추론 모드 상에서 게임 엔진의 속도와 렌더링 품질 설정
- 프레임 스킵 : 각 에이전트가 새로운 결정을 내릴때 생략할 엔진 단계의 개수
- 글로벌 에피소드 길이 : 에피소드가 지속될 길이를 의미, 에피소드가 이 길이에 도달하면 모든 에이전트가 완료 상태로 변경
★ 유니티 머신러닝 ★
소개 페이지 : https://blogs.unity3d.com/kr/2017/09/19/introducing-unity-machine-learning-agents/
깃 허브 : https://github.com/Unity-Technologies/ml-agents
Document : https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Readme.md
'프로그래밍 - 클라이언트 > ML(머신러닝)-Unity' 카테고리의 다른 글
Unity ML - 모방 학습 (0) | 2018.09.24 |
---|---|
Unity ML 기초 5. 유니티 ML 기능 정리, 모범적인 환경 구성, 모니터 로그 (0) | 2018.09.24 |
Unity ML 기초 4. 강화학습 직접 만들어보기 (0) | 2018.09.24 |
Unity ML 기초 3. 강화학습 교육학습 예제 (3DBall) (0) | 2018.09.23 |
Unity ML 기초 2. ML 기본 설치부터 예제까지 (0) | 2018.09.18 |