Multiplicative Logit Adjustment Approximates Neural-Collapse-Aware Decision Boundary Adjustment (ICLR2025)
This repository comprises code for LTR. Primarily, one can conduct training (or logit adjustment) and assess the model by executing first.py and second.py at the top level.
first.py: Code for the training.second.py: Code for the logit adjustment or 1vs1 adjuster.
This repository is based on the paper and repository of Alshammari et al. Please refer to them as well.
- Setup environment. Refer to Requirement.
- Prepare datasets. If you want to experiment with CIFAR, this program automatically download them to the
datasetsdirectory. If you want to use ImageNet or other datasets, place them in thedatasetsfolder beforehand. The location can be modified inutils/conf.py. - Execute. Run the program by executing first.py or second.py. You can reproduce experiments detailed in our paper by specifying the JSON file path in the
jsonsdirectory. For instance:
python first.py --seeds 0 --json_path "./jsons/Cifar100/first.json"python second.py --seeds 0 --json_path "./jsons/Cifar100/second.json"- Check the results by examining the standard output and the
expfolder.
- Install pip, Python, and PyTorch. Our environment specifications are depicted below. Other versions might function, albeit reproducibility of results cannot be guaranteed.
- Python version: Python 3.6.8
- PyTorch verion: 1.10.1+cu113
- Install the libraries via pip using the following command.
pip install -U scikit-image pandas seaborn ipykernel scikit-learn tensorboard
If you find our model or methodology beneficial, kindly cite our work:
@inproceedings{
hasegawa2025multiplicative,
title={Multiplicative Logit Adjustment Approximates Neural-Collapse-Aware Decision Boundary Adjustment},
author={Naoya Hasegawa and Issei Sato},
booktitle={The Thirteenth International Conference on Learning Representations},
year={2025},
url={https://openreview.net/forum?id=II81zQUS1x}
}