TensorFlow implementation of Involution: Inverting the Inherence of Convolution for Visual Recognition. In this reporsitory you will find a jupyter notebook
that houses the involution
layer.
I have also tried training a classifier on CIFAR10 from scratch wtih convolutions
and involutions
. The loss plots, accuracy plots and the size of the models are quite astonishing. While convs outperform invs, we need to keep in mind the amount of parameters for invs.
Convolutions:
Total params: 319,178
Trainable params: 319,178
Non-trainable params: 0
Involutions:
Total params: 13,080
Trainable params: 13,074
Non-trainable params: 6
Below is the activation outputs from the involution kernels. We can observe that, involutions indeed is spatial-specific and channel-agnostic.
@misc{li2021involution,
title={Involution: Inverting the Inherence of Convolution for Visual Recognition},
author={Duo Li and Jie Hu and Changhu Wang and Xiangtai Li and Qi She and Lei Zhu and Tong Zhang and Qifeng Chen},
year={2021},
eprint={2103.06255},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
Thanks to Duo Li (first author) for clarifying my doubts.