roger-java

Results 17 comments of roger-java

首先,十分感谢作者您的回复,原谅我没有将问题表达清楚,确实如您所说,我说的就是在ImageNet上进行预训练后得到的resnet18模型,这个预训练模型在我的算法框架中主要是对特征进行提取。您的回复不止解答了我关于预训练模型的问题,更让我对注意力机制这块有了进一步的认识,谢谢您! 其次,由于低层次的细节信息对我做的方向很重要,所以我想在预训练的resnet18中加入注意力机制从而能够将不同尺度的细节信息进行捕获并将它们进行特征融合,我觉得这种特征对于后面分类有一定帮助。我现在正在尝试将CBAM、BAM和SENet加入resnet18中来测试这三种注意力机制对性能的影响,我发现,SENet并没有像网上所言能带来性能的提升(至少对我做的东西没有提升),我还以为是由于SENet不包含空间注意力模块的原因,毕竟CBAM和BAM效果都会多多少少比paper上高一点。今天听您讲local channel attention,那可能是Global Channel Attention的原因。当然,AFF我也会做实验看一下效果的! 紧接着,是我另外两个问题,还希望您能解答一下。第一,我现在只是在resnet18最开始的maxpool之前和最后的avgpool之前加入那三种注意力机制,因为我想使用预训练resnet18的权重参数,如果我在这两个池化之间(也就是resnet block)加入注意力就只能重新从零开始训练resnet18,而实验室也没有这么多的资源让我使用ImageNet来训练resnet18,所以,想问一下您,有办法既能保存预训练模型参数又能在resnet block引入注意力机制吗?毕竟,那四个block中的细节信息也是很重要的。第二,我认为注意力机制在哪个地方加入也是有讲究,希望作者您能指教一下哈,另外,注意力机制的优势可以从消融实验结果体现,如何从理论上更好的解释注意力机制对整个特征提取模型的贡献呢? 最后,祝工作顺利,期待您的回复。

哇,您真的是算回issue最快的作者了,我想再次感谢您。对于您所提的预训练模型参数保存方法,我一定要去试一下,嘿嘿。 其实,我一直认为,要捕获空间细节信息,那SpatialAttention肯定是要比ChannelAttention效果好的,但自己的实验结果又让人挺困惑的,确实如您所说,空间注意力中,卷积核的大小对最终的性能会产生很大影响,一般情况下,我想应该是浅层中使用大卷积核(比如7x7),深层中使用小卷积核(比如3X3),但不同方向,不同任务那肯定需要微调的,这里面又得需要大量的实验咯。 另外,我看了您的实验效果,确实可以在每层后都加入attention,不知道您所说的层和我说的层是一样的不,我附带了一个截图,还想和您继续讨论一下注意力机制加在什么位置。(红色的1和2是我现在正在尝试的,蓝色是我认为的层) 最后,其实我问您从理论解释注意力机制,也是在问我自己,你不可能说我加在这里效果好,我就加,那为什么你要加在这里呢?对吧,我觉得我还需要再去补一下这方面的理论。感谢您分享的资料,我正在看。 因为我自己也要快开题了,自己的创新点,实验这些都还没怎么做,所以我也是比较焦虑的,好像大家读研都在焦虑的一种状态里面,哈哈哈,那互相祝福吧,希望作者您身体健康,毕业顺利吧!期待您的回复呀! ![image](https://user-images.githubusercontent.com/31872115/96561159-c7985680-12f1-11eb-9b71-ef17e98c6469.png)

您说,全局平均池化把空间分布搞没了,可以这么认为吗?因为平均池化可以保留更多的图像背景信息,最大池化可以保留更多的纹理信息。所以这里的空间分布是指纹理信息分布吗? 加在[1]处计算消耗大,是因为特征图的大小原因吗?那我后面的注意力确实应该加在resnet18的后两个stage,但我的想法是:浅层网络可以捕获更多的纹理信息,而深层网络更多的是语义信息的获取,我需要的是纹理信息,但如果我在后两个stage加attention岂不是没什么效果,反之,如果我在前两个stage加attention,我的计算量会变得很大。这让我很困惑。另外,我的图像输入是3x256x256,然后输出特征是512x8x8。我应该怎么去估计这8x8的特征图上的空间信息呢? 希望作者您能帮忙解答一下,谢谢! ![image](https://user-images.githubusercontent.com/31872115/96584357-adba3c00-1310-11eb-8784-30a436f6c0bd.png)

您好,您的意思是把最开始的maxpool替换掉,从而保留更多的细节特征吗?那最后的avgpool处怎么处理比较好一点呢?我其实想保留detailed fine-grained information,就像lbp那样,中心和其周围的像素点的大小关系不会因光照等而改变,从而能够提取到更加稳定的特征。您说的对,我确实要做feature map fusion,我也确实像这么做,只是没找到能够很好融合这low-level和mid-level and high-level的方法。

是的,到最后就是一个二分类的task,抱歉,我应该一开始就说明白。哈哈哈

@YimianDai 作者,抱歉再次打扰您,我试了将resnet18中的八个短连接全换成AFF/iAFF,但是效果却没有原本的x+y好,有很大的性能差异,本质上讲,我做的方向也是图像分类,按道理来讲不应该差异这么大吧。这是怎么回事呢?有没有可能是预训练模型的原因呢?我加载了在ImageNet上预训练的resnet18的模型参数。 ![image](https://user-images.githubusercontent.com/31872115/100175435-4f810a00-2f09-11eb-8cde-955705993876.png)

@YimianDai 是的,是在ImageNet上训练得到的ResNet18,希望作者您能提供一个pytorch版本的预训练resnet18版本。麻烦了,我们这边实验室也没设备能自己跑预训练模型。

@YimianDai 作者,您那部分可视化是怎么做出来的呀?这个GradCAM要插入到网络中吗?