阅读了论文 Squeeze-and-Excitation Networks
论文利用的是通道间的相关性,先用GAP屏蔽掉空间上的分布信息能让后续计算更加准确。先将空间上所有点的信息都平均成了一个值,然后使用两个全连接利用通道相关性训练最终的通道重要性。
代码工作:
- 在6002和6005上同时对 pven进行实验。
1.调高num_instance和batchsize,在veri776上仅对pven使用uafm,将性能调到82.46
2.直接使用之前的特征面积融合机制代替pven的面积注意力机制,性能下降到80。
3.对修改后的仅用面积注意力机制的pven实验,性能达到82.2。
4.对修改代码后的pven用特征面积融合注意力机制,性能下降到81.
5.使用原本胡师兄的特征面积注意力机制,性能依然比只使用uafm和面积注意力机制低。
6.修改特征注意力和面积注意力的权重占比,还在实验中。 - 在6006 上对fast-reid 中的resnet50不同阶段中插入 inception的高低频处理模块
1.在stage3和stage4后使用时,性能比只在stage4后使用更高。
2.在stage2和stage3和stage4后使用时,性能会暴降。
问题分析
- PVEN一开始直接使用特征面积注意力融合时,效果差。
查看代码,发现原作者使用面积注意力机制的代码和胡师兄的代码有些许差别;原作者是在对特征张量归一化前使用的面积注意力机制乘特征,胡师兄为了添加特征注意力机制,将面积注意力机制修改为归一化后再与特征张量相乘。于是,进行第一个实验,修改面积注意力为归一化后乘特征张量,进行实验,得到接近修改前的性能,82.24。
紧接着,进行下一步实验,添加特征注意力机制;实验结果是,无论之前我使用的多层感知机,还是胡师兄的特征注意力模块,添加后都会使性能下降近一个点。
思考原因,通过打印代码执行过程,特征注意力和面积注意力的权重的值,发现特征注意力总比面积注意力的权重要高。猜测性能下降的原因可能使面积注意力的作用被消弱了。于是,尝试调低特征注意力权重值,进行实验。
下一步
1.在现有最高性能上,调试代码,使添加特征注意力后的模型性能变得更好。
2.根据 senet的思想,先使用gap对通道上所有信息平均到点,然后对4个局部特征使用全连接训练得到它们的重要性。