#高效微调统一新范式
仅微调0.02%参数,性能接近全量微调!
来自上海交通大学的研究者们在对各种PEFT方法进行全面数学分析后,提出了一种新的框架——子空间微调,旨在将所有已知的PEFT方法统一在一个理论下。
Scaling Laws当道,但随着大模型应用的发展,基础模型不断扩大的参数也成了令开发者们头疼的问题。
为了减轻训练负担,Adapter、Prompt-Tuning以及LoRA等高效微调(Parameter Efficient Fine-Tuning, PEFT)算法越来越受到大家伙的青睐。
那么,问题来了——
尽管近年来高效微调领域发展迅速,涌现了多种方法,但不同PEFT方法背后的数学基础几乎没有得到深入研究。
此外,不同PEFT方法之间的性能差异及其原因尚未系统地探讨。这种理论深度的缺乏限制了研究者对这些方法潜在优势和局限性的理解,阻碍了它们在实际应用中的优化和创新。
为了解决这一问题,来自上海交通大学的研究者们在对各种PEFT方法进行全面数学分析后,提出了一种新的框架——子空间微调,旨在将所有已知的PEFT方法统一在一个理论下,
具体来说,子空间微调方法主要集中于调整原始参数的子空间,涉及子空间的重构和扩展。研究者深入探讨了不同方法如何操作子空间,并从分解理论的角度阐明了每种方法的数学原理。此外,研究者分析了为什么这些方法会导致性能差异,提供了理解不同PEFT策略内在动态的全面理论基础。
他们基于此提出了两种新的PEFT方法,新方法在仅微调0.02%参数的情况下,性能接近于全面微调。
研究者还介绍了一个有效的框架,在不引入额外训练参数的情况下,提升了LoRA等方法的性能。通过在三种不同模型上测试超过十种方法,广泛的实验验证了其理论的稳健性,同时展示了提出的方法和框架的有效性。
来看论文细节。
子空间微调理论
考虑任何给定主干网络层的冻结权重矩阵 , 其中 , 并用权重矩阵 的性能 来量化模型的性能, 值越高表示性能越好。
假设存在最优权重矩阵 , 且 对所有 成立。PEFT的目标公式化为:
其中 衡量两个矩阵之间的差异。函数 被视为增量调优, 表示对矩阵 的每个元素的修改, 但这种表征过于笼统。
从分解理论的角度看, 调整矩阵涉及修改其对应的子空间, 因此, 所有PEFT方法可视为子空间微调。
如此, 优化的目标是找到 在 基所生成的子空间内的最大投影, 然后将 与其对齐。
有两种方法实现这一目标:通过调整 来逼近 , 或操作 的子空间以接近或包含 。
研究者将函数 分配给两个主要角色:直接重构对应 的子空间, 以更好地对齐 , 或引入一个新子空间并与原始子空间结合。这些过程数学表示为:
其中, 概括了 的子空间重构过程, 描述了子空间的联合。研究者将这些操作分别称为 “子空间重构”和“子空间扩展”, 并将现有方法分类为三类:
基于子空间重构的方法,将复杂空间分解为易理解的子空间,并调整这些派生子空间的基
基于子空间扩展的方法, 引入一个新子空间, 在新子空间和原始权重矩阵 对应的子空间基所生成的空间内找到最优权重 的最大投影;
基于子空间组合的方法,同时采用上述子空间调整。
子空间重构
基于先前概述的框架,子空间重构方法首先将的空间分割为可解释的子空间,然后细化这些子空间以提高模型效率。许多PEFT策略集中于直接重构与原始权重矩阵相关的子空间,著名例子包括SAM-PARSER、Diff Pruning、(IA)3、BitFit、Prefix-tuning和Prompt-tuning等。
研究者从奇异值分解 (SVD) 开始探索, 原始权重矩阵 被分解为正交子空间,涵盖了原始矩阵空间的全部。分解表示为 , 这种分解将 分成左奇异向量 列空间的正交基)、奇异值 (调整维度和缩放)和右奇异向量 ( 行空间的正交基)。通过调整分解获得的子空间, 可以重构原始空间, 分为三种模式:
- 奇异值调整:调整中的奇异值,修改每个主成分的权重,而不影响子空间方向。
- 简单奇异向量调整:通过缩放生成的子空间来调整 和 中的奇异向量,保留方向特性,同时调整幅度。
- 复杂奇异向量调整:对奇异向量进行更复杂的变换,重新定向或重塑子空间,全面调整矩阵结构。
基于这一理论,研究者提出了两种新的微调方法:SSL(Scaling the Subspace of the Left singular vectors)和SSB(Scaling the Subspace of Both left and right singular vectors)。
从下图中可以看出,SSL最少只需要微调0.02%的参数,SSB最少只需要微调0.06%的参数,就能实现全量微调99%的性能。
关于每种模式的具体操作、每种方法的具体内容、其背后的数学原理,以及研究者如何基于这一理论提出两种新方法的详细信息,请参阅原论文。
子空间扩展
基于扩展的方法引入新子空间,结合该新子空间和原始权重矩阵 的基生成扩展空间。
这些方法旨在找到最优权重 在新空间内的最接近投影, 通过引入额外的权重矩阵来扩大原始子空间的基以覆盖更大维度区域。通常, 这些方法的转换函数定义为 , 其中 s 代表缩放因子, 对应于新子空间,也称为附加项。
考虑权重矩阵 , 假设 。理想情况下, 有 , 即 和 占据相同的行和列空间, 使它们定位在同一超平面内。
如果 的秩为 n , 其列空间的维度等于 n , 生成 子空间。若 的秩小于 n , 它只能在 内生成一个子空间。假设 和 的列空间基可以生成整个 空间, 在最优情况下, 的列基向量应补充 的列基, 意味着 的列空间代表这些空间的直和。
一些研究表明, 最优权重 会放大原始权重矩阵中某些特定任务的方向, 这些方向对于预训练并不关键。此外, 最优权重还会调整 的主要方向。这些见解表明 可能与 的子空间共享大量共同基。因此, 可能只需考虑 中缺少但 中存在的一小部分基, 使 成为低秩矩阵。
实证研究表明,预训练模型的全参数微调通常可重新参数化为在低维子空间内优化,表明最优权重在这个受限的低秩子空间内变化。的低秩特性突出了基于扩展方法的参数效率基础。
另一个关键方面是缩放因子 s 。基于扩展的方法目标是确定 在 和 形成的超平面内的最大投影, 确保 尽可能与 方向对齐。给定固定的 和 , 只有一个s值能使 的方向与 方向对齐, 因此 s 值对性能的影响可能非常显著。
在参数高效微调中,有两大系列基于扩展的方法。第一系列是LoRA衍生,包括LoRA、AdaLoRA、TriLoRA、FLoRA、VeRA等。第二系列是适配器衍生,包括Adapter(H),Adapter(P),Parallel Adapter等。
在此基础之上,研究者提出了MPC框架,以进一步提升现有算法的性能。
从下图中可以看出,在不引入额外参数的情况下,MPC框架显著增强了各种PEFT方法的性能。
另外,MPC可以帮助PEFT方法实现更稳定的训练。与不使用MPC的方法相比,结合MPC的方法通常表现出更小的标准偏差。
关于这些方法的具体分析,LoRA和Adapter系列算法性能差异的原因,以及MPC框架的详细设计思路,请参阅原论文。
子空间组合
基于组合的方法同时执行子空间重构和扩展,结合了这两种方法的原理。
此外,对于某些方法,它们既可以分类为基于重构的方法,也可以分类为基于扩展的方法,研究者也将它们分类为基于组合的方法。研究者分析介绍几种代表性的基于组合的方法,如DoRA,Spectral Adapter和SVDiff等。
关于这些方法的具体细节请参阅原论文。
论文:https://arxiv.org/pdf/2407.05417
代码:https://github.com/Chongjie-Si/Subspace-Tuning
#DGR-MIL
革新病理学:DGR-MIL多样性学习如何助力癌症诊断
本文提出了一种基于多元全局表示(DGR-MIL)的新型MIL聚合方法,所提出的模型在 CAMELYON-16 和 TCGA-肺癌数据集上大大优于最先进的 MIL 聚合模型。
Paper Link: https://arxiv.org/pdf/2407.03575
Github: https://github.com/ChongQingNoSubway/DGR-MIL
引言
在现代医学中,精确诊断癌症已成为提高患者生存率的关键。全片图像(WSI)技术因其能详细展现组织的微观结构而成为病理学诊断的重要工具。然而,WSI的高分辨率和庞大数据量给自动化处理带来了巨大挑战。多实例学习(MIL)作为一种弱监督学习方法,在处理此类图像数据中显示出独特优势。传统的MIL方法虽然在某些领域表现出色,但在处理WSI时常常忽视了实例之间的多样性。在开发DGR-MIL模型的过程中,主要的动机之一是解决传统多实例学习(MIL)方法在处理全片图像(WSI)中观察到的明显多样性问题。这种多样性主要体现在病变组织的异质性以及正常与病变组织间的显著区别上。以下是详细探讨这些动机和观察到的多样性:
1.组织的异质性
在全片图像中,即使是同一病变类型的组织,其表现形式也可能因人而异,甚至在同一患者的不同区域中也会有所不同。例如,肿瘤组织在形态、大小、颜色和纹理上都可能表现出高度的多样性。这种异质性使得传统的基于单一或少数特征的分类方法难以准确识别和分类所有相关实例。
2.实例间的多样性
在MIL的背景下,每个“实例”(即WSI中的图像块)可能代表了不同的组织类型,包括健康组织和各种程度的病变组织。这些实例之间的多样性不仅体现在它们的视觉特征上,还体现在它们对最终诊断结果的贡献度上。传统MIL方法往往忽略了实例间这种内在的差异性,从而可能导致信息的丢失或过度简化。
3.正负实例的界限模糊
在WSI中,正实例(包含病变的图像块)和负实例(正常组织图像块)之间的界限可能并不总是明显。肿瘤边缘区域的图像块可能同时包含肿瘤细胞和正常细胞,这为MIL方法的实例分类增加了复杂度。有效地处理这种边界上的模糊性是提高诊断准确性的关键。
如图所示,我们使用率失真定理去量化不同类包的多样性还有他们直接的差异。
DGR-MIL模型介绍
DGR-MIL(Diverse Global Representation in Multiple Instance Learning)模型是一种先进的多实例学习方法,专为全片图像(WSI)的分类任务设计,特别是在病理学中用于癌症检测。该模型的核心创新在于其对实例间多样性的强调和全局向量的使用,以改善传统MIL方法在处理具有高度异质性特征的医学图像时的性能限制。
DGR-MIL方法的关键组件
1. 全局向量的引入
在DGR-MIL中,全局向量充当整个图像包(WSI中的所有块)的代表,捕捉关键的信息和特征。这些向量是可学习的,意味着它们会在训练过程中不断更新,以更好地代表和总结WSI中的关键特征。全局向量的主要作用是为模型提供一种机制,通过与实例(即图像块)的相互作用来识别哪些实例最具有代表性和信息性。
2. 跨注意力机制
DGR-MIL模型采用了跨注意力机制,这是一种修改版的自注意力机制,允许模型不仅考虑实例内的特征,而且还可以评估实例与全局向量之间的关系。在这种设置中,全局向量作为查询(query),实例特征作为键(key)和值(value),模型通过计算它们之间的相互作用来确定每个实例的重要性。这种机制特别适用于处理WSI,因为它允许模型在巨大的实例空间中有效地捕捉关键区域,而不必牺牲计算效率。
3. 正向实例对齐和多样性学习
为了进一步提升全局向量的效用和精确性,DGR-MIL实施了正向实例对齐机制。这一机制鼓励全局向量向正实例(例如,包含肿瘤的图像块)靠拢,从而使得模型在进行分类决策时更加关注于这些关键实例。此外,多样性学习是通过引入一个基于确定性点过程(DPP)的多样性损失来实现的,这有助于确保全局向量之间保持足够的区分度,从而覆盖更广泛的实例特征空间。
行列式点过程(DPP, Determinantal Point Process)是一种概率模型,用于模拟具有排斥性(即元素间倾向于互相排斥而不是聚集在一起)的随机点集的分布。在机器学习和数据分析中,DPP常用于确保从数据集中选出的样本或特征集合具有高度的多样性。DPP在DGR-MIL模型中的应用主要是用来增强全局向量的多样性,以更好地捕捉和表示数据中的复杂和多变特征。
在DGR-MIL模型中,DPP用于确保学习到的全局向量尽可能地多样化。具体来说,模型通过最大化全局向量间相似度矩阵的行列式来实现这一点。这种方法可以形象地理解为通过推动全局向量在向量空间中尽可能地“分开”来减少它们之间的冗余,从而能够覆盖更广泛的特征空间,提高模型对各种病理特征的捕捉能力。
在DGR-MIL中实现DPP的一个关键步骤是定义一个多样性损失函数,该函数基于全局向量的Gram矩阵(即向量之间的内积矩阵)。多样性损失可以表达为Gram矩阵行列式的负对数。优化这个损失函数将导致模型倾向于选择彼此尽可能正交(即无关)的全局向量。这样不仅增加了向量间的多样性,还有助于模型捕捉和区分数据中的不同模式和结构。同时这个loss只拥有线性复杂度。
目标函数
研究成果与实验验证
在CAMELYON-16和TCGA肺癌数据集上的实验结果表明,DGR-MIL在癌症组织分类任务中的性能超过了多个现有的先进模型。模型的成功部分得益于其能够有效利用WSI中实例的多样性,提高了对复杂病理图像的诊断准确率。实验中,DGR-MIL展示了其优越的特征提取能力和更高的分类精度。
案例研究
通过具体的病例分析,可以看到DGR-MIL如何在实际的病理图像中定位并识别癌症组织。图像分析结果清晰地展示了模型如何区分正常组织和癌变组织,尤其是在边界区域处理上的优势。这对于早期发现和诊断癌症至关重要。
结论与展望
DGR-MIL模型的提出为WSI的自动化分析开辟了新的可能性,特别是在处理高异质性的癌症组织时。未来的研究将进一步优化模型结构,提高其在更广泛数据集上的泛化能力。此外,我们也期待该技术能够在临床应用中发挥更大的作用,助力医生做出更准确的诊断。
#25种正则化方法
训练中的一个关键因素是网络的正则化,它可以防止模型在训练的过程中出现过拟合的现象。本文分析了过去几年发展起来的几种正则化方法,显示了不同CNN模型的显著改进。
一些图像处理任务,如图像分类和目标检测,已经通过使用卷积神经网络(CNN)性能得到了显著的改进。像ResNet和EfficientNet一样,许多架构在创建时已经在至少一个数据集上取得了出色的结果。训练中的一个关键因素是网络的正则化,它可以防止模型在训练的过程中出现过拟合的现象。这项工作分析了过去几年发展起来的几种正则化方法,显示了不同CNN模型的显著改进。这些工作分为3个主要领域:
- 第一:是“数据正则化”,其中所有的方法都专注于对于输入数据的更改
- 第二:是“结构正则化”,主要是修改神经网络或核函数生成特征映射的过程
- 最后:是“标签正则化”,主要是对给定输入的标签进行转换和修正
1 简介1.1 背景说明
卷积神经网络已经在一些与计算机视觉相关的任务上取得了相当不错的结果,如图像分类和目标检测。这种成功可以用卷积神经元的工作原理来解释:它根据图像的空间属性来突出给定的特征。浅层网络注意是归纳一些形状或者纹理特征;然而,更深层次的网络可以检测出更复杂更抽象的特征,比如整个物体或人脸。如今,从生物识别到疾病检测,很难找到其他没有CNN的计算机视觉技术。
关于CNN的一个关键问题是如何对卷积核进行堆叠?以在给定的任务上实现最佳的结果。在几个不同的任务上使用相同的基本架构是很普遍的,只需要改变输出。例如,EfficientNet是一种用于图像分类的神经网络,它也被用于EfficientDet体系结构来处理目标检测任务。
该体系结构可能是计算机视觉模型的核心部分;然而,在开始训练之前还有其他相关的要点。例如,优化技术可能会影响最终的性能。即使是kernel的初始化方法都有可能会影响模型最终的性能。
本研究集中讨论在这些可能影响最终性能因素的一个方面:正则化。
根据所使用的正则化策略,一些架构可以在最终结果上获得相关的增益。使用良好的正则化方法的一个重要方面是,它不会影响最终模型的性能。这意味着,独立于使用或不使用一个正则化方法,模型的推理计算成本是相同的。然而,在某些情况下,它可以影响训练阶段的性能,使用少量的计算开销或训练周期。无论如何,产出的结果通常是可以补偿这一成本的。
1.2 为什么正则化方法有效?
CNN通常用于计算机视觉任务,如图像分类和目标检测,以创建像人类视觉一样强大的视觉模型。如果考虑到可用的信息数量,很明显,训练任务需要更多数据可变性。考虑到一个健康的大脑和眼睛正常的人,不考虑睡觉的时间,平均每天保留大约16个小时的新信息。
即使考虑到像ImageNet这样的巨大数据集,与人类大脑通过眼睛接收到的数据数量相比,可用的图像数量也是最小的。这种新数据的不可用性可能会导致一种称为过拟合的情况,即模型学习如何很好地表示训练数据,但它不能有效地处理新信息,即测试数据。这种情况通常发生在模型在可用的训练信息中进行了详尽的训练时,而它不能很好地扩展到其他新信息中。
作为一个人工神经网络,神经网络的训练步骤可以描述为一个优化问题,目标是训练得到一个合适的权值;假定给一个输入和损失函数,可以转换期望的信息输出最低可能的误差。实现这一目标的一种方法是最小化以下功能:
其中|. 为Frobenius norm, 为输入数据, 和 分别表示权重 矩阵和目标标签。Frobenius norm增加了 和 之间的相似性。
这种解释有一个主要优点:这个公式可以通过矩阵分解进行优化,产生X的结构化分解。然而,只有当W或 固定在优化两个矩阵时,将原始方程转换为非凸公式时,才能实现全局最小值。如果矩阵分解为矩阵近似,可以解决这个问题:
其中,目标是估计矩阵A,最终得到一个凸优化,这意味着它有一个全局最小值,通过梯度下降算法可以找到。当使用正则化时,这个方程变为:
其中,描述了基于A的正则化函数,而λ是设置正则化函数对目标函数的影响程度的标量因子。正则化方法的一个关键方面,独立于训练阶段的工作,是为了防止模型过拟合。它通过增加CNN不同阶段的数据的可变性来操作。当处理图像时,最直接的方法是随机改变图像,比如旋转和翻转。虽然这种类型的正则化工作得很好,但应该考虑到一些问题。例如,一些转换可能会将图像扭曲成分类中的另一个现有类。更直接的例子是MNIST数据集上的基线图像分类:如果旋转太多,输入“6”可能会转换为“9”,导致模型学习错误的信息。
1.3 正则化和标准化
机器学习中的一个普遍问题是调整给定模型的参数,使其对训练数据和新的数据能够有更好的鲁棒性。旨在减少不属于训练集的数据上的误差的算法的集合被称为正则化技术。
标准化和正则化技术的一个主要区别是,正则化在训练期后不再使用,而标准化保留在模型之中。例如,Cutout和MaxDropout在推理期间没有被执行,但是Batch Normalization在推理时需要执行。
1.4 正则化主要用在哪里?
尽管大多数作品都应用于输入,但也有很多研究致力于内部结构和标签层。图1描述了本次调查中科学工作的比例。
图1
大约44%的工作依赖于对输入的正则,其中最著名的是数据增强策略。CNN输入中参数和结构的容易改变可以解释如此多的工作量。图像处理和计算机视觉驱动的应用程序在处理深度学习时仍然发挥着重要的作用。
第二种最常见的正则化方法是那些对模型的内部结构进行正则的方法。Dropout为这一研究领域的进展做出了很大的贡献。一些作品主要是基于Dropout进行的改进,当然其中也有一些是全新的方法。
1.5 正则化方法的缺点
第一个是标签不随输入或在神经网络的中层直观地改变。在这2个级别中执行变化是更自然的,因为在视觉上更容易理解在训练和推理过程中发生了什么。然而,要解释执行标签更改时会发生什么就比较困难了。尽管最初的研究认为它防止了过拟合问题,但它未能解释为什么会避免这种情况。
另一种解释是对大多数方法缺乏数学解释。幸运的是,一些技术,如Dropout和Mixup,对它们的内部机制提供了有趣的见解。
最后,最好要记住,开发机器学习领域最关键的步骤之一是创建标签可靠的数据集。虽然本文关注的是正则化策略,但值得记住,最终,与标签的组合方式上的突破可能会促进更强大的系统。因此,强调更多与标签正则化相关的工作值得研究。
2 正则化方法大集结
2.1 Cutout
Cutout是一种直接而强大的数据增强的技术。在训练过程中,它在输入神经网络之前随机去除图像的区域。Cutout作者详尽地分析了CIFAR-10和CIFAR-100数据集中被移除区域的理想大小。
图3 Cutout
理想的大小根据每个类的实例的数量和给定数据集的类的数量而变化。例如,在CIFAR-10数据集上的最佳结果是通过删除一个大小为16×16的patch来完成的,而对于CIFAR-100,关于最佳结果的区域大小是8×8。对于SVHN数据集,通过使用网格搜索找到了最佳的crop大小为20×20。对于STL-10数据集,最佳结果的crop大小为32×32。
2.2 RandomErasing
RandomErasing是在Cutout技术的基础上进一步的发展。Cutout是对图像的随机裁剪,而RandomErasing关注的是在空白空间中去除并随机添加信息,例如噪声。与Cutout不同,RadomErasing并不是每次都删除图像的一部分。在这项工作中,作者在3种不同的分类数据集(CIFAR-10,CIFAR-100和Fashion-MNIST)上评估了该方法,用于目标检测的VOC2007数据集,以及用于ReID的三种不同的CNN架构(IDE, TriNet和SVDNet)。
图4 RandomErasing
对于分类任务,4种不同的架构被用于评估目的:ResNet、ResNet with pre-activation、Wide Residual Networks和ResNeXt。在所有情况下,RandomErasing方法完成了相关的误差减少(至少0.3%)。
对于目标检测任务,当只使用该数据集中的可用数据训练模型时,平均精度(mAP)提高了0.5,当训练数据与VOC2012训练数据集结合时,平均精度(mAP)提高了0.4。图4显示了随机擦除是如何工作的。
2.3 AutoAugment
AutoAugment试图找出给定数据集上的哪些transformations可以提高模型的准确性。它使用5个不同的transformations为给定策略创建一个搜索空间,这些transformations由2个附加参数控制:给定更改概率(Cutout,SamplePairing,Shear X/Y,Translate X/Y,Rotate,AutoContrast,Invert,Equalize,Solarize,Posterize,Contrast,Color,Brightness以及Sharpness)和变化幅度。
图5 AutoAugment
然后将这些策略输入一个“child”模型,该模型是一个用部分训练数据集训练的CNN。这个CNN的准确性被告知一个“控制器”模型,它是一个循环神经网络(RNN)。这个RNN输出一个给定策略在未来被使用的概率。在控制器训练过程的最后,使用5个最佳策略(每个策略有5个子策略)来训练最终的模型,用于评估数据集。使用这些生成的策略和子策略使得AutoAugment在CIFAR-10、CIFAR-100、SVHN和ImageNet数据集上达到了最先进的结果。
这种方法的一个巨大优势是这些策略在不同数据集之间的可迁移性:在最初的工作中,为ImageNet找到的策略被用来训练其他5个不同的数据集,即使没有在这些数据集上训练AutoAugment,也能显著改善结果。这种方法的一个缺点是用来训练控制器模型的时间:例如,对于ImageNet数据集,它需要大约15000个小时的处理,这在一些情况下可能是不切实际的。Fast AutoAugment的目标就是通过一种新的算法来克服这一瓶颈,在产生相似结果的同时,显著减少搜索过程所需的时间。
2.4 PBA
Population Based Augmentation(PBA)不仅展示了一种新的增强算法,而且展示了调度策略而不是固定策略,改进了以往研究的结果。
图6 PBA
在每3步中,它改变了一半的策略,即1/4的权重变化,另外1/4的超参数变化。虽然自动增强意味着在CIFAR-10数据集上的训练开销为5000个小时,但PBA只增加了5个小时。
2.5 RandAugment
如前所述,寻找最佳数据增强的方法的一个巨大瓶颈涉及到它们的计算负担,因为它可能比自己的神经网络训练需要更长的时间。另一个问题与在搜索过程中发现的策略有关,这可能会导致次优策略,即它确实改善了局部的结果;然而,它并不会带来最好的全局结果,因为它使用了一个较浅的神经网络,并假设这个规则可以应用于任何其他的,更深的架构。
图7 RandAugment
14个最常见的策略
RandAugment使用了在之前的工作中发现的14个最常见的策略,并在训练期间对每个策略的大小进行搜索,从而消除了初步探索步骤的需要,并根据当前的训练CNN定制数据放大。结果表明,该方法不仅比以往的方法更快,而且显著改善了结果。
2.6 Mixup
训练CNN的一种可能性是,Mixup来自训练数据集中的2幅图像,并迫使模型可靠地确定这种Mixup图像属于哪一类。然而,如何为这种Mixup生成编码标签并不普遍。提供这个新的输入/输出训练对可以让模型从损坏的输入中学习更多的特征。最初的工作表明,使用这种方法的模型不仅可以改善图像分类任务的结果,而且可以改善语音识别、生成对抗网络的稳定、表格数据集等问题的结果。图5演示了Mixup的工作原理。
图5 Mixup
2.7 CutMix
另一种混合输入和标签以改善结果的策略是CutMix。与Mixup不同,CutMix会替换给定输入中的整个区域,并通过给予与每个类使用的区域相同的权重来更改标签。例如,如果一只猫的图像被30%的图像替换为一个飞机的图像,则该标签被设置为70%的猫和30%的飞机。这一策略的结果有了显著的改善。通过使用绘制Grad-CAM可以观察到生成的Heatmap更好地突出了更准确地定义感兴趣目标的区域。
图6 CutMix
2.8 CutBlur
一些针对图像处理的深度学习任务,如图像分类或目标检测,可以通过使用数据增强来提升模型性能。一些工作,如AutoAugment、Cutout和RandomErasing可以通过对训练图像应用一些transformations来显著改善结果。然而,对于超分辨率(SR)任务,文献中缺乏提出正则化技术来明确地处理这个问题的工作。
图7 CutBlur
尽管可以使用上述技术并可能改善结果,但它们并不是通过手工设计来处理SR问题的。到目前为止,唯一发现的方法是CutBlur,它的工作原理是用来自类似区域的低分辨率(LR)版本替换高分辨率图像(HR)上的给定区域。作者表明,CutBlur有助于模型在SR问题上更好的推广,但同样的技术可以用于重建被高斯噪声退化的图像。
2.9 BatchAugment
训练cnn的一个重要超参数与mini-batch size有关,mini-batch size用于计算反向传播中使用的梯度。该超参数通常采用GPU的上限,这对于提高训练收敛速度至关重要。BatchAugment工作巧妙地利用了这个限制。它不只是使用来自数据集的不同实例来满足整个内存,而是使用默认的数据扩展设置来考虑内存限制的一半,然后复制具有不同数据扩展可能性的所有实例。这听起来像是一个简单的技巧;然而,结果表明,使用这种方法的神经网络在最终结果上有显著的改善。另一点是,通过复制增强图像,分析表明需要更少的时间点来实现收敛。
2.10 FixRes
图像分辨率可能会影响训练周期效率和最终的分类精度。例如,对EfficientNet的研究通过将输入大小作为影响最终结果的参数之一,从而强调了这一想法。然而,如果一个模型被训练,例如,分辨率为224×224,测试集的推理应该使用一样的图像分辨率。
图8 FixRes
FixRes提出的工作强调了测试集的分辨率应该高于用于训练的分辨率。这种变化不仅产生了一个更可靠的神经网络,而且比传统方法训练得更快,因为它需要更少的计算量,因为用于这种目的的图像比用于推理的图像要小。该方法表明,在使用迁移学习时,它可以改善在其他数据集上的结果。
2.11 Bag-of-Tricks
这里分析的工作的一个关键点是,它们经常没有将任何其他正则化方法与它们当前的研究结合起来。因此,很难知道两个正则化器是如何相互影响的。Bag-of-Tricks研究通过结合几种已知的正则化方法,如Mixup、Label Smoothing和Knowledge Destilation。消融研究表明,如果应用一定的方法,最终结果可以显著改善。例如,使用这种方法组合的MobileNet在ImageNet数据集中提高了近1.5%的结果,这是一个显著的收益。然而,该研究缺乏对层间正则化方法的深入评价,如Dropout。
3 结构正规化
正则化方法可以以不同的方式工作。在本文中,将结构正则化定义为在训练过程中改变权值而不改变输入kernel值的方法。本节分为两个主要部分:第一部分介绍了Dropout如何工作和它的一些变体的更深入的描述,如SpatialDropout和DropBlock。在第二部分中,描述了其他旨在执行其他张量操作的方法,如Shake-shake Regularization。
3.1 Dropout and variants
Dropout被认为是一种简单但功能强大的正则化器,旨在去除一些神经元,从而迫使整个系统学习更多的特征。最初的工作表明,它不仅可以应用于cnn,还可以应用于多层感知器(MLPs)和受限玻尔兹曼机(rbm)。
图9 Dropout
在训练阶段的每一步,通过伯努利分布来估计每个神经元的dropping out概率,从而在训练过程中增加了一些随机性。最初的研究表明,被dropping out的神经网络可以比标准的神经网络更好地进行推广。
3.2 MaxDropout
Dropout随机去除训练阶段的神经元,Maxdropout则根据神经元的激活情况去激活神经元。它首先将张量s值归一化,然后将每一个大于给定阈值p的输出设置为0,因此这个值越高,它就越有可能被禁用。
图10 MaxDropOut
最初的工作表明,它可以改进在CIFAR-10和CIFAR-100数据集上的ResNet18结果,而且它在WideResNet-28-10模型上的性能也优于Dropout。
3.3 DropBlock
DropBlock表明,去除给定张量(即特征图)的整个区域可以帮助模型更好地泛化。通过使用ResNet-50和AmoebaNet-B模型对图像进行分类任务,使用retinanet模型对物体进行检测,使用ResNet-101模型对图像进行分割,结果表明该模型比Dropout等内部正则化算法对结果有更好的改善。
图11 DropBlock
DropBlock应用在CNN的每个feature map上,从一个小的比例开始训练,然后慢慢的增加它的值。它的实验显示了ImageNet数据集上的相关结果,当使用ResNet-50时,Baseline精度提高了近2%,打败了其他正则化方法,如Cutout和AutoAugment,使用AmoebaNetB时,基线精度提高了约0.3%。在目标检测任务中,retavanet模型在AP度量上改进了1.5%以上。
3.4 TargetDrop
注意机制可以被整合到一个给定的正则化器中,这样它就可以在适当的区域发挥作用。例如,TargetDrop将这种机制与DropBlock结合在一起。在训练过程中,它允许整个系统去除给定通道上的大多数有区别的区域。结果表明,这种方法不仅比DropBlock获得了更好的结果,而且,通过使用grade-cam,在决定给定输入属于哪个类的区域中显示了更多的一致性。
图12 Dropout,DropBlock,TargetDrop
3.5 AutoDrop
虽然有效,但Dropout缺乏选择掉哪个神经元的空间信息。DropBlock的策略是将整个随机区域放在隐藏层上,而不是单一的神经元,从而迫使CNN学习更好的空间信息。然而,Drop方法是手动设计和固定的,如果这些模式可以在训练中学习,这可能会得到改进。
图13 AutoDrop
AutoDrop迫使CNN根据训练信息学习最佳设计,使用控制器逐层学习最佳滴模式。CIFAR-10和ImageNet的结果表明,这些模式改善了结果,并可以在数据集之间传输。
3.6 LocalDrop
Rademacher复杂性被用来重新定义Dropout和DropBlock。通过对该问题进行广泛的数学分析,提出了一种新的两阶段正则化算法。该方法虽然耗时,但针对图像分类的不同CNN架构取得了相应的改进。CIFAR-10的结果表明,LocalDrop方法至少可以改善结果0.15%,比最佳结果提高了近0.6%。CIFAR-100的结果改善了0.4%;然而,在这种特定的情况下,在反向传播时删除权重的变化最终会得到略微更好的结果,提高了0.5%。除了改进之外,该方法只适用于3分支ResNet,很难直接比较其他方法。
3.7 Shake-Shake
在这些体系结构上强制正则化的一种方法是在训练期间为残差连接的每个分支赋予不同的权重。最初的ResNets的工作原理是在每个分支上添加权重,没有任何区别。在训练过程中,Shake-shake作用于3个分支的ResNets,在前传时改变每个分支的乘因子,在后传时乘以不同的值,从而改变每个分支对最终结果的影响。对于推理,它将每个分支乘以0.5倍。
3.8 ShakeDrop
解决Shake-shake问题的一个改进是ShakeDrop。它不仅适用于ResNeXt架构,也适用于ResNet、Wide ResNet和PyramidNet。为了实现这样的结果,ShakeDrop改变了由Shake-shake提出的配置。这些分支上的Shake组合显示,ShakeDrop有更好的性能,不会被困在局部极小值上。结果表明,该方法可以比前面提到的每一种体系结构获得的原始结果更好。
3.9 Manifold Mixup
神经网络通常被概括为一个函数,给定输入数据和一组可学习参数,输出相应的目标值。Manifold Mixup的作用类似于Mixup,然而,它在CNN的任何内部层中运行,而不仅仅是在输入层。深度神经网络可以被认为是一组较小的神经网络,每一个都输出一些期望的特征;因此,如果所有的子网都运行良好,则可以认为最终的结果是良好的。
Yang等提出了一种新的损失函数设计策略:首先通过前馈过程计算传统的小批量损失。然后,它从原始网络生成子网络,然后通过使用不同的图像变换提供相同的小批处理,为每个模型计算一个损失。最后,将传统损失与各个子网络的损失相加,计算出最终损失。该技术在不同的数据集和CNN架构中显示了巨大的潜力改进。
3.10 其他方法
在过去的几年里,残差连接的使用,首先在众所周知的神经架构ResNet中引入,并对其进行了进一步的改进,在几个任务上取得了相关的成果。后来的研究表明,这种成功是由于创建了一种名为“identity mapping”的结构,它是对原始输入的重建。残差连接迫使模型学习如何构造这些结构。
4 标签正则化
有方法使用Label Smoothing作为其正则化策略的一部分。例如,Mixup根据2个不同图像之间的插值来平均标签的值。同样的规则也适用于Manifold Mixup技术;然而,数据插值是在层之间计算的,并使用相同的微积分来重置标签值。
另一个使用标签转换的正则化器是Cutblur。在本例中,使用了反式格式,在训练期间,可以将标签与输入倒置,使输入作为标签,模型将按照预期收敛。这一预期结果的原因是由于低分辨率和高分辨率图像的切割尺寸,这是没有预先定义的。这意味着输入可以是高分辨率图像中的低分辨率图像,标签可以是高分辨率图像中的低分辨率图像。因此,将标签和输入倒排仍然是有意义的。
其他方法也可以通过使用Manifold Mixup来改进它们的结果。例如,Cutout从输入中删除部分,所以根据crop size“remove”部分标签也是有意义的。假设crop size是图像的25%,因此活动类可以从1下降到0.75。同样的策略也适用于RandomErasing。在训练过程中丢弃神经元的方法,如Dropout,可以在训练过程中将热标签的值降低到相同的范围。
4.1 Label Smoothing
在一般的分类任务中,使用热编码标签是普遍存在的。从2015年开始,Label Smoothing提出了一种在标签编码过程中的正则化技术,通过修改hone-hot表示的每个位置上的值。
Label Smoothing的工作原理是防止了2个主要问题。
- 首先,过拟合问题
- 其次,对于不确定结果的过度自信问题
根据作者论述,通过使用编码标签上的平滑因子,应用在向量上的Softmax函数产生更接近平滑编码向量的值,限制了反向传播算法中使用的值,并根据类产生更真实的值。
4.2 TSLA
使用标签平滑的一个困难是找出ϵ的什么值(即平滑因子)是理想的,无论是对于一般的还是对于特定的数据集。最初的工作表明,ϵ=0.1是极好的条件;然而,两阶段标签平滑(TSLA)表明,一般来说,梯度下降结合Label Smoothing技术只能提高结果,直到一定的训练点,之后最好将活动类的所有值设置为0和1。例如,当在CIFAR-100数据集中对ResNet18进行200个Epoch的训练时,结果表明,当使用Label Smoothing时仅仅到160个Epoch便可以获得最好的性能。
4.3 SLS
通常,很难为Label Smoothing因子定义适当的值。结构标签平滑(SLS)提出通过估计贝叶斯估计误差来计算这样的值,根据作者,这有助于定义每个实例的标签边界。实验表明,该方法在不同场合都可以克服传统的标签平滑方法。
虽然这项工作在MobileNetV2上得到了充分的评估,但它没有考虑到其他的神经网络架构。尽管一些流行的数据集被用于比较目的,例如,CIFAR和SVHN,但这项工作仅限于MobileNet-V2。
4.4 JoCor
本文提出了一种避免噪声标签对神经网络的影响的新方法。JoCoR在同一数据集上训练2个相似的神经网络,并试图关联2个不同的标签。该方法通过将2个网络的交叉熵损失加上它们之间的对比损失来计算损失,然后只使用批处理上最可忽略的损失来更新架构的参数。
作者认为,通过使用最小的值来更新参数,这2种网络都与预测结果一致,而且标签的噪声往往更小。虽然该方法是针对弱监督问题开发的,但它可以很容易地适应传统的监督问题,如数据分类,以改善结果。这种方法的缺点是使用2个神经网络进行训练,这需要更多的处理和内存。
#红外弱小目标检测算法技术研究综述
红外探测技术具有视觉探测所不具有的独特优势,在预警领域有广泛应用。本文以单帧红外弱小目标检测算法为主体,从技术方向入手,阐述了基于滤波等四类单帧弱小目标检测算法的原理与典型应用,希望对大家有所帮助。
摘要: 红外探测技术具有探测距离远、抗干扰能力强、隐蔽性强和全天候等优势在天基预警、末敏弹制导等领域得到了广泛应用。通过红外成像技术能够得到目标图像从而对目标进行预警、识别和跟踪。在实际场景中,目标图像往往所占像素比例小,信号强度低,容易湮没在背景图像中;背景图像变化剧烈,存在较强的结构信息、边缘和噪声,红外图像信噪比低,目标检测难度较大,一直是目标检测领域的研究难点和热门话题。为提高红外图像弱小目标检测能力,大量的弱小目标检测算法被提出。现有的主流的检测手段根据图像数据检测方式分为单帧检测和多帧检测两大类,多帧算法依赖大量的图像数据支撑,响应周期长,应用潜力低,而单帧检测算法凭借复杂度低、时效性强、便于硬件实现等特点,被广泛应用在高速运动目标检测、预警等领域。
因此本文以单帧红外弱小目标检测算法为主体,从技术方向入手,着重阐述了基于滤波、基于对比度与显著性分析、基于数据优化和深度学习四类单帧弱小目标检测算法的原理与近年来的典型应用,通过仿真试验和算法复杂度对比了不同算法的性能、优势和不足,总结了弱小目标检测算法的研究现状并对本领域的发展趋势进行了展望。本文的工作能帮助读者快速了解本领域的研究现状,为研究人员提供参考。
01 引言
红外搜索与跟踪(Infrared Search And Track, IRST)系统的探测依据是前景目标和背景物体的温度不同,产生的红外辐射强度不同。依赖于材料和光电技术的发展,从最初的热电偶探测器到热成像仪,红外探测器的灵敏度、波长响应范围、分辨率和工作范围等性能都得到了显著提升。红外探测系统常用于与国防安防等领域,所针对的多为非合作目标,由于无法提前获取目标意图,IRST系统有必要尽可能早、尽可能远地对其进行预警。
由于红外探测系统的广泛应用,大量的无人机、浮空器等“低小慢”航空器目标出现在红外探测视野,这些目标在采集的图像中往往具备如下特点:
(1)目标能量弱:目标信号经过长距离衰减,探测器能够接收到的信号强度低,与强干扰背景信号强度的对比度较小,常常容易湮没在背景信号中;
(2)目标形态小:由于成像距离远,目标在图像中仅占据少量像素点,无纹理结构信息;
(3)图像背景复杂:通常来说,目标所处环境中存在大量的干扰物体,在图像中容易产生边缘、角点等干扰信息,增加弱小目标的检测难度。因此如何快速、鲁棒地对红外图像中的弱小目标进行检测是目前IRST系统的核心问题。
红外弱小目标检测根据单次检测数据数量可以分为多帧检测和单帧检测。多帧检测的主要依据是序列图像中弱小目标的运动连续性以及噪声的运动随机性,通过对疑似运动路径的识别从而达到弱小目标检测与随机噪声剔除目的。单帧检测的主要依据是弱小目标在图像中的数据特征信息。在实际应用场景中,目标往往处于动态背景当中,相较于静态背景,多帧算法的检测性能会下降,尤其是时效性会大大降低,而单帧检测算法不需要考虑背景的运动,时效性远强于多帧检测,在天基预警、空空对抗等需快速响应的领域具有重要意义,加之单帧检测算法通常设计简单,其检测结果也可以作为多帧检测的基础模块,近年来单帧检测受到了大量的关注与研究,因此本文以单帧检测的不同技术手段作为着手点,阐述了不同技术手段的检测实现原理与固有优缺点,仿真了部分代表算法,比较了不同算法的检测性能,总结了目前基于单帧检测的发展现状并对发展趋势进行了展望。
02 单帧红外弱小目标检测算法
按照处理技术手段的不同,目前所使用的单帧红外弱小目标检测算法大致可以分为如下三类:
(1)基于滤波的检测方法:其中根据滤波处理域的不同又可以分为空域滤波、变频域滤波和形态学滤波三类;
(2)基于人类视觉对比度机制与显著性分析的检测方法:目前主要包括局部对比度分析和显著性分析两种;
(3)基于数据优化的检测方法:根据背景来源以及复杂程度可以采取单子空间和多子空间两种处理方式,如图1所示。
图1 单帧检测技术
滤波法主要以目标与背景在空域或变换域的数据特征不同为依据选择性的去除非目标像素,从而实现目标检测。对红外图像中的目标进行检测可分为空域滤波、变换域滤波以及形态学滤波三类方法,滤波过程如图2所示。
图2 滤波法流程图,(a)空域滤波,(b)变换域滤波,(c)形态学滤波
2.1.1 基于空域滤波的红外弱小目标检测算法
空域滤波主要是利用弱小目标与背景在红外图像中局部灰度值特征差异,直接在原始图像上进行滤波运算对背景进行估计,然后通过背景图像与原始图像的差分得到弱小目标图像。如式(1)所示:
其中I、It分别为原始图像、预估背景图像和目标图像,*为滤波操作,K为滤波器,[i,j]为像素的坐标。
早期的空域滤波算法为基于一些经典滤波器设计窗口去遍历原始图像进行背景估计。例如中值滤波[1]以及最大均值滤波算法[2],这两种算法通过使用邻域内像素计算中心像素预估背景,可以在不破坏图像的结构信息情况下去除图像中的噪声与干扰,对于简单场景下的弱小目标可以得到较好的检测效果,后者相较于前者能保证背景边缘信息情况下优化计算量,且提高了信杂比,但两者泛化能力较差且检测效果受窗口大小影响,对于弱小目标的检测效果不理想。文献[3]考虑到弱小目标的各向同性,将高斯差分滤波器(Difference Of Gaussian Filter, DOG)表示为极坐标形式,设计了对方向敏感的扇形滤波模板,然后取8个方向上的最小值作为输出,有效地去除了边缘对弱小目标检测的影响。文献[4]发现滤波器方向的不同会导致不同的预测误差,于是通过增加左向滤波器去除边缘的影响。文献[5]使用相同的模板预测图像块的8邻域块中心像素点的像素值,然后使用得到的8邻域块的中心预测值预测当前图像块中心值。文献[6]加入预测像素块8邻域块的边缘信息,降低了云边缘弱小目标检测的影响,同时通过邻域图像块的预测值自适应地调整迭代步长,提升了算法速度。
考虑到传统的维纳滤波主要适用于均匀灰度背景,鲁棒性差,文献[7]提出了一种通过迭代自适应估计背景的二维最小均方(Two Dimensional Least Mean Square, TDLMS)滤波器。文献[8]将TDLMS滤波器应用到弱小目标检测,该算法通过邻域内的像素点估计当前点像素值,计算估计图像与期望图像之间的偏差更新权重矩阵,自适应迭代进行目标增强,达到检测目的。但自适应因子的选取会影响算法的性能,适当的值会产生少量边缘失真的图像,在处理高亮噪声、强边缘结构干扰效果较差。
随着研究的深入,研究人员将更多的图像信息引入到弱小目标检测当中,文献[9]发现仅以像素的差异作为可分性特征会在前景图像中保留大量的边缘噪声,因此,作者同时考虑像素点的空间距离和像素值差异,提出了双边滤波,尽可能将边缘信息保留在背景图像中,但单一的滤波窗口限制了其场景适应性。于是文献[10]在其基础上,在使用双边滤波器时增加了一个内外层的滤波器模板,并且结合巴氏高通滤波器去除图像中的低频部分,具有较好的弱小目标检测效果。文献[11]考虑到目标中心邻域像素的灰度值与中心像素的灰度值相近,传统双边滤波可能会造成目标漏检的问题,提出了一种背景相关因子调节权重的改进双边滤波算法,通过降低目标背景相关性、抑制目标灰度值来获得更真实的背景图像,降低了算法漏检率。文献[12]分别在时间和空间两个维度上使用双边滤波器,利用空间邻域图像块的方差以及时间序列上的方差构建映射函数,自适应地生成不同图像区域的标准差从而达到保留边缘的效果。文献[13]使用全变分模型对图像序列背景进行预测,然后在相应的序列图像中减去预测的背景,得到减法图像。最后,利用时间对比度滤波器与减影图像的乘积,对目标进行检测。文献[14]考虑到目标中心邻域像素的灰度值与中心像素的灰度值相近,传统双边滤波可能会造成目标漏检的问题,提出了一种背景相关因子调节权重的改进双边滤波算法,通过降低目标背景相关性、抑制目标灰度值来获得更真实的背景图像,提高了算法检测性能。
2.1.2 基于变换域滤波的红外弱小目标检测算法
变换域的主要思想是将待检测图像通过映射变换投影到变换域上,利用弱小目标和背景在变换域上呈现出的特性不同实现弱小目标检测。基于变换域滤波算法可以表示为:
f为原图,表示为一种映射到变换域的数学方法及其逆运算,为检测出的弱小目标图像,H为变换域上的滤波器,*为变换域滤波操作。
TANG等人[15]将原始图像映射到频域中后,发现弱小目标占高频部分,平滑灰暗背景占低频部分,基于此提出了一种基于频域滤波的目标检测算法,通过原始图像与低通滤波器预估背景图像差分后可获得目标图像。但此算法对一些边缘结构,拐点也很敏感,低通阈值的选择限制了算法的检测效果。文献[16]发现利用傅里叶变换的相位谱可以在突出类高斯弱小目标的同时抑制条带噪声,然后将四元数傅里叶变换引入到弱小目标检测当中,利用facet模型求取四个方向上的二阶导数构建四元数,最后重建目标图像。文献[17]首先使用基于平稳小波变换的方向检测提取目标的潜在位置,然后潜在目标位置采用自交叉验证和预测校正算法确定目标的精确位置。文献[18]通过傅里叶变换,将图像序列在时间轴上进行1D傅里叶变换,在图像平面进行2D傅里叶变换,然后通过硬阈值保留图中的背景结构,使用差分方法得到目标图像,再将得到的运用能量积累确定目标位置。文献[19]首先使用低通滤波器对图像进行平滑处理,然后将图像分为多个子图块,对每个子图块搜寻最大值作为种子点使用区域生长方法,最后使用阈值分割确定目标位置。
2.1.3 基于形态学的红外弱小目标检测算法
形态学滤波是一种建立在格论和拓扑学基础之上的非线性滤波方法。通过以结构元素为内核在内核区域集合运算获得中心像素的方式进行目标检测和背景抑制。主要包括膨胀、腐蚀、开运算和闭运算等基本运算。选择合适的结构元素利用基本运算或运算组合可以有选择性的去除图像中某些区域,提取弱小目标。
Top-Hat滤波器[20]是形态学滤波最具代表性的,其主要思想是通过开运算消除图像较亮的部分,将原图与开运算处理后结果进行差分可以获得目标图像。但此算法无法处理缘杂波,因此文献[21]提出了一种新型的Top-Hat滤波器,通过构建环形新的结构元,在进行开闭运算时分别使用半径不同的结构元,降低了对边缘杂波的敏感性。文献[22]在环形结构元Top-Hat滤波的基础上,利用局部信息熵以及M估计方法确定结构元尺寸,增强了算法对多尺度目标的鲁棒性。文献[23]通过分析海平面红外弱小目标的特点,定义了8个方向不同的结构元素,然后根据弱小目标的时域连续性以及空域紧致性,构建了三个不同的特征图,通过特征图的融合对弱小目标进行检测,降低了对图像中边缘干扰的敏感性。文献[24]则将击中击不中变换应用到红外弱小目标检测当中,使用前景和背景两个结构元,利用前景结构元收缩亮点区域,然后使用背景结构元平滑图像,利用二者的差值对红外目标进行增强。文献[25]使用Top-Hat对图像进行预处理,然后使用网格划分法将图像分成多个子图像,对每个子图像进行峰值搜寻,然后使用灰度面积增长法检测候选弱小目标区域,通过阈值分割对弱小目标进行检测。
2.1.4 基于滤波算法对比
如图3为测试了中值滤波(Median Filter)、最大值滤波(Max-Mean)、低通滤法(Low-Pass Filter, LPF)、双边滤波(Bilateral Filter)和Top-Hat五种算法的目标检测性能。滤波法直接根据目标与背景的空域或变换域特征差异,利用卷积或相关手段实现对目标增强与背景抑制。但通常背景边缘在空域、变换域与目标具有相似的特征,可以从中看出,传统滤波算法都无法很好的抑制边缘杂波干扰。图中中值滤波法在处理背景复杂的图像时,大量轮廓信息无法滤除检测效果差;Max-Mean背景的纹理信息的抑制效果相较中值滤波法有很明显的提升。双边滤波考虑了灰度特征和分布特征的共同影响,更好保留了背景的边缘信息,边缘抑制能力加强。空域滤波算法受限于窗口的尺寸形状选择,尺寸过大拟合出的背景模糊失去边缘信息,窗口过小无法覆盖目标像素。变换域滤波通过映射思想检测目标,相较空域更加突显目标与背景的特征差异,提升了检测性能。但变换域滤波比较依赖阈值的选择,频域滤波在处理单一背景图像时,滤波效果明显,在处理树林、云层等复杂背景图像阈值选择难度大,检测效果不理想。形态学滤波算法可以有选择性的抑制图像的某些特征信息,但检测效果依赖于结构元素的构造,鲁棒性差。
图3 基于滤波算法仿真
2.2 基于视觉对比度分析与显著性分析的红外弱小目标检测算法
人类视觉系统(human visual systems,HVS)特有的对视觉显著性区域快速反应的选择性机制在进行弱小目标检测时具有较好的鲁棒性,因此一些视觉系统的理论机制被引入到弱小目标检测,大量的红外弱小目标检测算法被提出。此类算法主要是通过分析目标像素与邻域像素之间的灰度值、梯度等特征的差异,实现目标增强和背景抑制的目的,流程如图4所示。
图4 视觉理论算法流程图
2.2.1 基于显著性分析的红外弱小目标检测算法
文献[26]使用三层窗口遍历图像,通过计算内层窗口与外层窗口的方差差值构建空间著性图,然后使用时域灰度映射构建时域显著性图,最终融合两张显著图对目标进行检测,能够有效地提取低空慢速弱小目标。文献[27]为避免多尺度运算导致算法复杂度提升和图像区域交叠使目标漏检,提出基于三层模板的局部差异度量算法(tri-layer template local difference measure, TTLDM)。使用单一尺寸的三层模板遍历原始图像就能获得显著性图,提高了复杂背景弱小目标检测的实时性。WANG等人[28]发现现有算法在处理信杂比低,目标所占像素少,缺乏纹理信息,背景纹理丰富的问题时会出现虚警、适应性差和鲁棒性弱等问题。为改良不足,提出了一种基于模板滤波和显著性提取的弱小目标鲁棒检测算法。首先通过空域滤波以后对目标进行增强,得到加权灰度图,对加权灰度图进行目标检测同时使用傅里叶相位谱生成频率显著图对图像中的弱小目标进行检测,对两种方法得到的检测图进行融合后使用自适应分割得到目标,进行目标像素之间的位置分析后去除虚警点。文献[29]提出了一种红外弱小目标快速显著性检测方法,该方法使用Facet模型构建卷积核对图像进行高通滤波处理,然后对处理以后的图像进行平方增强,最后通过平滑消除图像噪声后使用自适应分割检测目标。文献[30]首先使用高斯滤波器在空域对图像进行平滑然后进行差分处理去除均匀背景干扰,然后再利用二维傅里叶变换提取视觉显著性区域对变换后的图像的振幅谱进行抑制去除高亮背景对检测的影响,然后通过快速傅里叶逆变换(Inverse Fast Fourier Transform, IFFT)得到目标位置,最后根据自适应局部对比度(Adaptive Local Contrast Method, ALCM)方法进一步去除虚警目标。文献[31]对于处理以后的图像使用Facet核进行滤波处理,然后根据跨窗口标准差计算局部异质性,再结合低秩表示的结果构建目标的显著性图,通过自适应阈值分割能够很好地得到海平面弱小目标检测效果。文献[32]通过分析图像的相位残差谱提取显著性图像,然后根据显著性图提取兴趣区域,生成掩膜图像,最后根据形态学重建以及背景减除方法检测弱小目标。文献[33]首先通过局部灰度差异值以及全局梯度值通过非线性变换生成图像的空间显著性图,然后根据帧间的差分信息建立时间显著性图,提出了一种自适应的显著性图融合方法对时域跟空域显著性图进行融合实现对目标的检测。
2.2.2 基于局部对比度分析的红外弱小目标检测算法
局部对比度是直接应用于图像的灰度,通过分析目标区域在局部区域中很明显,文献[34]首先提出了一种基于局部对比度(Local Contrast Measure, LCM)的红外弱小目标检测算法,算法计算中心图像块最大灰度值的二次方与8邻域图像块的均值对弱小目标进行增强如图5所示。
图5 局部对比度分析示意图
其中a为待处理图像,w为滑动窗口,t为目标可能所在区域,b为w窗口等分进行邻域划分。局部对比度求解过程如算法1所示。
算法1 求解局部对比度
局部对比度越大出现弱小目标的概率越大,此算法在噪声干扰较低的情况下具备较好的检测效果,但是对于高亮噪声、云边缘的干扰抑制效果较差。文献[35]考虑到差分定义局部对比度能有效抑制高亮背景,但无法增强目标;比值定义局部对比度能增强目标,但无法抑制高亮背景,提出了一种基于局部对比度(Relative Local Contrast Measure, RLCM)利用中心块与邻域块的均值比值构建中心块增强因子,降低了对边缘的敏感性。文献[36]使用一种比值差值结合的局部对比度计算方式,然后根据目标、背景以及两者之间的差异特性构建权重函数,能够很好的抑制随机噪声。文献[37]利用高斯下采样表示局部窗口的灰度特性,且提前根据弱小目标的局部极大值特性消除大量背景干扰,提高了计算效率,最后结合高斯多尺度对比度结果检测目标。为通过简单的自适应滤波准确快速的分割目标,文献[38]提出了一种多尺度的局部对比度方法(Multiscale Patch-Based Contrast Measure, MPCM),MPCM表示像素属于目标区域的概率,通过计算不同尺度下局部对比度的值,通过自适应阈值增强目标和抑制背景。此算法增强了算法对于目标大小变化的鲁棒性,且削弱了正负高斯拉普拉斯滤波(Laplacian Of Gaussian, LOG)的边缘响应,但是检测精度受限于阈值的选择,计算过程中相关参数的估计需要一定的先验信息。文献[39]使用改进后的局部熵对多尺度局部差异对比度进行加权,消除了云边缘对目标检测的影响。文献[40]仿照空间局部灰度值差对比度建立的方法在像素时间轴上构建时间局部像素值对比度机制,综合时间对比度和空间对比度建立时空对比度来实现对弱小目标的检测。文献[41]根据弱小目标的成像特性,对中心图像块采用高斯滤波对目标进行增强,对于邻域图像块,则使用均值滤波器以及标准差滤波器处理尽可能平滑噪声,对处理后的图像使用局部对比度机制处理检测图像中的弱小目标。文献[42]首先在高斯空间确定每个像素点的局部窗口大小,然后计算差值对比度与比值对比度检测弱小目标。文献[43]使用多个滤波器对图像进行预处理,然后使用随机游走算法(Random Walker, RW)对去除预处理图像的部分背景杂波并提取不规则目标,然后根据RW算法标记的概率值计算对比度,获取低对比度目标。文献[44]通过正负高斯拉普拉斯滤波(Laplacian Of Gaussian, LOG)检测疑似目标区域,然后根据多尺度下的灰度差值对比度去除疑似目标区域。文献[45]利用图像的高频信息与局部最大值获取候选目标点,然后根据目标的灰度下降和局部梯度分水岭特征,计算每个候选目标点的对比度提取目标。
单层对比度机制在面对背景与目标对比度不高或背景复杂时,特别是海天背景下,存在大量的噪声和杂波影响,现有算法检测结果虚警率偏高,同时为降低目标检测在复杂背景边缘和拐点误检率,文献[46]提出了一种基于双层窗口的局部对比度算法(Double Window LCM, DLCM)。通过两个背景系数获得背景子窗所在的区域信息,再利用滑窗定义拐点惩罚系数,两个窗口共同构成图像的局部先验信息,降低了目标检测的误检率。文献[47]提出了一种改进的双层对比度机制方法,同时采用汉宁窗对第一层进行加权,同时融合8方向梯度图对目标进行增强,最后通过奇异值分解去除高亮噪声的影响。韩等人[48]为针对复杂背景和低信杂比条件下的红外弱小目标检测提出了一种三层的局部对比度方法。该方法设计单一尺寸的三层嵌套窗口,中间层用于捕获目标主要元素,最外层用于捕获背景元素,中间层用于目标和背景的隔离和过渡,只要目标尺寸不超过中间层大小,即可利用单一尺寸窗口实现对不同尺寸大小目标的检测。该方法相较于多尺度对比方法算法计算量小、实时性强。但由于最外层采用最接近原则,当目标和边缘另一侧亮度相当时目标会被抑制,因此该算法在处理目标靠近高亮背景的图像时效果不理想。鲁等人[49]为解决传统算法在处理复杂背景弱小目标检测低检测率和高虚警率的问题提出了一种改进的加权增强局部对比度(Improved Weighted Enhancement Of Local Contrast Measure, IWELCM)算法。首先,构建嵌套窗口,通过计算中心块和八方向背景块的局部对比度来抑制背景那个边缘;其次,基于弱小目标特征和目标与背景之间的统计差异提出块灰度比概念,计算像素的加权函数;最后,通过多尺度和最大池化操作得到最终的IWELCM达到检测目的。此算法在明亮的云层边缘背景和灰暗目标背景效果显著,但当背景存在强干扰时一些强干扰会无法得到很好的抑制。
2.2.3 基于视觉显著性算法对比
图6为LCM、MPCM、RLCM和DLCM四种算法仿真结果对比,基于视觉显著性检测算法能够在目标纹理特征不明显时较好地提取出目标所在区域,再通过阈值分割等方法结合进行弱小目标检测。LCM法主要利用目标灰度值较邻域灰度值大的特点进行目标增强,同时噪声也会过增强,降低检测效果。MPCM法优点在于能够容易把弱小目标从背景中抽离出来,对于较暗的目标仍有良好的检测能力,但是受到云层、树林等杂波影响较大,鲁棒性差。RLCM法不需要预处理消除高亮背景和边缘杂波干扰,能够实现复杂背景下不同目标的检测,鲁棒性好。DLCM法可实现对不同尺寸弱小目标的检测,杂波抑制能力强,鲁棒性强,检测效果最好。现有的方法大多从算法层面糅合加以改进,并不能从原理层面更好的有机结合图像信息。同时也不用仅限于局部对比度可以通过引入更多信息(局部信息熵[50]等)作为加权函数或融合等手段改进提高算法性能。
图6 基于视觉显著性算法仿真
2.3 基于数据优化的红外弱小目标检测方法
由前面的分析可知,红外弱小目标往往向周围空间辐射大量的能量,在图像上呈现为突兀的光点,在图像中具有稀疏特性而背景像素之间差异一般较小,像素之间的关联性较强,具有低秩性。因此基于数据优化的方法从背景与目标的两种不同特性入手,构建相应的优化模型并解,对背景与目标图像进行分离,从而达到检测弱小目标的目的,如图7所示。
图7 数据优化检测流程图
2.3.1 基于单子空间数据优化的红外弱小目标检测算法
GAO等人[51]考虑到在IRST系统中传感器常处于运动状态,这种场景下生成的红外图像背景不会一成不变,目标也会因运动存在不连续性。目标的类型,环境的干扰都可能造成目标的灰度不满足二维正态分布,同时目标的尺寸也会影响算法的检测性能。为解决传统算法的不足提出了一种(Infrared Patch-Image, IPI)模型:
其中 是原始图像, 是目标图像, 是背景图像, 是噪声图像。通过分析背景的灰度强度变化平稳, 在灰度空间分布具有较大的相关性可将背景图视为低秩矩阵, 目标所占像素比例小可将目标图视为稀疏矩阵, 目标检测工作转化为从原始图像中最优的分解出一个低秩矩阵和一个稀疏矩阵:
为矩阵所有元素平方和再开方, 。.为矩阵的奇异值之和, 为矩阵所有元素的绝对值之和, 为了更好的估计背景将模型转化为:
是非负权重,取值不定。该模型通过遍历图像,将每次取得的图像块向量化构建原始矩阵,最后通过加速近端梯度算法(Accelerated Proximal Gradient, APG)求解矩阵的奇异值,该方法能较好地提取图像中的弱小目标,但对边缘、角点敏感,使用矩阵求逆耗时较长。文献[52]利用局部结构知识,使用转向核和协方差对每一个Patch构建权重。文献[53]首先使用引导滤波方法对原始图像进行处理,使用处理的得到的图像构建Patch模型,然后使用奇异值部分求解背景图像达到分离目标的目的。考虑到背景的不均匀性、非平滑性,文献[54]引入全变分正则化项对背景中的边缘结构进行保留,该算法能够在各种场景下都有良好的性能,能够较好的估计背景,这种估计还能进一步应用到运动检测、图像配准等方面。文献[55]对图像进行度多尺度分解,构建多尺度Patch池,计算池中的每Patch的自适应权重,实现多尺度下的目标—背景分离,最后,通过模板匹配相似性度量的阈值分割实现红外弱小目标的检测。文献[56]使用背景张量的核范数代替张量的秩,同时使用原始图像的结构张量特征值构建自适应权重。Sun等人[57]分析了图像块的形状、大小和数量的最优参数原理,提出了一种高效的多尺度低秩红外弱小目标检测方法,经系统地分析,采用三种最优尺度对弱小目标进行检测,充分保留了弱小目标的信息,并提高了运行效率。Zhang等人[58]考虑到IPI模型会在目标图像中留下背景残差和稀疏强边不能完全抑制的问题提出了一种基于非凸秩逼近最小化联合范数(Non-Convex Rank Approximation Minimization, NRAM)的检测算法,该算法通过采用非凸、加权范数来抑制背景,引入结构化范数消除强残差,抑制稀疏强边缘。在此基础上,文献[59]使用背景张量奇异值的拉普拉斯函数值代替张量的秩,对于结构化的稀疏边缘使用范数进行正则化约束。SUN等人[60]针对普通核范数和低秩分量会引起过缩问题提出了一种基于加权Schatten p-范数的时空张量模型(Weighted Schatten p-norm Minimization Spatial-Temporal Infrared Patch-Tensor,WSNM-STIPT),通过对背景部分利用非局部张量全变分约束背景中的边缘结构,计算像素点结构张量矩阵的特征值,构造能自适应区分角点与边缘的目标项自适应权重,使用截断奇异值方法检测弱小目标,该算法在复杂背景和中噪声条件下具有较好的检测性能。文献[61]分析目标往往存在于奇异值最大衰减之前,通过提取最大衰减前的图像层次,然后使用霍夫直线检测去除目标图像中的直线干扰得到弱小目标位置。DAI等人[62]发现IPI模型会出现过度缩小目标或强边缘信息难以滤除的情况提出了一种新的背景抑制模型(Non-negative Infrared Patch-image Partial Sum, NIPPS),考虑目标的非负性,同时提出了一种基于奇异值部分和极小化方法估计背景张量,避免了缺陷样本被误认异常值的可能性,提高了算法的检测性能。文献[63]将IPI模型拓展到张量域,使用奇异值分解(Singular Value Decomposition, SVD)求解背景张量的核范数实现对弱小目标的检测。文献[64]在IPT模型的基础上考虑背景图像贴片与目标图像贴片稀疏性的相关性。文献[65]提出了一种非重叠时空Patch张量构建法,然后使用张量限制核范数估计背景张量块。文献[66]通过环形Top-Hat算法对得到的目标张量进行处理,有效地降低了目标张量中的边缘干扰。文献[67]通过局部对比度方法构建目标张量的自适应权重,然后对S矩阵进行处理,而得到 , 根据 和t-SVD构建新的核范数。考虑到大多数低秩方法对不同的奇异值赋予相同的权重,使背景估计不准确,文献[68]使用Log算子计算背景张量三个维度上纤维核范数代替张量的秩,使用结构张量的特征值构造自适应目标张量权重,提升了算法的各项指标。文献[69]认为时空域上目标变化具有不对称性,提出了非对称时空正则化项保留背景分量中的稀疏结构。Yan等人[70]考虑到当目标被湮没在背景杂波和边缘结构中时,目标检测和背景估计难度更高,提出了一种基于核低秩张量主成分分析的检测方法,使用核低秩逼近方法来估计背景分量,同时利用图拉普拉斯正则化作为稀疏约束约束均匀目标区域。算法在强边缘和强杂波干扰情况下仍能鲁棒的检测目标。文献[71]通过引入了一种新的红外序列张量分解方法,能够结合本征张量秩和空间结构来提高背景恢复。文献[72]针对矩阵分解的残留过优化问题,引入Pareto边界优化策略以及Huber惩罚项,然后使用随机SVD方法加快求解速度。
2.3.2 基于多子空间数据优化的红外弱小目标检测算法
由于真实红外图像中往往存在大量杂波(如云边缘、道路边缘以及地面复杂背景等),许多学者认为使用背景来自单一子空间的数据优化方法会导致结果中存在大量虚警点,因此基于多子空间数据优化方法相继被提出。文献[73]通过红外序列构建时空张量,使用背景的张量的核范数将多子空间性质推广到张量域。文献[74]在多子空间理论的基础上,利用二维高斯模型生成原子,生成过完备目标字典;然后通过低秩稀疏表示模型对重置后的图像数据矩阵进行分解,得到图像的背景分量、噪声分量和目标分量。文献[75]使用重叠边缘信息构建目标图像的加权系数矩阵,然后使用自正则化项挖掘背景中的潜在信息,从多子空间中提取杂波信息实现对图像中的弱小目标检测。文献[76]利用多子空间恢复理论和子空间学习策略,构造了标准正交子空间和范数下包含群稀疏性的优化模型。文献[77]利用稀疏表示模型将目标图像分解为背景分量、目标分量和噪声分量,使用双稀疏模型构造了一个背景字典,并提出了一种改进的在线学习算法来训练字典,同时提出了一种边缘杂波抑制策略提高鲁棒性。ZHANG等人[78]发现在异构场景下仍然很难从背景的稀疏残差中恢复出目标图像,因此提出了一种新的基于边角感知的时空张量(Edge and Corner Awareness-based Spatial-Temporal Tensor, ECA-STT)模型。通过一个可调的边缘和角的权重来突显目标,将背景分离问题等效成一个张量鲁棒主成分分析问题,大大提升了算法的目标增强和背景抑制能力,但总体算法复杂度较大需要引入更加高效的张量秩替代项和TV正则化项优化计算量。
2.3.3 基于数据优化算法对比
如图8为IPI、ECA-STT、NIPPS、WSNM-STIPT和NRAM算法的仿真结果。从目标图可直观看出,基于数据优化法相较传统算法的背景抑制能力更强,检测效果更好,但都存在一些无法消除的噪点,主要是因为数据优化法使原始图像中一些强边缘或角结构在背景恢复过程不准确,被当作孤立稀疏的点被误判定为目标图像。IPI法在每个图像块向量化时,会破坏图像间的结构信息,目标图像估计不准确,导致目标图像会留边缘残差和角残差,检测效果不佳。此法适合背景均匀的场景,输出目标图像噪点少。ECA-STT法为针对IPI法产生残差问题,引入了边缘和角的权重指标,从仿真结果看出目标图像噪点较少,能更好的从稀疏残差中区分真目标,提高了算法的鲁棒性。NIPPS法在背景杂波、强边缘和非目标干扰情况下检测效率不高。WSNM-STIPT法解决了背景估计的过缩问题,目标图杂波少,背景图像恢复更加准确,提高了对厚重杂波和大噪声的抑制能力,目标检测的能力和鲁棒性更强。NRAM法降低了运算复杂度,有较好的鲁棒性,但同样存在将非目标噪声或非目标突出像素误判为目标的问题,强边缘无法完全抑制。
图8 基于数据优化算法仿真
2.4 基于深度学习算法的红外弱小目标检测算法
目标检测算法特征提取主要分为底层特征、中层特征和高层特征。传统算法主要的特征提取方式就是提取纹理、形状、亮度等底层特征或以底层特征为基础通过机器学习或其手段挖掘出的中层特征。中底层特征的提取会受到窗口设计、光照变换等因素干扰从而增加特征提取难度。而深度学习算法能够对图像数据多层次分析挖掘深层次特征避免了上述问题。深度学习网络模拟大脑对信息的处理方式拥有自主学习和分析功能,提取图像的多层语义特征,提高检测能力。目前根据检测原理不同,深度学习算法可大致分为基于回归神经网络模型One-stage 模型和基于区域候选的神经网络模型Two-stage模型。两种模型的检测流程如图9和图10所示。
图10 Two-stage模型流程图
2.4.1 基于One-stage 模型的红外弱小目标检测算法
One-stage 模型是基于回归的范式,直接对物体分类和候选框预测,不生成候选区,特点是相对速度快一步到位。文献[79]最先提出了一种新的目标检测算法(You Only Look Once, YOLO),首先将待处理图像分为N×N个网格,每个网格只负责中心点落在网格内的目标进行检测,能够一次性预测所有网格内的目标边界框和置信度,大大增加了算法的实时性,同时也提出了一种速度更快的微型框架,算法速度更快,但是准确率有所下降。文献[80]为提高YOLO算法的准确性提出了YOLOv3算法,文章把特征提取骨干网络换成Darhenr53网络,通过53个卷积层可以提取大、中、小三个尺度的目标的特征。在提升算法的检测性能的同时响应速度也得到了保证。冯等人[81]在YOLOv3的基础上,采用更大尺寸的检测头,提高了弱小目标的检测概率,提取各通道之间的信息交互供网络学习进一步提高网络训练准确率,但同时降低了网络的训练速度,在成像条件恶劣时甚至出现误检的问题。文献[82]考虑到噪声和背景干扰的影响,引入SimAMC3注意力模块利用空间关联信息,设计目标检测头,改进预测窗筛选模式,提高了YOLOv5网络的区分目标和噪点的能力,并利用帧间信息降低了虚警率。文献[83]采用VGG16网络做特征提取,用卷积层替换后面的全连接层,并添加自定义卷积层,通过设置不同缩放比和尺寸的先验框融合检测多尺度特征,利用大尺寸特征和小尺寸特征图互补,从而提高检测和定位的准确性。但均匀密集采样会增加训练难度,并且随着网络层数的增加容易丢失弱小目标信息。文献[84]提出了一种基于Anchor-free算法,算法去掉了耗时较长的Anchros后处理操作,直接在heatmap图上面进行过滤,提高了算法的运行速度,便于实现在低性能嵌入式设备中。
2.4.2 基于Two-stage模型的红外弱小目标检测算法
Two-stage模型先通过区域选择方法生成备选区域,再和卷积神经网络结合对备选区域进行分类和回归,大大提高了算法的准确率。文献[85]首先找出可能包含目标的边界框,采用卷积神经网络(Convolutional Neural Network, CNN)进行特征提取,再利用支持向量机(Support Vector Machine, SVM)进行分类,并利用边界框回归的方式对目标位置进行修正,算法提高了检测的准确率,但是边界框的重叠需要重复卷积计算,大大增加了算法的运行时长,文献[86]考虑到上述不足提出了一种快速区域建议的卷积神经网络检测算法(Fast R-CNN),首先选择性搜索生成备选区域,通过CNN对整个图像进行特征提取,利用Rol Pooling层把所有的特征转化为相同大小的特征图,采用softmax进行分类,缩短了训练周期,提高了算法的效率,但依旧没有克服备选区域选择耗时长的问题。文献[87]提出了一种将Faster R-CNN和全卷积网络(Fully Convolutional Network, FCN)结合的检测算法,该算法既有Faster R-CNN的检测精度和速度,又具有FCN的高语义分割精度。
2.4.3 基于深度学习算法对
以YOLO系列为代表的One-stage 模型把目标检测看为单一的回归问题,直接生成备选区域,再对边界框进行分类和边界框回归,该类算法计算成本低,响应速度快,但在针对弱小目标检测中容易生成密集备选区域,降低检测准确率,还容易出现过拟合情况,以R-CNN系列为代表的Two-stage模型包含两个网络,生成备选框的建议网络和边框分类、边框回归网络,两个网络的好处就是增加了算法的检测性能,也增加了算法成本,延长了响应时间,能够更好地应对复杂场景。相较于传统算法具有更高的鲁棒性和综合性能,能够通过修改网络架构来适应不同场景,但是深度学习算法需要大量的数据集训练学习,对于小样本数据算法性能受限,实时性不强。
03 算法性能对比
为了进一步评估各类算法的检测性能,本文选取了公开数据集对典型算法进行仿真,所用图像场景如表1所示、红外照相机基本参数如表2所示、目标(无人机)基本参数如表3所示。
表3 无人机基本参数
本文为了定量分析算法性能,选取Median Filter、Max-Mean、Bilateral Filter、Top-Hat、LPF、LCM、RLCM、MPCM、DLCM、IPI、ECA-STT、NIPPS、WSNM-STIPT、NRAM算法并使用算法复杂度、运行时间、信杂比增益(Signal-to-noise Ratio Gain, SCRG)和背景抑制因子(Background Suppress Factor, BSF)四个客观指标进行分析,其中SCRG、BSF定义如下:式中SCR为图像的信噪比,C为背景杂波标准差。SCRG越大表示从原始图像中提取了更多的目标信息,证明检测算法性能越好。BSF用来表征算法对背景的抑制效果,一般来说也是越大算法性能越好。客观指标对比如表4所示:其中M、N、S、I、L、m、n、 n1、n2、n3分别表示为图像行、列、窗口尺寸、结构元尺寸、局部窗口尺寸、图像块行、列、时空张量尺寸。
表4 14种算法客观指标对比
从算法复杂度分析在三类算法中滤波类算法结构简单、算法复杂度低、响应速度最快。其中中值滤波加入了排序过程提高了算法复杂度,双边滤波算法复杂度受窗口尺寸限制,可以通过拟合函数降低复杂度。视觉显著性算法加入了HVS理论机制增加了算法的复杂程度,增加了响应时长,数据优化类算法涉及到大量的矩阵运算响应速度最慢。一般来讲算法引入的图像信息越多算法复杂度越高;从背景抑制因子和信杂比增益分析,滤波类算法效果平均最低,其中以Top-Hat为代表的形态学滤波算法通过结构元素抑制背景的效果最好。视觉显著性算法指标平均居中,LCM法因存在块效应导致两个指标效果最差,DLCM法引入双层对比度分析机在这些算法中平均指标最好。数据优化类算法平均指标表现最好,IPI法在将块图像向量化的时候会破坏图形结构信息,输出的目标图会存有大量残差,使两个指标并不高。ECA-STT法和NIPPS法考虑到IPI法存在问题加以改进,两个指标有所提升,两算法效果接近。滤波类算法对复杂背景中的轮廓和角等高亮像素抑制效果差,导致背景抑制因子偏低,检测效果不理想,更适合处理均质背景或图像预处理。视觉显著性算法引入对比度、信息熵、局部梯度等理论机制能够快速的在原始图像找到目标所在区域,目标增强和背景抑制能力有所提升。数据优化类方法通过构建图像模型引入优化方法,提高了对复杂背景下的目标检测能力,但算法较为复杂,处理数据量大,缺少实时性。
传统算法与深度学习算法相比,传统算法提取目标的中低层特征,算法复杂度低、占用计算资源少、硬件实施简单,工作原理直观便于理解、应对小样本数据更加适用,但总体在应对复杂场景或目标被遮挡等情况检测结果不理想。深度学习算法提取目标的高层甚至更深层次的特征,自主性强,能够通过训练集学习目标特征,即使目标存在姿态变化或遮挡等情况依旧有较好检测效果,在应对不同场景的检测,也能准确鲁棒的进行目标识别。但深度学习算法复杂度高,可解释性不强,需要大量的数据集训练,在实际应用场景中实时性低,不利于实现。
04 结论与展望
在过去的几十年里不断有新的理论被引入到目标检测领域中从而产生新的算法。研究人员针对某一问题提出改进算法使这项技术得到显著进步。本文依据算法的检测手段,主要从滤波算法、视觉对比度分析与显著性分析、数据优化和深度学习四个方面对现有的单帧红外图像弱小目标检测算法简要分析,目前的红外弱小目标检测算法仍受限于以下几个方面:
(1)红外目标“弱”: 为保证系统的隐蔽性,当目标探测距离超过十公里甚至几十公里时,加上大气的散射、探测器镜头损坏或者污染、电子元件和外界产生的噪声产生的影响,IRST系统接收到的目标的信号十分微弱,在图像中会呈现信杂比、对比度低甚至湮没在背景中。
(2)红外目标小: 指的是目标在红外图像中所占像素比例小,缺乏纹理信息,使传统可见光目标检测算法无法直接用于红外弱小目标检测。
(3)成像背景复杂: 这是由IRST系统工作环境所致,成像过程中往往伴随着复杂场景包括树林、云层、海波等,在红外图像中会产生大量的边缘杂波和角点,这对算法的鲁棒性要求很高。
未来的发展趋势或解决现有算法问题的途径可以从以下几个方面思考:
(1)多特征融合: 单一特征处理的问题往往是有限的,多特征融合算法的趋势已经十分明显。例如把多方向线重构、残谱差和DOG尺度滤波三种方法提取的显著性图融合后对目标进行检测大大减少了虚警目标,增加了算法的准确性[88]。研究了多种基于图像不同特征融合的显著性目标检测,来提取图像中显著特征取得了不错的检测效果[89]。
(2)经典算法的改进: 现有的算法大多是在成像后,对图像中存在的边缘杂波、噪点进行滤除和抑制。可以从目标的成像前考虑这些杂波的成因入手,增强目标信杂比,利于目标检测。有研究通过对典型地物目标的红外偏振辐射场景模拟仿真发现,与红外辐射强度图像相比,红外偏振特征图像能够提高目标与背景的对比度及轮廓信息[90],这是一个值得关注的方向。
(3)新方法: 深度学习算法通常需要大量的样本对模型进行训练,由于红外弱小目标检测领域比较敏感数据集采集受到限制,可以通过改变骨干网络架构去提高小样本[91]的学习能力,或者引入GAN网络生成虚拟数据扩大数据集,增强网络的场景适应能力。引入因果推理等新理论提高网络检测精度和模型可解释性。
(4)新体制: 红外探测器受自身制作工艺和自身的金属性影响,探测弱小目标能力有限,辐射精度低,对目标特征的描述不充分。可以通过不同波段如可见光[92]、雷达波段和运动特征之间特征互补,提高目标的检测准确性。
#堆叠图神经网络(SGNN)
解耦图神经网络:同时训练多个简单的GNN而不是一个
本文介绍了一种新的图神经网络(GNN)训练框架——堆叠图神经网络(SGNN),它通过将多层GNN解耦为多个简单的GNN模块并同时训练,提高了训练效率并保持了合理的性能。SGNN框架包括前向训练(FT)和反向训练(BT),其中反向训练机制允许前层模块感知后层模块,从而优化训练过程。
论文链接:https://arxiv.org/pdf/2304.10126
摘要
图神经网络(GNN)由于节点依赖随着层数增加呈指数增长,导致严重的效率问题。这极大地限制了随机优化算法的应用,使得GNN的训练通常耗时较长。为了解决这个问题,我们提出了将多层GNN解耦为多个简单模块以实现更高效的训练,该框架包括经典的前向训练(FT)和设计的反向训练(BT)。在所提出的框架下,每个模块都可以在FT中通过随机算法高效地训练,而不会因简单性而扭曲图信息。为了避免FT中单向信息传递以及充分训练浅层模块与深层模块,我们开发了一种反向训练机制,使前层模块能够感知后层模块,灵感来自经典的反向传播算法。反向训练引入了解耦模块中的反向信息传递以及前向信息传递。为了研究解耦和贪婪训练如何影响表征能力,我们理论上证明了在线性模块中产生的误差在大多数情况下不会在无监督任务中累积。理论和实验结果表明,所提出的框架具有高效性并且性能合理,值得进一步研究。
关键词
反向训练
高效训练
图神经网络
I. 引言
近年来,由于其令人印象深刻的性能,神经网络[1]、[2]已扩展到图数据,被称为图神经网络(GNN)[3]。随着GNN显著提高了图任务的结果,它已从不同方面得到了广泛研究,例如图卷积网络(GCN)[4]、[5]、图注意力网络(GATs)[6]、[7]、时空GNN(STGNN)[8]、图自编码器[9]、[10]、图对比学习[11]等。
除了来自不同视角的变体之外,一个重要的议题是众所周知的GNN效率问题。在经典神经网络[2]中,优化通常基于随机算法进行,批量大小有限[12]、[13],因为样本彼此独立。然而,在[14]中定义的聚合类操作导致每个节点依赖于其邻居,并且一个节点的依赖节点数量随着层数的增长呈指数增长,导致批量大小意外增加。一些工作基于邻居采样[14]、[15]、[16]、[17]和图近似[18]提出以限制批量大小,而一些方法[19]、[20]尝试直接应用高阶图操作并牺牲大部分非线性。尽管VRGCN[16]试图通过改进采样来控制方差,但采样方法的训练稳定性仍然是一个问题。注意到所需的节点可能仍然会随着深度的增加而增长(缓慢)。Cluster-GCN[18]找到了一个具有许多连通分量的近似图,以便批量大小被严格上界限制。这些方法的主要挑战是采样期间的信息缺失。简化的方法[19]、[20]是高效的,但有限的非线性可能是这些方法的瓶颈。这些方法可能结合GIN[21]的思想来提高容量[20]。
为了在保留完整图结构的同时应用随机优化,我们提出了一个框架,即堆叠图神经网络(SGNN),它将多层GNN解耦为多个简单的GNN模块,然后同时训练它们,而不是随着深度的增加而连接它们。受反向传播算法的启发,我们发现堆叠网络[22]和经典网络之间的主要区别是没有从后层模块传递到前层的训练信息。缺乏反向信息传递可能是堆叠模型性能限制的主要原因。贡献总结如下:(1)我们相应地提出了一种反向训练策略,让前层模块接收来自最终损失和后层模块的信息,从而形成了一个循环训练框架,以控制偏差并正确训练浅层模块。(2)在这个框架下,多层GNN可以被解耦为多个简单的GNN,本文中称为可分离GNN,以便每个训练步骤都可以使用随机优化而不进行任何采样或对图的更改。因此,SGNN可以同时考虑非线性和高效率。(3)我们研究了解耦和贪婪训练如何影响线性SGNN的表征能力。证明了在大多数情况下,当最终目标是图重建时,线性模块中产生的误差不会累积。
II. 背景
图神经网络:在过去的几年中,图神经网络[4]、[5]、[6]、[21]、[23]、[24]越来越受到关注。GNN不仅应用于图任务[25](例如,推荐系统[26]),还应用于其他应用[27]、[28](例如,计算机视觉[29])。特别是,图卷积网络(GCN)[4]已成为重要的基线。通过引入自注意力技术[30],图注意力网络(GAT)[6]、[7]被提出并应用于其他应用[29]、[31]。正如[32]所声称的,GNN遭受过平滑问题的困扰,GALA[10]发展了图锐化,ResGCN[33]试图设计一个更深的架构。理论工作[32]、[34]、[35]对GNN的深度有不同的看法。一些工作[32]、[34]声称,随着层数的增加,GNN的表达能力会降低,而其他工作则认为[34]中的假设可能不成立,更深的GNN具有更强的表达能力[35]。此外,一些工作[21]、[36]通过展示Weisfeiler-Lehman测试[37]和GNN之间的联系来研究表达能力。然而,大多数人忽略了GNN的效率问题。
高效图神经网络:为了加速通过批量梯度下降对GNN的优化而不产生太大偏差,几种模型[14]、[15]、[16]、[17]提出根据图拓扑采样数据点。这些模型提出了不同的采样策略以获得稳定的结果。GraphSAGE[14]为每个节点生成了一个有限邻居的子图,而FastGCN[15]通过重要性采样为每层采样固定节点。在[16]中进一步控制了采样的方差。Cluster-GCN[18]旨在生成一个具有许多连通分量的近似图,以便每个分量可以作为每一步的批量使用。AnchorGAE[38]提出通过引入锚点将原始图转换为二分图来加速图操作,从而将复杂度降低到与现有模型[39]相比的O(n)。SGC[19]通过将中间层的所有激活函数设置为线性函数来简化GCN,SSGC[20]进一步改进了它。总之,本文提出的SGNN保留了非线性,不需要节点采样或子图采样。L2-GCN[40]试图将经典的堆叠自编码器的思想扩展到流行的GCN,而DGL-GNN[41]进一步开发了一个并行版本。它们都没有训练所有GNN模块,但SGNN首次提供了一个新颖的框架来像训练常规神经网络中的层一样训练它们。
与现有模型的联系:堆叠自编码器(SAE)[22]是应用于神经网络预训练的模型。它训练当前的两层自编码器[42],然后将中间层输出的潜在特征传递给下一个自编码器。该模型通常用作预训练模型而不是正式模型。MGAE[43]是SAE的扩展,其基本模块是图自编码器[9]。与所提出的模型相比,主要区别在于每个模块是否可以被来自正向和反向方向的模块感知。堆叠范式类似于经典的提升模型[44]、[45]、[46],而一些工作[47]、[48]也研究了神经网络的提升算法。近年来,一些提升GNN模型[49]、[50]也得到了发展。大多数提升算法(例如,[47]、[49])的目标是逐步学习预测函数,而所提出的SGNN的目标是逐步学习理想的嵌入。请注意,AdaGCN[50]也是逐步训练的,并且使用AdaBoost[44]结合特征。更重要的是,所有这些GNN的提升方法只进行前向训练,缺少反向训练。深度神经接口[51]提出了解耦神经网络以异步加速梯度计算。解耦是计算L层网络梯度的加速技巧,而本文提出的SGNN明确地将L层GNN分离为L个简单模块。换句话说,SGNN的最终目标不是优化L层GNN。
III. 提出的方法
受SAE[22]的启发,以及简化模型[19]、[20]对GNN的高效率,我们因此重新思考堆叠网络和多层GNN之间的实质区别。总之,我们试图回答本文中的以下两个问题:Q1: 如何将复杂的GNN解耦为多个简单的GNN并联合训练它们?Q2: 解耦如何影响表征能力和最终性能?我们将在本节讨论第一个问题,然后在第四部分详细阐述另一个问题。
预备知识
每个解耦的GNN模型被命名为一个模块, 为了简单起见, 第 个模块被表示为 。向量和矩阵分别用小写和大写粗体字母表示。 表示Frobenius范数。给定一个图, 让 为邻接矩阵, 为节点特征。一个典型的GNN层通常可以定义为:
其中 是投影系数, 是 的一个函数。当我们讨论每个单独的模块时,我们假设 以简化问题。例如, GCN [4] 定义 为
其中 是 的度矩阵。当多层集成时,由多层GNN学习到的表示可以写成:
其中 是层数。假设平均邻居数为 。要计算 , 每个样本将需要 额外的样本。如果深度很大且图是连通的,那么所有节点都必须参与计算一个节点。不受控制的批量大小导致训练耗时。在原始 GNN中, 计算复杂度是
在稀疏图上,其中 是迭代次数, 是 的维度。对于大规模数据集,时间和空间复杂度都过于昂贵。
堆叠图神经网络
尽管堆叠网络通常比多层网络有更多的参数,这通常表明堆叠网络可能更强大,但它们只作为预训练技术。具体来说,它们简单地传递当前网络学习的表示到下一个网络,但没有反馈传递回来。这导致后续模块和最终目标的不可见性。因此,由于前层模块的不可靠性,堆叠模型通常用作无监督预训练模型。
反思网络的学习过程,多层同时通过基于梯度的方法进行优化,其中梯度是通过众所周知的反向传播算法[52]计算的。该算法由前向传播(FP)和反向传播(BP)组成。FP计算BP所需的值,可以看作是信息传递过程。注意FP类似于堆叠网络的训练。具体来说,在堆叠网络中将当前模块的输出传递到下一个模块,类似于FP期间逐层计算神经元。受此启发,我们旨在设计一种类似BP的训练策略,即反向训练(BT),以便前层模块可以根据反馈进行调整。我们提出的堆叠图神经网络(SGNN)的核心思想如图1所示。
可分离性:效率的关键概念
在详细介绍SGNN之前,我们正式引入关键概念和通过SGNN加速GNN的核心动机。
定义3.1:如果一个GNN模型可以被表述为
那么它是一个可分离的GNN。如果它可以进一步被表述为
那么它是一个完全可分离的GNN。
为了保持简单,定义可分离GNN的集合为
(公式3),和完全可分离GNN的集合为
(公式4)。
注意,大多数单层GNN模型是可分离的。例如,SGC[19]是完全可分离的,其中
和
而单层GIN [3]是可分离的但不是完全可分离的,因为
通常成立。JKNet [53]由一层组成也是可分离的但不是完全可分离的。然而,单层GAT [6]不是可分离的,因为图操作与相关。
可分离属性实际上将GNN模型分解为两部分,图操作 和神经操作 。由于GNN中的所有节点依赖都是由图操作引起的,人们可以一次性计算
(像预处理),然后GNN被转换为典型的网络。在计算之后,图中包含的信息已经传递到中,后续的采样不会影响图的拓扑结构。因此,我们可以获得一个通过SGD优化的高效GNN模型,前提是每个模块都是可分离的。另一方面,完全可分离条件对于反向训练传递多个模块的信息至关重要。由于大多数单层GNN是可分离的但不是完全可分离的,我们展示了如何修改可分离GNN以引入完全可分离性。
然后,我们通过展示如何处理Q1来正式阐明SGNN的核心思想。
前向训练(FT):第一个挑战是如何为每个模块 设置训练目标。这对于将SGNN应用于监督和无监督场景至关重要。假设我们有一个可分离的GNN模块 并且让
成为可分离GNN模块学习的特征。对于无监督情况,如果 是GAE,则FT的损失被制定为
其中 表示度量函数, 是一个映射函数。例如,[9]中引入的简单损失是
其中 是sigmoid函数,KL 是Kullback-Leibler散度。其他选项包括但不限于对称内容重建 [10]和图对比学习[11]。对于有监督信息的模块,引入了一个投影矩阵 将 k 维嵌入向量映射到具有 个类别的软标签。对于节点分类, 损失可以简单地设置为
其中 是监督任务的监督信息。注意,上述损失等同于如果 是常数的经典softmax回归。损失也可以是链接预测、图分类等。尽管基础模块可以使用不同的损失,但为了简单起见,本文中我们只讨论所有模块使用相同类型损失的情况。
反向训练(BT):第二个挑战是如何同时训练多个可分离的GNN以确保性能。简而言之,由于前向传播(FP)和反向传播(BP)的信息传递,经典多层神经网络的所有层的梯度被精确计算。BP通过反馈让浅层感知深层。在SGNN中,尾部模块在FT中对头部模块是不可见的。我们因此设计了反向训练(BT)来实现信息的反向传递。具体来说,对于一个可分离的GNN层作为SGNN中的一个模块:
其中 , 我们的目标是调整其输入, 以便前一个模块可以知道当前模块需要什么样的表示。然而, 不是可学习参数。一个直接的方案是使用一个变换( 来调整模块的输入:
其中 是一个可学习的方阵, 是一个非参数函数。显然, 可以被视为一个参数化的GNN。为了保持由于 导致的高效率,我们进一步限制修改后的 为一个完全可分离的GNN, 即:
其中 。注意,如果 被固定为单位矩阵(或其它常数矩阵),那么修改后的层等同于原始的可分离GNN。总结起来,通过引入完全可分离性,我们将可分离GNN层 进行了修改,如下所示:
其中 表示一个函数,从 映射到 。记 并且 是期望的特征。具体来说,让 成为在 的反向训练中学习到的期望特征,并且它作为 从 的期望输入。在前向训练中,信息的传递基于学习到的特征 ,而 在反向训练中扮演类似的角色。反向训练的损失试图缩小 的输出特征 和 的期望输入 之间的差异:
在反向训练之后, 导致 的最终损失 被更新为:
其中 是控制 和 之间权衡的系数。 在第一次前向训练之后被激活, 并在每次反向训练中更新。引入 不会限制随机优化的应用,因为期望的特征也可以在每次迭代中进行采样,没有任何限制。该过程总结在算法1中。
值得注意的是, 在 FT 期间, 保持为单位矩阵。这种设置导致每个前向计算跨越 L 个基础模块等同于前向传播L层GNN。换句话说,具有L个模块的SGNN可以被视为L层GNN的一个分解。有人可能会担心为什么不在FT中一起学习 和 。在这种情况下, 我们更倾向于仅使用 来学习 的期望特征,而从FT中共同学习 可能带来的能力提升也可以通过 实现,这等同于使用 GIN [21] 作为基础模块。
复杂度分析
由于每个基础模块被假设为一个可分离的GNN, 的FT和BT可以分为两个步骤:图操作的预处理步骤和参数学习的训练步骤。记 的输出维度为 , 原始内容特征的维度为 。预处理计算 需要 的成本。假设每个模块训练 次迭代, 批量大小设为 。那么训练步骤的计算成本为 。注意, 这里只考虑了GNN映射的计算, 忽略了损失函数的计算。总体上, 具有L个模块的SGNN的计算复杂度大约为:
需要强调的是, 每个epoch期间图仅使用一次, 且图上没有进行采样处理, 因此图结构被完全保留, 这在现有的快速 GNN中是不可用的。 的系数仅为 。空间复杂度仅为 。 。因此, 图规模的增长不会影响SGNN的效率。由于其高效性, SGNN的大多数实验可以在配备NVIDIA 1660 ( 6 GB )和16 GB RAM的PC上进行。为了更好地阐明所提出的SGNN的优势, 我们在表|中总结了不同高效GNN的特点。
IV. 理论分析
为了回答在第三节开头提出的Q2问题, 我们在这一部分讨论解耦的影响。直观上讲, 如果一个L层 GNN取得了令人满意的结果,那么存在一组 使得具有L个模块的SGNN也能取得相同的结果。然而,每个 是按照前向训练损失 贪婪地训练的,而多层GNN的中间层是按照相同的目标训练的。主要的担忧是贪婪策略学习到的嵌入是否会导致前向训练中不可逆的偏差。
在这一部分, 我们研究了特定SGNN的影响, 该SGNN由定义在(5)中的无监督模块组成。结论并不明显, 因为简单地将 设置为单位矩阵并不能证明对GNN的适用性, 因为存在 。注意, 一个基本前提是前一个模块已经取得了合理的结果。
给定一个线性可分离 GNN 模块 , 定义为 , 假设前向训练使用重建误差 作为 。我们首先引入矩阵角的概念,以更好地理解定理4.1的条件是否可行。
定义4.1:给定两个矩阵 , 我们定义矩阵角为 。
在详细介绍定理之前,我们引入以下假设,将讨论分为两种情况。
假设4.1: 与 不共享相同的特征空间。
注意, 上述假设是弱的, 并且在大多数情况下经常成立。对于简单起见, 设 为与 个最大特征值相关联的特征向量。在此假设下, 我们发现 的误差被上界 所限制。
定理4.1:定理4.1:设 且 , 其中 , 。在假设4.1下, 如果 且 , 其中 是 的第 个最大奇异值, 则存在 使得 。换句话说, 如果 足够小, 那么 可能是比 更好的近似。
特别地, 如果 或 , 则 , 所以 成立。从上述定理, 我们声称如果输入 , 即前一个模块的输出, 训练良好, 则通过 的误差不会累积(即, 被 限制)。我们进一步提供了一个上界误差, 如果假设4.1不成立。下面的定理显示误差增加的速度最多与尾奇异值的线性相关。
定理4.2: 如果假设4.1不成立,则存在 使得 。
推论4.1: 给定一个具有L个线性模块 的SGNN,其 ,如果 和 共享相同的特征空间, 则 。
基于定理4.2,我们得出结论,当假设4.1不成立时,残差不会迅速累积。所有证明都放在附录中。
V. 实验
在本节中,我们通过实验来研究:(1)SGNN的性能是否能以高效的方式接近原始L层GNN的性能;(2)解耦引入的非线性和灵活性的影响。
为了充分回答上述两个问题,我们使用了节点聚类和半监督节点分类任务。需要强调的是,SGNN可以用于传导和归纳任务。我们主要在传导学习数据集上进行实验,因为在传导学习场景中更可能出现效率问题。我们使用了4个常用数据集,包括Cora、Citeseer、Pubmed[25]和Reddit[14],进行实验。Cora和Citeseer包含数千个节点。Pubmed有近20,000个节点,Reddit包含超过200,000个节点,分别是中等规模和大规模数据集。四个常用数据集的详细信息显示在表II中。有关OGB数据集的实验,请参见第V-D节。
节点聚类
- 实验设置:我们首先验证SGNN在节点聚类上的有效性。我们将其与10种方法进行比较,包括一个基线聚类模型Kmeans,三种不考虑训练效率的GCN模型(GAE[9]、ARGA[54]、MGAE[43]),以及六种具有GAE损失的快速GCN模型(GraphSAGE[14]、FastGAE[15]、ClusterGAE[18]、AGC[55](SGC[19]的无监督扩展)、S2GC[20]和GAE-S2GC)。
使用的代码基于公开发布的实现。为确保公平,所有多层GNN模型由两层组成,SGNN由两个模块组成。对于可以通过随机算法训练的模型,批量大小设为128。学习率设为0.001,迭代次数设为100。我们设置第一层的大小为128,第二层大小为64。初始化为单位矩阵,默认设为。反向训练的次数设为5或10。为了研究反向训练的有效性,我们报告了每个模块充分训练的实验结果,记为SGNN-FT,而包含所提出的反向训练的SGNN记为SGNN-BT。
为了研究SGNN在不同基础模型下的性能,我们选择一个完全可分离的GNN,S2GC,作为基础模型,这种方法记为SGNN-S2GC。注意,SGNN-S2GC也使用所提出的BT策略,与SGNN-BT相同。原始的S2GC不使用任何激活函数,而我们为每个S2GC基础模型的嵌入添加了与SGNN-FT相同的激活函数。由于S2GC不使用GAE框架,我们还添加了一个竞争者,即GAE-S2GC,它使用S2GC作为编码器,以确保公平。对于SGNN-S2GC和GAE-S2GC,所有额外的超参数都简单地根据S2GC的原始论文设置,无论是节点聚类还是节点分类。我们没有手动调整S2GC的超参数。
所有方法运行五次,记录平均分数。结果总结在表III中。
- 性能:从表III中,我们发现SGNN在大多数数据集上表现优异。如果发布的代码因内存不足(OOM)而无法在Reddit上运行,我们用“N/A”代替结果。特别是,SGNN-BT在Reddit上取得了高达8%的提升,超过了众所周知的GraphSAGE。SGNN-FT在某些数据集上表现优于平均水平。它通常优于GraphSAGE,但未能超过SGC。由于由多个模块引起的更深层结构,SGNN的性能优于简单的GAE。由于多个模块引入的更多非线性,它也优于SGC。注意S2GC和SGC是强大的竞争者,而SGNN可以轻松地将它们作为基础模块使用,因为它们是可分离的,这由SGNN-S2GC所示。可以很容易地发现SGNN-S2GC通常与S2GC取得了相似的结果。由于它比SGNN-BT慢,并且性能提升不稳定,我们建议在实践中使用简单的SGNN-FT而不是SGNN-S2GC。从表中,我们发现将S2GC修改为GAE-S2GC是不必要的,因为GAE架构根本没有提高S2GC的性能。从消融实验中,SGNN-BT比SGNN-FT表现更好,这表明了反向训练的必要性。
我们还研究了模块数量对节点聚类准确率的影响,结果平均在5次运行上报告在表IV中。为确保公平,我们还展示了具有相同深度的GAE的性能,尽管更深的GCN和GAE通常返回不满意的结果。值得注意的是,每层的神经元被设置为[256, 128, 64, 32, 16, 16, 16]。不难发现SGNN对深度的鲁棒性优于传统GNN。
- 效率:图2显示了在Pubmed和Reddit上几种GNN的消耗时间,这些GNN具有更高的效率。我们不仅忽略了预处理操作,还测量了效率,即从将数据加载到RAM后开始,直到完成所有参数更新的总时间除以GNNs的更新参数总数。这种度量可以反映旨在将基于批量的算法应用于GNN的不同训练技术之间的真实差异。需要强调的是,SGC在消耗时间上比SGNN差的原因。关键是它们的预处理操作的成本不同。对于一个L阶SGC, 计算 的计算成本至少为 , 而具有L个一阶模块的SGNN总共需要 进行相同的预处理操作。该度量还为SGC和其他模型之间的公平比较提供了依据, 因为停止标准总是不同的。
节点分类
- 实验设置:我们还在四个数据集上进行了半监督分类的实验。数据集的拆分遵循[19],如表II所示。我们将SGNN与GCN[4]、GAT[6]、DGI[56]、APPNP[57]、L2GCN[40]、FastGCN[15]、GraphSAGE[14]、Cluster-GCN[18]、SGC[19]、GCNII[58]和S2GC[20]进行比较。同样,我们用两种不同的基础模型测试SGNN,即SGNN-BT和SGNN-S2GC。实验设置与节点聚类实验相同。对于GraphSAGE,我们默认使用均值操作符,如果使用额外的操作符,我们会添加一些注释。在引用网络上,学习率设为0.01,而在Reddit上设为。由于引用网络上的训练节点少于200,我们在每次迭代中对所有方法使用所有训练点,而在Reddit上,所有基于批量的模型的批量大小设为512。我们不使用[4]中使用早期停止标准,最大迭代次数遵循SGC的设置。每个模块的嵌入维度与节点聚类设置相同。为了公平起见,我们报告了使用两个模块的SGNN的结果,这些模块使用一阶操作。前向训练损失在(6)中定义。此外,所有比较的模型共享相同的批量迭代器、损失函数和邻域采样器(如适用)的实现。默认情况下,LFT和LBT之间的平衡系数设为1。我们在Cora上优化超参数,并在表V和表VI上报告了在引用数据集上平均10次运行的结果,以及在Reddit上平均5次运行的结果。Reddit上的结果记录在表VI中。超参数在所有数据集上共享,这些超参数在Cora上进行了优化。
- 性能:表V中比较方法的结果来自相应的论文。当实验结果缺失时,我们运行公开发布的代码,并在结果上加注†。从表V和表VI中,我们得出结论,SGNN在引用网络上超过了使用邻居采样的模型,例如GraphSAGE、FastGCN和Cluster-GCN,并且在Reddit上超过了大多数模型。在简单的引用网络上,SGNN比其他基于批量的模型损失的准确性最少,这接近GCN。由于每个模块的可分离性,批量采样不需要邻居采样,也不会造成图信息的丢失。
需要注意的是,我们简单地使用单层GCN作为SGNN的基础模块,但SGNN也可以通过使用更复杂的可分离GNN模型作为基础模块来提高性能,例如SGNN-S2GC。正如SGNN-S2GC的结果所示,SGNN确实可以通过使用更复杂的基础模型来改进。尽管一些方法取得了可喜的结果,但它们要么无法在大规模数据集上运行,要么在大规模数据集上无法获得满意的结果。此外,我们还展示了在节点分类任务上的效率比较,如图2所示。
- 可视化解耦的影响:在图3中,我们可视化了由3个模块组成的SGNN和3层GCN的输出,直接展示了解耦不会导致平凡特征,这对应于第IV节中的理论结论。为了展示SGNN和反向训练引入的非线性和灵活性的好处,图7显示了SGC、SGNN-FT和SGNN-BT的收敛曲线。注意,该图显示了最终损失的变化。在SGNN中,最终损失是ML的损失,而在SGC中,它唯一的训练损失。SGC使用了L阶图操作。从这个图中,我们可以得出结论:(1)非线性确实会导致更好的损失值;(2)反向训练显著降低了损失。总之,解耦在实证上不会造成负面影响。
我们还通过图4和图5提供了更多的可视化。我们运行了由3个GNN模块组成的SGNN,并在Cora和Citeseer上通过t-SNE可视化了M1、M2和M3的输入和输出,用于节点聚类和节点分类。这两个图的目的是实证调查解耦是否会导致残差的累积和误差。实验结果支持第IV节中提供的理论结果,即解耦不会导致误差累积。有人可能会担心η(LFT和LBT之间的权衡系数)对性能的影响。我们测试了不同η值{10^-5, 10^-3, 10^-1, 10^1, 10^3, 10^5}的SGNN,并发现η = 10^3通常能带来好的结果。因此,本文中我们只报告了η = 10^3的SGNN结果。此外,我们还在图8中展示了η对Cora和Citeseer节点聚类的影响。
此外,我们在图6中展示了不同时期M1的输出,以展示反向训练的影响。从图中,我们发现BT确实影响了潜在特征,这在图6(d)中尤为明显。
在OGB数据集上的实验
我们进一步展示了在两个OGB数据集上的节点分类实验,OGB-Products和OGB-Arxiv,这些数据集可以从https://ogb.stanford.edu/docs/nodeprop/下载。OGB-Products包含超过200万个节点,OGB-Arxiv包含超过150,000个节点。
需要强调的是,我们只使用简单的单层GCN作为SGNN的基础模块。性能可以通过结合不同的模型进一步提高,例如GCNII、GIN等。特别是,我们只在Arxiv上调整了超参数,并简单地报告了从Reddit继承设置的SGNN结果。
备注:有人可能会担心所提出的SGNN无法像节点聚类那样实现最先进的结果。需要强调的是,具有L个模块的SGNN应该被视为L层GNN的一个变体。因此,将SGNN与GCN进行比较更为公平。从表V、表VI和表VII中,我们可以看到SGNN的性能可以高效地接近GCN。SGNN无法在监督任务(如节点聚类)上超越其他模型的主要原因是为中间模块设计适当的训练损失的困难。这本质上源于神经网络的黑箱属性,即深层层更喜欢什么样的潜在特征。从实验结果中,我们发现简单地将最终的监督损失作为中间模块的训练损失并不是最优的方案。相反,在节点聚类上,我们证明了贪婪策略不会导致误差累积,实验结果验证了理论结论。
VI. 结论
在本文中,我们提出了堆叠图神经网络(SGNN)。我们首先将多层GNN解耦为多个简单的GNN,这在本文中被正式定义为可分离GNN,以确保批量优化的可用性,而不会丢失图信息。现有堆叠模型的瓶颈在于信息传递是单向的,因此我们开发了一种反向训练机制,使前层模块能够感知后层模块。我们还理论上证明了在线性SGNN中,残差在大多数情况下不会在无监督图任务中累积。理论和实验结果表明,所提出的框架不仅仅是一种高效的方法,而且值得在未来进一步研究。理论分析集中在线性SGNN上,并且没有研究泛化界限。因此,它们将成为我们未来工作的核心。此外,由于LFT可以是任何损失,SGNN未能实现最先进的结果,如何为每个模块设置最合适的训练损失,特别是在监督任务上,也将是我们未来工作的一个关键主题。这可能有助于我们理解神经网络的工作原理。
#LookupViT
谷歌提出LookupViT:全新通用视觉Transformer块
本文介绍了谷歌提出的LookupViT,这是一种新型的通用视觉Transformer块,它通过利用图像和视频中的信息稀疏性来降低ViT的推理成本,实现了在保持或提高准确性的同时显著减少计算量。LookupViT通过压缩视觉信息到有限数量的标记,并在这些压缩标记与原始高分辨率标记之间进行信息共享,展示了在多个视觉任务中的有效性,包括图像分类和视频理解。
视觉Transformer(ViT)已成为众多工业级视觉解决方案的事实标准选择。但由于每一层都计算自注意力,这导致其推理成本对许多场景而言是不可接受的,因为自注意力在标记数量上具有平方的计算复杂度。另一方面,图像中的空间信息和视频中的时空信息通常是稀疏和冗余的。
LookupViT旨在利用这种信息稀疏性来降低ViT的推理成本,提供了一种新颖的通用视觉变换器块,通过将来自高分辨率标记的信息压缩到固定数量的标记来操作。这些压缩的标记进行细致的处理,而高分辨率标记则通过计算成本较低的层。通过双向交叉注意力机制,使得这两个标记集之间的信息共享成为可能。
该方法具有多个优点(a)通过标准高层操作,在标准的机器学习加速器(GPU/TPU)上易于实现。(b)适用于标准的ViT及其变体,因此能够推广到各种任务。(c)可以处理不同的标记化和注意力方法。LookupViT还为压缩标记提供了灵活性,使得在单个训练模型中进行性能与计算的权衡成为可能。
论文在多个领域展示了LookupViT的有效性。LookupViT提供了2X的FLOPs减少,同时在这些领域保持或提高了准确性。此外,LookupViT在图像分类(ImageNet-C,R,A,O)上也表现出了开箱即用的鲁棒性和泛化能力,较ViT提高了多达4%。
论文地址:https://arxiv.org/abs/2407.12753
Introduction
图像和视频作为现代视觉通信的基石,具有一个固有特性:它们的信息内容通常是稀疏的,并且存在显著的冗余。然而,尽管视觉变换器(ViTs)在多个视觉任务中占主导地位,但它们并没有利用这种冗余,而是以同质化的方式处理每个标记。这导致了与图像大小相关的平方计算复杂度,妨碍了其在实时场景中的应用。为了弥补这一差距,迫切需要有效地将视觉信息压缩为一个更小、更易于计算处理的标记集。这种表示将解锁ViTs在资源受限场景中的潜力,同时保持其灵活性和性能优势,这些优势使其在计算机视觉领域得到了广泛采用。
若干架构旨在通过有针对性地减少标记的数量来解决ViTs的计算负担。标记剪枝方法保留一部分标记,而标记池化技术则将相似的标记组合以获得更紧凑的表示。这些机制依赖基于注意力分数或特征相似性的启发式方法,特定任务可能需要额外的调整。尽管这些技术提供了有价值的好处,但它们可能需要根据应用进行进一步的微调。相较之下,论文提出了一种新颖的LookupViT模块,以替代传统的ViT模块,该模块本质上充当压缩模块。该设计消除了后处理或广泛微调的需要。此外,论文的方法保留了ViT架构的整体结构,从而允许使用现有方法(如标记修剪或合并)进行进一步优化和适应。
其它压缩模块,如TokenLearner和Perceiver,论文也进行了对比。TokenLearner在网络深度的很大一部分中利用传统的ViT模块,在后期将大量标记压缩到一个较小的集合(例如,8个或16个)。这种对ViT模块的依赖会产生相当大的计算开销,并严重限制了压缩模块在网络中的完全利用。另一方面,Perceiver通过在整个网络中以迭代方式直接从图像像素生成一小组潜在表示,设计了一种不对称的信息流。对于这些网络架构,从相同参数中提取多个模型并非易事,需要在提取的模型之间进行计算性能权衡。而LookupViT以提供可扩展的、计算上高效的模块而脱颖而出,这些模块可以像标准ViT模块一样无缝重复。其双向交叉注意力机制促进了压缩标记和原始标记之间更丰富的信息交换,增强了表达能力。
对于天生冗余的模态,如视觉,从原始标记中将相关的空间(和时间)信息压缩到一个更小的集合仍然可以维持性能,同时显著降低计算需求,前提是保持两个标记集合之间有效的信息交换。图1b表明,与传统的ViT模块相比,LookupViT能够有效地扩展到较大图像尺寸,因为它仅处理相关信息,而前者在原始图像标记的数量上呈平方级扩展。将较小的压缩标记集合称为压缩标记,这些标记“查看”较大的原始标记集合,将其称之为查找标记。
这些标记之间的信息交换发生在每个LookupViT模块中,其过程包括三个关键步骤,如图2所示。(i) 交叉注意力将相关信息从查找标记转移到压缩标记(见图1a),(ii) 压缩标记之间的自注意力,以及(iii) 使用第一步中计算的共享注意力权重,将信息从压缩标记转移到查找标记。当压缩标记通过自注意力进行交流时,查找标记仅通过压缩标记进行相互通信。这种技术避免了平方级扩展,同时确保查找潜在表示在各层之间变得更加丰富。
LookupViT的内部设计自然支持在标记压缩和可变图像或标记大小方面的灵活性。通过调整压缩标记和查找标记之间的下采样比例,成本与性能的权衡可以根据具体应用要求进行定制。这种多分辨率特性允许在推理阶段提取计算高效的高性能模型,同时保持相同的参数空间。为了验证LookupViT的有效性,论文在多个基准上展示了结果,如图像和视频分类,以及图像标题生成。值得注意的是,由于信息流的瓶颈设计,LookupViT还表现出对图像损坏的开箱即用的鲁棒性。
本工作的主要贡献如下:
- 高效的标记压缩:LookupViT引入了一种新颖的多头双向交叉注意力(MHBC)模块,能够实现有效的信息流动,同时显著节省计算成本。
- 通用框架:LookupViT提供了一个适用于视觉模态的灵活框架。它还通过压缩标记的多分辨率能力提供了计算与性能之间的权衡,同时保持相同的模型参数。
- 增强的性能:LookupViT在图像/视频模态的应用中表现出良好的泛化能力,并且具有开箱即用的抗损坏鲁棒性。
LookupViT Methodology
Overall Architecture
LookupViT架构如图3所示。与ViT架构类似,它由一系列LookupViT模块组成。首先,输入的RGB图像(或视频)被分割成非重叠的图像块,随后通过卷积层生成特征嵌入,添加位置嵌入以构建输入标记,这一过程与标准ViT架构相同。与普通ViT不同的是,这里的核心思想是将视觉信息压缩为较少数量的标记,重点将大部分计算专注于这些标记。
固定数量的标记 ,将其称为压缩标记,使用双线性插值从输入标记中抽取出来。对压缩标记进行的计算密集型处理类似于标准ViT模块,同时通过异步多头双向交叉注意力(MHBC)与原始标记交换信息。该过程分为以下几个步骤(1)信息聚集:压缩标记利用交叉注意力“查看”原始标记(称为查找标记)并收集相关信息。(2)表示精炼:压缩标记之间相互交换信息,更新其表示。(3)全局上下文注入:查找标记利用经过处理的信息丰富的压缩标记,更新自身表示,重用在信息聚集过程中计算的注意力权重以提高效率。
在整个过程中, 查找标记只能通过与压缩标记的交互来收集信息, 从而减少了计算复杂度。此外, 查找标记经过一个具有较小投影维度 的多层感知机(MLP)模块,相较于普通模这种优化进一步减少了计算量。尽管存在这个显著的 MLP 瓶颈, LookupViT 模块仍能实现与基线相当的性能,这证明了压缩标记与查找标记之间信息交换的有效性。
Input Tokenization
查找标记嵌入的构建类似于标准 ViT 的标记化策略。给定输入图像 , 通过卷积层获得查找特征 。一个可学习的查找位置嵌入 被添加到此特征图中。然后, 这些标记被显著下采样到固定形状 , 构成压缩标记。
总结如下:
算子 以双线性方式将 调整为形状 。查找标记和压缩标记网格的大小分别为 和 是嵌入维度。这些特征图 和 然后被空间展平为 和 :
这些展平的特征图 和 (分别是压缩标记和查找标记)被作为输入传递给 LookupViT 块,该块通过信息交换有效地优化这些表示。调整比例 是一个灵活性参数,表示信息压缩的程度。这能够灵活地使用不同的调整比例训练模型,从而在特定的 下实现计算感知模型提取。更小的 值表示更多的压缩标记,从而具有更好的表示能力。实际上, 代表的是普通的 ViT,但由于跨注意力的原因会有额外的计算。将查找标记和压缩标记的数量分别表示为 和 ,这种标记化形式可以很容易扩展到视频,其中会引入一个表示时间的第三维度, 压缩比例将变为 , 其中 . 表示时间维度。
LookupViT Block
第 个 LookupViT 块接收来自前一个块的压缩标记 和查找标记 ,促进这两个标记集之间的信息交换,并将更新后的表示传递给下一个块,这里的新架构设计是异步多头双向跨注意力(MHBC)。直观地说,在第一层中,查找标记比压缩标记保留了更丰富的图像表示。然而,在通过LookupViT块多次传递后,压缩标记积累了相关的压缩图像信息,从而使它们适合于下游任务。这是通过在每个LookupViT块中查找标记和压缩标记之间的迭代通信实现的(算法4)。这一过程可以总结为三个关键步骤:
- Information Gathering
在这一步骤中, 通过 可以实现从查找到压缩标记的单向信息流。压缩标记用作查询( Q), 标记标记用作键值(K,V), 如算法 1 所示。此外, 还存储了在此步骤中计算出的注意力权重 , 以便在反向共享信息时重复使用。
- Representation Refinement
在信息提取步骤之后,压缩标记经过一个普通的ViT块(自注意力后跟MLP),如算法3所示。MLP维度上升因子 保持为4,和普通的ViT一样。但这个计算是在较小的压缩标记集上进行的。该步骤允许压缩标记之间进行内部信息共享,以更新它们的表示。
- Global Context Infusion
信息收集与基于 ViT 的处理丰富了压缩标记特征, 因为它们包含图像的全局压缩表示。虽然查找标记之间并不直接共享信息,但它们通过反向信息交换(从压缩标记到查找标记)了解全局信息, 如算法 2 所示。这里不是重新计算注意力矩阵, 而是重用之前在算法 1 中保存的注意力矩阵。这种关系进一步施加了两个特征图之间的隐式相似性约束, 并增强了信息交换。最后, 为了细化查找特征,应用一个低维的 MLP 块,维度为 ,是普通 ViT MLP 维度的 倍小(在所有的实验中设置 ) 。这为压缩标记在下一个 LookupViT 块中的信息提取丰富了查找标记。
- Multi-Resolution Tokens
压缩标记通过简单地在非可学习的方式下调整查找标记的大小来构建。因此,可以在具有多种压缩标记分辨率的情况下共享相同的参数空间和查找标记。为此,在训练期间随机选择压缩标记的大小,借鉴了FlexiViT的灵感。一旦以这种方式进行训练,就可以从一个单一训练的模型中提取出多个具有不同计算需求的高性能模型。这种灵活性使得该方法可以在各种环境中使用,具体取决于资源的可用性。
Training and Token Utilization for Downstream Applications
在LookupViT中,整个网络中维护两组标记, 个查找标记和 个压缩标记。对于分类,可以将分类器应用于任一或两个标记集。通过实验证明,对两个头施加分类损失可以获得最佳性能。对各自的标记集使用全局平均池化,然后使用两个独立的分类器。接着,联合损失函数以相同的权重进行优化。
尽管训练损失独立应用于两个标记集,但在推理过程中使用压缩标记上的分类器就足够了,添加来自查找标记的分类器输出确实也可以略微提高性能。由于分类没有额外的计算成本,将压缩头和查找头的输出以相同的权重进行平均。对于分类以外的下游应用(例如,图像-语言模型任务,如字幕生成),在LookupViT编码器上使用解码器。这种情况下,使用有限的压缩标记集在计算上对交叉注意力块有好处。因此,实验只使用压缩标记。
Computational Complexity
设 表示过程 的计算。然后, 给定特征维度 、查找标记的数量 、压缩标记的数量、MLP升维因子 (针对压缩标记)和降维因子 (针对查找标记),普通 ViT 和 LookupViT 块的计算复杂度可以表示如下(忽略较小的项)。
LookupViT 消除了对查找标记数量 的平方依赖,并分别减少了注意力和线性投影的计算。由于压缩标记的数量 保持在用户指定的值, 因此注意力减少因子迅速增长, 能够在更高分辨率下实现可扩展性。通常, 对于 384 的图像分辨率, 使用 和 , 这显示出比普通模型更优越的性能,同时将 FLOPs 降低了超过 3 倍。
Results
#Vision Search Assistant(VSA)
只要两张3090就可复现!Vision Search Assistant开源:VLM与Web搜索能力的巧妙结合
本文介绍了一个名为Vision Search Assistant(VSA)的开源项目,它是一个基于视觉语言模型(VLM)的系统,能够将Web搜索能力融入VLM中,实现对未见图像或新概念的实时更新和智能问答。VSA通过理解查询、分析图像内容、生成查询文本、检索Web知识,并结合检索结果回答用户问题,展现了在开放集问答任务中的卓越性能,特别是在提供全面、相关且得到良好支持的答案方面。
论文:https://arxiv.org/abs/2410.21220
主页:https://cnzzx.github.io/VSA/
代码:https://github.com/cnzzx/VSA
0 太长不看版
OpenAI刚刚推出了SearchGPT,以大模型为基座,检索互联网知识。就在此时,我们也推出了开源版的“OpenSearchGPT”——Vision Search Assistant。模型设计简单,只要两张3090就可复现!可以预见2025年会有更多开源版AI搜索模型涌现,快来关注和Follow我们的工作,加入这股新的浪潮吧。代码和模型已在Github上开源(https://github.com/cnzzx/VSA),诚邀大家试用和关注。
我们开发的Vision Search Assistant(VSA)以视觉语言模型(VLM)为基础,巧妙地将Web搜索能力融入其中,让VLM内部的知识得到实时更新,使其更加灵活和智能。只需要两张3090,就能试验你的Idea,说不定就能取得出色的效果呢?
目前,我们的VSA已经针对通用图像进行了实验,可视化和量化结果良好。但不同类别的图像各具特色,还可以针对不同种类的图像(比如表格、医学等)构建出更为特定的VSA应用。更令人振奋的是,VSA的潜力并不仅限于图像处理。还有更广阔的可探索空间,比如视频、3D模型和声音等领域,期待能将多模态研究推向新的高度。
1 简介
大型语言模型(LLM)的出现让人类可以利用模型的强大零样本问答能力来获取陌生知识。在此基础上,检索增强生成(RAG)等技术进一步提高了LLM在知识密集型、开放域问答任务中的表现。然而,VLM在面对未见过的图像和新概念时,它们往往不能利用好来自互联网的最新多模态知识。现有的 Web Agent主要依赖于对用户问题的检索,并总结检索返回的HTML文本内容,因此它们在处理涉及图像或其他视觉内容的任务时存在明显的局限性,即视觉信息被忽视或处理不充分。
为了解决这一问题,我们提出了Vision Search Assistant。Vision Search Assistant以VLM模型为基础,能够回答有关未见过的图像或新概念的问题,其行为类似人类在互联网上进行搜索并解决问题的过程,包括:(1)理解查询;(2)决定应该关注图像中的哪些对象并推断对象之间的相关性;(3)逐对象生成查询文本;(4)根据查询文本和推断出的相关性分析搜索引擎返回的内容;(5)判断获得的视觉和文本信息是否足以生成答案,或者它应该迭代和改进上述过程;(6)结合检索结果,回答用户的问题。
2 方法介绍2.1 视觉内容描述
视觉内容描述模块被用来提取图像中对象级的描述和对象之间的相关性,其流程如下图所示。我们首先利用开放域的检测模型来获取值得关注的图像区域。紧接着对每一个检测到的区域,使用VLM获取对象级的文本描述。最后,为了更全面地表达视觉内容,我们利用VLM进一步关联不同的视觉区域以获得不同对象的更精确描述。
具体地, 令用户输入图片为 , 用户的问题为 。我们通过一个开放域的检测模型 获取 个感兴趣的区域:
然后利用预训练的 VLM 模型 分别描述这 个区域的视觉内容:
为了让不同区域的信息关联起来,提高描述的精度,我们将区域i与其它区域j≠i的描述拼接,让VLM对区域的描述进行矫正:
至此,我们从用户输入获得了与之高度相关的N个视觉区域的精确描述。
2.2 Web知识搜索:“搜索链”
Web知识搜索的核心是名为“搜索链”的迭代算法,旨在获取相关视觉描述的综合性的Web知识,其流程如下图所示。在Vision Search Assistant中,我们利用LLM来生成与答案相关的子问题,这一LLM被称为“Planing Agent”。搜索引擎返回的页面会被同样的LLM分析、选择和总结,被称为“Searching Agent”。通过这种方式,我们可以获得与视觉内容相关的Web知识。
具体地,由于搜索是对每个区域的视觉内容描述分别进行的,因此我们以区域 为例,并省略这个上标,即 。该模块中我们使用同一个 LLM 模型 构建决策智能体(Planning Agent)和搜索智能体(Searching Agent)。决策智能体控制整个搜索链的流程,搜索智能体与搜索引擎交互,篮选、总结网页信息。
以第一轮迭代为例,决策智能体将问题 拆分成 个搜索子问题 并交由搜索智能体处理。搜索智能体会将每一个 交付搜索引擎,得到页面集合 。搜索智能体会阅读页面摘要并选择与问题最相关的页面集合(下标集为 ),具体方法如下:
对于这些被选中的页面,搜索智能体会详细阅读其内容,并进行总结:
最终,所有个子问题的总结输送给决策智能体,决策智能体总结得到第一轮迭代后的Web知识:
重复进行上述迭代过程K次,或是直到决策智能体认为当前的Web知识已足够回应原问题时,搜索链停止,得到最终的Web知识。
2.3 协同生成
最终,我们基于原始图像 、视觉描述 、Web 知识 ,利用 VLM 回答用户的问题 , 其流程如下图所示。具体而言, 最终的回答 为:
3 实验3.1 开放集问答可视化对比
下图中我们比较了新事件(前两行)和新图像(后两行)的开放集问答结果。我们将Vision Search Assistant和Qwen2-VL-72B以及InternVL2-76B进行了比较。不难发现,Vision Search Assistant 擅长生成更新、更准确、更详细的结果。例如,在第一个样例中,Vision Search Assistant对2024年Tesla公司的情况进行了总结,而Qwen2-VL局限于2023年的信息,InternVL2明确表示无法提供该公司的实时情况。
3.2 开放集问答评估
在开放集问答评估中,我们通过10位人类专家进行了比较评估,评估内容涉及7月15日至9月25日期间从新闻中收集的100个图文对,涵盖新颖图像和事件的所有领域。人类专家从真实性、相关性和支持性三个关键维度进行了评估。
如下图所示,与Perplexity.ai Pro和GPT-4-Web相比,Vision Search Assistant在所有三个维度上都表现出色:
(1)事实性:Vision Search Assistant得分为68%,优于Perplexity.ai Pro(14%)和 GPT-4-Web(18%)。这一显著领先表明,Vision Search Assistant 始终提供更准确、更基于事实的答案。
(2)相关性:Vision Search Assistant 的相关性得分为80%,在提供高度相关的答案方面表现出显著优势。相比之下,Perplexity.ai Pro和GPT-4-Web分别达到11%和9%,显示出在保持网络搜索时效性方面存在显著差距。
(3)支持性:Vision Search Assistant在为其响应提供充分证据和理由方面也优于其他模型,支持性得分为63%。Perplexity.ai Pro和GPT-4-Web分别以19%和24%的得分落后。这些结果凸显了Vision Search Assistant 在开放集任务中的卓越表现,特别是在提供全面、相关且得到良好支持的答案方面,使其成为处理新图像和事件的有效方法。
3.3 封闭集问答评估
我们在LLaVA W [1]基准进行了闭集评估,其中包含60个问题,涉及VLM在野外的对话、细节和推理能力。我们使用GPT-4o(0806)模型进行评估。我们使用LLaVA-1.6-7B作为基线模型,该模型在两种模式下进行了评估:标准模式和使用简单Google图片搜索组件的“朴素搜索”模式。此外,我们还评估了LLaVA-1.6-7B的增强版本,该版本配备搜索链模块。
如下表所示,Vision Search Assistant在所有类别中均表现出最强的性能。具体而言,它在对话类别中获得了73.3%的得分,与LLaVA模型相比略有提升,提升幅度为+0.4%。在细节类别中,Vision Search Assistant以79.3%的得分脱颖而出,比表现最好的LLaVA变体高出 +2.8%。在推理方面,我们的方法比表现最佳的LLaVA模型高出+10.8%。这表明Vision Search Assistant对视觉和文本搜索的高级集成极大地增强了其推理能力。Vision Search Assistant的整体性能为84.9%,比基线模型提高+6.4%。这表明Vision Search Assistant在对话和推理任务中都表现出色,使其在野外问答能力方面具有明显优势。
#利用深度学习技术监测无人机和卫星影像中的废弃物
本篇分享论文Monitoring Waste from Unmanned Aerial Vehicle and Satellite Imagery Using Deep Learning Techniques: A Review
,利用深度学习技术监测无人机和卫星影像中的废弃物综述。
- 论文地址;https://ieeexplore.ieee.org/document/10738392
摘要
近年来,随着城市化进程的加快,废弃物监测和管理在城市规划和环境保护中变得至关重要。遥感技术使得人们可以从空中观测地表和海洋特征,获得高清图像,识别并定位废弃物的位置。深度学习技术在提升废弃物监测的精度和效率方面展现了巨大潜力,逐渐成为废弃物监测领域的重要手段。
传统的废弃物监测方法主要依赖手工设计的特征,通过图像分割等技术识别废弃物区域。这些方法的解释性较好,但往往适应性较低,在应对复杂的环境中表现出明显的局限性。相比之下,深度学习能够自动提取特征,更适合于应对变化多端的废弃物形状和背景,但其可解释性较弱,依然存在优化空间。
目前,深度学习在废弃物监测中面临以下三大挑战:
- 形状不规则:废弃物的形状通常不规则,这与其他人工结构(如建筑物)不同,增加了识别的难度。
- 与周围环境的融合:废弃物容易与周围环境(特别是在森林和农田等区域)混合,使得检测难度加大。
- 多样性和分布广泛:废弃物种类多样,包括陆地和海洋垃圾,并且分布在森林、农村和水体等各种环境中。
本文综述了基于遥感图像使用深度学习技术进行废弃物监测的最新进展。我们搜集并总结了9个现有的遥感废弃物检测数据集,涵盖了无人机和卫星等不同来源的废弃物监测图像,提供了数据集有效原始链接,以便读者可以快速访问。
根据应用场景和技术类型,我们主要将相关方法分为语义分割和目标检测两类,讨论了各类方法的特点和局限性。通过比较不同方法的基准结果,为未来研究提供参考。我们在讨论部分指出了当前方法的不足并提出未来六大研究方向,以支持废弃物监测和环境管理的发展。
概要
本研究针对废弃物监测的文献进行了广泛的系统性调研。通过 Google Scholar、IEEEXplore、Elsevier、Springer、Web of Science 和 ResearchGate 等多个学术平台进行了文献筛选,最终筛选出40余篇符合条件的研究。这些文献涵盖了废弃物监测的最新进展,符合 PRISMA 2020 系统性评估标准。
调研关键词涵盖了“waste”,“garbage”,“landfill”,“marine debris”以及“detection”,“segmentation”,“monitoring”等术语,确保覆盖废弃物监测领域的相关研究。
文献主要包括期刊论文、会议论文、预印本及学位论文。本文将它们按国家进行分类。如下图所示,图中总结了全球不同国家或地区的论文数量。调研发现中国的研究在数量上居于首位,共有21篇文献;其次是意大利和英国,分别有5篇和3篇;此外,美国、希腊、印度等国家也有显著贡献。
文章对收集到的近五年的文献综合分析,将废弃物监测方法分为两大类:基于图像的语义分割方法和目标检测方法。然后根据应用场景和图像来源进一步对无人机和卫星遥感分类讨论。
Methods Classify
数据集
数据集名称和链接如下所示:
Datasets Example
部分有代表性的方法示意图
基于语义分割的方法示意图
基于目标检测的方法示意图
讨论
当前数据集的一些不足
- 数据集规模相对较小
- 数据集未关注特殊类别的废弃物
- 数据集场景复杂度不足
- 真实图像与模拟图像比例失调
当前研究的一些不足
- 方法评估不一致
- 计算成本考虑不足
- 缺乏关于模型大小和参数的报告
未来可能的研究方向分析
- 创建类别更多样化和场景更复杂的数据集
- 应用迁移学习和弱监督学习
- 关注模型效率和实时监测
- 考虑遥感图像上下文信息的利用
- 融合多种特征
- 同时关注水陆废弃物的检测
#LSTNet
本文研究了利用网格特征进行图像字幕的局部视觉建模,这对生成准确且详细的字幕至关重要。为了实现这一目标,我们提出了一种具有两种新颖设计的局部敏感Transformer网络(LSTNet),分别是局部敏感注意力(LSA)和局部敏感融合(LSF)。
LSA 用于通过建模每个网格与其邻居之间的关系来进行Transformer中的层内交互。它降低了字幕过程中局部物体识别的难度。LSF 用于层间信息融合,它聚合了不同编码器层的的信息,以实现跨层语义互补。
凭借这两种新颖的设计,所提出的 LSTNet 能够对网格特征的局部视觉信息进行建模,以提高字幕质量。为了验证 LSTNet,我们在竞争性 MS-COCO 基准上进行了大量实验。
实验结果表明,LSTNet 不仅能够进行局部视觉建模,而且在离线和在线测试中都优于许多最先进的字幕模型,例如 134.8 CIDEr 和 136.3 CIDEr。此外,LSTNet 的泛化能力也在 Flickr8k 和 Flickr30k 数据集上得到了验证。
- 代码:https://github.com/xmu-xiaoma666/LSTNet
- 论文:https://arxiv.org/abs/2302.06098
@article{ma2023towards,
title={Towards local visual modeling for image captioning},
author={Ma, Yiwei and Ji, Jiayi and Sun, Xiaoshuai and Zhou, Yiyi and Ji, Rongrong},
journal={Pattern Recognition},
volume={138},
pages={109420},
year={2023},
publisher={Elsevier}
}
图像标题生成是指为给定图像生成一个流畅的句子来描述图像。近年来,该领域取得了快速发展,这得益于大量创新方法 [1,2] 和数据集 [3,4] 的支持。
受自下而上注意机制 [5] 的巨大成功启发,大多数现有的图像标题生成方法采用由对象检测器提取的区域特征作为视觉表示,例如 Faster R-CNN [6]。由于检测器是在大规模视觉基因组数据集 [7] 上预训练的,因此它可以生成图像中显著区域的判别性表示,并为标题生成提供完整的对象信息。为此,基于区域特征 [2,8,9] 在图像标题生成方面取得了显著进展。
为了弥补上述限制,一些研究开始重新审视网格特征的使用。Jiang 等人 [10] 研究了对象检测器的网格特征,以进一步提高视觉问答 (VQA) 任务的性能。RSTNet [11] 和 DLCT [12] 首次在类似 Transformer 的网络中采用网格特征,在图像标题生成方面取得了令人印象深刻的性能。然而,类似 Transformer 的架构不利于感知完整对象。具体而言,如图 1 (b) 所示,一个完整的对象可能会在二维空间中被划分为多个相邻的网格,而 Transformer 中的扁平化操作不可避免地破坏了网格特征的局部关系。同时,最近的进展 [13] 也表明,原始的 Transformer 在局部视觉建模方面效率较低。
图 1. (a) Transformer 分别使用区域特征和网格特征生成的标题。(b) 区域特征通常包含完整的物体信息,而网格特征则更加碎片化。我们的 LSA 有助于通过对相邻网格关系的建模来重建完整的物体信息。
然而,区域特征仍然存在明显的缺陷。具体来说,它们是从图像的显著区域中提取出来的,因此往往会忽略背景中的上下文信息。
基于以上分析,我们观察到区域特征和网格特征各有优缺点。区域特征包含显式的物体信息,但缺乏背景和关系信息。相反,网格特征则包含所有信息,但一个物体可能会被分成多个网格。结果,大多数语义信息被破坏,这使得推理更加困难。一个直接的解决方案是同时使用区域特征和网格特征来享受两种特征的优势,例如 DLCT [12] 和 GRIT [14]。然而,这将导致显著更高的计算量和更长的训练时间,因为模型需要同时处理两种特征。一个更有效的方法是在网格特征上对局部信息进行建模,以弥补物体信息不足。
因此,我们在本文中提出了一种新颖的局部敏感 Transformer 网络 (LSTNet)。具体来说,LSTNet 加强了局部建模,以分别从层内交互和层间融合的角度感知物体级信息。对于层内交互,我们提出了一种称为局部敏感注意力 (LSA) 的新型多分支模块,以从不同的感受野中感知细粒度的局部信息,并增强每个网格与其邻居之间的交互。值得注意的是,LSA 在推理过程中可以重新参数化为单分支结构,从而减少多尺度感知的额外开销。对于层间融合,我们设计了一个局部敏感融合 (LSF) 模块,该模块可以对齐和融合来自不同层的网格特征,以进行跨层语义互补。凭借这些新颖的设计,LSTNet 不仅提高了局部视觉建模的能力,而且大大提高了生成字幕的质量。在具有竞争力的 MS-COCO 基准测试中,LSTNet 在离线和在线测试中均表现出优异的性能,即 134.8 CIDEr 和 136.3 CIDEr。除了在 MS-COCO 数据集上表现出色外,LSTNet 的泛化能力也在 Flickr8k 和 Flickr30k 数据集上得到了验证。
总结一下,我们的贡献有三方面:
- 为了仅用网格特征来感知物体和上下文信息,我们提出了一种用于图像字幕的新型 LSTNet。LSTNet 不仅提高了模型的局部感知能力,而且在具有高度竞争力的 MS-COCO 基准测试中,其性能优于最近提出的许多方法。
- 我们提出了一种局部敏感注意 (LSA) 用于 Transformer 中的层内视觉建模,它是一个重新参数化的模块,用于增强每个网格特征与其局部邻居之间的交互。
- 我们提出了一种局部敏感融合 (LSF) 来聚合层间物体语义信息以进行图像字幕,这有利于层间语义理解。
图 2. 图像字幕的 CNN-RNN 模型 (a)、基于 Transformer 的模型 (b) 和 LSTNet (c) 的说明。
图像字幕是一项具有挑战性的任务,人们付出了巨大的努力来解决这个问题。经过多年的发展,我们可以观察到许多方法 [5,8,11,15–18] 取得了巨大进步。现有的图像字幕方法可以大致分为两类:1) CNN-RNN 模型,2) 基于 Transformer 的模型。如图 2(a) 所示,CNN-RNN 模型使用 CNN 将图像编码成矢量表示,然后采用基于 RNN 的解码器来融合这些矢量表示,为输入图像提供内容相关的描述。具体来说,Vinyals 等人 [15] 使用卷积神经网络 (CNN) 对图像进行编码,并采用长短期记忆 (LSTM) 作为解码器来生成字幕。Lu 等人 [16] 利用自适应注意力机制来决定在每个时间步长是否要关注视觉信息或非视觉信息。Anderson 等人 [5] 使用预训练的 Fast R-CNN [6] 来提取显著物体作为区域视觉特征,这有利于生成准确的标题。随着 Transformer [19] 的发展,许多研究人员正在研究将基于 Transformer 的模型应用于图像字幕任务,如图 2 (b) 所示。Pan 等人 [8] 将双线性池化引入 Transformer 模型以捕获二阶交互。Zhang 等人 [11] 提出在词预测之前自适应地度量视觉和语言线索在 Transformer 解码器顶部的贡献。Luo 等人 [12] 提出了一种双层协作 Transformer (DLCT) 来实现区域和网格特征的互补性。为了提高 Transformer 的语义理解能力,Ma 等人 [18] 提出了一种基于 Transformer 的字幕模型,该模型同时具有空间和通道注意力。Wang 等人 [20] 提出了一种几何注意力 Transformer (GAT) 模型,以进一步利用图像字幕中的几何信息。为了考虑物体特征的视觉持久性,Wang 等人 [21] 通过在编码器和解码器中插入视觉持久性模块,引入了 VPNet。Zhang 等人 [22] 提出了一种新的 CtxAdpAtt 模型,该模型采用语言上下文来有效地探索不同物体之间的相关视觉关系。为了缓解使用基于 GCN 的编码器来表示场景图之间关系信息的缺点,ReFormer [23] 探索了一种新的架构来明确地表达图像中物体之间的关系。
我们的 LSTNet 与基于 Transformer 的方法一致。但是,在处理网格特征时,Transformer 忽略了视觉局部性,而视觉局部性对于识别图像中的物体很重要。如图 2 (c) 所示,我们提出了局部敏感注意 (LSA) 模块和局部敏感注意 (LSA) 模块来增强局部视觉建模。
2.2. 区域特征和网格特征
图 3。图像字幕任务中使用的视觉特征的三个主要阶段:(a) 由 CNN 提取的网格特征,例如 ResNet [24]。(b) 由预训练检测器提取的区域特征,例如 Faster R-CNN [6],它需要耗时的后处理操作,例如 NMS [25]。(c) 从物体检测器中 CNN 的特征图中提取的网格特征。
在图像字幕中使用的视觉特征经过三个主要阶段:网格 ->区域->网格。在第一个网格阶段,一些开创性的工作 [16,26,27] 采用从 CNN [24] 中提取的网格视觉特征来表示图像,如图 3 (a) 所示。例如,Xu 等人 [26] 首次提出了图像字幕任务,并采用 CNN 对视觉特征进行编码,并采用 RNN 对字幕进行解码。为了捕捉图像中不同网格的重要性,Vinyals 等人 [27] 在解码字幕之前将注意力机制应用于视觉特征。Lu 等人 [16] 提出了对视觉特征的适应性注意力,该特征是从 ResNet101 [24] 的最后一层卷积层中提取的。如图 3 (b) 所示,为了获得前景信息,Anderson 等人 [5] 采用了一个在 VG [7] 上预训练的物体检测器 [6] 来提取区域特征,这些特征被广泛用于许多多模态任务 [2,28] 中。如图 3 (c) 所示,为了弥补区域特征的缺陷(例如,耗时),Jiang 等人 [10] 重温了物体检测器中的网格特征,并发现它可以在 VQA 中取得有竞争力的性能,其有效性也在图像字幕中得到了验证 [11,12]。在 VQA 中的表现,其有效性也在图像字幕中得到了验证 [11,12]。
与基于区域特征的先前方法 [2,8,9] 相比,我们提出的基于网格特征的 LSTNet 可以捕获边界框之外的上下文信息,从而生成更准确的字幕。另一方面,与基于网格特征的现有方法 [11] 相比,我们提出的 LSTNet 考虑了网格特征的局部性,并对相邻网格的关系进行建模,这有利于识别图像中的物体。DLCT [12] 采用边界框来帮助网格特征定位物体。然而,由于采用了网格特征和区域特征,模型需要承担更多的训练和预测开销,例如,LSTNet 在交叉熵训练阶段的运行速度比 DLCT 快三倍以上,其性能受到边界框精度的严重限制。我们提出的 LSTNet 捕获了层内和层间局部关系,从而为图像字幕生成更详细、更细粒度的网格特征。
2.3Transformer 中的多头自注意力机制
Transformer 最初被提出用于解决自然语言处理 (NLP) 任务。由于其强大的建模能力,Transformer 近年来也被广泛应用于计算机视觉 (CV) 和多模态任务中。Transformer 的关键组件是多头自注意力 (MSA) 模块,它可以有效地对不同位置的输入之间的关系和上下文进行建模。具体来说,一个 h-头自注意力机制可以表示为:
其中 𝐐,𝐊,𝐕∈ℝN×d 分别代表输入查询、键和值。N 是输入的长度,d 是每个头的隐藏维度。𝐖O∈ℝhd×d 是所有头输出的可学习矩阵。对于每个头,注意力机制表示如下:
其中 𝐖iQ,𝐖iK,𝐖iV∈ℝd×d 分别是输入查询、键和值的可学习矩阵。
3.方法
图 4:我们提出的 LSTNet 的概述。网格特征被用作视觉表示并被输入到视觉编码器。局部敏感注意力 (LSA) 被插入到自注意力之后以捕获局部依赖关系。我们还在推理过程中应用了重参数化技术来减少其开销。编码层的输出通过局部敏感融合 (LSF) 进一步处理以实现跨层聚合,这也能够为局部视觉建模提供不同层的语义信息。MSA 和 FFN 分别代表多头自注意力和前馈神经网络。
3.1概述
如图 4 所示,我们提出的 局部敏感 Transformer 网络 (LSTNet) 遵循编码器-解码器范式。具体来说,编码器将视觉特征作为输入,然后通过编码器层对它们之间的关系进行建模,其中采用 局部敏感注意力 (LSA) 模块来增强局部视觉建模。然后,局部敏感融合 (LSF) 聚合来自不同编码层的视觉特征,基于此,解码器预测字幕词来描述给定的视觉内容。
第 l 个编码器层之前的视觉特征表示为 Vl−1∈ℝNv×c (Nv=h×w),其中 h、w、c 分别代表视觉特征的高度、宽度和通道维度。
LSTNet 的每个编码器层包含三个组件:(1)多头自注意力 (MSA) 模块;(2)局部敏感注意力 (LSA) 模块;(3)前馈神经网络 (FFN)。来自最后一个编码层的视觉特征 Vl−1 首先由 MSA 处理,如下所示(为简洁起见,省略了 LayerNorm 操作):
其中 MSA(⋅) 是 Transformer [19] 中的标准多头自注意力。由于 MSA 可以对输入序列中任意两个位置之间的关系和上下文进行建模,因此 MSA 有助于捕获长距离依赖关系并对网格之间的全局信息进行建模。
自注意力在捕获局部细节方面通常效率低下,然而,正如第 1 节所解释的那样,这对网格视觉特征至关重要。因此,基于 Vl−1′,采用 LSA 来捕获相邻网格的依赖关系,以进一步细化视觉特征:
其中 LSA 的详细信息将在下一小节中介绍。由于 LSA 由级联的卷积层组成,可以对相邻网格之间的关系进行建模,因此 LSA 有助于对网格之间的局部关系进行建模。
然后,LSA 模块的输出被馈送到 FFN 以进行通道域中的交互:
与先前仅将顶层编码器输出馈送到解码器的基于 Transformer 的模型不同,我们提出的 LSF 模块通过局部敏感融合 (LSF) 从所有编码器层聚合视觉特征,以在语义上获得更丰富的特征:
其中 n 是编码器层的数量。
最后,V∗ 被馈送到解码器以生成字幕,这与普通 Transformer [19] 相同。
3.2局部敏感注意力 (LSA)
如图 1(b) 所示,图像中的物体可能被分成几个片段并分布在不同的网格中,这破坏了视觉物体的空间和语义信息。一个合理的方法是加强局部信息的交互,这也符合视觉上彼此靠近的特征更有可能相关的假设。
因此,为了捕获局部细节并对相邻网格之间的交互进行建模,我们提出了一种多尺度局部敏感模块,即局部敏感注意力 (LSA)。具体来说, MSA 模块的输出特征 V′∈ℝN×C 是一个网格序列,其中 N 是网格的数量,C 是通道维度的尺寸。我们首先将 V′∈ℝN×C 重塑为 V′∈ℝH×W×C,其中 H,W 是网格特征的高度和宽度。然后,我们在系列中使用两个多尺度 2D CNN,在它们之间使用一个激活函数(即 ReLU),以获得经过多尺度局部感知后的视觉特征 𝒜,可以表述如下:
其中 σ(⋅) 是激活函数,MSCi(⋅) 表示由多分支 CNN 实现的多尺度 CNN:
其中 i∈{1,2},N 是分支的数量,BNj(⋅) 是批次归一化 [29],Fj(⋅) 表示身份映射、单个卷积模块或多个串联的卷积模块,以及 j∈{1,⋯,N}。在我们的 LSTNet 中,分支的数量 N 为 3。如图 4 中蓝色区域所示,三个分支分别是 (1) 身份映射,(2) 1×1 卷积,以及 (3) 1×1 卷积和 3×3 卷积的顺序组合。
在推理过程中,可以通过使用一些结构重参数化技术 [30, 31] 将多分支结构 MSCi(⋅) 简化为单分支结构,从而在没有任何性能损失的情况下节省参数数量和计算成本:
其中 Fi(x) 是一个 3×3 卷积,而 i∈{1,2}。
为了获得每个网格的注意力权重,我们也对 𝒜 应用 Sigmoid 函数。最后,我们根据局部敏感注意力图重新加权自注意力层 V′ 的输出特征,如下所示:
其中 ⊗ 表示逐元素相乘。
3.3局部敏感融合 (LSF)
不同层的特征往往包含不同层次的语义信息 [2]。然而,大多数现有的图像字幕方法只将顶层编码器的特征馈送到解码器,从而导致 低级信息丢失 . 为了避免这种信息丢失,我们将编码器中所有层的特征融合,然后将融合后的特征输入到解码器。
从技术上讲,我们引入了一个简单的 空间位移 操作,使每个网格与其相邻网格对齐,然后使用多层感知器 (MLP) 不仅在通道域中交互,而且在空间域中交互。
特别地,将来自第 l 个编码层的特征表示为 Vl∈ℝh×w×c(这里省略了重塑操作),V1 和 V2 通过不同的空间位移操作进行位移(即 SS1(⋅) 和 SS2(⋅)), 可以表示为等式 12 和等式 13:
其中 Vi 是第 i 个编码层的输出特征,ds 是空间位移的位移距离,它决定了局部交互的范围。顶层编码器的输出 V3 未经任何位移操作处理。空间位移的说明可以在图 4 和图 5 中观察到。
然后,来自不同层的偏移特征被连接在一起:
从理论上讲,MLP 无法对相邻网格之间的关系进行建模。但是,在经过空间偏移操作的偏移后,每个网格与其相邻网格对齐,MLP 可以在通道和空间域中进行通信:
其中 σ(⋅) 是 ReLU 激活函数,W1∈ℝ3c×3c 和 W2∈ℝ3c×c 是可学习的投影矩阵。
为了进一步增强视觉特征的描述能力,我们将顶层编码器层的输出与融合特征 V~ 通过残差连接组合起来:
其中 Vtop 是顶层编码器层的特征,Vtop=V3 在我们的 LSTNet 中,λ 充当权重因子。
具体来说,LSF 的动机来自于两个方面:1) 不同编码器层的输出特征图具有不同的语义(即 高级特征图具有高级语义信息,低级特征图具有低级语义信息)。传统的 Transformer 仅将编码器最后一层的特征图馈送到解码器,而忽略了低级语义信息。LSF 通过融合所有编码器层的输出解决了这个问题,既考虑了高级语义信息,也考虑了低级语义信息。2) LSF 模块可以通过空间位移操作与局部网格进行交互,有利于对物体级信息进行建模。
图 5:空间偏移 操作的说明。c,h,w 是 的大小 通道 ,高度和宽度维度。
3.4目标
给定真实标注的标题 y1:T∗ 和带有参数 θ 的标题生成模型,其中 T 是标题的长度,我们使用交叉熵 (CE) 损失对模型进行预训练,如下所示:
然后,我们使用 CIDEr 和 BLEU-4 分数通过自批判序列训练 (SCST) [32] 进一步优化模型,如下所示:
其中 k 是束大小,r(⋅) 是 CIDEr 和 BLEU-4 的总和,b=(∑ir(y1:Ti))/k 是奖励基线。
4.实验
4.1数据集
我们在流行的 MS-COCO [3] 图像标题生成数据集上进行实验。它包含 123,287 张图像,其中包括 82,783 张训练图像、40,504 张验证图像和 40,775 张测试图像,每张图像都标注了 5 个标题。我们采用 [40] 提供的分割进行离线测试,其中 5,000 张图像用于验证,5,000 张图像用于测试,其余图像用于训练。此外,我们还上传了官方测试集生成的标题以进行在线评估 1。
4.2实现细节
网格特征是从由 [10] 提供的预训练 Faster-RCNN [6] 中提取的,其中使用步长为 1 的 C5 主干和带有两个全连接层的 1 × 1 RoIPool 作为检测头,在 VG 数据集上训练 Faster R-CNN。特别地,我们采用 C5 特征图并对其进行平均池化,使其具有 7×7 空间大小。请注意,除了简单的增强 (e.g., 随机裁剪、随机旋转) 之外,我们没有使用任何额外的预处理数据。LSTNet 中的 dmodel 为 512,FFN 中的扩展率为 4,头的数量为 8,束搜索的大小为 5。
我们使用 Adam 优化器在两个阶段训练我们的模型,并采用 [12] 中的相对位置编码。在交叉熵 (CE) 训练阶段,批次大小为 50,学习率在前 4 个时期线性增加到 1×10-4。之后,我们将其设置为 2×10-5、4×10-6,分别在第 10 和第 12 个时期。在进行 18 个时期的交叉熵 (CE) 预训练后,我们使用 SCST 对模型进行优化,批次大小为 100,学习率为 5×10-6。学习率将在第 35、40、45、50 个时期分别设置为 2.5×10-6、5×10-7、2.5×10-7、5×10-8,SCST 训练将持续 42 个时期。
4.3性能比较
在本节中,我们将 LSTNet 与 SOTA 方法在离线和在线评估方面进行比较。评估 . 比较的模型包括:SCST [32]、Up-Down [5]、RFNet [34]、GCN-LSTM [35]、SGAE [36]、AoANet [9]、ETA [38]、ORT [39]、Transformer [19]、M2Transformer [2]、XTransformer [8]、RSTNet [11] 和 DLCT [12]。遵循标准评估标准,我们采用 BLEU-N [41]、METEOR [42]、ROUGE-L [43]、CIDEr [44]、SPICE [45] 来评估性能。
表 1:在 COCO 在线测试服务器上发布的最先进的图像字幕模型的排行榜。
表 2:与 Karpathy 测试集上的 SOTA 进行比较。所有值都以百分比 (%) 形式报告,其中 B-N、M、R 和 C 分别代表 BLEU-N、METEOR、ROUGE-L 和 CIDEr 分数。
4.3.1在线评估
表 1 显示了 LSTNet 和其他 SOTA 方法在使用 5 个参考字幕 (c5) 和 40 个参考字幕 (c40) 的 COCO 在线测试服务器上的性能比较。为了公平比较,我们还使用 [2] 中的四种模型的集成,并采用两种常见的骨干网络 (i.e., ResNeXt-101、ResNeXt-152 [46])。值得注意的是,我们的 LSTNet 在所有指标上均显著优于其他 SOTA 方法。令人惊讶的是,我们观察到 带有 ResNeXt-101 的 LSTNet 在大多数指标上表现优于 带有 ResNeXt-152 的 RSTNet 和 带有 SENet-154 的 X-Transformer。
4.3.2离线评估
表 2 总结了最先进模型和我们方法的性能 到 离线 COCO Karpathy 测试集。注意,为了进行公平的比较,我们报告了单个模型的结果,而没有使用任何集成技术。我们可以观察到,我们提出的 LSTNet 在大多数指标上都优于所有其他 SOTA 模型。值得注意的是,我们的 LSTNet 的 CIDEr 分数达到了 134.8%,比采用区域和网格特征的最强竞争对手 DLCT 高出 1.0%。
我们观察到,带有网格特征的 LSTNet 优于一些带有区域特征的模型(例如, M2Transformer [2],XTransformer [8])。我们认为,本文中网格级方案优于对象级方案的原因如下:
- 区域特征的背景信息缺失,而网格特征提取了图像中的所有信息。具体来说,视觉区域特征是从图像的显着部分收集的,通常省略上下文信息。由于缺乏背景信息,模型在捕获对象之间关系方面表现不佳。另一方面,网格特征从图像中收集所有空间信息。
- 预训练的对象检测器通常涉及噪声、重叠或错误的检测,最终限制了图像字幕模型的性能上限。另一方面,网格特征不提供检测信息,因此避免了错误检测的影响。
- 在网格特征中,一个对象被划分为不同的网格,这是本文的动机。我们的方法使模型能够捕获局部信息,并解决了这个问题。
表 3:使用相同的 ResNeXt101 [46] 网格特征,与 Karpathy 测试集上的最先进方法进行比较。
4.3.3与最先进方法的公平比较
为了消除不同视觉特征的干扰,我们在相同的网格特征上进行实验,以比较 LSTNet 和其他最先进方法。如表 3 所示,与在相同视觉特征上的其他方法相比,我们提出的 LSTNet 在所有指标上仍然取得了优异的性能。
4.4消融研究
4.4.1不同 LSA 分支的影响
表 4:不同分支的消融研究。所有分支都包含 BatchNorm,所有模型都没有配备 LSF。所有值均以百分比 (%) 报告,B-N、M、R、C 和 S 分别代表 BLEU-N、METEOR、ROUGE-L、CIDEr 和 SPICE 分数。
为了验证每个分支的影响,我们通过利用 LSA 的不同分支进行了一系列实验。表 4 说明了 LSA 使用不同分支的性能。通过分析此表,我们获得了以下观察结果:
- 与没有 LSA 的模型(第 1 行)相比,采用 LSA(第 2-7 行)无论使用一个或多个分支,都有助于生成更好的标题。此外,采用的分支越多,性能往往越好。这可能是因为所提出的 LSA 模块提高了模型的局部感知能力,因此有利于对物体信息的感知。
- 如表 4 所示,配备一个分支(第 2、3、4 行)在大多数评估指标上优于没有分支的模型(第 1 行)。通过比较带有一个分支的模型(第 2、3、4 行)和带有两个分支的模型(第 5、6、7 行),我们可以看到,带有两个分支的模型在大多数指标上优于带有一个分支的模型,特别是 CIDEr。此外,我们可以看到,包含所有三个分支的完整 LSTNet(第 8 行)表现最好。这可能是因为图像中的物体大小各不相同,因此更多的分支有利于增强对不同大小物体的多尺度建模能力。重要的是,通过使用重参数化技术,更多分支的 LSA 不会在推理过程中导致更高的开销。
为了探索不同排列的局部敏感注意力 (LSA) 和自注意力 (SA) 的影响,我们比较了三种 LSA 和 SA 的组合方法:(1)顺序 LSA-SA,(2)顺序 SA-LSA,(3)SA 和 LSA 的并行使用。如表 5 所示,我们可以观察到顺序 SA-LSA 的性能优于其他方法。主要原因可能是 SA 处理的特征是粗粒度的,而我们提出的 LSA 旨在对局部关系进行建模,有助于进一步细化视觉特征。
表 5: 对 SA 和 LSA 不同排列的消融研究。+ 表示顺序连接,& 表示并行连接。
4.4.3LSF 不同偏移距离的影响
为了探索 LSF 偏移距离 ds 的影响,我们通过将 ds 从 0 增加到 4 来进行实验(ds=0 表示所有特征均未偏移)。从表 6 中,我们可以观察到偏移的 LSF 优于未偏移的 LSF。这可以归因于偏移的 LSF 使得每个网格在融合过程中可以与相邻网格进行交互,从而增强了局部建模。然而,当偏移距离大于 1 时,性能开始下降,ds=1 表现最佳。原因可能是较大的偏移促进了长距离交互,但忽略了局部建模。
表 6: 对 LSF 不同移位距离的消融研究。所有模型都配备了 LSA 和 LSF 模块。
4.4.4LSA 中 λ 的影响
为了选择公式 16 中最佳的权重因子 λ,我们还进行了一组实验。从表 7 中,我们可以发现过大的 λ 会导致性能下降,λ=0.2 在大多数指标上表现良好。因此,除非另有说明,我们将在我们的实验中使用 λ=0.2。
表 7: 不同权重因子 λ 的性能比较。所有模型都配备了 LSA 和 LSF 模块。
4.4.5分离 LSA 和 LSF 的影响
为了深入了解提出的LSA和LSF模块,我们在实验中对这两个模块进行了分离。如表8所示,与完整模型相比, 这 没有 LSA+LSF 的模型性能显著下降。尤其是在BLEU-4和CIDEr上,分别下降了1.4%和3.5%,这表明LSA和LSF至关重要。特别是,我们的LSA和LSF在CIDEr得分上分别实现了2.3%和2.4%的性能提升。这表明 LSA 和 LSF 模块可以互相促进,以实现更好的性能。
表 8: LSA 和 LSF 模块的消融研究。
4.4.6不同特征融合方法的效果
为了证明 LSF 的有效性,我们设计了一组实验,通过用不同的模块替换 LSF 来融合特征。如表 9 所示,我们可以发现,与第一行(即 不融合特征)的结果相比,融合来自不同层的特征可以提高性能。主要原因可能是来自不同层的特征在语义信息上是互补的,融合特征将丰富视觉特征。此外,我们提出的LFS模块在很大程度上优于其他模块,这有力地证明了LFS的有效性。
表 9: 对各种融合方法的消融研究。所有模型都没有配备 LSA。FPN 是类似于 [47] 的特征金字塔网络。所有值均以百分比 (%) 报告,其中 B-N、M、R、C 和 S 分别代表 BLEU-N、METEOR、ROUGE-L、CIDEr 和 SPICE 分数。
4.4.7不同网格尺寸的影响
为了探索不同网格的影响 尺寸 ,我们通过平均池化将视觉特征设置为不同的尺寸,进行了一系列实验。如表 10 所示,随着网格尺寸的增加,图像字幕的性能逐渐提高。这是因为更大的图像特征提供了更多细粒度和更丰富的语义信息,因此图像字幕模型将生成更准确的描述。
表 10:关于视觉特征不同网格大小的消融研究。所有值均以百分比(%)表示,其中 B-N、M、R、C 和 S 分别代表 BLEU-N、METEOR、ROUGE-L、CIDEr 和 SPICE 分数。
4.5定量分析
通过比较传统指标(例如 BLEU-N、CIDEr、SPICE),很难确定我们的方法是否显著提高了图像字幕的性能。目的是为了展示我们提出的 LSTNet 在 一种直观的方式 ,我们使用成对样本进行双尾 t 检验,将 LSTNet 与 a 标准 Transformer。具体来说,我们首先对每个传统指标进行双尾 t 检验,以探索 LSTNet 生成的字幕质量与标准 Transformer 相比是否显著提高。
此外,我们还报告了 SPICE 得分的语义子类别(即 关系、基数、属性、大小、颜色和对象),这些子类别可用于衡量生成的句子与真实情况之间的语义相关性。此外,对于每个综合 SPICE 得分,我们使用匹配数据进行详细的双尾 t 检验,以查看这些语义指标是否也得到显著提高。
测试集的传统指标和相应的 p 值 the 测试集上的 t 检验显示在表 11 中。我们观察到在显著性水平 α=0.05 下,所有指标的改进在统计上都是显著的,这 展示了 我们提出的 LSTNet 有利于生成字幕的质量。表格 12 详细说明了 SPICE 评分的语义子类别和测试集上 t 检验的 p 值。
我们可以观察到 SPICE 的所有语义子类别都得到了改进,这揭示了 LSTNet 中局部视觉建模的有效性和优越性。此外,我们还可以观察到在显著性水平 α=0.05 下,SPICE 的一些语义子类别(例如, 属性、大小、颜色和对象)获得了显著的改进。值得注意的是,所有这四个指标都描述了对象的属性,因此证明 LSTNet 中的局部视觉建模有助于捕获对象级别的信息。
与其他语义指标相比,关系 指标的改进相对不显著。这可能是因为,要捕获对象之间的关系,仅仅提高模型的局部建模能力是不够的,全局建模能力也很重要。对于单个对象的其他语义指标(例如, 属性、大小、颜色和对象),局部视觉建模已经能够实现显著的性能提升。
表11:标准Transformer和我们的LSTNet的不同字幕指标的性能比较。P值来自使用配对样本的双尾t检验。粗体显示的P值在0.05显著性水平上显著。
表12:标准Transformer和我们提出的LSTNet的SPICE指标的子类别。P值是通过使用配对样本的双尾t检验计算的。请注意,粗体显示的p值在0.05显著性水平上显著。
4.6定性分析
为了定性验证 LSTNet 的有效性,我们在图 7 中展示了 Transformer 和 LSTNet 在相同网格特征上生成的几个典型字幕示例。我们可以观察到,Transformer 生成的字幕是 信息量不足 即使有误,而 LSTNet 生成的字幕更准确、更具可辨识度,这表明我们提出的 LSA 和 LSF 有助于通过局部建模识别视觉对象。
为了深入了解 LSTNet 能够生成准确字幕的原因,我们在图 7 中进一步说明了 Transformer 和 LSTNet 中顶层编码器的注意力图。通过分析结果,我们得到以下观察结果:1)Transformer 生成的注意力图未能关注图像中的重要视觉对象,而 LSTNet 能够关注重要的视觉对象。
例如,对于图 7 中第一行的图像,Transformer 关注的是桌子,而 LSTNet 关注的是男人和电话。因此,Transformer 生成了错误的字幕(即 “领带”,“桌子”),而 LSTNet 正确地识别出 “一个拿着手机的男人”。2)Transformer 只能关注图像中的一个物体或一小块区域,而 LSTNet 将关注更多的主要物体,从而生成准确和详细的描述。
例如,对于图 7 中第二行的图像,Transformer 仅关注男孩的嘴巴,而 LSTNet 关注男孩和泰迪熊。因此,Transformer 无法识别 “泰迪熊”,但只产生了一个一般的短语(即 “一个毛绒玩具”)。
由于编码器中精确的注意力,LSTNet 成功地识别出 “一个年轻的男孩拿着泰迪熊”。这些观察结果表明,我们提出的 LSA 强制模型不仅关注图像中的重要信息,而且还关注综合信息。
图 6:真实情况 (a) 以及标准 Transformer (b) 和 LSTNet (c) 的标题生成连同所关注的图像可视化。两个生成的标题之间的最显著区别以粗体突出显示。
图 7:Transformer 和 LSTNet 在相同网格特征上生成的标题的一些示例,以及 Transformer 和 LSTNet 的顶层编码器的对应注意力图的比较。
4.8 Flickr 数据集上的泛化
为了验证我们提出的 LSNet 的泛化能力,我们还在 Flickr8k 和 Flickr30k 上进行了广泛的实验数据集.我们提出的 LSTNet 与之前在 Flickr8k[52]和 Flickr30k[53]上的 SOTAs 的性能比较分别如 Tab13和 Tab 14所示。可以观察到,我们提出的 LSTNet 在 Flickr8k 和 Flickr30K 上都以显著的优势优于之前的 SOTAs。这验证了我们提出的 LSTNet 在其他数据集上具有很强的泛化能力。
表 14: 与 Flickr30k 数据集上最先进技术的比较。所有值都以百分比 (%) 报告,其中 B-N、M、R 和 C 分别代表 BLEU-N、METEOR、ROUGE-L 和 CIDEr 分数。† 表示集成模型的结果。
5.结论
在本文中,我们提出 LSTNet,一种新颖的局部敏感 Transformer 网络,用于图像字幕,它利用局部交互和融合来更好地识别物体 带有网格特征。
具体来说, 我们设计 LSA 模块来模拟 关系 在 一个编码器层 ,这有助于获得每个对象的完整语义信息,并细化视觉特征的细节。然后,我们引入 LSF 模块,通过对相邻网格之间的关系进行建模,将来自不同层的视觉特征融合在一起,从而产生具有更丰富语义信息的视觉特征。
在 MS-COCO 数据集上的实验结果表明,与之前的 SOTA 模型相比,LSTNet 具有显着的性能优势。广泛的消融研究和可视化比较进一步揭示了 LSTNet 各个组件的有效性和见解。
在 Flickr8k 和 Flickr30k 数据集上的额外实验也验证 LSTNet 在其他数据集上的泛化。尽管提出的 LSTNet 显着提高了目标定位能力和字幕性能,但它也引入了额外的计算和参数。然而,与原始 Transformer 的自注意力相比,LSA 和 LSF 模块引入的参数和计算量可以忽略不计。