当前位置: 首页 > 科技观察

理解卷积神经网络中的self-attention机制

时间:2023-03-19 18:36:50 科技观察

介绍了计算机视觉中编解码结构的局限性和改进方法。卷积神经网络(CNN)广泛用于深度学习和计算机视觉算法。尽管许多基于CNN的算法符合行业标准并可以嵌入到商业产品中,但标准的CNN算法仍然存在局限性,可以通过多种方式进行改进。这篇文章讨论了语义分割和编码器-解码器架构作为例子,说明了它们的局限性,以及为什么自注意力机制可以帮助缓解这个问题。标准编解码器结构的局限性图1:标准编解码器结构解码器架构(图1)是许多计算机视觉任务中的标准方法,尤其是像素级预测任务,例如语义分割、深度预测和一些与GAN相关的图像生成器。在编码器-解码器网络中,输入图像经过卷积、激活和池化以获得潜在向量,然后将其恢复为与输入图像大小相同的输出图像。该架构是对称的,由精心设计的卷积块组成。由于其简单性和准确性,该架构被广泛使用。图2:卷积计算然而,如果我们深入研究卷积计算(图2),就会发现编码器-解码器架构的局限性。例如,在一个3x3的卷积中,卷积滤波器有9个像素,计算目标像素的值时只参考自身和周围的8个像素。这意味着卷积只能使用局部信息来计算目标像素,这可能会引入一些偏差,因为看不到全局信息。还有一些简单的方法可以缓解这个问题:使用更大的卷积滤波器或具有更多卷积层的更深的网络。但是计算开销越来越大,结果也没有明显的提升。了解方差和协方差方差和协方差都是统计学和机器学习中的重要概念。它们是为随机变量定义的。顾名思义,方差描述了单个随机变量与其均值的偏差,而协方差描述了两个随机变量之间的相似性。如果两个随机变量具有相似的分布,则它们的协方差很大。否则,它们的协方差很小。如果我们将特征图中的每个像素视为一个随机变量并计算所有像素之间的成对协方差,我们可以根据它与图像中其他像素的相似程度来提升或削弱每个预测像素的值。在训练和预测期间使用相似的像素,并忽略不相似的像素。这种机制称为自注意力。等式1:两个随机变量X和Y的协方差CNN中的自注意机制图3:CNN中的自注意机制为了实现每个像素级预测的全局参考,Wang等人。CNN中提出了自注意力机制(图3)。他们的方法基于预测像素和其他像素之间的协方差,将每个像素视为一个随机变量。参与的目标像素只是所有像素值的加权和,其中权重是每个像素与目标像素的相关性。如果我们将原来的图3简化为图4,我们就可以很容易地理解协方差在该机制中的作用。先输入一个高为H、宽为w的特征图X,然后将Xreshape为三个一维向量A、B、C,将A和B相乘得到大小为HWxHW的协方差矩阵。最后,我们将C乘以协方差矩阵得到D并对其整形得到输出特征图Y,并从输入X进行残差连接。这里D中的每一项都是输入X的加权和,权重是像素和彼此的协方差。利用self-attention机制,可以在模型训练和预测过程中实现全局参考。该模型具有良好的偏差方差权衡,因此更合理。一种可解释的深度学习方法图5:SAGAN中的可解释图像生成SAGAN将自注意力机制嵌入到GAN框架中。它可以从全局参考而非局部区域生成图像。在图5中,每一行的左侧图像使用颜色表示采样的查询点,其余五幅图像是每个查询点对应的感兴趣区域。我们可以看到,对于天空、芦苇丛等背景查询点,注意力区域是广泛的,而对于熊眼、鸟腿等前景点,注意力区域是局部集中的。