Main Content

rlRepresentationOptions

(권장되지 않음) 강화 학습 에이전트 표현(크리틱 및 액터)을 위한 옵션 세트

rlRepresentationOptions는 권장되지 않습니다. 대신 agent options 객체 내에서 rlOptimizerOptions 객체를 사용하십시오. 자세한 내용은 호환성 관련 고려 사항을 참조하십시오.

설명

rlRepresentationOptions 객체를 사용하여 크리틱(rlValueRepresentation, rlQValueRepresentation)과 액터(rlDeterministicActorRepresentation, rlStochasticActorRepresentation)에 대한 옵션 세트를 지정합니다.

생성

설명

예제

repOpts = rlRepresentationOptions는 강화 학습 액터 또는 크리틱을 만들 때 마지막 인수로 사용할 디폴트 옵션 세트를 만듭니다. 점 표기법을 사용하여 객체 속성을 수정할 수 있습니다.

예제

repOpts = rlRepresentationOptions(Name,Value)는 하나 이상의 이름-값 쌍의 인수를 사용하여 지정된 속성을 갖는 옵션 세트를 만듭니다.

속성

모두 확장

표현에 대한 학습률로, 양의 스칼라로 지정됩니다. 학습률이 너무 낮으면 훈련 시간이 오래 걸립니다. 학습률이 너무 높으면 훈련이 최적의 결과보다 못한 값에 도달하거나 발산할 수 있습니다.

예: 'LearnRate',0.025

표현의 신경망을 훈련시키는 최적화 함수로, 다음 중 하나로 지정됩니다.

  • "adam" — Adam 최적화 함수를 사용합니다. OptimizerParameters 옵션의 GradientDecayFactor 필드와 SquaredGradientDecayFactor 필드를 사용하여 기울기 이동평균의 감쇠율과 제곱 기울기 이동평균의 감쇠율을 지정할 수 있습니다.

  • "sgdm" — SGDM(Stochastic Gradient Descent with Momentum: 모멘텀을 사용한 확률적 경사하강법) 최적화 함수를 사용합니다. OptimizerParameters 옵션의 Momentum 필드를 사용하여 모멘텀 값을 지정할 수 있습니다.

  • "rmsprop" — RMSProp 최적화 함수를 사용합니다. OptimizerParameters 옵션의 SquaredGradientDecayFactor 필드를 사용하여 제곱 기울기 이동평균의 감쇠율을 지정할 수 있습니다.

이러한 최적화 함수에 대한 자세한 내용은 Deep Learning Toolbox™에서 trainingOptions의 알고리즘 섹션에 있는 확률적 경사하강법 항목을 참조하십시오.

예: 'Optimizer',"sgdm"

최적화 함수에 적용 가능한 파라미터로, 다음 파라미터를 갖는 OptimizerParameters 객체로 지정됩니다.

파라미터설명
Momentum

이전 스텝의 기여로, 0과 1 사이의 스칼라로 지정됩니다. 값이 0이면 이전 스텝의 기여가 없음을 의미합니다. 값이 1이면 최대 기여를 의미합니다.

이 파라미터는 Optimizer"sgdm"인 경우에만 적용됩니다. 이 경우 디폴트 값은 0.9입니다. 대부분의 경우 이 디폴트 값이 잘 동작합니다.

Epsilon

분모 오프셋으로, 양의 스칼라로 지정됩니다. 최적화 함수는 0으로 나누기를 방지하기 위해 신경망 파라미터 업데이트에서 분모에 이 오프셋을 더합니다.

이 파라미터는 Optimizer"adam" 또는 "rmsprop"인 경우에만 적용됩니다. 이 경우 디폴트 값은 10–8입니다. 대부분의 경우 이 디폴트 값이 잘 동작합니다.

GradientDecayFactor

기울기 이동평균의 감쇠율로, 0과 1 사이의 양의 스칼라로 지정됩니다.

이 파라미터는 Optimizer"adam"인 경우에만 적용됩니다. 이 경우 디폴트 값은 0.9입니다. 대부분의 경우 이 디폴트 값이 잘 동작합니다.

SquaredGradientDecayFactor

제곱 기울기 이동평균의 감쇠율로, 0과 1 사이의 양의 스칼라로 지정됩니다.

이 파라미터는 Optimizer"adam" 또는 "rmsprop"인 경우에만 적용됩니다. 이 경우 디폴트 값은 0.999입니다. 대부분의 경우 이 디폴트 값이 잘 동작합니다.

OptimizerParameters의 특정 속성이 Optimizer 옵션에 지정된 최적화 함수 유형에 적용되지 않는 경우, 해당 속성은 "Not applicable"로 설정됩니다.

디폴트 값을 변경하려면 rlRepresentationOptions 세트를 만들고 점 표기법으로 OptimizerParameters의 속성에 액세스하여 값을 변경하십시오.

repOpts = rlRepresentationOptions;
repOpts.OptimizerParameters.GradientDecayFactor = 0.95;

표현 기울기의 임계값으로, Inf 또는 양의 스칼라로 지정됩니다. 기울기가 이 값을 초과하면 기울기는 GradientThresholdMethod 옵션에서 지정한 대로 잘립니다. 기울기 자르기를 사용하면 훈련 반복에서 신경망 파라미터가 변경되는 정도가 제한됩니다.

예: 'GradientThreshold',1

기울기 임계값을 초과하는 기울기 값을 자를 때 사용할 기울기 임계값 메서드로, 다음 중 하나로 지정됩니다.

  • "l2norm" — 학습 가능한 파라미터의 기울기의 L2 노름이 GradientThreshold보다 큰 경우, L2 노름이 GradientThreshold와 같아지도록 기울기를 스케일링합니다.

  • "global-l2norm" — 전역 L2 노름 L이 GradientThreshold보다 큰 경우, 모든 기울기를 GradientThreshold/L배만큼 스케일링합니다. 전역 L2 노름은 모든 학습 가능한 파라미터를 고려합니다.

  • "absolute-value" — 학습 가능한 파라미터의 기울기의 개별 편도함수의 절댓값이 GradientThreshold보다 큰 경우, GradientThreshold와 같아지도록 편도함수를 스케일링하고 편도함수의 부호를 그대로 유지합니다.

자세한 내용은 Deep Learning Toolbox에서 trainingOptions의 알고리즘 섹션에 있는 기울기 제한 항목을 참조하십시오.

예: 'GradientThresholdMethod',"absolute-value"

L2 정규화 함수(가중치 감쇠)의 인자로, 음이 아닌 스칼라로 지정됩니다. 자세한 내용은 Deep Learning Toolbox에서 trainingOptions의 알고리즘 섹션에 있는 L2 정규화 항목을 참조하십시오.

파라미터가 많이 있는 표현을 사용할 때 과적합을 방지하려면 L2RegularizationFactor 옵션을 늘리는 것을 고려하십시오.

예: 'L2RegularizationFactor',0.0005

기울기 계산, 파라미터 업데이트, 훈련 중 예측하기와 같이 심층 신경망 연산을 수행하는 데 사용하는 계산 장치입니다. "cpu" 또는 "gpu"로 지정됩니다.

"gpu" 옵션을 사용하려면 Parallel Computing Toolbox™와 CUDA®를 지원하는 NVIDIA® GPU가 둘 다 필요합니다. 지원되는 GPU에 대한 자세한 내용은 릴리스별 GPU 지원 (Parallel Computing Toolbox) 항목을 참조하십시오.

gpuDevice (Parallel Computing Toolbox)를 사용하여 MATLAB®에서 사용할 로컬 GPU 장치를 쿼리하거나 선택할 수 있습니다.

참고

GPU에서 에이전트를 훈련시키거나 시뮬레이션하면 해당 장치 고유의 수치적 반올림 오차가 발생합니다. 이러한 오차로 인해 동일한 연산을 CPU에서 수행한 것과 다른 결과가 산출될 수 있습니다.

병렬 처리를 사용하여 훈련 속도를 높이고 싶다면 UseDevice를 설정할 필요가 없습니다. 그 대신, 에이전트 훈련 시 UseParallel 옵션이 true로 설정되는 rlTrainingOptions 객체를 사용합니다. 멀티코어 프로세서와 GPU를 사용하여 훈련하는 방법에 대한 자세한 내용은 Train Agents Using Parallel Computing and GPUs 항목을 참조하십시오.

예: 'UseDevice',"gpu"

객체 함수

rlValueRepresentation(Not recommended) Value function critic representation for reinforcement learning agents
rlQValueRepresentation (Not recommended) Q-Value function critic representation for reinforcement learning agents
rlDeterministicActorRepresentation(Not recommended) Deterministic actor representation for reinforcement learning agents
rlStochasticActorRepresentation(Not recommended) Stochastic actor representation for reinforcement learning agents

예제

모두 축소

강화 학습 에이전트의 크리틱 또는 액터 표현을 만들 때 사용할 옵션 세트를 만듭니다. 표현의 학습률을 0.05로 설정하고 기울기 임계값을 1로 설정합니다. 옵션 세트를 만들 때 이름-값 쌍을 사용하여 옵션을 설정할 수 있습니다. 사용자가 명시적으로 설정하지 않은 옵션은 디폴트 값을 갖습니다.

repOpts = rlRepresentationOptions('LearnRate',5e-2,...
                                  'GradientThreshold',1)
repOpts = 
  rlRepresentationOptions with properties:

                  LearnRate: 0.0500
          GradientThreshold: 1
    GradientThresholdMethod: "l2norm"
     L2RegularizationFactor: 1.0000e-04
                  UseDevice: "cpu"
                  Optimizer: "adam"
        OptimizerParameters: [1x1 rl.option.OptimizerParameters]

또는, 디폴트 옵션 세트를 만들고 점 표기법을 사용하여 일부 값을 변경합니다.

repOpts = rlRepresentationOptions;
repOpts.LearnRate = 5e-2;
repOpts.GradientThreshold = 1
repOpts = 
  rlRepresentationOptions with properties:

                  LearnRate: 0.0500
          GradientThreshold: 1
    GradientThresholdMethod: "l2norm"
     L2RegularizationFactor: 1.0000e-04
                  UseDevice: "cpu"
                  Optimizer: "adam"
        OptimizerParameters: [1x1 rl.option.OptimizerParameters]

OptimizerParameters 옵션의 속성을 변경하려면 점 표기법을 사용하여 해당 속성에 액세스합니다.

repOpts.OptimizerParameters.Epsilon = 1e-7;
repOpts.OptimizerParameters
ans = 
  OptimizerParameters with properties:

                      Momentum: "Not applicable"
                       Epsilon: 1.0000e-07
           GradientDecayFactor: 0.9000
    SquaredGradientDecayFactor: 0.9990

버전 내역

R2019a에 개발됨