Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

rlDDPGAgentOptions

DDPG 에이전트에 대한 옵션

설명

rlDDPGAgentOptions 객체를 사용하여 DDPG(심층 결정적 정책 경사법) 에이전트에 대한 옵션을 지정합니다. DDPG 에이전트를 만들려면 rlDDPGAgent를 사용하십시오.

자세한 내용은 DDPG(심층 결정적 정책 경사법) 에이전트 항목을 참조하십시오.

다양한 유형의 강화 학습 에이전트에 대한 자세한 내용은 강화 학습 에이전트 항목을 참조하십시오.

생성

설명

opt = rlDDPGAgentOptions는 전부 디폴트 옵션을 사용하여 DDPG 에이전트를 만들 때 인수로 사용할 options 객체를 만듭니다. 점 표기법을 사용하여 객체 속성을 수정할 수 있습니다.

예제

opt = rlDDPGAgentOptions(Name=Value)는 옵션 세트 opt를 만들고 하나 이상의 이름-값 인수를 사용하여 이 옵션 세트의 속성을 설정합니다. 예를 들어, rlDDPGAgentOptions(DiscountFactor=0.95)는 감가 인자 0.95를 사용하여 옵션 세트를 만듭니다. 여러 개의 이름-값 인수를 지정할 수 있습니다.

속성

모두 확장

잡음 모델 옵션으로, OrnsteinUhlenbeckActionNoise 객체 또는 GaussianActionNoise 객체로 지정됩니다. 잡음 모델에 대한 자세한 내용은 잡음 모델 항목을 참조하십시오.

복수의 행동을 갖는 에이전트의 경우 행동의 범위와 단위가 서로 다르면 각 행동에 서로 다른 잡음 모델 파라미터가 필요할 수 있습니다. 행동들이 유사한 범위와 단위를 가질 경우, 모든 행동의 잡음 파라미터를 동일한 값으로 설정할 수 있습니다.

예를 들어, 두 개의 행동을 갖는 에이전트에 대해 각 행동의 표준편차는 서로 다른 값으로 설정하고 두 표준편차의 감쇠율은 동일하게 설정합니다.

opt = rlDDPGAgentOptions;
opt.NoiseOptions.StandardDeviation = [0.1 0.2];
opt.NoiseOptions.StandardDeviationDecayRate = 1e-4;

가우스 행동 잡음을 사용하기 위해 먼저 디폴트 GaussianActionNoise 객체를 만듭니다. 그런 다음 점 표기법을 사용하여 디폴트가 아닌 모델 속성을 지정합니다.

opt = rlDDPGAgentOptions;
opt.NoiseOptions = rl.option.GaussianActionNoise;
opt.NoiseOptions.StandardDeviation = 0.05;

액터 최적화 함수 옵션으로, rlOptimizerOptions 객체로 지정됩니다. 이 옵션을 사용하면 학습률, 기울기 임계값뿐 아니라 최적화 함수 알고리즘과 그 파라미터 같은 액터 근사기의 훈련 파라미터를 지정할 수 있습니다. 자세한 내용은 rlOptimizerOptions 항목과 rlOptimizer 항목을 참조하십시오.

예: ActorOptimizerOptions = rlOptimizerOptions(LearnRate=2e-3)

크리틱 최적화 함수 옵션으로, rlOptimizerOptions 객체로 지정됩니다. 이 옵션을 사용하면 학습률, 기울기 임계값뿐 아니라 최적화 함수 알고리즘과 그 파라미터 같은 크리틱 근사기의 훈련 파라미터를 지정할 수 있습니다. 자세한 내용은 rlOptimizerOptions 항목과 rlOptimizer 항목을 참조하십시오.

예: CriticOptimizerOptions = rlOptimizerOptions(LearnRate=5e-3)

배치 데이터 정규화 함수 옵션으로, rlBehaviorCloningRegularizerOptions 객체로 지정됩니다. 이러한 옵션은 일반적으로 기존 데이터에서부터 에이전트를 오프라인으로 훈련시키는 데 사용됩니다. 이 옵션을 비워 두면 정규화 함수가 사용되지 않습니다.

자세한 내용은 rlBehaviorCloningRegularizerOptions 항목을 참조하십시오.

예: BatchDataRegularizerOptions = rlBehaviorCloningRegularizerOptions(BehaviorCloningRegularizerWeight=10)

타깃 액터 및 크리틱 업데이트를 위한 평활화 인자로, 1보다 작거나 같은 양의 스칼라로 지정됩니다. 자세한 내용은 타깃 업데이트 방법 항목을 참조하십시오.

예: TargetSmoothFactor=1e-2

다음 타깃 액터 및 크리틱 업데이트로 넘어가기 전의 스텝 수로, 양의 정수로 지정됩니다. 자세한 내용은 타깃 업데이트 방법 항목을 참조하십시오.

예: TargetUpdateFrequency=5

훈련 전 경험 버퍼를 지우기 위한 옵션으로, 논리값으로 지정됩니다.

예: ResetExperienceBufferBeforeTraining=true

순환 신경망을 사용할 때의 최대 배치-훈련 궤적 길이로, 양의 정수로 지정됩니다. 이 값은 순환 신경망을 사용하는 경우 1보다 커야 하고, 그 외에는 1이어야 합니다.

예: SequenceLength=4

무작위 경험 미니 배치의 크기로, 양의 정수로 지정됩니다. 각 훈련 에피소드 중에 에이전트는 크리틱 속성 업데이트를 위한 기울기를 계산할 때 경험 버퍼에서 무작위로 경험을 샘플링합니다. 대규모 미니 배치를 사용하면 기울기 계산 시 분산을 줄일 수 있지만 계산 노력이 늘어납니다.

예: MiniBatchSize=128

정책 값 추정에 사용되는 미래 보상 수로, 양의 정수로 지정됩니다. 구체적으로 설명하면, NumStepsToLookAhead가 N과 같은 경우 주어진 스텝에서 정책의 타깃 값은 그다음 N개 스텝의 보상에 N번째 보상의 원인이 된 상태에 대한 감가 추정값을 더하여 계산됩니다. 이 타깃을 N-스텝 리턴값이라고도 합니다.

참고

크리틱에 순환 신경망을 사용하는 경우 NumStepsToLookAhead1이어야 합니다.

자세한 내용은 [1]의 7장을 참조하십시오.

예: NumStepsToLookAhead=3

경험 버퍼 크기로, 양의 정수로 지정됩니다. 훈련 중에 에이전트는 버퍼에서 무작위로 샘플링된 경험 미니 배치를 사용하여 업데이트를 계산합니다.

예: ExperienceBufferLength=1e6

에이전트의 샘플 시간으로, 양의 스칼라 또는 -1로 지정됩니다. 이 파라미터를 -1로 설정하면 이벤트 기반 시뮬레이션을 실행할 수 있습니다.

Simulink® 환경에서는 에이전트가 시뮬레이션 시간의 매 SampleTime초마다 실행되도록 지정된 RL Agent 블록입니다. SampleTime-1이면 이 블록은 부모 서브시스템에서 샘플 시간을 상속합니다.

MATLAB® 환경에서는 환경이 진행될 때마다 에이전트가 실행됩니다. 이 경우 SampleTimesim 또는 train에 의해 반환되는 출력 경험의 연속된 요소 사이의 시간 간격입니다. SampleTime-1인 경우 반환되는 출력 경험의 연속된 요소 사이의 시간 간격은 에이전트 실행을 트리거하는 이벤트의 발생 시점을 반영합니다.

예: SampleTime=-1

훈련 중에 미래 보상에 적용할 감가 인자로, 1보다 작거나 같은 양의 스칼라로 지정됩니다.

예: DiscountFactor=0.9

객체 함수

rlDDPGAgentDeep deterministic policy gradient (DDPG) reinforcement learning agent

예제

모두 축소

미니 배치 크기를 지정하는 rlDDPGAgentOptions 객체를 만듭니다.

opt = rlDDPGAgentOptions(MiniBatchSize=48)
opt = 
  rlDDPGAgentOptions with properties:

                             SampleTime: 1
                         DiscountFactor: 0.9900
                           NoiseOptions: [1x1 rl.option.OrnsteinUhlenbeckActionNoise]
                 ExperienceBufferLength: 10000
                          MiniBatchSize: 48
                         SequenceLength: 1
                  ActorOptimizerOptions: [1x1 rl.option.rlOptimizerOptions]
                 CriticOptimizerOptions: [1x1 rl.option.rlOptimizerOptions]
                    NumStepsToLookAhead: 1
                     TargetSmoothFactor: 1.0000e-03
                  TargetUpdateFrequency: 1
            BatchDataRegularizerOptions: []
    ResetExperienceBufferBeforeTraining: 0
                             InfoToSave: [1x1 struct]

점 표기법을 사용하여 옵션을 수정할 수 있습니다. 예를 들어, 에이전트 샘플 시간을 0.5로 설정합니다.

opt.SampleTime = 0.5;

알고리즘

모두 확장

참고 문헌

[1] Sutton, Richard S., and Andrew G. Barto. Reinforcement Learning: An Introduction. Second edition. Adaptive Computation and Machine Learning. Cambridge, Mass: The MIT Press, 2018.

버전 내역

R2019a에 개발됨

모두 확장