Training-Configuration-File

Unity3D/ml-agent 2021. 11. 11. 14:53
반응형

https://github.com/Unity-Technologies/ml-agents/blob/main/docs/Training-Configuration-File.md

 

GitHub - Unity-Technologies/ml-agents: Unity Machine Learning Agents Toolkit

Unity Machine Learning Agents Toolkit. Contribute to Unity-Technologies/ml-agents development by creating an account on GitHub.

github.com

 

 

#https://github.com/Unity-Technologies/ml-agents/blob/main/docs/Training-Configuration-File.md
behaviors:
  RollerBall:
    #(기본값 = ppo) 트레이너의 유형은 사용 : ppo, sac, 또는 poca.
    trainer_type: ppo
    hyperparameters:
      batch_size: 10 #각 반복에서의 경험 수
      buffer_size: 100 #모델을 학습하거나 업데이트하기 전에 수집해야 하는 경험의 수에 해당합니다.
      learning_rate: 3.0e-4 #훈련이 불안정하고 보상이 지속적으로 증가하지 않는 경우 일반적으로 이 값을 줄여야 합니다.
      beta: 5.0e-4 #이 값을 늘리면 더 많은 임의 작업이 수행됩니다.
      epsilon: 0.2 #이 값을 작게 설정하면 더 안정적인 업데이트를 얻을 수 있지만 훈련 프로세스가 느려집니다.

      #낮은 값은 현재 가치 추정치에 더 많이 의존하는 것에 해당하고,
      #높은 값은 환경에서 받는 실제 보상에 더 많이 의존하는 것에 해당합니다
      #일반 적인 범위 0.9 ~ 0.95
      #0.99라는 것은 실제 보상에 더 많이 의존 한다는것
      lambd: 0.99

      #이 값을 줄이면 학습 속도가 느려지지만 더 안정적인 업데이트가 보장됩니다.
      #일반적인 범우 3 ~ 10
      num_epoch: 3

      learning_rate_schedule: linear #학습률이 시간에 따라 어떻게 변하는지 결정합니다

      #시간이 지남에 따라 베타가 변경되는 방식을 결정합니다.
      #constant는 전체 훈련 실행 동안 베타를 일정하게 유지합니다.
      beta_schedule: constant

      #시간이 지남에 따라 엡실론이 어떻게 변하는지 결정합니다.
      #linear은 엡실론을 선형으로 감쇠하여 max_steps에서 0에 도달합니다.
      epsilon_schedule: linear

    network_settings:
      #벡터 관찰 입력에 정규화가 적용되는지 여부입니다.
      #기본값 false
      #더 간단한 이산 제어 문제에서는 해로울 수 있습니다.
      normalize: false

      #관찰 입력의 직접적인 조합인 간단한 문제의 경우 이 값은 작아야 합니다.
      #동작이 관찰 변수 간의 매우 복잡한 상호 작용인 문제의 경우 이 값이 더 커야 합니다.
      #일반적인 범위 : 32 ~ 512
      hidden_units: 128

      #신경망의 숨겨진 레이어 수입니다.
      #간단한 문제의 경우 더 적은 수의 레이어가 더 빠르고 효율적으로 훈련될 가능성이 높습니다.
      #더 복잡한 제어 문제에는 더 많은 레이어가 필요할 수 있습니다.
      #일반적인 범위 1 ~ 3
      num_layers: 2

      #보상 신호
    reward_signals:
      #외부 보상
      extrinsic:
        #에이전트가 먼 미래의 보상을 준비하기 위해 현재에 행동해야 하는 상황에서는 이 값이 커야 합니다.
        #보상이 더 즉각적인 경우에는 더 작을 수 있습니다. 1보다 엄격하게 작아야 합니다.
        #일반적인 범위 0.8 ~ 0.995
        gamma: 0.99
        #환경이 제공하는 보상을 곱하는 요소입니다.
        #일반적인 범위 1.00
        strength: 1.0

    #Common Trainer Configurations
    #교육 프로세스를 종료하기 전에 환경(또는 여러 환경을 병렬로 사용하는 경우 모든 환경에서)에서 취해야 하는 총 단계
    #(즉, 수집된 관찰 및 취한 조치)입니다.
    #Typical range: 5e5 - 1e7
    max_steps: 500000

    #피소드 내에서 보상이 빈번하거나 에피소드가 엄청나게 많은 경우에는 더 적은 수를 사용하는 것이 더 이상적일 수 있습니다.
    #이 숫자는 에이전트의 일련의 작업 내에서 모든 중요한 동작을 캡처할 수 있을 만큼 충분히 커야 합니다.
    #Typical range: 32 - 2048
    time_horizon: 64

    #훈련 통계를 생성하고 표시하기 전에 수집해야 하는 경험의 수입니다. 이것은 Tensorboard에서 그래프의 세분성을 결정합니다.
    #(기본값 = 50000)
    summary_freq: 10000
반응형

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

--time-scale  (0) 2021.11.16
[ml-agents] batch size , episode, epoch  (0) 2021.11.14
Learning Environment Design Agents  (0) 2020.12.28
Class Academy  (0) 2020.12.28
ml-agents v1.0 : Overview  (0) 2020.12.28
: