Insurance Paper β Pretrained Weights
Pretrained checkpoints for "The Unawareness of AI Looking for Health Insurance Type from Normal Chest X-ray Images".
All models were trained on MIMIC-CXR-JPG v2.0.0 with seed=123. MedGemma experiments use the MedGemma-refined subset (mimic-cxr-gemma), containing only normal CXRs filtered by MedGemma.
Models
| Model | Architecture | Params | File size |
|---|---|---|---|
| MedMamba | VSSM_DoubleLinear / VSSM_Double_addDemothen2 | ~29M | ~115 MB |
| DenseNet121 | DenseNetWithDoubleLinear / _addDemothen2 | ~8M | ~59 MB |
| Swin Transformer V2 | SwinTDoubleLinear / _addDemothen2 | ~50M | ~218 MB |
Repository Structure
insurance_paper_weights/
βββ exp0/ # Baselines (CheXpert / MIMIC)
β βββ CheXpert/
β β βββ densenet.pt, mamba.pt, swinTF.pt
β βββ MIMIC/
β βββ densenet.pt, mamba.pt, swinTF.pt
β
βββ exp0-2/ # Random Initialization
β βββ swinTF_random.pt
β
βββ exp1/ # Patch keep/remove β DenseNet
β βββ densenet_keep/
β β βββ patch1.pt ... patch9.pt
β βββ densenet_remove/
β βββ patch1.pt ... patch9.pt
β
βββ exp1-1/ # Patch keep/remove β MedMamba
β βββ mamba_keep/
β β βββ patch1.pt ... patch9.pt
β βββ mamba_remove/
β βββ patch1.pt ... patch9.pt
β
βββ exp1-2/ # Patch keep/remove β DenseNet + Swin Transformer
β βββ densenet_keep/
β β βββ patch1.pt ... patch9.pt
β βββ densenet_remove/
β β βββ patch1.pt ... patch9.pt
β βββ swinTF_keep/
β β βββ patch1.pt ... patch9.pt
β βββ swinTF_remove/
β βββ patch1.pt ... patch9.pt
β
βββ exp2/ # Resolution β MedMamba
β βββ mamba_2.pt ... mamba_224.pt (8 files)
β
βββ exp2-1/ # Resolution β DenseNet
β βββ densenet_2.pt ... densenet_224.pt (8 files)
β
βββ exp2-2/ # Resolution β Swin Transformer
β βββ swinTF_4.pt ... swinTF_224.pt (7 files)
β
βββ exp3/ # Demographics β MedMamba
β βββ sex.pt, age.pt, race.pt
β βββ sexage.pt, sexrace.pt, agerace.pt
β βββ sexagerace.pt
β
βββ exp3-1/ # Demographics β DenseNet
β βββ (same 7 files)
β
βββ exp3-2/ # Demographics β Swin Transformer
β βββ (same 7 files)
β
βββ exp4/ # Frequency filtering β MedMamba
β βββ highpass/
β β βββ 1Hz.pt, 5Hz.pt, ... 400Hz.pt
β βββ lowpass/
β βββ 1Hz.pt, 5Hz.pt, ... 400Hz.pt
β
βββ exp4-1/ # Frequency filtering β Swin Transformer
β βββ highpass/ βββ lowpass/
β
βββ exp4-2/ # Frequency filtering β DenseNet
β βββ highpass/ βββ lowpass/
β
βββ exp2_medgemma/ # MedGemma Resolution β MedMamba
β βββ mamba_2.pt ... mamba_224.pt (8 files)
β
βββ exp2-1_medgemma/ # MedGemma Resolution β DenseNet
β βββ densenet_2.pt ... densenet_224.pt (8 files)
β
βββ exp2-2_medgemma/ # MedGemma Resolution β Swin Transformer
β βββ swinTF_4.pt ... swinTF_224.pt (7 files)
β
βββ exp3_medgemma/ # MedGemma Demographics β MedMamba
β βββ sex.pt, age.pt, race.pt
β βββ sexage.pt, sexrace.pt, agerace.pt
β βββ sexagerace.pt
β
βββ exp3-1_medgemma/ # MedGemma Demographics β DenseNet
β βββ (same 7 files)
β
βββ exp3-2_medgemma/ # MedGemma Demographics β Swin Transformer
β βββ (same 7 files)
β
βββ exp4_medgemma/ # MedGemma Frequency filtering β MedMamba
β βββ highpass/
β β βββ 1Hz.pt, 5Hz.pt, ... 400Hz.pt
β βββ lowpass/
β βββ 1Hz.pt, 5Hz.pt, ... 400Hz.pt
β
βββ exp4-1_medgemma/ # MedGemma Frequency filtering β Swin Transformer
β βββ highpass/ βββ lowpass/
β
βββ exp4-2_medgemma/ # MedGemma Frequency filtering β DenseNet
βββ highpass/ βββ lowpass/
Checkpoint Table
Note: All experiments are trained and available.
| Experiment | Description | Model | Config | # Checkpoints | HF path | Available? |
|---|---|---|---|---|---|---|
| exp0 | Baselines (CheXpert/MIMIC) | All 3 | β | 6 | exp0/{dataset}/{model}.pt |
Yes |
| exp0-2 | Random Initialisation | SwinT | β | 1 | exp0-2/swinTF_random.pt |
Yes |
| exp1 | Patch keep/remove | DenseNet | 9 patches x 2 | 18 | exp1/densenet_{keep/remove}/patch{N}.pt |
Yes |
| exp1-1 | Patch keep/remove | MedMamba | 9 patches x 2 | 18 | exp1-1/mamba_{keep/remove}/patch{N}.pt |
Yes |
| exp1-2 | Patch keep/remove | SwinT | 9 patches x 2 | 18 | exp1-2/swinTF_{keep/remove}/patch{N}.pt |
Yes |
| exp2 | Resolution | MedMamba | 8 resolutions | 8 | exp2/mamba_{N}.pt |
Yes |
| exp2-1 | Resolution | DenseNet | 8 resolutions | 8 | exp2-1/densenet_{N}.pt |
Yes |
| exp2-2 | Resolution | SwinT | 7 resolutions | 7 | exp2-2/swinTF_{N}.pt |
Yes |
| exp3 | Demographics (addDemo) | MedMamba | 7 demo combos | 7 | exp3/{combo}.pt |
Yes |
| exp3-1 | Demographics (addDemo) | DenseNet | 7 demo combos | 7 | exp3-1/{combo}.pt |
Yes |
| exp3-2 | Demographics (addDemo) | SwinT | 7 demo combos | 7 | exp3-2/{combo}.pt |
Yes |
| exp4 | Freq filtering (HP+LP) | MedMamba | 8 freq x 2 | 16 | exp4/{highpass,lowpass}/{F}Hz.pt |
Yes |
| exp4-1 | Freq filtering (HP+LP) | SwinT | 8 freq x 2 | 16 | exp4-1/{highpass,lowpass}/{F}Hz.pt |
Yes |
| exp4-2 | Freq filtering (HP+LP) | DenseNet | 8 freq x 2 | 16 | exp4-2/{highpass,lowpass}/{F}Hz.pt |
Yes |
Original: 153 checkpoints
MedGemma Experiments (mimic-cxr-gemma dataset)
| Experiment | Description | Model | Config | # Checkpoints | HF path | Available? |
|---|---|---|---|---|---|---|
| exp2 | Resolution | MedMamba | 8 resolutions | 8 | exp2_medgemma/mamba_{N}.pt |
Yes |
| exp2-1 | Resolution | DenseNet | 8 resolutions | 8 | exp2-1_medgemma/densenet_{N}.pt |
Yes |
| exp2-2 | Resolution | SwinT | 7 resolutions | 7 | exp2-2_medgemma/swinTF_{N}.pt |
Yes |
| exp3 | Demographics (addDemo) | MedMamba | 7 demo combos | 7 | exp3_medgemma/{combo}.pt |
Yes |
| exp3-1 | Demographics (addDemo) | DenseNet | 7 demo combos | 7 | exp3-1_medgemma/{combo}.pt |
Yes |
| exp3-2 | Demographics (addDemo) | SwinT | 7 demo combos | 7 | exp3-2_medgemma/{combo}.pt |
Yes |
| exp4 | Freq filtering (HP+LP) | MedMamba | 8 freq x 2 | 16 | exp4_medgemma/{highpass,lowpass}/{F}Hz.pt |
Yes |
| exp4-1 | Freq filtering (HP+LP) | SwinT | 8 freq x 2 | 16 | exp4-1_medgemma/{highpass,lowpass}/{F}Hz.pt |
Yes |
| exp4-2 | Freq filtering (HP+LP) | DenseNet | 8 freq x 2 | 16 | exp4-2_medgemma/{highpass,lowpass}/{F}Hz.pt |
Yes |
MedGemma: 92 checkpoints
Total: 153 original + 92 MedGemma = 245 unique checkpoints
- Demo combos (exp3):
sex,age,race,sexage,sexrace,agerace,sexagerace - Frequencies (exp4): 1, 5, 10, 25, 50, 100, 200, 400 Hz
- Resolutions (exp2): 2, 4, 7, 14, 28, 56, 112, 224
- Patches (exp1): 1-9, corresponding to a 3x3 grid on 448x448 images (left-to-right, top-to-bottom)
Usage
Download all weights
git lfs install
git clone https://huggingface.co/InsurancePrediction/insurance_paper_weights
Download a single experiment
# Using huggingface_hub
from huggingface_hub import snapshot_download
snapshot_download(
repo_id="InsurancePrediction/insurance_paper_weights",
allow_patterns="exp3-1/*",
local_dir="./weights"
)
Load a checkpoint
import torch
# Base model (exp1, exp4)
from model import DenseNetWithDoubleLinear
model = DenseNetWithDoubleLinear(num_classes=2, dropout_prob=0)
ckpt = torch.load("exp1-2/densenet_keep/patch1.pt", map_location="cpu")
model.load_state_dict(ckpt["model_state_dict"])
# Demographics model (exp3)
from MedMamba.MedMamba import VSSM_Double_addDemothen2
model = VSSM_Double_addDemothen2(num_classes=2, demo_size=5) # e.g. sexage -> 2+3=5
ckpt = torch.load("exp3/sexage.pt", map_location="cpu")
model.load_state_dict(ckpt["model_state_dict"])
Mapping from HF paths to original training paths
Weights in JAMA_codes were trained on ORCD. Weights marked with (*) were trained by Chi-Yu and uploaded directly β no JAMA_codes equivalent.
| HF path | Original training path |
|---|---|
exp0/{dataset}/{model}.pt |
Trained by Chi-Yu |
exp0-2/swinTF_random.pt |
Trained by Chi-Yu |
exp1-1/mamba_keep/patch{N}.pt |
Trained by Chi-Yu |
exp1-1/mamba_remove/patch{N}.pt |
JAMA_codes/exp1-1/Rand123/Rand123_patchidx{N}_exp1-1_model_aucbest.pt |
exp1-2/densenet_keep/patch{N}.pt |
JAMA_codes/densenet_keep/Rand123/Rand123_patchidx{N}_densenet_keep_model_aucbest.pt |
exp1-2/densenet_remove/patch{N}.pt |
Trained by Chi-Yu |
exp1-2/swinTF_keep/patch{N}.pt |
JAMA_codes/swinTF_keep/Rand123/Rand123_patchidx{N}_swinTF_keep_model_aucbest.pt |
exp1-2/swinTF_remove/patch{N}.pt |
JAMA_codes/swinTF_remove/Rand123/Rand123_patchidx{N}_swinTF_remove_model_aucbest.pt |
exp2/mamba_{N}.pt |
Trained by Chi-Yu |
exp2-1/densenet_{N}.pt |
Trained by Chi-Yu |
exp2-2/swinTF_{N}.pt |
Trained by Chi-Yu |
exp3/{combo}.pt |
JAMA_codes/{combo}_weights/mamba/sunday/Rand123/Rand123_{combo}_mamba_sunday_model_aucbest.pt |
exp3-1/{combo}.pt |
JAMA_codes/{combo}_weights/densenet/sunday/Rand123/Rand123_{combo}_densenet_sunday_model_aucbest.pt |
exp3-2/{combo}.pt |
JAMA_codes/{combo}_weights/swin/sunday/Rand123/Rand123_{combo}_swin_sunday_model_aucbest.pt |
exp4/{highpass,lowpass}/{F}Hz.pt |
JAMA_codes/{F}{HighPass,LowPass}_weights/mamba/{direction}/Rand123/... |
exp4-1/{highpass,lowpass}/{F}Hz.pt |
JAMA_codes/{F}{HighPass,LowPass}_swin_freq/Rand123/... |
exp4-2/{highpass,lowpass}/{F}Hz.pt |
JAMA_codes/{F}{HighPass,LowPass}_densenet_freq/Rand123/... |
exp2_medgemma/mamba_{N}.pt |
JAMA_codes_medgemma/{N}_mg_exp2/mamba/Rand123/... |
exp2-1_medgemma/densenet_{N}.pt |
JAMA_codes_medgemma/{N}_mg_exp2/densenet/Rand123/... |
exp2-2_medgemma/swinTF_{N}.pt |
JAMA_codes_medgemma/{N}_mg_exp2/swinTF/Rand123/... |
exp3_medgemma/{combo}.pt |
JAMA_codes_medgemma/{combo}_mg_exp3/mamba/Rand123/... |
exp3-1_medgemma/{combo}.pt |
JAMA_codes_medgemma/{combo}_mg_exp3-1/densenet/Rand123/... |
exp3-2_medgemma/{combo}.pt |
JAMA_codes_medgemma/{combo}_mg_exp3-2/swinTF/Rand123/... |
exp4_medgemma/{highpass,lowpass}/{F}Hz.pt |
JAMA_codes_medgemma/{F}{HighPass,LowPass}_mg_exp4/mamba/Rand123/... |
exp4-1_medgemma/{highpass,lowpass}/{F}Hz.pt |
JAMA_codes_medgemma/{F}{HighPass,LowPass}_mg_exp4-1/swinTF/Rand123/... |
exp4-2_medgemma/{highpass,lowpass}/{F}Hz.pt |
JAMA_codes_medgemma/{F}{HighPass,LowPass}_mg_exp4-2/densenet/Rand123/... |
Bootstrap Evaluation Status
All 153 original bootstrap evaluations complete (n_bootstrap=20, sample_size=1000, seed=42).
| Experiment | Evaluations | Status |
|---|---|---|
| exp0 | 6 (3 models x 2 datasets) | Done |
| exp0-2 | 1 | Done |
| exp1-1 | 18 (mamba keep + remove x 9 patches) | Done |
| exp1-2 | 36 (densenet keep/remove + swinTF keep/remove x 9 patches) | Done |
| exp2/2-1/2-2 | 23 (8+8+7 resolutions) | Done |
| exp3/3-1/3-2 | 21 (3 models x 7 combos) | Done |
| exp4/4-1/4-2 | 48 (3 models x 2 directions x 8 freqs) | Done |
MedGemma Bootstrap Status
| Experiment | Evaluations | Status |
|---|---|---|
| MedGemma exp2/2-1/2-2 | 23 (8+8+7 resolutions) | Done |
| MedGemma exp3/3-1/3-2 | 21 (3 models x 7 combos) | Done |
| MedGemma exp4/4-1/4-2 | 48 (3 models x 2 directions x 8 freqs) | Done |
Results: bootstrap_results/ in the code repository.
Training Details
- Dataset (original): MIMIC-CXR-JPG v2.0.0 (normal frontal chest X-rays)
- Dataset (MedGemma): mimic-cxr-gemma (MedGemma-refined, normal CXRs only)
- Task: Binary classification β Private vs. Public/Government insurance
- Image size: 448 x 448
- Seed: 123
- Selection: Best validation AUC checkpoint
Citation
@inproceedings{chen2025unawareness,
title={The Unawareness of AI Looking for Health Insurance Type from Normal Chest X-ray Images},
author={Chen, Chi-Yu and others},
year={2025}
}
Code
Inference Providers NEW
This model isn't deployed by any Inference Provider. π Ask for provider support