[ml-agent] Training config file

Unity3D/ml-agent 2019. 5. 30. 10:21
반응형

git을 통해 클론 받은 프로젝트 폴더의 config폴더에 보며는 3가지 yaml파일이 있다.

D:\workspace\unity\git\ml-agents\config

이 파일들은 교육 설정 파일이며 교육 방법을 지정

하이퍼 파라메터와 PPO(Proximal Policy Optimization)로 훈련하는 동안 사용할 몇가지 추가 값

(근위정책최적화)PPO: https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Training-PPO.md

온라인 오프라인 행동복제  (BC : Behavioral Cloning)

 

이파일들은 섹션으로 나눠져 있다.

기본(default)섹션에서는 사용가능한 모든 설정의 기본값을 정의 한다.

특정 Brain을 훈련시키기 위해 새로운 섹션을 추가하면 이러한 기본값을 무시 할수도 있다.

Brain 컴포넌트를 포함하고 있는 GameObject는 이러한 설정을 구역에 재정의 해야 한다.

Brain이름과 동일 해야 함.

 

이 GameObject는 씬 내의 Academy 의 자식일것이다. 

(예제에서는 Academy자식으로 안붙어 있음.. 음...)

예제 환경의 섹션은 제공된 구성 파일에 포함됩니다.

 

batch_size : gradient(기울기) decent(강하, 하락)의 각 반복에 대한 경험 수 

 

batches_per_epoch : 모방 학습에서 모델을 훈련하기 전에 수집 할 훈련 예제의 배치 수.

 

beta : entropy(동일설) 정규화의 세기 

 

brain_to_imitate : 온라인 모방 학습의 경우 모방할 Brain 컴포넌트가 포함된 GameObject의 이름 

 

demo_path: 오프라인 모방 학습의 경우 기록된 데모 파일의 파일 경로 

 

buffer_size : policy model (정책 모델)을 업데이트 하기전에 수집할수 있는 경험의 수 

 

curiosity_enc_size : 호기심 모듈의 순방향 및 역 모델에서 사용할 인코딩의 크기 

 

curiosity_strength : Intrinsic(본질적, 고유의) 호기심 모듈에 의해 생성 된 고유 보상의 크기.

 

epsilon : 교육 과정에서 정책이 얼마나 신속하게 전개 될 수 있는지 영향을 미칩니다.

 

gamma : Generalized Advantage Estimator (GAE)에 대한 보상 할인율 

 

hidden_units : 신경망의 숨겨진 레이어에있는 단위 수입니다.

 

lambd : 정규화 매개변수 

 

learning_rate : 기울기 강화에 대한 초기 학습 속도 

 

max_steps : 교육 세션 중에 실행할 최대 시뮬레이션 단계 수입니다.

 

memory_size : Agent가 보관 해야하는 메모리 크기. 재발성 신경 네트워크를 사용한 교육에 사용됨 

See Using Recurrent Neural Networks.

 

normalize : 관측치를 자동으로 정규화 할지 여부 

 

num_epoch : gradient descent 최적화를 수행 할때 경험 버퍼를 통과 할 패스 수 

 

num_layers : 신경망에서 숨겨진 레이어의 수.

 

sequence_length : 교육 과정에서 경험의 순서가 얼마나 오래 있어야 하는지 정의.

재발성 신경 네트워크를 사용한 교육에서만 사용됨.

 

summary_freq : 단계별로 교육 통계를 저장하는 빈도, 이것은 TensorBoard가 보여주는 데이터 포인트 수를 결정함 

 

time_horizon : 경험 버퍼에 추가 하기 전에 Agent당 수집할수 있는 경험단계 수 

 

trainer : 수행할 교육의 유형 (ppo 또는 imitation)  (ppo?또는 모방학습)

 

use_curiosity : Intrinsic Curiosity 모듈을 이용한 훈련 

 

use_recurrent : 반복적인 신경망을 사용하여 훈련

 

 

*PPO = Proximal Policy Optimization, BC = Behavioral Cloning (Imitation)

 

수행중인 교육 유형에 따라 하이퍼 매개 변수를 설정하는 방법에 대한 구체적인 조언은 다음을 참조하십시오.

 

예제 환경을 각 예제의 config / trainer_config.yaml 파일의 해당 섹션과 비교하여 하이퍼 매개 변수 및 기타 구성 변수가 기본값에서 어떻게 변경되었는지 확인할 수도 있습니다.

 

 

 

gradient descent

https://medium.com/@peteryun/ml-%EB%AA%A8%EB%91%90%EB%A5%BC-%EC%9C%84%ED%95%9C-tensorflow-3-gradient-descent-algorithm-%EA%B8%B0%EB%B3%B8-c0688208fc59

 

[ ML ] 모두를 위한 TensorFlow (3) Gradient descent algorithm 기본

본 글은 홍콩과기대 김성훈 교수님의 강의를 바탕으로 함 (참고 : https://hunkim.github.io/ml/ )

medium.com

 

Generalized Advantage Estimator (GAE)

참고 : https://github.com/reinforcement-learning-kr/how_to_study_rl/wiki/%EA%B0%95%ED%99%94%ED%95%99%EC%8A%B5-%EA%B4%80%EB%A0%A8-%EB%85%B8%ED%95%98%EC%9A%B0

 

reinforcement-learning-kr/how_to_study_rl

강화학습을 공부하고 싶은 분들을 위한 글. Contribute to reinforcement-learning-kr/how_to_study_rl development by creating an account on GitHub.

github.com

 

반응형

'Unity3D > ml-agent' 카테고리의 다른 글

Running "mlagents-learn" from Unity Process  (0) 2019.06.01
[ml-agent] Learning-Environment-Create-New  (0) 2019.05.30
[ml-agent] Agents  (0) 2019.05.28
[ml-agent] Basic Guide  (0) 2019.05.27
[ml-agent] Background: Jupyter Notebooks  (0) 2019.05.27
: