Гауссов шум действияGaussianActionNoise
объект имеет следующие свойства числового значения.
Свойство | Описание | Значение по умолчанию (ExplorationModel ) | Значение по умолчанию (TargetPolicySmoothModel ) |
---|
Mean | Шумовое среднее значение модели | 0
| 0
|
VarianceDecayRate | Уровень затухания отклонения | 0
| 0
|
Variance | Шумовое отклонение модели | 0.1
| 0.2
|
VarianceMin | Минимальное отклонение, которое должно быть меньше Variance | 0.01
| 0.01
|
LowerLimit | Шумовой демонстрационный нижний предел | -Inf | -0.5
|
UpperLimit | Шумовой демонстрационный верхний предел | Inf | 0.5
|
Гауссов шум производится как показано в следующем коде.
x = Mean + rand(ActionSize).*Variance
x = min(max(x,LowerLimit),UpperLimit);
На каждом шаге шага расчета отклонение затухает как показано в следующем коде.
decayedVariance = Variance.*(1 - VarianceDecayRate);
Variance = max(decayedVariance,VarianceMin);
Шум действия Орнстейна-АхленбекаOrnsteinUhlenbeckActionNoise
объект имеет следующие свойства числового значения.
Свойство | Описание | Значение по умолчанию |
---|
InitialAction | Начальное значение действия для шумовой модели | 0
|
Mean | Шумовое среднее значение модели | 0
|
MeanAttractionConstant | Постоянное определение, как быстро шумовой выход модели привлечен к среднему значению | 0.15
|
VarianceDecayRate | Уровень затухания отклонения | 0
|
Variance | Шумовое отклонение модели | 0.3
|
VarianceMin | Минимальное отклонение | 0
|
На каждом шаге шага расчета шумовая модель обновляется с помощью следующей формулы, где Ts
шаг расчета агента.
x(k) = x(k-1) + MeanAttractionConstant.*(Mean - x(k-1)).*Ts
+ Variance.*randn(size(Mean)).*sqrt(Ts)
На каждом шаге шага расчета отклонение затухает как показано в следующем коде.
decayedVariance = Variance.*(1 - VarianceDecayRate);
Variance = max(decayedVariance,VarianceMin);
Для непрерывных сигналов действия важно установить шумовое отклонение соответственно поощрять исследование. Распространено иметь Variance*sqrt(Ts)
будьте между 1% и 10% вашей области значений действия.
Если ваш агент сходится на локальных оптимумах слишком быстро, способствуйте исследованию агента путем увеличения количества шума; то есть, путем увеличения отклонения. Кроме того, чтобы увеличить исследование, можно уменьшать VarianceDecayRate
.