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

Code Repository

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support