rlDDPGAgentOptions
DDPG 에이전트에 대한 옵션
설명
rlDDPGAgentOptions
객체를 사용하여 DDPG(심층 결정적 정책 경사법) 에이전트에 대한 옵션을 지정합니다. DDPG 에이전트를 만들려면 rlDDPGAgent
를 사용하십시오.
자세한 내용은 DDPG(심층 결정적 정책 경사법) 에이전트 항목을 참조하십시오.
다양한 유형의 강화 학습 에이전트에 대한 자세한 내용은 강화 학습 에이전트 항목을 참조하십시오.
생성
설명
는 전부 디폴트 옵션을 사용하여 DDPG 에이전트를 만들 때 인수로 사용할 options 객체를 만듭니다. 점 표기법을 사용하여 객체 속성을 수정할 수 있습니다.opt
= rlDDPGAgentOptions
속성
SampleTime
— 에이전트의 샘플 시간
1
(디폴트 값) | 양의 스칼라 | -1
에이전트의 샘플 시간으로, 양의 스칼라 또는 -1
로 지정됩니다. 이 파라미터를 -1
로 설정하면 이벤트 기반 시뮬레이션을 실행할 수 있습니다.
Simulink® 환경에서는 에이전트가 시뮬레이션 시간의 매 SampleTime
초마다 실행되도록 지정된 RL Agent 블록입니다. SampleTime
이 -1
이면 이 블록은 부모 서브시스템에서 샘플 시간을 상속합니다.
MATLAB® 환경에서는 환경이 진행될 때마다 에이전트가 실행됩니다. 이 경우 SampleTime
은 sim
또는 train
에 의해 반환되는 출력 경험의 연속된 요소 사이의 시간 간격입니다. SampleTime
이 -1
인 경우 반환되는 출력 경험의 연속된 요소 사이의 시간 간격은 에이전트 실행을 트리거하는 이벤트의 발생 시점을 반영합니다.
이 속성은 에이전트와 에이전트 내 agent options 객체 간에 공유됩니다. 따라서 agent options 객체에서 이를 변경하면 에이전트에서도 변경되고 그 반대의 경우에도 마찬가지입니다.
예: SampleTime=-1
DiscountFactor
— 감가 인자
0.99
(디폴트 값) | 1보다 작거나 같은 양의 스칼라
훈련 중에 미래 보상에 적용할 감가 인자로, 1보다 작거나 같은 양의 스칼라로 지정됩니다.
예: DiscountFactor=0.9
NoiseOptions
— 잡음 모델 옵션
OrnsteinUhlenbeckActionNoise
객체 (디폴트 값) | GaussianActionNoise
객체
잡음 모델 옵션으로, 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;
ExperienceBufferLength
— 경험 버퍼 크기
10000
(디폴트 값) | 양의 정수
경험 버퍼 크기로, 양의 정수로 지정됩니다. 훈련 중에 에이전트는 버퍼에서 무작위로 샘플링된 경험 미니 배치를 사용하여 업데이트를 계산합니다.
예: ExperienceBufferLength=1e6
MiniBatchSize
— 무작위 경험 미니 배치의 크기
64
(디폴트 값) | 양의 정수
무작위 경험 미니 배치의 크기로, 양의 정수로 지정됩니다. 각 훈련 에피소드 중에 에이전트는 크리틱 속성 업데이트를 위한 기울기를 계산할 때 경험 버퍼에서 무작위로 경험을 샘플링합니다. 대규모 미니 배치를 사용하면 기울기 계산 시 분산을 줄일 수 있지만 계산 노력이 늘어납니다.
예: MiniBatchSize=128
SequenceLength
— RNN을 사용할 때의 최대 배치-훈련 궤적 길이
1
(디폴트 값) | 양의 정수
순환 신경망을 사용할 때의 최대 배치-훈련 궤적 길이로, 양의 정수로 지정됩니다. 이 값은 순환 신경망을 사용하는 경우 1
보다 커야 하고, 그 외에는 1
이어야 합니다.
예: SequenceLength=4
ActorOptimizerOptions
— 액터 최적화 함수 옵션
rlOptimizerOptions
객체
액터 최적화 함수 옵션으로, rlOptimizerOptions
객체로 지정됩니다. 이 옵션을 사용하면 학습률, 기울기 임계값뿐 아니라 최적화 함수 알고리즘과 그 파라미터 같은 액터 근사기의 훈련 파라미터를 지정할 수 있습니다. 자세한 내용은 rlOptimizerOptions
항목과 rlOptimizer
항목을 참조하십시오.
예: ActorOptimizerOptions = rlOptimizerOptions(LearnRate=2e-3)
CriticOptimizerOptions
— 크리틱 최적화 함수 옵션
rlOptimizerOptions
객체
크리틱 최적화 함수 옵션으로, rlOptimizerOptions
객체로 지정됩니다. 이 옵션을 사용하면 학습률, 기울기 임계값뿐 아니라 최적화 함수 알고리즘과 그 파라미터 같은 크리틱 근사기의 훈련 파라미터를 지정할 수 있습니다. 자세한 내용은 rlOptimizerOptions
항목과 rlOptimizer
항목을 참조하십시오.
예: CriticOptimizerOptions = rlOptimizerOptions(LearnRate=5e-3)
NumStepsToLookAhead
— 정책 값 추정에 사용되는 미래 보상 수
1
(디폴트 값) | 양의 정수
정책 값 추정에 사용되는 미래 보상 수로, 양의 정수로 지정됩니다. 구체적으로 설명하면, NumStepsToLookAhead
가 N과 같은 경우 주어진 스텝에서 정책의 타깃 값은 그다음 N개 스텝의 보상에 N번째 보상의 원인이 된 상태에 대한 감가 추정값을 더하여 계산됩니다. 이 타깃을 N-스텝 리턴값이라고도 합니다.
참고
크리틱에 순환 신경망을 사용하는 경우 NumStepsToLookAhead
는 1
이어야 합니다.
자세한 내용은 [1]의 7장을 참조하십시오.
예: NumStepsToLookAhead=3
NumWarmStartSteps
— 학습 시작 전에 생성할 최소 샘플 수
양의 정수
학습 시작 전에 생성할 최소 샘플 수입니다. 훈련 시작 시 더욱 다양한 데이터 세트에 대해 학습이 이루어지도록 하려면 이 옵션을 사용하십시오. MiniBatchSize
의 값이 디폴트 값이자 최솟값입니다. 최소 NumWarmStartSteps
개의 샘플이 수집되면 LearningFrequency
속성으로 지정된 간격으로 학습이 이루어집니다.
예: NumWarmStartSteps=20
NumEpoch
— 에이전트가 데이터 세트를 학습하는 횟수
1
(디폴트 값) | 양의 정수
에이전트가 데이터 세트를 학습하는 횟수로, 양의 정수로 지정됩니다. 이 속성을 지원하는 오프-폴리시 에이전트(DQN, DDPG, TD3, SAC)의 경우, 매 학습 반복 시 재생 버퍼에서 데이터를 통과하는 횟수가 이 값에 의해 정의됩니다.
예: NumEpoch=2
MaxMiniBatchPerEpoch
— 한 번의 Epoch 동안 학습에 사용되는 미니 배치의 최대 수
100
(디폴트 값) | 양의 정수
한 번의 Epoch 동안 학습에 사용되는 미니 배치의 최대 수로, 양의 정수로 지정됩니다.
이 속성을 지원하는 오프-폴리시 에이전트(DQN, DDPG, TD3, SAC)의 경우 학습에 사용되는 실제 미니 배치 수는 재생 버퍼의 길이에 따라 달라지며 MaxMiniBatchPerEpoch
가 상한을 지정합니다. MaxMiniBatchPerEpoch
값에 NumEpoch
값을 곱한 값이 기울기 스텝의 최대 수이기 때문에 각 학습 반복당 기울기 스텝의 최대 수도 이 값에 의해 지정됩니다.
이 속성을 지원하는 오프-폴리시 에이전트의 경우 MaxMiniBatchPerEpoch
값이 높으면 새 데이터 수집보다 학습에 더 많은 시간을 쓴다는 의미입니다. 따라서 이 파라미터를 사용하여 학습 프로세스의 샘플 효율성을 제어할 수 있습니다.
예: MaxMiniBatchPerEpoch=200
LearningFrequency
— 학습 반복 간의 최소 환경 상호 작용 수
-1
(디폴트 값) | 양의 정수
학습 반복 간에 이루어지는 환경 상호 작용의 최소 수로, 양의 정수 또는 -1
로 지정됩니다. 이 값에 따라 학습 전에 생성해야 할 새로운 데이터 샘플 수가 정해집니다. 이 속성을 지원하는 오프-폴리시 에이전트(DQN, DDPG, TD3, SAC)의 경우 디폴트 값 -1
은 각 에피소드가 끝난 후에 학습이 이루어짐을 의미합니다. 최소 NumWarmStartSteps
개의 샘플이 수집되어야 학습이 시작됩니다. 그 이후부터는 LearningFrequency
속성에 지정된 간격에 따라 학습이 이루어집니다.
예: LearningFrequency=4
PolicyUpdateFrequency
— 크리틱 업데이트를 기준으로 한 정책 업데이트 주기
1
(디폴트 값) | 양의 정수
크리틱 업데이트를 기준으로 한 정책 업데이트 주기로, 양의 정수로 지정됩니다. 이 옵션은 각 크리틱 업데이트를 기준으로 액터를 얼마나 자주 업데이트할지 정의합니다. 예를 들어, 값 3
은 크리틱이 3번 업데이트될 때마다 액터가 한 번 업데이트됨을 의미합니다. 액터를 크리틱보다 낮은 빈도로 업데이트하면 훈련 시간이 길어지는 대신에 수렴이 개선될 수 있습니다.
예: PolicyUpdateFrequency=2
TargetSmoothFactor
— 타깃 액터 및 크리틱 업데이트를 위한 평활화 인자
1e-3
(디폴트 값) | 1보다 작거나 같은 양의 스칼라
타깃 액터 및 크리틱 업데이트를 위한 평활화 인자로, 1보다 작거나 같은 양의 스칼라로 지정됩니다. 자세한 내용은 타깃 업데이트 방법 항목을 참조하십시오.
예: TargetSmoothFactor=1e-2
TargetUpdateFrequency
— 다음 타깃 액터 및 크리틱 업데이트로 넘어가기 전의 스텝 수
1
(디폴트 값) | 양의 정수
다음 타깃 액터 및 크리틱 업데이트로 넘어가기 전의 스텝 수로, 양의 정수로 지정됩니다. 자세한 내용은 타깃 업데이트 방법 항목을 참조하십시오.
예: TargetUpdateFrequency=5
BatchDataRegularizerOptions
— 배치 데이터 정규화 함수 옵션
[]
(디폴트 값) | rlBehaviorCloningRegularizerOptions
객체
배치 데이터 정규화 함수 옵션으로, rlBehaviorCloningRegularizerOptions
객체로 지정됩니다. 이러한 옵션은 일반적으로 기존 데이터에서부터 에이전트를 오프라인으로 훈련시키는 데 사용됩니다. 이 옵션을 비워 두면 정규화 함수가 사용되지 않습니다.
자세한 내용은 rlBehaviorCloningRegularizerOptions
항목을 참조하십시오.
예: BatchDataRegularizerOptions = rlBehaviorCloningRegularizerOptions(BehaviorCloningRegularizerWeight=10)
ResetExperienceBufferBeforeTraining
— 경험 버퍼를 지우기 위한 옵션
false
(디폴트 값) | true
훈련 전 경험 버퍼를 지우기 위한 옵션으로, 논리값으로 지정됩니다.
예: ResetExperienceBufferBeforeTraining=true
InfoToSave
— 추가적인 에이전트 데이터를 저장하기 위한 옵션
구조체 (디폴트 값)
추가적인 에이전트 데이터를 저장하기 위한 옵션으로, 다음 필드를 포함하는 구조체로 지정됩니다.
Optimizer
PolicyState
Target
ExperienceBuffer
다음 방법 중 하나로 agent 객체를 저장할 수 있습니다.
save
명령 사용rlTrainingOptions
객체에saveAgentCriteria
및saveAgentValue
지정FileLogger
객체 내에 적절한 로깅 함수 지정
위 방법을 사용하여 에이전트를 저장할 경우, InfoToSave
구조체의 필드 값에 따라 해당 데이터를 에이전트와 함께 저장할지 여부가 결정됩니다. 예를 들어, Optimizer
필드를 true
로 설정하면 액터 및 크리틱 최적화 함수가 에이전트와 함께 저장됩니다.
InfoToSave
속성을 수정하는 것은 agent options 객체가 생성된 후에만 가능합니다.
예: options.InfoToSave.Optimizer=true
Optimizer
— 액터 및 크리틱 최적화 함수를 저장하기 위한 옵션
false
(디폴트 값) | true
액터 및 크리틱 최적화 함수를 저장하기 위한 옵션으로, 논리값으로 지정됩니다. Optimizer
필드를 false
로 설정하면, (에이전트의 숨겨진 속성이며 내부 상태를 가질 수 있는) 액터 및 크리틱 최적화 함수가 에이전트와 함께 저장되지 않으므로 디스크 공간과 메모리가 절약됩니다. 그러나 최적화 함수에 내부 상태가 포함되어 있다면, 저장된 에이전트의 상태가 원래 에이전트의 상태와 동일하지 않게 됩니다.
예: true
PolicyState
— 탐색적 정책의 상태를 저장하기 위한 옵션
false
(디폴트 값) | true
탐색적 정책의 상태를 저장하기 위한 옵션으로, 논리값으로 지정됩니다. PolicyState
필드를 false
로 설정하면, (숨겨진 에이전트 속성인) 탐색적 정책의 상태가 에이전트와 함께 저장되지 않습니다. 이 경우 저장된 에이전트의 상태는 원래 에이전트의 상태와 동일하지 않습니다.
예: true
Target
— 액터 및 크리틱 타깃을 저장하기 위한 옵션
false
(디폴트 값) | true
액터 및 크리틱 타깃을 저장하기 위한 옵션으로, 논리값으로 지정됩니다. Target
필드를 false
로 설정하면, (숨겨진 에이전트 속성인) 액터 및 크리틱 타깃이 에이전트와 함께 저장되지 않습니다. 이 경우 타깃에 내부 상태가 포함되어 있으면, 저장된 에이전트의 상태가 원래 에이전트의 상태와 동일하지 않게 됩니다.
예: true
ExperienceBuffer
— 경험 버퍼를 저장하기 위한 옵션
false
(디폴트 값) | true
경험 버퍼를 저장하기 위한 옵션으로, 논리값으로 지정됩니다. PolicyState
필드를 false
로 설정하면, (점 표기법을 사용하여 에이전트 속성으로 액세스할 수 있는) 경험 버퍼의 내용이 에이전트와 함께 저장되지 않습니다. 이 경우 저장된 에이전트의 상태는 원래 에이전트의 상태와 동일하지 않습니다.
예: true
객체 함수
rlDDPGAgent | DDPG(심층 결정적 정책 경사법) 강화 학습 에이전트 |
예제
DDPG Agent Options 객체 만들기
미니 배치 크기를 지정하는 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 NumWarmStartSteps: 48 NumEpoch: 1 MaxMiniBatchPerEpoch: 100 LearningFrequency: -1 PolicyUpdateFrequency: 1 TargetSmoothFactor: 1.0000e-03 TargetUpdateFrequency: 1 BatchDataRegularizerOptions: [] ResetExperienceBufferBeforeTraining: 0 InfoToSave: [1x1 struct]
점 표기법을 사용하여 옵션을 수정할 수 있습니다. 예를 들어, 에이전트 샘플 시간을 0.5
로 설정합니다.
opt.SampleTime = 0.5;
알고리즘
잡음 모델
OrnsteinUhlenbeckActionNoise
객체는 다음과 같은 숫자형 값 속성을 갖습니다.
속성 | 설명 | 디폴트 값 |
---|---|---|
InitialAction | 행동 초기값 | 0 |
Mean | 잡음 평균값 | 0 |
MeanAttractionConstant | 잡음 모델 출력이 얼마나 빨리 평균을 향해 움직이는지 지정하는 상수 | 0.15 |
StandardDeviationDecayRate | 표준편차의 감쇠율 | 0 |
StandardDeviation | 잡음 표준편차의 초기값 | 0.3 |
StandardDeviationMin | 최소 표준편차 | 0 |
각 샘플 시간 스텝 k
에서 잡음 값 v(k)
는 다음 공식에 따라 업데이트됩니다. 여기서 Ts
는 에이전트 샘플 시간이고, 초기값 v(1)은 InitialAction
파라미터에 의해 정의됩니다.
v(k+1) = v(k) + MeanAttractionConstant.*(Mean - v(k)).*Ts + StandardDeviation(k).*randn(size(Mean)).*sqrt(Ts)
각 샘플 시간 스텝에서 표준편차는 다음 코드에 나와 있는 것처럼 감쇠됩니다.
decayedStandardDeviation = StandardDeviation(k).*(1 - StandardDeviationDecayRate); StandardDeviation(k+1) = max(decayedStandardDeviation,StandardDeviationMin);
이 단순 공식을 사용하여 표준편차를 절반으로 줄이기 위해 얼마나 많은 샘플을 취할지 계산할 수 있습니다.
halflife = log(0.5)/log(1-StandardDeviationDecayRate);
StandardDeviation
은 한 에피소드의 끝과 다음 에피소드의 시작 사이에 보존됩니다. 따라서 StandardDeviationMin
에 도달할 때까지 여러 에피소드에 걸쳐 계속 균일하게 감소합니다.
연속 행동 신호의 경우 탐색을 촉진하려면 잡음 표준편차를 적절히 설정하는 것이 중요합니다. StandardDeviation*sqrt(Ts)
를 행동 범위의 1%에서 10% 사이의 값으로 설정하는 것이 일반적입니다.
에이전트가 국소 최적해에 너무 빠르게 수렴할 경우 잡음의 양을 늘려(즉, 표준편차를 늘림) 에이전트 탐색을 촉진하십시오. 또한 탐색을 늘리려면 StandardDeviationDecayRate
를 줄여볼 수 있습니다.
GaussianActionNoise
객체는 다음과 같은 숫자형 값 속성을 갖습니다.
속성 | 설명 | 디폴트 값(ExplorationModel ) | 디폴트 값(TargetPolicySmoothModel ) |
---|---|---|---|
Mean | 잡음 평균값 | 0 | 0 |
StandardDeviationDecayRate | 표준편차의 감쇠율 | 0 | 0 |
StandardDeviation | 잡음 표준편차의 초기값 | sqrt(0.1) | sqrt(0.2) |
StandardDeviationMin | 최소 표준편차로, StandardDeviation 보다 작아야 함 | 0.01 | 0.01 |
LowerLimit | 잡음 샘플 하한 | -Inf | -0.5 |
UpperLimit | 잡음 샘플 상한 | Inf | 0.5 |
각 시간 스텝 k
에서 가우스 잡음 v
는 다음 코드에 나와 있는 것처럼 샘플링됩니다.
w = Mean + randn(ActionSize).*StandardDeviation(k); v(k+1) = min(max(w,LowerLimit),UpperLimit);
여기서 초기값 v(1)은 InitialAction
파라미터에 의해 정의됩니다. 각 샘플 시간 스텝에서 표준편차는 다음 코드에 나와 있는 것처럼 감쇠됩니다.
decayedStandardDeviation = StandardDeviation(k).*(1 - StandardDeviationDecayRate); StandardDeviation(k+1) = max(decayedStandardDeviation,StandardDeviationMin);
StandardDeviation
은 한 에피소드의 끝과 다음 에피소드의 시작 사이에 보존됩니다. 따라서 StandardDeviationMin
에 도달할 때까지 여러 에피소드에 걸쳐 계속 균일하게 감소합니다.
참고 문헌
[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에 개발됨R2022a: ResetExperienceBufferBeforeTraining
속성의 디폴트 값이 변경됨
ResetExperienceBufferBeforeTraining
의 디폴트 값이 true
에서 false
로 변경되었습니다.
새 DDPG 에이전트를 만들 때 훈련 전에 경험 버퍼를 지우려면 ResetExperienceBufferBeforeTraining
을 true
로 지정해야 합니다. 예를 들어, 훈련 전에 점 표기법을 사용하여 이 속성을 설정합니다.
agent.AgentOptions.ResetExperienceBufferBeforeTraining = true;
또는 rlDDPGAgentOptions
객체에서 이 속성을 true
로 설정하고 이 객체를 사용하여 DDPG 에이전트를 만들 수 있습니다.
R2021a: OrnsteinUhlenbeckActionNoise
객체의 잡음 확률 분포를 정의하는 속성 이름이 변경됨
Ornstein-Uhlenbeck(OU) 잡음 모델의 확률 분포를 정의하는 속성 이름이 변경되었습니다. DDPG 에이전트는 탐색에 OU 잡음을 사용합니다.
Variance
속성의 이름이StandardDeviation
으로 변경되었습니다.VarianceDecayRate
속성의 이름이StandardDeviationDecayRate
로 변경되었습니다.VarianceMin
속성의 이름이StandardDeviationMin
으로 변경되었습니다.
이들 속성의 디폴트 값은 그대로 유지됩니다. 이전 MATLAB 릴리스에서 저장된 OrnsteinUhlenbeckActionNoise
잡음 객체를 불러오면 Variance
, VarianceDecayRate
, VarianceMin
의 값이 각각 StandardDeviation
, StandardDeviationDecayRate
, StandardDeviationMin
에 복사됩니다.
Variance
, VarianceDecayRate
, VarianceMin
속성은 여전히 동작하지만, 권장되지 않습니다. OU 잡음 모델의 확률 분포를 정의하려면 대신 새 속성 이름을 사용하십시오.
다음 표에는 rlDDPGAgentOptions
객체 ddpgopt
에 새 속성 이름을 사용하도록 코드를 업데이트하는 방법이 나와 있습니다.
권장되지 않음 | 권장 |
---|---|
ddpgopt.NoiseOptions.Variance = 0.5; | ddpgopt.NoiseOptions.StandardDeviation = 0.5; |
ddpgopt.NoiseOptions.VarianceDecayRate = 0.1; | ddpgopt.NoiseOptions.StandardDeviationDecayRate = 0.1; |
ddpgopt.NoiseOptions.VarianceMin = 0; | ddpgopt.NoiseOptions.StandardDeviationMin = 0; |
R2020a: DDPG 에이전트에 대한 타깃 업데이트 방법 설정이 변경됨
DDPG 에이전트에 대한 타깃 업데이트 방법 설정이 변경되었습니다. 다음과 같이 변경되었으며, 이에 따라 코드 업데이트가 필요합니다.
TargetUpdateMethod
옵션이 제거되었습니다. 이제 DDPG 에이전트는TargetUpdateFrequency
및TargetSmoothFactor
옵션 값에 따라 타깃 업데이트 방법을 결정합니다.TargetUpdateFrequency
의 디폴트 값이4
에서1
로 변경되었습니다.
다음 타깃 업데이트 방법 중 하나를 사용하려면 TargetUpdateFrequency
속성과 TargetSmoothFactor
속성을 표시된 대로 설정하십시오.
업데이트 방법 | TargetUpdateFrequency | TargetSmoothFactor |
---|---|---|
평활화 | 1 | 1 보다 작음 |
주기적 | 1 보다 큼 | 1 |
주기적 평활화(R2020a에 새로 추가된 방법) | 1 보다 큼 | 1 보다 작음 |
TargetSmoothFactor
값 0.001
을 사용하여 평활화 업데이트를 수행하는 디폴트 타깃 업데이트 구성은 그대로 유지됩니다.
다음 표에는 rlDDPGAgentOptions
의 일반적인 사용법과 새 옵션 구성을 사용하도록 코드를 업데이트하는 방법이 나와 있습니다.
권장되지 않음 | 권장 |
---|---|
opt = rlDDPGAgentOptions('TargetUpdateMethod',"smoothing"); | opt = rlDDPGAgentOptions; |
opt = rlDDPGAgentOptions('TargetUpdateMethod',"periodic"); | opt = rlDDPGAgentOptions; opt.TargetUpdateFrequency = 4; opt.TargetSmoothFactor = 1; |
opt = rlDDPGAgentOptions; opt.TargetUpdateMethod = "periodic"; opt.TargetUpdateFrequency = 5; | opt = rlDDPGAgentOptions; opt.TargetUpdateFrequency = 5; opt.TargetSmoothFactor = 1; |
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)