本项目是论文《要更加注重注意力:通过注意迁移技术提升卷积神经网络的性能(Paying More Attention to Attention: Improving the Performance of Convolutional Neural Networks via Attention Transfer)》PyTorch 实现。点击文末「阅读原文」可查阅原论文。
项目地址:https://github.com/szagoruyko/attention-transfer
这篇论文已经提交给了 ICLR 2017 会议,正在 review 状态:https://openreview.net/forum?id=Sks9_ajex
到目前为止该代码库里的内容包括:
-
CIFAR-10 实验的基于激活技术的 AT 代码
-
ImageNet 实验的代码(ResNet-18-ResNet-34 student-teacher)
即将上线:
-
基于梯度的 AT
-
场景和基于 CUB 激活的 AT 代码
-
预训练的基于激活的 AT ResNet-18
代码使用 PyTorch。原始的实验是用 torch-autograd 做的,我们目前已经验证了 CIFAR-10 实验结果能够完全在 PyTorch 中复现,而且目前正在针对 ImageNet 做类似的工作(由于超参数的原因,PyTorch 的结果有一点点变差)
引用:
@article{Zagoruyko2016AT, author = {Sergey Zagoruyko and Nikos Komodakis}, title = {Paying More Attention to Attention: Improving the Performance of Convolutional Neural Networks via Attention Transfer}, url = {https://arxiv.org/abs/1612.03928}, year = {2016}}
要求
先安装 PyTorch,再安装 torchnet:
git clone https://github.com/pytorch/tnt cd tnt python setup.py install
安装 OpenCV 以及 Python 支持包,以及带有 OpenCV 变换的 torchvision:
git clone https://github.com/szagoruyko/vision