Files
hypertower/v4/scripts/experiments/bridge_attention/sweep.json
T
rpotter6298 280060db82 Add new regression and ensemble experiment configurations for V2-M and OrthoBridge
- Introduced multiple regression experiment configurations targeting vf_md, including:
  - cd_solo_reg_set.json: CD tower only regression setup.
  - img_solo_reg_set.json: Image tower only regression setup.
  - reg_head_epoch_sweep.json: Baseline regression sweeps at different epochs (50, 75, 100).
  - reg_head_set.json: Various regression setups including baseline and OrthoBridge configurations.
  - single_eye_reg.json: Single-eye regression setup for worst-eye aggregation analysis.

- Added ensemble configurations for OrthoBridge with different inner bridges:
  - ortho_alts_ensemble.json: Ensemble tests with ConcatBridge, PairwiseAdditiveBridge, and GatedAdditiveBridge.
  - ortho_alts_tritower.json: Tritower tests with the same inner bridges.

- Created V2-M specific configurations:
  - baseline_reg_nt50.json: Regression baseline with V2-M backbone.
  - geom_vec_gt.json and geom_vec_unet.json: Geometry vector injection experiments with V2-M.
  - single_l1_bridges.json: Single-eye ensemble experiments with various bridge types.
  - tritower_geom_gt.json: Tritower setup with GT contour-rasterized masks.

- Promoted existing experiments to higher repetitions for robustness.
2026-06-11 15:08:20 +02:00

231 lines
8.2 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[
{
"_note": "Bridge attention sweep — gated × mobilenet_v2 (ImageNet, weakest off-the-shelf). Per-sample sigmoid gates expose how much each tower contributes. Tests the hypothesis 'as image tower strengthens, bridge downweights clinical'.",
"run_name": "experiments/bridge_attention/gated_mobilenet_v2",
"reps": 10,
"overrides": { "save_checkpoints": true, "save_predictions": true },
"tower_overrides": {
"img": { "args": { "backbone": "mobilenet_v2", "freeze_ratio": 0.0 } }
},
"stage_overrides": {
"nt": {
"module": "v4.classes.bridges.gated_bridge",
"class": "GatedAdditiveBridge",
"args": { "fusion_dim": 256 }
}
}
},
{
"_note": "Bridge attention sweep — gated × resnet50 (ImageNet weights, NOT refuge-pretrained).",
"run_name": "experiments/bridge_attention/gated_resnet50",
"reps": 10,
"overrides": { "save_checkpoints": true, "save_predictions": true },
"tower_overrides": {
"img": { "args": { "backbone": "resnet50", "freeze_ratio": 0.0 } }
},
"stage_overrides": {
"nt": {
"module": "v4.classes.bridges.gated_bridge",
"class": "GatedAdditiveBridge",
"args": { "fusion_dim": 256 }
}
}
},
{
"_note": "Bridge attention sweep — gated × efficientnet_b0 (ImageNet).",
"run_name": "experiments/bridge_attention/gated_efficientnet_b0",
"reps": 10,
"overrides": { "save_checkpoints": true, "save_predictions": true },
"tower_overrides": {
"img": { "args": { "backbone": "efficientnet_b0", "freeze_ratio": 0.0 } }
},
"stage_overrides": {
"nt": {
"module": "v4.classes.bridges.gated_bridge",
"class": "GatedAdditiveBridge",
"args": { "fusion_dim": 256 }
}
}
},
{
"_note": "Bridge attention sweep — gated × efficientnet_v2_m (ImageNet, strongest off-the-shelf).",
"run_name": "experiments/bridge_attention/gated_efficientnet_v2_m",
"reps": 10,
"overrides": { "save_checkpoints": true, "save_predictions": true },
"tower_overrides": {
"img": { "args": { "backbone": "efficientnet_v2_m", "freeze_ratio": 0.0 } }
},
"stage_overrides": {
"nt": {
"module": "v4.classes.bridges.gated_bridge",
"class": "GatedAdditiveBridge",
"args": { "fusion_dim": 256 }
}
}
},
{
"_note": "Bridge attention sweep — gated × refugelike (resnet50 + REFUGE pretrain). Pairs with refugelike fundus-domain prior; tests whether REFUGE-pretrained image tower shifts the bridge's attention compared to its ImageNet-only counterpart.",
"run_name": "experiments/bridge_attention/gated_refugelike",
"reps": 10,
"overrides": { "save_checkpoints": true, "save_predictions": true },
"tower_overrides": {
"img": { "args": { "backbone": "refugelike", "freeze_ratio": 0.0 } }
},
"stage_overrides": {
"nt": {
"module": "v4.classes.bridges.gated_bridge",
"class": "GatedAdditiveBridge",
"args": { "fusion_dim": 256 }
}
}
},
{
"_note": "Bridge attention sweep — gated × refuge_efficientnet_v2_m (V2-M + REFUGE pretrain, headline production backbone).",
"run_name": "experiments/bridge_attention/gated_refuge_efficientnet_v2_m",
"reps": 10,
"overrides": { "save_checkpoints": true, "save_predictions": true },
"tower_overrides": {
"img": { "args": { "backbone": "refuge_efficientnet_v2_m", "freeze_ratio": 0.0 } }
},
"stage_overrides": {
"nt": {
"module": "v4.classes.bridges.gated_bridge",
"class": "GatedAdditiveBridge",
"args": { "fusion_dim": 256 }
}
}
},
{
"_note": "Bridge attention sweep — ortho_w0.1 × mobilenet_v2 (ImageNet). Orthogonality penalty pushes streams to encode different info; per-stream variance-explained is the attention readout.",
"run_name": "experiments/bridge_attention/ortho_mobilenet_v2",
"reps": 10,
"overrides": { "save_checkpoints": true, "save_predictions": true },
"tower_overrides": {
"img": { "args": { "backbone": "mobilenet_v2", "freeze_ratio": 0.0 } }
},
"stage_overrides": {
"nt": {
"module": "v4.classes.bridges.ortho_bridge",
"class": "OrthoBridge",
"args": {
"fusion_dim": 256,
"ortho_weight": 0.1,
"inner_module": "v4.classes.bridges.fusion_bridge",
"inner_class": "FusionBridge",
"inner_args": { "fusion_dim": 256 }
}
}
}
},
{
"_note": "Bridge attention sweep — ortho_w0.1 × resnet50 (ImageNet).",
"run_name": "experiments/bridge_attention/ortho_resnet50",
"reps": 10,
"overrides": { "save_checkpoints": true, "save_predictions": true },
"tower_overrides": {
"img": { "args": { "backbone": "resnet50", "freeze_ratio": 0.0 } }
},
"stage_overrides": {
"nt": {
"module": "v4.classes.bridges.ortho_bridge",
"class": "OrthoBridge",
"args": {
"fusion_dim": 256,
"ortho_weight": 0.1,
"inner_module": "v4.classes.bridges.fusion_bridge",
"inner_class": "FusionBridge",
"inner_args": { "fusion_dim": 256 }
}
}
}
},
{
"_note": "Bridge attention sweep — ortho_w0.1 × efficientnet_b0 (ImageNet).",
"run_name": "experiments/bridge_attention/ortho_efficientnet_b0",
"reps": 10,
"overrides": { "save_checkpoints": true, "save_predictions": true },
"tower_overrides": {
"img": { "args": { "backbone": "efficientnet_b0", "freeze_ratio": 0.0 } }
},
"stage_overrides": {
"nt": {
"module": "v4.classes.bridges.ortho_bridge",
"class": "OrthoBridge",
"args": {
"fusion_dim": 256,
"ortho_weight": 0.1,
"inner_module": "v4.classes.bridges.fusion_bridge",
"inner_class": "FusionBridge",
"inner_args": { "fusion_dim": 256 }
}
}
}
},
{
"_note": "Bridge attention sweep — ortho_w0.1 × efficientnet_v2_m (ImageNet).",
"run_name": "experiments/bridge_attention/ortho_efficientnet_v2_m",
"reps": 10,
"overrides": { "save_checkpoints": true, "save_predictions": true },
"tower_overrides": {
"img": { "args": { "backbone": "efficientnet_v2_m", "freeze_ratio": 0.0 } }
},
"stage_overrides": {
"nt": {
"module": "v4.classes.bridges.ortho_bridge",
"class": "OrthoBridge",
"args": {
"fusion_dim": 256,
"ortho_weight": 0.1,
"inner_module": "v4.classes.bridges.fusion_bridge",
"inner_class": "FusionBridge",
"inner_args": { "fusion_dim": 256 }
}
}
}
},
{
"_note": "Bridge attention sweep — ortho_w0.1 × refugelike (resnet50 + REFUGE pretrain).",
"run_name": "experiments/bridge_attention/ortho_refugelike",
"reps": 10,
"overrides": { "save_checkpoints": true, "save_predictions": true },
"tower_overrides": {
"img": { "args": { "backbone": "refugelike", "freeze_ratio": 0.0 } }
},
"stage_overrides": {
"nt": {
"module": "v4.classes.bridges.ortho_bridge",
"class": "OrthoBridge",
"args": {
"fusion_dim": 256,
"ortho_weight": 0.1,
"inner_module": "v4.classes.bridges.fusion_bridge",
"inner_class": "FusionBridge",
"inner_args": { "fusion_dim": 256 }
}
}
}
},
{
"_note": "Bridge attention sweep — ortho_w0.1 × refuge_efficientnet_v2_m (V2-M + REFUGE pretrain, headline production backbone).",
"run_name": "experiments/bridge_attention/ortho_refuge_efficientnet_v2_m",
"reps": 10,
"overrides": { "save_checkpoints": true, "save_predictions": true },
"tower_overrides": {
"img": { "args": { "backbone": "refuge_efficientnet_v2_m", "freeze_ratio": 0.0 } }
},
"stage_overrides": {
"nt": {
"module": "v4.classes.bridges.ortho_bridge",
"class": "OrthoBridge",
"args": {
"fusion_dim": 256,
"ortho_weight": 0.1,
"inner_module": "v4.classes.bridges.fusion_bridge",
"inner_class": "FusionBridge",
"inner_args": { "fusion_dim": 256 }
}
}
}
}
]