We lifted 2 functions out of this paper's own repositories and ran 2 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.
| Repository | Role | Ran |
|---|---|---|
| alherit/cr-dqn | canonical | 2 of 2 |
| Function | Status | Where it lives |
|---|---|---|
| cramer_dist | Ran | alherit/cr-dqn/code/run_atari.py code served (permissive licence) · get_code("3d72966986b2054c") |
| force_step_dirac | Ran | alherit/cr-dqn/code/synthetic.py code served (permissive licence) · get_code("0f1c3dc9f5ed62c5") |
Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.
Distributional reinforcement learning (DRL) extends the value-based approach by approximating the full distribution over future returns instead of the mean only, providing a richer signal that leads to improved performances. Quantile Regression (QR) based methods like QR-DQN project arbitrary distributions into a parametric subset of staircase distributions by minimizing the 1-Wasserstein distance. However, due to biases in the gradients, the quantile regression loss is used instead for training, guaranteeing the same minimizer and enjoying unbiased gradients. Non-crossing constraints on the quantiles have been shown to improve the performance of QR-DQN for uncertainty-based exploration strategies. The contribution of this work is in the setting of fixed quantile levels and is twofold. First, we prove that the Cramér distance yields a projection that coincides with the 1-Wasserstein one and that, under non-crossing constraints, the squared Cramér and the quantile regression losses yield collinear gradients, shedding light on the connection between these important elements of DRL. Second, we propose a low complexity algorithm to compute the Cramér distance.
The same record, over MCP at https://syntology.ai/mcp:
get_harvested_code_for_paper("2110.00535")
get_code_for_paper("2110.00535")
have("2110.00535")
Connect an agent — have() is free.