★ 개요 ★

3DBall Scene 을 이용해 강화 학습을 공부하기 위함




★ Arcademy ★


- Training Configuration -

교육을 하는동안 사용되는 Properties 이다 (External)


- Inference Configuration -

(1) 교육을 진행하지 않을때 사용되는 Properties 이다

(2) 교육된 모델을 사용하거나(Internal), heuristic 을 사용할때




★ Brain - 뇌 ★


(1) Arcademy 의 자식으로 있어야 한다

(2) Brain 은 Agent 에 관한 어떠한 정보도 저장하지 않는다

(3) Agent 가 어떤 Action 을 할지 결정한다


- Brain Type -

External : Agent 를 Training 할때 사용된다

Internal : Training 된 모델을 사용할때 사용된다

Heuristic : 손 코딩

Player : 키보드 커맨드


- Vector Action Space -

Cotinuous 

(1) 연속적으로 변할 수 있는 벡터의 수

(2) 벡터의 각 요소는 Agent Logic 에 의해 정의된다 (ex) 강화훈련에 사용된 Rigidbody 의 힘이거나 다른 것을 나타낼 수 있다

(3) Agent Logic : 강화 훈련 프로세스는 다른 값을 시도할 때 받은 보상을 기준으로 특정 상태를 관찰하여. 어떤 값이 더 나은지를 학습한다


Discrete

(1) 테이블과의 작업을 정의

(2) Agent 에 주어진 작업은 테이블에 대한 인덱스 배열이다

 



★ Agent ★

: 환경에서 관찰하고 행동하는 행위자이다


Brain : 모든 Agent 는 Brain 을 가지고 있어야 한다

Agent Cameras : 환경을 관찰하는 카메라를 세팅 (해당 예제에서는 사용하지 않는다)

Max Step : 에이전트가 완료하기 전까지 수행할 Step 수

Reset On Done : 에이전트가 완료될 때 다시 시작할지 여부를 정의 

(ex) 해당 예제에서는 공이 떨어지거나 Agent 가 완료되면 다시 시작





★ Training thr Brain with Reinforcement Learning : 강화 학습을 통한 Brain 학습 ★


순서 1. cmd 창에서 mlagents-learn 입력



순서 2. Unity 트레이닝할 Brain Type External 설정



순서 3. cmd 창에 mlagents-learn 명령어 입력

mlagents-learn config/trainer_config.yaml --run-id=firstRun --train )



순서 4. Unity Player 버튼 실행




★ 강화 학습 관찰 ★

(1) ml -agents 디렉토리에서 cmd 창에 tensorboard --logdir=summaries 입력

(2) 브라우저 http://DESKTOP-OR3TBRR:6006 으로 이동





Cumulative Reward : 보상 누적, 효율적인 트레이닝이라면 시간이 지날수록 상승해야한다

Entropy : 모델의 결정이 얼마나 무작위적인가. 느리게 감소하는게 좋다

Episode Length : 모든 에이전트의 테스트 길이

Learning Rate : 학습 알고리즘이 최적의 정책을 검색할 때 걸리는 크기. 시간이 지남에 따라 감소해야 한다

Policy Loss : 정책 기능의 평균 손실. 훈련 기간이 지날수록 감소해야 한다

Value Estimate : 가치 추정치로. 모든 상태를 방문한 시간이다. 훈련 기간이 지날수록 증가해야 한다

Value Loss : 값 함수 업데이트의 평균 손실. 훈련 기간이 지날수록 감소해야 한다


+ Recent posts