📜  滑动窗口注意

📅  最后修改于: 2022-05-13 01:58:08.015000             🧑  作者: Mango

滑动窗口注意

先决条件:注意力机制 |机器学习

一位智者曾经说过:“管理你的注意力,而不是你的时间,你会更快地完成工作”。在本文中,我们将介绍深度学习中使用的滑动窗口注意机制以及分类器的工作原理。

滑动窗口注意力分类器

在这种情况下,采用一个大小为 mxn 像素的窗口并遍历输入图像,以便在该图像中找到目标对象。分类器的训练是通过将其引入一组正(包含目标对象)和负(不包含目标对象)示例来完成的。

直觉



图 1:使用滑动窗口的人脸检测

训练以这样一种方式完成,即我们可以捕获图像中存在的所有目标对象。图 1 描绘了工作中的人脸检测模型。如您所见,图像包含各种尺寸的人脸。另一种可能性是,有些人可能离得很远,而有些人则在附近,从而改变了他们的脸型。

滑动窗口注意(直觉续)

  • 在训练中

分类器在两组类上进行训练,一组包含感兴趣的对象,另一组包含随机对象。属于我们感兴趣的对象的样本被称为正样本,而具有随机对象的样本被称为负样本。这样做是为了当在测试阶段出现新图像时,分类器能够更好地检测窗口中存在的对象是目标对象还是其他一些具有良好精度的随机对象。

  • 测试期间

这个想法是使用经过训练的二元分类器,它确定呈现的对象是“正”还是“负”。然后可以使用经过训练的分类器通过从左上角开始对目标图像进行采样来确定目标图像。此外,我们使用不同大小的多个窗口来确保检测到输入图像中存在的所有目标对象的大小。

就像人脸检测一样,滑动窗口模型也用于有效覆盖输入数据的长文本。 (下面深入讨论的主题)

涉及的数学

图2

在这里,我们有一个大小为 w 的固定窗口。每个令牌在每一侧处理 (1/2)w 个令牌(如图 2 所示)。因此,该模式的时间复杂度变为 O(n × w),其中 n 是输入序列长度。

因此,这种注意力模式在每个标记周围采用固定大小的窗口注意力。我们使用这种窗口注意力的多个堆叠层来覆盖一个大的感受野,其中顶层可以访问所有输入位置。这使模型能够覆盖整个输入序列。 (与 CNN 非常相似)



滑动窗口在 LogFormer 的注意力机制中的主要作用

LogFormer(长文档转换器)是对以前的转换器模型(例如 SpanBERT)的升级,因为它旨在克服接受长序列字符串(超过 512 个标记)作为输入的问题。它采用了一种类似于 CNN 的架构,称为滑动窗口注意来做到这一点。为了更好地理解,请参见图 2。

图 3:基于 CNN 的滑动窗口注意力模型

CNN 的问题在于它假设一个词 w 可能与任何其他词 w' 相关。因此,它考虑了所有可能相关的单词组合。因此,计算的时间复杂度急剧增加。

如上所述,LogFormer 计算基于与给定单词相关的最重要信息存在于其周围邻居中的假设。因此,允许给定的单词访问其左右邻居(两侧各有 2 个)。参见图 3 以获得更好的理解。

图 4:滑动窗口注意力模型的工作

与存在全连接的 CNN 不同,滑动窗口方法导致较少的映射,因为仅考虑相邻单词。因此,计算的时间复杂度也得到了改进。

例子

让我们使用图 2 创建一个示例,并了解此注意力模型的工作原理。考虑下面给出的图像。 (图5)

图 5:直觉示例

假设上述邻接矩阵中的每个块代表一个词(token)。让行代表句子的每个输入词,列代表需要注意的关键词。 (这里,窗口大小 = 3)

因此,根据滑动窗口注意模型,每个输入词都会关注自身及其相邻的关键标记。实际上,每个块通常代表 64 个令牌。因此,从更广泛的角度来看,输入的 64 个标记仅关注 192 个相关的关键标记,而不是考虑所有关键标记。 (如图 6 所示)这使得模型比 CNN 全连接模型更高效

图 6:SWA 模型的实时工作

重要应用

这种滑动窗口注意方法已广泛应用于各种研究。下面提到了一些研究课题:

  • 自动左心室检测系统:

该研究是在 MR 心脏图像上完成的,目的是创建一个人工视觉模型,该模型在输入图像中执行左心室的自动定位。

链接: https : //downloads.hindawi.com/journals/acisc/2017/3048181.pdf

  • 使用滑动窗口的时间序列数据预测

研究基于滑动窗口的概念对时间序列数据的次日接近预测,WMA作为数据预处理,采用10折交叉验证训练RBFN模型与预处理数据进行准确预测。

链接: https : //www.ripublication.com/ijcir17/ijcirv13n5_46.pdf