ray.rllib.utils.exploration.random_encoder.RE3#
- class ray.rllib.utils.exploration.random_encoder.RE3(action_space: gymnasium.spaces.Space, *, framework: str, model: ModelV2, embeds_dim: int = 128, encoder_net_config: dict | None = None, beta: float = 0.2, beta_schedule: str = 'constant', rho: float = 0.1, k_nn: int = 50, random_timesteps: int = 10000, sub_exploration: Dict[str, Any] | type | str | None = None, **kwargs)[源代码]#
基类:
Exploration
用于高效探索的随机编码器。
实现:[1] 使用随机编码器的状态熵最大化以实现高效探索。Seo, Chen, Shin, Lee, Abbeel, & Lee, (2021). arXiv 预印本 arXiv:2102.09430.
使用基于粒子的k近邻(k-NN)估计器在潜在空间中估计状态熵。状态的潜在表示使用随机初始化参数的编码器计算。
状态的熵被视为内在奖励,并添加到环境的外在奖励中以进行策略优化。熵是按批次计算的,它不考虑整个回放缓冲区的分布。
方法
初始化 RE3。
在调用 policy.compute_actions() 之前的准备工作钩子。
可以将优化器添加到策略自身的
optimizers
中。返回当前的探索状态。
在剧集结束时处理必要的探索逻辑。
在剧集开始时处理必要的探索逻辑。
计算状态的潜在表示/嵌入。
将 Exploration 对象的状态设置为给定的值。