cleanup(fflag): delete dead use_noisy_nets + use_distributional — [FFLAG-013a]

GpuExperienceCollectorConfig.use_noisy_nets and use_distributional were
both declared with "always enabled" comments on their default=true
setters. Zero conditional readers anywhere — the GPU kernel always
runs NoisyNet exploration and C51 distributional RL. Deleted fields +
defaults + training_loop setters. Kept noisy_sigma_init, num_atoms,
v_min, v_max since those are read.

enable_action_masking left for human review — has real gating chain
across collector config + trainer struct + training loop.
This commit is contained in:
jgrusewski
2026-04-20 22:49:00 +02:00
parent 3f4fa33b9b
commit be4f9932b0
2 changed files with 0 additions and 8 deletions

View File

@@ -200,12 +200,8 @@ pub struct ExperienceCollectorConfig {
pub q_clip_max: f32,
/// Huber loss kappa for TD error (robust priority). 0.0 = disabled (raw L1).
pub huber_kappa: f32,
/// D5: Whether to use NoisyNet exploration in the GPU kernel
pub use_noisy_nets: bool,
/// D5: Initial noise std dev for NoisyNet (Rainbow DQN default: 0.5)
pub noisy_sigma_init: f32,
/// D6: Whether to use C51 distributional RL
pub use_distributional: bool,
/// D6: Number of atoms in C51 distribution (default: 51)
pub num_atoms: i32,
/// D6: Minimum value support for C51 (default: -50.0)
@@ -357,9 +353,7 @@ impl Default for ExperienceCollectorConfig {
q_clip_min: -200.0, // Reward v6: tighter than old -500 but covers v_range + safety margin
q_clip_max: 200.0,
huber_kappa: 0.0,
use_noisy_nets: true, // Rainbow DQN: NoisyNet exploration always enabled
noisy_sigma_init: 0.5,
use_distributional: true, // Rainbow DQN: C51 distributional RL always enabled
num_atoms: 51, // C51 standard atom count
// v_min/v_max: tight support for 16× atom resolution (delta_z=0.6 vs 9.6)
v_min: -15.0,

View File

@@ -1285,9 +1285,7 @@ impl DQNTrainer {
} else {
0.0
},
use_noisy_nets: true,
noisy_sigma_init: self.hyperparams.noisy_sigma_init as f32,
use_distributional: true,
num_atoms: self.hyperparams.num_atoms as i32,
v_min: self.hyperparams.v_min as f32,
v_max: self.hyperparams.v_max as f32,