Files
foxhunt/config/training/dqn-production.toml
jgrusewski ae704a7b73 config: production epochs 100→200, min_epochs_before_stopping 50→100
H100 has the compute budget — 200 epochs with cosine decay gives the
model full room to learn through C51 transition and converge.
Early stopping can't fire before epoch 100.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 18:22:21 +02:00

79 lines
1.5 KiB
TOML

# DQN Production Training Profile — H100 80GB
# Full Rainbow DQN: branching + distributional + dueling + double + PER + noisy nets + CQL
#
# Mixed-precision (NVIDIA AMP pattern):
# - f32 master weights, Adam moments, gradients, loss accumulators
# - bf16 shadow copies for cuBLAS GemmEx tensor core GEMM
# - Cosine LR decay: 1e-4 → 1e-5 over 100 epochs
[training]
epochs = 200
batch_size = 1024
learning_rate = 0.0001
gamma = 0.99
weight_decay = 0.0001
adam_epsilon = 1e-8
warmup_steps = 0
hidden_dim_base = 256
max_steps_per_epoch = 2000
reward_scale = 1.0
huber_delta = 1.0
lr_decay_type = 2
lr_min = 0.00001
[distributional]
num_atoms = 51
[exploration]
epsilon_start = 1.0
epsilon_end = 0.01
epsilon_decay = 0.995
noisy_sigma_init = 0.3
entropy_coefficient = 0.001
count_bonus_coefficient = 0.1
q_gap_threshold = 0.05
[replay_buffer]
buffer_size = 500000
min_replay_size = 1000
per_alpha = 0.6
per_beta_start = 0.4
[early_stopping]
enabled = true
patience = 20
min_epochs_before_stopping = 100
[experience]
initial_capital = 100000.0
tx_cost_multiplier = 0.0001
min_hold_bars = 5
[experience.fill_simulation]
ioc_fill_prob = 0.85
limit_fill_min = 0.30
limit_fill_max = 0.80
spread_cost_frac = 0.50
spread_capture_frac = 0.50
[risk]
max_position = 2.0
loss_aversion = 1.5
q_clip_min = -50.0
q_clip_max = 50.0
[advanced]
n_steps = 3
tau = 0.005
c51_warmup_epochs = 5
her_ratio = 0.2
cql_alpha = 0.1
curiosity_weight = 0.1
iqn_lambda = 0.25
spectral_norm_sigma_max = 1.5
gradient_clip_norm = 1.0
[reward]
loss_aversion = 1.5
q_gap_threshold = 0.1