[ { "_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 } } } } } ]