Pre-Estimation Checks
Read this page before fitting AIRL. The most important check is whether the reward object you want is actually state-only, because that is where the original recovery guarantee applies.
Adversarial training is sensitive to a small number of setup choices. Run these checks before fitting.
Check |
Why it matters for AIRL |
|---|---|
|
If the DGP puts its signal in action contrasts, state-only AIRL cannot match it. Set |
Discriminator loss near log(2) |
A final discriminator loss well above log(2) (about 0.693) suggests the game did not converge. Inspect before interpreting reward metrics. |
|
Too few rounds leave the game undertrained; policy TV stays high. Typical good-fit runs use 150-300 rounds. |
Feature rank |
A rank-deficient reward feature matrix leaves directions of the reward undetermined. |
Feature condition number |
High condition numbers (above ~100) can slow discriminator convergence. |
State coverage |
States not seen in the panel do not contribute discriminator gradients. The policy at those states is only informed by the Bellman propagation from visited neighbors. |
Action support per state |
A state where one action is never taken means the discriminator never gets a gradient signal for that (state, action) pair. |
Transition row sums |
Transitions must be row-stochastic in the |
Simulation Cell Checks
Values from the primary state-only simulation cell (see Simulation Study):
Check |
Value |
Status |
|---|---|---|
Feature rank |
4 / 4 |
pass |
Feature condition number |
62.58 |
pass |
Observed states |
16 / 16 |
pass |
State-action coverage |
1.000 |
pass |
Minimum action share |
0.242 |
pass |
Final discriminator loss |
1.386 |
near log(2) |
The condition number of 62.58 is moderate for a state-only linear reward and does not impair convergence here, but it is worth noting before applying AIRL to a different feature basis.
Common Risk Patterns
Wrong reward_arg. When the DGP signal is entirely in action contrasts and
reward_arg="state" is used, the reward is averaged across actions before
computing the discriminator logit. Both actions receive equal flow utility; the
policy collapses toward uniform and policy TV stays high regardless of training
length. The fix is reward_arg="state_action" plus a longer schedule.
Undertrained game. With default max_rounds=200, very short runs (below
100 rounds) often leave the discriminator loss above log(2) and the policy
far from the oracle. Increase max_rounds and monitor final_disc_loss.
Interpreting raw parameters. Raw adversarial reward weights are not structural parameters. Reward is identified only up to potential-based shaping, so parameter-level comparisons with the data-generating truth are not meaningful. Policy TV and counterfactual regret are the right scorecards.