基本定位就是利用多个注意力因子与卷积核相乘在聚合为一个卷积核的故事。
这里就必须说明设置新的卷积核内容采用的是F.conv2d函数。
那么就要介绍该函数的形状(shape):(outplane,inplane/groups,kernel_size,kernel_size)四维的
对于输入的shape:(batchsize,inplane,hightsize,weightsize)
对于输出的shape:(batchsize,outplane,hightsize,weightsize)
如何变成k个卷积核相加为一个卷积核,我们需要对weight乘以[batchsize,k]*weight完成多个k卷积核聚合。那么就会有一个问题,weight是四维的,如何对batchsiz个图片样例有不同的卷积核那,我们会想到如果可以将卷积核像分组卷积一样分成batchsize组就可以了,因此假设输入变成[1,batchsize*inplane,hightsize,weightsize],输出变成[1,batchsize*outplane,hightsize,weightsize],那么weightshape就要变成[batchsize*outplane,batchsize*inplane/groups,hightsize,weightsize],如果令groups =batchsize,那么每一个卷积输入的channel不变的。如何的得到k个不同卷积核的注意力因子,采用SENet
缺点:参数量增加