erobic / occam-nets-v1

OccamNets apply Occam's razor to architecture design to improve bias-resistance (ECCV 2022 Oral)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OccamNets v1 (ECCV 2022 Oral Paper)

This is the repository for our new paper OccamNets. In this paper, we apply Occam's razor to neural networks to use only the required network depth and required visual regions. This increases bias robustness.

Install the dependencies

./requirements.sh

Configuration:

  • Specify the root directory (where the dataset/logs will be stored) in the paths.root entry inside conf/base_config.yaml

Instructions for each dataset

BiasedMNISTv2 (released under Creative Commons Attribution 4.0 International (CC BY 4.0) license)

COCO-on-Places

Training Scripts

  • We provide bash scripts to train OccamResNet and ResNet (including baselines and SoTA debiasing methods on both the architectures)
    • Train baseline and SoTA methods on OccamResNet/ResNet using: ./scripts/{dataset}/{dataset_shortform}_{method}.sh
    • E.g., To train ./scripts/biased_mnist/bmnist_occam.sh trains OccamNet with BiasedMNIST

Relevant files for OccamNets

  • Model definition: Find OccamNets in models/occam_resnet.py, occam_efficient_net.py and occam_mobile_net.py.
  • Training script: trainers/occam_trainer.py.
  • Training configuration: conf/trainer/occam_trainer.yaml (all of these parameters can be overridden from command line)

Citation

@article{shrestha2022occamnets,
  title={OccamNets: Mitigating Dataset Bias by Favoring Simpler Hypotheses},
  author={Shrestha, Robik and Kafle, Kushal and Kanan, Christopher},
  booktitle={European Conference on Computer Vision (ECCV)},
  year={2022}
}

This work was supported in part by NSF awards #1909696 and #2047556.

About

OccamNets apply Occam's razor to architecture design to improve bias-resistance (ECCV 2022 Oral)

License:MIT License


Languages

Language:Python 96.8%Language:Shell 3.2%