1. 트레이닝 설정값 세팅

config폴더

trainer_config.yaml파일을 복제하고 지금 작업하고 있는 유니티 프로젝트에 넣는다.(#1에서 복사 떴었음)

trainer_config에는 트레이닝에 사용할 여러 가지 설정값들이 존재한다.

2. 트레이닝 설정값 세팅

터미널 창을 열 고을 유니티폴더로 이동 후

mlagents-learn trainer_config.yaml --run-id=firstRun --train --slow 입력 명령어를 입력한다.

유니티 에디터를 실행하라는 명령이 나온다.

 

slow로 명령해 느리지만 자동으로 뭔가 하고 있다. (프로그램이 아무거나 누르는 중이다)

터미널에서 훈련상황 로그를 보여준다.

 

3. 훈련내용 확인

프로젝트 폴더에 가보면 model폴더가 생성된 것을 볼 수 있다. 

 

4. 훈련상황 세팅

파일을 열어주고

 

default선언 부분은 새로 선언한 부분에 없는 속성들은 default에서 속성 값대로 진행된다.

유니티에서 생성한 이름과 같게 Learing_Brain으로 선언한다.

gamma : 낮을수록 먼 미래의 보상을 낮게 평가하기 때문에 즉각적인 보상이 높게 평가됨 / 높으면 미래의 보상을 좀 더 신경 씀

lamda : 낮으면 지금까지의 보상을 기준으로 미래의 보상을 평가함(지금까지의 방향을 유지함) / 높으면 다양성이 커짐 대신 안정성은 떨어짐

buffer_size : 모델이 갱신될 스탭 사이즈

max_steps : 트레이닝을 완전히 종료함

 

훈련을 동시에 실행하기 위해 복사해준다.

Academy TimeScale 변경

TimeScale : 100 -> 15 작을수록 오차가 줄어듦

 

step 5000이 되면 훈련을 종료한다.

 

 

반응형

'유니티 > 머신러닝' 카테고리의 다른 글

ML-Agents) 브레인 생성  (0) 2019.09.17
ML-Agents) 유니티 프로젝트 생성  (0) 2019.09.17
ML-Agents)개발환경 셋팅 (Window)  (0) 2019.09.17

1. Player 브레인 생성

- Player Brain 파라미터 살펴보기

BrainParameters 

Space Size :  관측한 횟수 (Agent 스크립트에서 6번 저장을 하도록 했으니 6으로 설정)

Stacked Vectors : 다양한 관측이 가능 ( 성능이 떨어짐)

Vector Action

Space Type : Continuous로 변경

Space Size : 입력 통로는 2개로 설정했음 (가로, 세로)

- Axis Continuous Player Action설정

사용자가 입력한 방향을 입력받기 위해

- Brain 등록

만든 Brain등록

아카데미가 브레인을 통제하게 됨

 

Player에게도 브레인 등록

테스트 사용자가 키보드로 움직임

 

2 Learning브레인 생성

ML-Agents -> LearningBrain생성

LearningBrain 파라미터 설정

SpaceSize : 6 설정

SpaceType : Continuous

SpaceType : 2 설정

 

Player는 브레인을 playerBrain에서 LearingBrain으로 변경해준다.

이제는 사용자가 아닌 인고 지능 학습활동으로 움직일 것이기 때문에 

 

Academy설정

생성한 Brains 두 개를 등록해준다.

Control : 외부 파이썬 프로그램(텐서 플로우)이 통제할 수 있도록 하는 것 체크해준다.

 

 

반응형

'유니티 > 머신러닝' 카테고리의 다른 글

ML-Agents) 강화학습 #4  (0) 2019.09.17
ML-Agents) 유니티 프로젝트 생성  (0) 2019.09.17
ML-Agents)개발환경 셋팅 (Window)  (0) 2019.09.17

1. Unity프로젝트 생성

 

Unity SDK는 템플릿으로 사용할 수 있는 유니티 프로젝트 폴더이다.

여기에는 유니티 ML-Agent에서 쓰이는 유니티 프로젝트 구성이 모두 들어가 있다. 

템플릿 프로젝트를 훼손하지 않도록 복사해서 사용하는 것이 좋다.

 

그런 다음 유니티로 이 프로젝트를 열어주도록 한다. (2017.04버전 이상이어야 사용 가능)

그러면 ML-Agents라는 폴더가 보인다.

여기 안에는 구동할 수 있는 소스와 사용 예제들이 있다.

2. 아카데미 생성

아카데미는 유니티 외부에 있는 파이썬 프로그램과 유니티 내부에 있는 브레인들을 이어주는 역할을 한다.

 

- 스크립트 생성 / 오브젝트 생성

Player_Academy라는 이름의 스크립트와 Academy라는 오브젝트를 생성해준다.

- 네임스페이스 선언

- Academy 상속

이 Academy는 아카데미에서 동작하기 위한 코드들이 작성돼있다. (Academy는 추상 클래스)

- Academy기능 확인

Max Step : 현재 에피소드를 종료하고 다음 에피소드로 강제로 리셋하는 간격

(0으로 되어있으면 아카데미가 강제로 넘기지 않고 파이썬 프로그램에서 설정한 간격을 따른다.)

Training Configuration : 강화 학습을 시작할 때 사용하는 설정(해상도, 프레임 제한)

Inference Configuration : 이미 강화 학습된 결과를 실시간으로 실행할 때 사용하는 옵션

 

3. 트레이닝 환경 구성

아래 그림과 같이 간단한 훈련을 시키기 위해 세팅을 해준다.

Plane : 보여주기 위한 초록색 땅

Player : 훈련을 시킬 에이전트

Target : Player가 먹을 아이템 (Tag를 goal로 바꿔준다)

DeadZone : 플레이어가 닿으면 죽는 곳

(DeadZone의 Tag는 콜라이더 충돌 시 체크하기 위해 변경해준다)

 

3. Agent스크립트 작성

새로운 스크립트를 만든 후 아카데미와 마찬가지로 네임스페이스 추가와 Agent를 상속받도록 한다.

에이전트 기본 세팅

작성한 Agent스크립트를 Player에 붙이고 Pivot과 Target을 넣어준다.

 

 

학습참고

https://www.youtube.com/watch?v=o8cEK6X8pkM

반응형

'유니티 > 머신러닝' 카테고리의 다른 글

ML-Agents) 강화학습 #4  (0) 2019.09.17
ML-Agents) 브레인 생성  (0) 2019.09.17
ML-Agents)개발환경 셋팅 (Window)  (0) 2019.09.17

 머신러닝

유니티 머신러닝

https://unity3d.com/kr/machine-learning

 

머신러닝은 자율 에이전트에게서 지능형 행동을 끌어낼 수 있는 방식이다.  이 기술로 이용하여 기존의 반복된 작업을 사람이 아닌 컴퓨터가 가능하도록 할 수 있다.

 

유니티 머신러닝의 대한 자세한 설명은 

https://blogs.unity3d.com/kr/2017/09/19/introducing-unity-machine-learning-agents/

 

유니티 머신러닝 에이전트 소개 – Unity Blog

기존에 작성한 두 개의 블로그 게시물에서 게임이 강화 학습 알고리즘 개발을 진전시키는데 수행할 수 있는 역할이 있다고 언급했었습니다. 유니티는 세계에서 가장 널리 사용되는 3D 엔진 개발업체로 머신러닝 및 게임 분야 사이에서 미래를 그려나가고 있습니다. 머신러닝 연구자가 가장 ...

blogs.unity3d.com

 

개발 환경 세팅

 

1. 깃 설치

 

2.  ML-Agents 다운로드 

 

깃에서 주소복사를 해준다

 

3. PowerShell을 이용해서 패키지 Clone

 

복사한 주소를 아래 명령어처럼 입력한다.

설치 중

 

완료되면 설치된 장소로 ml-agents라는 폴더가 생성된다.

4. Ml-agent동작 환경 설정 (Anaconda & Python 설치)

 

- Anaconda 설치 

 

Ml-agent는 Pyhton3.6 버전대에서만 사용이 가능하기에 아나콘다 최신 버전이 아닌 이전 버전을 이용한다.

https://repo.continuum.io/archive/index.html

 

Skip 해준다.

 

- Python개발 환경 설정

 

Anaconda Prompt실행

 

아래 그림처럼 명령어 입력  => 파이썬 3.6 버전을 사용하는 새로운 MI-Agent이름으로 새로운 개발환경을 생성함

 

추가 다운로드할 패키지 명단을 보여줌 (y) 눌러줌

 

ml-agent 개발환경 로드해준다.

 

- ML-Agent 유니티 패키지 개발환경 구성

pip라는 파이썬에 내장되어있는 패키지 매니저를 통해서 유니티 ml-agent가 필요로 하는 외부 의존 라이브러리들을 설치

밑에 그림 명령어를 통해 설치

설치 과정에서 버전에 대한 오류가 났었는데 아래 사이트를 참고하여 해결하였다.

https://github.com/Unity-Technologies/ml-agents/issues/1939

설치확인

mlagents-learn --help  명령어를 통해 설치가 잘되었는지 확인한다.

 

5. 유니티는 Linux Target Support  설치

유니티 허브나 유니티 홈페이지에서 다운로드해준다.

 

 

 

여기까지 개발환경설정이 완료다.

 

 

 

 

 

 

학습 참고 사이트

https://www.youtube.com/watch?v=mJh31T3aGkI

반응형

'유니티 > 머신러닝' 카테고리의 다른 글

ML-Agents) 강화학습 #4  (0) 2019.09.17
ML-Agents) 브레인 생성  (0) 2019.09.17
ML-Agents) 유니티 프로젝트 생성  (0) 2019.09.17

+ Recent posts