Viewpoint policy-gradient actor — ADE20K, c64, T=5
Glimpse-placement policy for a frozen CanViT, over a discrete grid of candidate viewpoints (2 scales x 16x16 centres): scores per candidate are policy logits trained on-policy by score-function credit (loss -(z * log pi) - entropy_bonus * H, K=1 fractional-CE rewards); deploy = full-scene glimpse at t0, argmax afterwards — the same deploy rule as the Q-regression policies. Method + code: CanViT-PyTorch-RL.
Provenance: run 20260706-035820_pgfloor_c64_t5_ce_f400000__trial0012, git 2317cd9856594071db76db0c009be491b5981b5c, seed 0, step 3000
(deploy ckpt = best mean(t1-t4) validation CE over the run's evals). Backbone canvit/canvitb16-add-vpe-pretrain-g128px-s512px-in21k-dv3b16-2026-02-02;
probe resolved for canvas grid 64. Full-val metrics at this step:
| glimpse step t | val CE | val mIoU % |
|---|---|---|
| t0 | 0.7649 | 39.60 |
| t1 | 0.7149 | 42.60 |
| t2 | 0.6887 | 43.81 |
| t3 | 0.6748 | 44.36 |
| t4 | 0.6664 | 44.78 |
from canvit_pytorch_rl.policy.net import ViewpointScorer
net = ViewpointScorer.from_pretrained("canvit/pgpolicy-ade20k-c64-t5-2026-07-06-sweep-trial0012").eval()
Drive it through canvit_pytorch_rl.policy.deploy.ArgmaxPolicy + canvit_eval.run_episode for
protocol-exact rollouts; canvit_pytorch_rl.policy.eval is the standalone evaluator.
Sweep winner of study pgfloor_c64_t5_ce_f400000 (400k-forward trial budget): entropy floor 0.5 nat, lr 1.77e-4, wd 4.0e-3, immediate credit — objective 0.6862 (mean t1-t4 val CE). NOT yet confirmed at the full 640k budget.