  We propose an end-to-end-trainable attention module for convolutional neural
network (CNN) architectures built for image classification. The module takes as
input the 2D feature vector maps which form the intermediate representations of
the input image at different stages in the CNN pipeline, and outputs a 2D
matrix of scores for each map. Standard CNN architectures are modified through
the incorporation of this module, and trained under the constraint that a
convex combination of the intermediate 2D feature vectors, as parameterised by
the score matrices, must \textit{alone} be used for classification.
Incentivised to amplify the relevant and suppress the irrelevant or misleading,
the scores thus assume the role of attention values. Our experimental
observations provide clear evidence to this effect: the learned attention maps
neatly highlight the regions of interest while suppressing background clutter.
Consequently, the proposed function is able to bootstrap standard CNN
architectures for the task of image classification, demonstrating superior
generalisation over 6 unseen benchmark datasets. When binarised, our attention
maps outperform other CNN-based attention maps, traditional saliency maps, and
top object proposals for weakly supervised segmentation as demonstrated on the
Object Discovery dataset. We also demonstrate improved robustness against the
fast gradient sign method of adversarial attack.
