This repository is the implementation of "SPEM: Self-adaptive Pooling Enhanced Attention Module for Image Recognition" [paper] on CIFAR-100 and CIFAR-10 datasets. Our paper has been accepted for presentation at MMM 2023. You can also check with the proceeding version.
SPEM is a self-attention module. We empirically find and verify a phenomenon that the simple linear combination of global max-pooling and global min-pooling can produce pooling strategies that match or exceed the performance of global average pooling. Based on this empirical observation, we propose a simple-yet-effective self-attention module SPEM, which adopts a self-adaptive pooling strategy based on global max-pooling, global min-pooling and a lightweight module for producing the attention map.
Python and PyTorch.
pip install -r requirements.txt
CUDA_VISIBLE_DEVICES=0 python run.py --dataset cifar10 --block-name bottleneck --depth 164 --epochs 164 --schedule 81 122 --gamma 0.1 --wd 1e-4
Dataset | original | SPEM | |
---|---|---|---|
ResNet164 | CIFAR10 | 93.39 | 94.80 |
ResNet164 | CIFAR100 | 74.30 | 76.31 |
@inproceedings{zhong2023spem,
title={SPEM: Self-adaptive Pooling Enhanced Attention Module for Image Recognition},
author={Zhong, Shanshan and Wen, Wushao and Qin, Jinghui},
booktitle={MultiMedia Modeling: 29th International Conference, MMM 2023, Bergen, Norway, January 9--12, 2023, Proceedings, Part II},
pages={41--53},
year={2023},
organization={Springer}
}
Many thanks to bearpaw for his simple and clean Pytorch framework for image classification task.