跳至内容

schola.scripts.sb3.settings.PPOSettings

类定义

class schola.scripts.sb3.settings.PPOSettings(learning_rate=0.0003, n_steps=2048, batch_size=64, n_epochs=10, gamma=0.99, gae_lambda=0.95, clip_range=0.2, normalize_advantage=True, ent_coef=0.0, vf_coef=0.5, max_grad_norm=0.5, use_sde=False, sde_sample_freq=-1)

基类: object

用于配置近端策略优化 (PPO) 算法设置的数据类。这包括学习过程的参数,例如学习率、批处理大小、步数以及控制 PPO 算法行为的其他超参数。

参数

learning_rate

类型: float

n_steps

Type: int

batch_size

Type: int

n_epochs

Type: int

gamma

类型: float

gae_lambda

类型: float

clip_range

类型: float

normalize_advantage

类型: bool

ent_coef

类型: float

vf_coef

类型: float

max_grad_norm

类型: float

use_sde

类型: bool

sde_sample_freq

Type: int

属性

batch_size

Type: int
默认: 64

每次更新的小批量大小。这是用于策略训练的每个批次中的时间步数。必须是 n_steps 的除数。

clip_range

类型: float
默认: 0.2

策略更新的裁剪范围。这是在训练过程中,新策略与旧策略之间可能的最大差异量。这有助于防止可能导致训练不稳定的过大更新。

constructor

类型: Type[PPO]

critic_type

类型: str

ent_coef

类型: float
默认: 0.0

损失函数中熵项的系数。这通过对策略动作分布的确定性增加惩罚来鼓励探索。值越高,越鼓励探索;值越低,策略越确定。设置为 0.0 可禁用熵正则化。

gae_lambda

类型: float
默认: 0.95

广义优势估计 (GAE) 的 Lambda 参数。此参数有助于平衡优势估计中的偏差和方差。值为 1.0 对应于标准的优势估计,而值越低,方差越小,但可能引入偏差。

gamma

类型: float
Default: 0.99

未来奖励的折扣因子。这决定了智能体对未来奖励相对于即时奖励的重视程度。值为 0.99 意味着未来奖励每个时间步将打九折。

learning_rate

类型: float
Default: 0.0003

优化器的学习率。

max_grad_norm

类型: float
默认: 0.5

最大梯度范数用于裁剪。当梯度范数超过此值时,会按比例缩小梯度,以防止梯度爆炸。这有助于稳定训练,尤其是在奖励或梯度方差很大的环境中。

n_epochs

Type: int
默认: 10

更新策略的周期数。这是模型在训练期间遍历收集数据的次数。更多的周期数可能导致更好的收敛,但也可能导致过拟合。

n_steps

Type: int
默认: 2048

每个环境每次更新运行的步数。这是在更新策略之前收集的时间步数。

name

类型: str

normalize_advantage

类型: bool
默认值: True

是否对优势进行归一化。归一化优势可以通过确保其均值为 0、标准差为 1 来帮助稳定训练。这可能导致更一致的策略更新。

sde_sample_freq

Type: int
Default: -1

采样 SDE 噪声的频率。这决定了在使用状态相关探索 (SDE) 时噪声的采样频率。值为 -1 表示在每一步都采样噪声,而正整数将指定采样之间的步数。这有助于控制智能体的探索行为。

use_sde

类型: bool
Default: False

是否使用状态相关探索 (SDE)。这可以通过根据环境的当前状态调整探索噪声来帮助改进探索。当设置为 True 时,它将使用 SDE 进行探索,而不是标准的探索策略。

vf_coef

类型: float
默认: 0.5

损失函数中值函数损失的系数。这决定了值函数损失相对于策略损失的权重。值越高,对准确估计值函数的重视程度越大;值越低,则优先更新策略。

方法

__init__

__init__(learning_rate=0.0003, n_steps=2048, batch_size=64, n_epochs=10, gamma=0.99, gae_lambda=0.95, clip_range=0.2, normalize_advantage=True, ent_coef=0.0, vf_coef=0.5, max_grad_norm=0.5, use_sde=False, sde_sample_freq=-1)

返回类型: None

© . This site is unofficial and not affiliated with AMD.