yaml 파일에 들어가는 데이터 값들

behaviors - Behavior Name 값 tainer_type - 예를들어 ppo 설정(알고리즘 설정) batch size - 이터레이션의 경험의 갯수 Discrete : 32~512 값 설정 Continuos : 512~5120 값 설정 설정할때 2의 배수로 설정하기 buffer_size - 정책을 업데이트하기전 수집하기전 경험의 갯수 2048~409600 - 값은 2의 배수 배치값의 배수로 설정해야한다 주로 40배가 되는 값을 설정 learning_rate - 경사하강법에 대한 초기 학습률 1의-5제곱~1의-3제곱의 값을 설정 beta - 정책을 더욱 무작위로 만드는 엔트로피 값 epsilon - 정책이 얼마나 빠르게 발전하는지에 대한 값. 값을 줄일수록 더욱 안정적이지만 학습 속도가 느려진다 기본은 0,2 - 0.1~0.3 lamda - 값의 추정을 의존할지 실제 수령하는 보상의 더 의존할지 결정하는 값 일반적으로 0.9~0.95 값 값이 적을때는 추정값에 의존하고 값이 클때는 실제 수령하는 값에 의존 num_epoch - 경험 버퍼에 쌓인 데이터에대해 몇번 수행할지에 대한 값 기본 값 3~10 학습 안정서엥 대한 하이퍼 파라미터 learning_rate_schedule - 라이너와 컨스턴트가있고 라이너로 설정할경우 맥스 스텝에 따라 러닝 레이트가 감소하면서 학습이 진행됨 에피소드의 길이가 긴 환경의 경우 학습이 진행됨에 따라 점차 안정적인 학습을 요구함 이 경우 라이너로 설정하면 베타와 같이 값이 하락하면서 더욱 안정적인 학습을 진행가능 network_settings: normalize - 벡터 관측 입력을 정규화 할지 결정하는 값 단순한 환경이라면 false 복잡한 환경이라면 true를 사용 hidden_units - 인공신경망의 몇개의 유닛을 사용할지 결정한다 단순할수록 적게 복잡한 환경일수록 많게 설정합니다. 기본적으로 32~512 설정을합니다. num_layers - 앞서 설정한 히든 레이어의 층수를 결정합니다 기본 1~3 값 보통 2를 사용 vis_encode_type - 시각적 관찰을 인코딩하는 인코더 유행입니다. Nature_cnn, Resnet, Match3, Fully_connected 값이 있으며 Simple을 기본적으로 사용 reward_signals: extrinsic: gamma - 보상 신호의 값과 할인률과 관련한 값입니다. 값이 클수록 원시안쪽으로 작을수록 근시안적으로 에이전트는 행동합니다. strength - 설정한 보상의 곱할 인수입니다. 보통은 1.0을 사용 keep_chekpoint - 맥스 스텝과 같이 몇번 학습 모델을 저장할지 설정하는 값 max_steps - 학습이 진행될 최대 스텝입니다. time_horizon - 경험 버퍼에 저장하기전 에이전트가 수집할 경험의 스텟수입니다. 에피소드가 끝나지않고 스텝에 도달하게 되면 에이전트는 전체 보상을 예측합니다 이 값이 클수록 분산이 커지고 값이 작을수록 분산이 작아집니다. 보상이 잦은 경우에는 작게 설정하는것이 이상적입니다. 일반적으로 32~2048을 설정합니다 summary_freq - 콘솔에 출력되는 학습주기 입니다. 맥스 스텝이 큰 환경에서는 크게 단순한 환경에서는 적게 설정합니다.

머신러닝, 특히 유니티 ML-Agents와 같은 환경에서 사용되는 YAML 파일은 학습 환경의 설정을 정의하는 데 사용됩니다. 여기서 언급한 내용을 바탕으로, YAML 파일에서 사용되는 주요 설정들을 정리해보겠습니다.

behaviors:

trainer_type:

hyperparameters:

network_settings: