注意力机制

注意力机制直观上的理解就是人看一张图片,肯定是被图中某一部分吸引,而对应到NN,即是给整个图片的每个像素都赋予一个权重,希望得到注意力多的即权重大。

STN就是一个注意力机制,他是让图像把最需要的那一部分平移旋转缩放回来,相当于丢掉了不需要的部分。

而像SENet中的注意力机制,先把h*w*c2的特征直接在c2维度用平均池化把其变为1*1*c2,然后用多层感知机将其转化为每一层的权重即注意力,然后每一层再乘上这个权重。

注意力机制_第1张图片

正如SENet模块在Inception结构中使用,方框旁边的维度信息代表该层的输出。这里我们使用global average pooling作为Squeeze操作。紧接着两个Fully Connected 层组成一个Bottleneck结构去建模通道间的相关性,并输出和输入特征同样数目的权重。我们首先将特征维度降低到输入的1/16,然后经过ReLu激活后再通过一个Fully Connected 层升回到原来的维度。这样做比直接用一个Fully Connected层的好处在于:1)具有更多的非线性,可以更好地拟合通道间复杂的相关性;2)极大地减少了参数量和计算量。然后通过一个Sigmoid的门获得0~1之间归一化的权重,最后通过一个Scale的操作来将归一化后的权重加权到每个通道的特征上。

注意力机制_第2张图片

你可能感兴趣的:(TensorFlow)