rlOptimizerOptions
설명
rlOptimizerOptions
객체를 사용하여 액터와 크리틱에 대한 최적화 옵션 세트를 지정합니다.
생성
설명
는 디폴트 최적화 옵션 세트를 만듭니다. 이 옵션 세트를 agent option 객체의 optOpts
= rlOptimizerOptionsCriticOptimizerOptions
또는 ActorOptimizerOptions
속성으로 사용하거나, optimizer 객체를 만들 때 rlOptimizer
의 마지막 인수로 사용할 수 있습니다. 점 표기법을 사용하여 객체 속성을 수정할 수 있습니다.
는 하나 이상의 이름-값 쌍의 인수를 사용하여 지정된 속성을 갖는 옵션 세트를 만듭니다.optOpts
= rlOptimizerOptions(Name=Value
)
속성
LearnRate
— 액터 또는 크리틱 함수 근사기 훈련에 사용되는 학습률
0.01
(디폴트 값) | 양의 스칼라
액터 또는 크리틱 함수 근사기 훈련에 사용되는 학습률로, 양의 스칼라로 지정됩니다. 학습률이 너무 낮으면 훈련 시간이 오래 걸립니다. 학습률이 너무 높으면 훈련이 최적의 결과보다 못한 값에 도달하거나 발산할 수 있습니다.
예: LearnRate=0.025
GradientThreshold
— 액터 또는 크리틱 함수 근사기 훈련에 사용되는 기울기 임계값
Inf
(디폴트 값) | 양의 스칼라
액터 또는 크리틱 함수 근사기 훈련에 사용되는 기울기 임계값으로, Inf
또는 양의 스칼라로 지정됩니다. 기울기가 이 값을 초과하면 기울기는 GradientThresholdMethod
옵션에서 지정한 대로 잘립니다. 기울기 자르기를 사용하면 훈련 반복에서 신경망 파라미터가 변경될 수 있는 정도가 제한됩니다.
예: GradientThreshold=1
GradientThresholdMethod
— 액터 또는 크리틱 함수 근사기 훈련에 사용되는 기울기 임계값 방법
"l2norm"
(디폴트 값) | "global-l2norm"
| "absolute-value"
액터 또는 크리틱 함수 근사기 훈련에 사용되는 기울기 임계값 방법입니다. 이는 기울기 임계값을 초과하는 기울기 값을 자를 때 사용할 특정 방법으로, 다음 값 중 하나로 지정됩니다.
"l2norm"
— 계층의 가중치 또는 편향과 관련된 기울기 성분을 포함하는 벡터 Glyr의 L2 노름이GradientThreshold
보다 큰 경우, 이 옵션은GradientThreshold/L
배만큼 Glyr을 스케일링합니다. 여기서 L은 Glyr의 L2 노름입니다. 이 옵션을 사용할 경우 반환된 기울기에서 Glyr의 L2 노름은GradientThreshold
를 초과할 수 없습니다. 예를 들어 완전 연결 계층이 두 개의 파라미터 배열Weights
와Bias
를 갖는다고 가정해 보겠습니다. 이 경우 임계값은Weights
및Bias
와 관련된 기울기 성분의 L2 노름에 개별적으로 적용됩니다."global-l2norm"
— 학습 가능한 모든 신경망 파라미터에 대해 기울기 G의 L2 노름이GradientThreshold
보다 큰 경우, 이 옵션은 L배만큼 G를 스케일링합니다. 여기서 L은 G의 L2 노름입니다. 이 옵션을 사용할 경우 반환된 기울기의 L2 노름은GradientThreshold
를 초과할 수 없습니다."absolute-value"
— 학습 가능한 모든 신경망 파라미터에 대해 기울기 G의 개별 (스칼라) 편도함수의 절댓값이GradientThreshold
보다 큰 경우, 이 옵션은 반환된 기울기의 해당 성분 크기가GradientThreshold
와 같고 원래 편도함수의 부호를 그대로 갖도록 편도함수를 스케일링합니다. 이 옵션을 사용할 경우 반환된 기울기의 성분 절댓값은GradientThreshold
를 초과할 수 없습니다.
자세한 내용은 Deep Learning Toolbox™에서 trainingOptions
의 알고리즘 섹션에 있는 기울기 제한 항목을 참조하십시오.
예: GradientThresholdMethod="absolute-value"
L2RegularizationFactor
— 액터 또는 크리틱 함수 근사기 훈련에 사용되는 L2 정규화 인자
0.0001 (디폴트 값) | 음이 아닌 스칼라
액터 또는 크리틱 함수 근사기 훈련에 사용되는 L2 정규화(가중치 감쇠) 인자로, 음이 아닌 스칼라로 지정됩니다. 자세한 내용은 Deep Learning Toolbox에서 trainingOptions
의 알고리즘 섹션에 있는 L2 정규화 항목을 참조하십시오.
파라미터가 많이 있는 표현을 사용할 때 과적합을 방지하려면 L2RegularizationFactor
옵션을 늘리는 것을 고려하십시오.
예: L2RegularizationFactor=0.0005
Algorithm
— 액터 또는 크리틱 함수 근사기 훈련에 사용되는 알고리즘
"adam"
(디폴트 값) | "sgdm"
| "rmsprop"
액터 또는 크리틱 함수 근사기 훈련에 사용되는 알고리즘으로, 다음 값 중 하나로 지정됩니다.
"adam"
— Adam(Adaptive movement Estimation: 적응적 움직임 추정) 알고리즘을 사용합니다.OptimizerParameters
옵션의GradientDecayFactor
필드와SquaredGradientDecayFactor
필드를 사용하여 기울기 이동평균의 감쇠율과 제곱 기울기 이동평균의 감쇠율을 지정할 수 있습니다."sgdm"
— SGDM(Stochastic Gradient Descent with Momentum: 모멘텀을 사용한 확률적 경사하강법) 알고리즘을 사용합니다.OptimizerParameters
옵션의Momentum
필드를 사용하여 모멘텀 값을 지정할 수 있습니다."rmsprop"
— RMSProp 알고리즘을 사용합니다.OptimizerParameters
옵션의SquaredGradientDecayFactor
필드를 사용하여 제곱 기울기 이동평균의 감쇠율을 지정할 수 있습니다.
이러한 알고리즘에 대한 자세한 내용은 Deep Learning Toolbox에서 trainingOptions
의 알고리즘 섹션을 참조하십시오.
예: Optimizer="sgdm"
OptimizerParameters
— 액터 또는 크리틱 함수 근사기 훈련에 사용되는 훈련 알고리즘의 파라미터
OptimizerParameters
객체
액터 또는 크리틱 함수 근사기 훈련에 사용되는 훈련 알고리즘의 파라미터로, 다음과 같은 파라미터를 갖는 OptimizerParameters
객체로 지정됩니다.
파라미터 | 설명 |
---|---|
Momentum | 이전 스텝의 기여로, 0과 1 사이의 스칼라로 지정됩니다. 값이 0이면 이전 스텝의 기여가 없음을 의미합니다. 값이 1이면 최대 기여를 의미합니다. 이 파라미터는 |
Epsilon | 분모 오프셋으로, 양의 스칼라로 지정됩니다. 최적화 함수는 0으로 나누기를 방지하기 위해 신경망 파라미터 업데이트에서 분모에 이 오프셋을 더합니다. 이 파라미터는 |
GradientDecayFactor | 기울기 이동평균의 감쇠율로, 0과 1 사이의 양의 스칼라로 지정됩니다. 이 파라미터는 |
SquaredGradientDecayFactor | 제곱 기울기 이동평균의 감쇠율로, 0과 1 사이의 양의 스칼라로 지정됩니다. 이 파라미터는 |
OptimizerParameters
의 특정 속성이 Algorithm
에 지정된 최적화 함수 유형에 적용되지 않는 경우, 해당 속성은 "Not applicable"
로 설정됩니다.
속성값을 변경하려면 rlOptimizerOptions
객체를 만들고 점 표기법으로 OptimizerParameters
의 속성에 액세스하여 값을 변경하십시오.
repOpts = rlRepresentationOptions; repOpts.OptimizerParameters.GradientDecayFactor = 0.95;
객체 함수
rlQAgentOptions | Q-러닝 에이전트에 대한 옵션 |
rlSARSAAgentOptions | SARSA 에이전트에 대한 옵션 |
rlDQNAgentOptions | DQN 에이전트에 대한 옵션 |
rlPGAgentOptions | Options for PG agent |
rlDDPGAgentOptions | DDPG 에이전트에 대한 옵션 |
rlTD3AgentOptions | TD3 에이전트에 대한 옵션 |
rlACAgentOptions | Options for AC agent |
rlPPOAgentOptions | Options for PPO agent |
rlTRPOAgentOptions | Options for TRPO agent |
rlSACAgentOptions | Options for SAC agent |
rlOptimizer | Creates an optimizer object for actors and critics |
예제
Optimizer Options 객체 만들기
rlOprimizerOptions
를 사용하여, 크리틱 함수 근사기 훈련에 사용할 디폴트 optimizer option 객체를 만듭니다.
myCriticOpts = rlOptimizerOptions
myCriticOpts = rlOptimizerOptions with properties: LearnRate: 0.0100 GradientThreshold: Inf GradientThresholdMethod: "l2norm" L2RegularizationFactor: 1.0000e-04 Algorithm: "adam" OptimizerParameters: [1x1 rl.option.OptimizerParameters]
점 표기법을 사용하여, 훈련 알고리즘을 SGDM(모멘텀을 사용한 확률적 경사하강법)으로 변경하고 모멘텀 파라미터의 값을 0.6
으로 설정합니다.
myCriticOpts.Algorithm = "sgdm";
myCriticOpts.OptimizerParameters.Momentum = 0.6;
AC agent option 객체를 만들고 이 객체의 CriticOptimizerOptions
속성을 myCriticOpts
로 설정합니다.
myAgentOpt = rlACAgentOptions; myAgentOpt.CriticOptimizerOptions = myCriticOpts;
이제 AC 에이전트를 만들 때 myAgentOpt
를 rlACAgent
에 대한 마지막 입력 인수로 사용할 수 있습니다.
속성값을 지정하여 Optimizer Options 객체 만들기
rlOprimizerOptions
를 사용하여, 액터 함수 근사기 훈련에 사용할 optimizer option 객체를 만듭니다. 학습률을 0.2
로 지정하고 GradientThresholdMethod
를 "absolute-value"
로 설정합니다.
myActorOpts=rlOptimizerOptions(LearnRate=0.2, ... GradientThresholdMethod="absolute-value")
myActorOpts = rlOptimizerOptions with properties: LearnRate: 0.2000 GradientThreshold: Inf GradientThresholdMethod: "absolute-value" L2RegularizationFactor: 1.0000e-04 Algorithm: "adam" OptimizerParameters: [1x1 rl.option.OptimizerParameters]
점 표기법을 사용하여 GradientThreshold
를 10
으로 변경합니다.
myActorOpts.GradientThreshold = 10;
AC agent option 객체를 만들고 이 객체의 ActorOptimizerOptions
속성을 myActorOpts
로 설정합니다.
myAgentOpt = rlACAgentOptions( ...
ActorOptimizerOptions=myActorOpts);
이제 AC 에이전트를 만들 때 myAgentOpt
를 rlACAgent
에 대한 마지막 입력 인수로 사용할 수 있습니다.
버전 내역
R2022a에 개발됨
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)