Towards Adversarial Attack on Vision-Language Pre-training Models
摘要
虽然视觉-语言预训练模型(VLP)在各种视觉-语言(V+L)任务上表现出革命性的改进,但关于其对抗鲁棒性的研究在很大程度上仍未被探索。本文研究了常用VLP模型和V+L任务的对抗性攻击。
首先,我们分析了不同设置下对抗性攻击的性能。通过研究不同扰动对象和攻击目标的影响,我们总结出一些关键的观察结果,作为设计强健多模态对抗性攻击和构建鲁棒VLP模型的指导。
其次,我们在VLP模型上提出了一种新的多模态攻击方法,称为协同多模态对抗攻击(Co-Attack),它共同对图像模态和文本模态进行攻击。
实验结果表明,该方法在不同V+L下游任务和VLP模型下均能获得较好的攻击性能。本文的分析观察和新的攻击方法有望为VLP模型的对抗鲁棒性提供新的理解,从而有助于其在更多现实场景中的安全可靠部署。
INTRODUCTION
视觉和语言预训练(VLP)最近已经彻底改变了下游的视觉和语言(V+L)任务,例如图像-文本检索,视觉基础和视觉包含。这引起了人们对过去10年多模态神经网络研究的关注。虽然已经进行了广泛的研究以取得显著进展,但其中只有少数人研究了对抗鲁棒性问题,该问题通常使用标准的对抗攻击方法将扰动的一种模式用于攻击多模态任务。关于多模态预训练,特别是VLP模型,据我们所知,还没有研究系统地分析对抗鲁棒性性能并设计专用的对抗攻击解决方案。
由于仍处于非常早期的阶段,关于对VLP模型的对抗性攻击,许多问题仍未得到探索。 其中,本文研究了两个关键问题:(1)标准对抗攻击是为仅涉及一种模态的分类任务而设计的。VLP 模型涉及多种模态,通常涉及许多非分类任务,例如图像-文本跨模态检索,因此直接采用标准的对抗性攻击方法不切实际。
一个自然的解决方案是对嵌入表示而不是下游任务标签进行对抗性攻击。但是,由于VLP嵌入表示的复杂结构,问题转向了解不同的攻击设置如何影响攻击性能。
2:为了攻击VLP模型的嵌入表示,应该协作而不是独立地考虑不同模态的对抗性扰动。图1展示了一个关于视觉蕴涵任务对ALBEF [8]的adverial攻击的例子。

结果表明,只有扰动图像才能成功地将预测从“蕴涵”转变为“矛盾”。然而,通过独立扰动图像和文本而不考虑它们的相互作用,攻击失败,因为两种单模态攻击可能相互冲突并导致抵消 1 + 1 < 1 效果。本研究致力于对VLP模型的对抗性攻击,通过分析不同设置下的攻击性能并开发协作式多模态对抗攻击解决方案来解决这两个问题。
对于第一个问题,我们分析了不同设置下对VLP模型的对抗性攻击,包括攻击目标和扰动对象两个维度。两种典型的VLP架构,融合VLP模型(例如,ALBEF [8],TCL [27])和对齐的VLP模型(例如,CLIP [16])通过图像文本检索,视觉蕴涵和视觉基础的3个下游V + L任务进行了检查。广泛的分析得出了一些关于 VLP 架构和 V+L 任务之间不同攻击性能的关键观察结果,以及攻击设置对 VLP 鲁棒性的影响。
对于第二个问题,我们提出了一种针对VLP模型的新型多模态对抗攻击方法,称为协作多模态对抗攻击(Co-Attack),该方法共同对图像模态和文本模态进行攻击。协同攻击适用于融合的 VLP 和对齐的 VLP 模型。前提是鼓励扰动多模态嵌入远离原始多模态嵌入(对于融合 VLP 模型),或扰动图像模态嵌入远离扰动文本模态嵌入(对于对齐的 VLP 模型)。实验结果表明,所提方法对不同V+L下游任务的攻击性能有所提高。
本文的贡献可归纳如下。
(1)分析了对抗性攻击对VLP模型的两种典型架构和3个下游V+L任务的性能。关于攻击目标和受扰动对象的攻击设置的观察结果有助于理解VLP模型的对抗鲁棒性。
(2)在VLP模型上开发了一种新颖的多模态对抗攻击方法。通过考虑不同方式攻击之间的一致性,它协同地将多模式扰动结合起来,形成更强的对抗性攻击。
PRELIMINARIES AND RELATED WORK
VLP models and Downstream V+L Tasks
大多数早期的视觉语言表示学习工作都需要预先训练的对象检测器(例如,更快的R-CNN [18])和高分辨率图像[10,24]。最近的方法不是依赖于由计算成本高的对象检测器获得的视觉特征,而是使用端到端图像编码器(例如,ViT[3])来加速推断。在这项工作中,我们考虑 CLIP [16]、ALBEF [8] 和 TCL [27] 进行评估,它们属于后一类模型。其中,ALBEF和TCL对图像和文本模态之间的交互进行建模,包含单峰编码器Ei(·),Et(·)和多模态编码器Em(·,·)(如图2(a)所示)。

VLP模型架构和攻击设置的说明。(a)融合VLP模型由一个图像编码器、一个文本编码器和一个多模态编码器组成。(b)对齐的VLP模型没有多模态编码器,也没有统一的多模态嵌入。两个红色箭头从扰动对象指向攻击目标。
输入图像xi由图像编码器Ei(·)编码到图像嵌入ei中,即ei = Ei(xi)。输入文本 xt 由文本编码器 Et (·) 编码到文本嵌入 et 中,即 et = Et (xt)。
图像嵌入 𝑒𝑖 和文本嵌入 𝑒𝑡 然后被送入多模式编码器 𝐸𝑚 (·, ·) 以输出统一的多模式嵌入 𝑒𝑚,即 𝑒𝑚 = 𝐸𝑖(𝑒𝑖,𝑒𝑡)。我们将这种具有多模式编码器和统一多模式嵌入的 VLP 模型表示为融合 VLP 模型。相比之下,CLIP 专注于学习单峰图像编码器和文本编码器,而不考虑多峰编码器。我们将这种只有单独的单峰嵌入的 VLP 模型表示为对齐的 VLP 模型(如图 2(b) 所示)。2.1.2 下游 V+L 任务。图像-文本检索包含两个子任务。
Downstream V+L Tasks.
图像-文本检索包含两个子任务:图像到文本检索 (TR) 和文本到图像检索 (IR)。对于ALBEF和TCL,对于TR和IR,首先计算所有图像文本对ei和et之间的特征相似度得分,以检索Top-N候选者,然后使用em计算的图像-文本匹配得分进行排名。CLIP 上的 TR 和 IR 任务更直接地执行。排名结果仅基于Andet之间的相似性。
视觉蕴涵 (VE) 是一项视觉推理任务,用于预测图像和文本之间的关系是蕴涵、中性还是矛盾。ALBEF 和 TCL 都将 VE 视为三向分类问题,并使用多模态编码器表示 [CLS] 标记 [8] 的完整层来预测类概率。
视觉接地 (VG) 根据相应输入文本的描述定位输入图像中的区域。ALBEF扩展了Grad-CAM [19],并使用派生的注意力图对检测到的提案进行排名[29]。
Adversarial Attack
ANALYZING ADVERSARIAL ATTACK IN VLP MODEL
检查的 VLP 模型。
我们评估了两种模型的分析和经验:融合VLP模型和对齐VLP模型。融合的VLP模型包含一个图像编码器,一个文本编码器和一个多模态编码器,在这项工作中,我们考虑了ALBEF [8]和TCL。图像编码器由 12 层可视变压器 ViT-B/16 实现。文本编码器和多模态编码器均由 6 层变频器实现。对齐的 VLP 模型仅包含图像编码器和文本编码器,在这项工作中,我们考虑 CLIP。CLIP的图像编码器有多种选择。我们考虑ViT-B/16和ResNet-101[5],分别表示为CLIPViT和CLIPCNN。
下游任务和数据集。
本文使用MSCOCO[12]和Flickr30K[15]对TR和IR任务进行评估,使用RefCOCO+[30]对VG任务进行评估,使用SNLI-VE[25]对VE任务进行评估。注意CLIP只能处理IR和TR任务,TCL可以处理VE、IR和TR任务,ALBEF可以处理以上所有下游任务。对于VE任务,由于我们关心对抗性攻击的性能,我们只从SNLI-VE测试数据集中选择正面的图像-文本对(带有蕴涵标签),并丢弃负面的图像-文本对(带有中性和矛盾标签)。
超参数:对于图像模态的对抗性攻击,我们使用PGD攻击[13]。最大扰动设为2/255。步长设置1.25。迭代次数设置为10。对于文本模式的对抗性攻击,我们使用BERT-Attack[9]。最大扰动epsilon设置为1个标记。所选单词列表的长度设置为10。
攻击目标和扰动对象。表1列出了本文所考虑的攻击目标和扰动对象。

(1)对于VLP模型的扰动对象,我们考虑了三种选择:图像模态输入、文本模态输入和双模态(图像和文本)输入。(2)对于攻击目标,大致可以分为多模态编码器输出的多模态嵌入和图像或文本编码器输出的单模态嵌入。在每种受攻击的嵌入类型中,又进一步分为完全嵌入和[CLS]嵌入。图2中的红色箭头说明了两个示例攻击设置:Bi@Multifull,同时扰动输入图像和输入文本以攻击完整的多模态入;Image@UniCLS,扰动输入图像来攻击单峰嵌入的[CLS]。
我们简要讨论了将[CLS]嵌入作为一个攻击目标的动机。在预训练模型中,嵌入的[CLS]起着重要的作用,例如VLP模型中嵌入的[CLS]直接用于各种下游任务的推理。因此,VLP模型内嵌攻击[CLS]的有效性值得研究。注意,嵌入和完全嵌入的[CLS]之间的区别不适用于CLIP,因为CLIP可以用CNN替换图像编码器的ViT。因此,本文仅讨论CLIPViT的嵌入[CLS],其余部分将CNN输出的嵌入作为嵌入的[CLS]。
Attack Implementations
攻击单峰嵌入。对于干扰图像模态输入,大多数典型的针对分类的单模态攻击都是基于梯度的方法.其中,我们选择只需要进行一次梯度计算的FGSM[4]来表示这一系列方法:

其中C为分类模型,Lc为交叉损失函数,y^是与原始图像Xi对应的Ground-truth标签.交叉熵损失需要logit-wise表示,但许多V+L下游任务是非分类任务,如图像-文本检索。因此我们使用Zhang等人提出的最大化嵌入表示的KL (Kullback-Leibler)散度损失L的方法[Theoretically Principled Trade-off between Robustness and Accuracy]进行对抗性攻击:

对于扰动文本模式输入,T(·)表示修改或替换输入文本Xt中的标记,即X't = T (Xt).则文本对抗性扰动t可表示为:

其中最大扰动t被限制在标记级别,即有多少标记被修改/替换为语义一致。在本工作中,我们使用BERT-Attack[9]对文本模态进行对抗性攻击。
攻击多模态嵌入。对于对输入文本的攻击,我们将式(3)中的文本嵌入Et(·)替换为多模态嵌入Em(·,·):

同样,对于对输入图像的攻击,我们将式(2)中的图像嵌入Ei(·)替换为多模态嵌入Em(·,·):

Observations
图像-文本检索的观察。ALBEF在TR和IR任务中的结果如表2所示。在表2中,我们有以下主要发现:
(1)扰动双模态输入(Bi@)始终强于扰动任何单模态输入(Text@和Image@)。这表明,如果允许多模态输入受到干扰,预计将出现更强的对抗性攻击。

(2)对于扰动图像模态输入,攻击全嵌入优于攻击嵌入[CLS]。但是对于扰动文本模式输入,我们观察到相反的结果。这表明对于文本编码器来说,嵌入的[CLS]代表了句子级的显著性,攻击它比攻击完整的嵌入有更大的影响。但是对于图像编码器来说,攻击全嵌入的影响更为显著,这与[14]中观察到的一致。他们用“全局平均池化”取代了嵌入的[CLS],并发现去除嵌入的[CLS]对准确性和鲁棒性的影响可以忽略不计。
(3) Bi@Multifull的攻击性能明显优于Bi@MultiCLS。这说明对于扰动双模态输入攻击多模态嵌入,嵌入的[CLS]的影响是有限的,甚至可以削弱对抗性攻击。(4) Bi@Multi和Bi@Uni的性能相似。这表明,对于TR和IR这样需要中间输出(单峰嵌入)进行推理的任务,攻击单峰嵌入和攻击全嵌入的影响是相当的。
攻击clipit和CLIPCNN的结果分别如表3和表4所示。主要观察结果包括:

(1)发现尽管在结构上存在很大差异,但与ALBEF中的观察结果一致,扰动双模态输入比扰动任何单模态输入更强。
(2)对于扰动图像模态输入和扰动双模态输入,CLIPCNN的攻击成功率(表4)高于CLIPViT(表3)。但是对于扰动文本模态输入,CLIPCNN和CLIPViT很难区分。这表明ViT在防御图像模态攻击方面比ResNet-101 (CNN)是一种更健壮的图像编码器,这也与一些现有的观察结果[21]一致。
(3)注意,ALBEF(表2)和CLIPViT(表3)的图像编码器是相同的(ViT-B/16)。通过比较两者攻击成功率的差异,我们可以观察到攻击ALBEF的单峰嵌入与攻击CLIPViT并没有明显的优劣。这说明对于不同的VLP模型,ALBEF(融合VLP模型)和CLIPViT(对齐VLP模型)的不同预训练目标对对抗鲁棒性没有显著影响。
视觉蕴涵的观察。ALBEF和TCL在VE任务上的结果如表5所示。我们有以下主要发现:

(1)与图像-文本检索任务的结果一致,扰动双模态输入比扰动任何单模态输入更强,并且攻击全嵌入优于对扰动图像模态输入的嵌入攻击[CLS]。(2) Bi@UniCLS、Bi@Unifull、Bi@MultiCLS、Bi@Multifull的表现不相上下。这表明对于VE任务,[CLS]对扰动双模态输入的攻击性能几乎没有干扰。(3) Bi@MultiCLS优于Bi@UniCLS, Bi@Multifull优于Bi@Unifull。这表明,对于扰动双模态输入,攻击多模态嵌入要比攻击单模态嵌入强得多。因此,攻击单峰嵌入的影响相对较弱的任务,如不需要中间输出(单峰嵌入)涉及推理。
观察视觉基础:ALBEF对VG任务的结果如表6所示。我们有以下主要发现:

(1)与前面任务的结果一致,扰动双模态输入比扰动任何单模态输入更强,攻击全嵌入优于对扰动图像模态输入的嵌入攻击[CLS]。(2) Bi@Multifull在所有攻击设置中表现最佳。这进一步证明了攻击多模态嵌入的优越性。
总结。我们总结了一些共享的观察结果,作为在VLP模型中设计多模态对抗性攻击的指导。
(1)对于不同攻击设置的观测,扰动双模态输入比扰动单模态输入强。这表明,如果允许多模态输入受到干扰,预计将出现更强的对抗性攻击。此外,对于单模态输入的扰动,嵌入的[CLS]对图像模态的影响小于文本模态。对于双模态输入的扰动,攻击嵌入的[CLS]是有限的,甚至比攻击全嵌入是有害的。
(2)对于不同下游V+L任务的观察,对于推理所涉及的图像-文本检索等需要中间输出(单峰嵌入)的任务,攻击全嵌入的结果与攻击嵌入[CLS]的结果一致。但总的来说,攻击多模态嵌入在所有任务中都比攻击单模态嵌入具有更好或相当的性能。
此外,我们还得到了一些关于构建鲁棒VLP模型的见解。对于不同VLP模型的观察,ALBEF(融合VLP模型)和CLIPViT(对齐VLP模型)的预训练目标对对抗鲁棒性的影响没有明显不同。对于具有其他图像编码器的模型,如CLIP, ViT在精度和鲁棒性方面比CNN更适合作为图像编码器。
VLP模型中的协同多模态对抗攻击
Methodology
尽管上述分析发现,同时干扰文本和视觉模式比单独干扰一种模式更有效。然而,如图1所示,如果单独攻击两种模式,就有可能导致1 + 1 < 1的抵消效应。我们通过开发一种协作多模态对抗攻击解决方案来解决这个问题,称为协作多模态对抗攻击(Co-Attack)。这使我们能够集体地对图像模态和文本模态进行攻击。联合攻击的目的是鼓励扰动多模态嵌入远离原来的多模态嵌入,或鼓励扰动图像模态嵌入远离扰动文本模态嵌入。由于联合攻击可以适用于攻击多模态和单模态嵌入,因此它适用于融合VLP和对齐VLP模型。
攻击多模态嵌入。为了攻击多模态嵌入,协同攻击尝试协同扰动输入文本和输入图像,这鼓励扰动多模态嵌入远离原来的多模态嵌入。图3(a)显示,在不考虑两种攻击之间的一致性的情况下,香草攻击产生更小的合成扰动,而文本模态扰动
和图像模态扰动
之间的角度
更大。相比之下,Co-Attack共同进行了文本模态扰动
和图像模态扰动
,获得了更强的合成扰动
和更小的角度
。如图4(a)和图4(c)所示,vanilla攻击产生的
分布在[0,
]上,Co-Attack缩小了分布范围,使
主要分布在[0,
]附近。
接下来,我们详细阐述了如何实现协同攻击。实现协同对抗攻击的主要挑战在于连续图像模态和离散文本模态之间的输入表示差距。为了解决这个问题,我们使用了一种逐步方案,首先扰动离散输入(文本),然后在给定文本扰动的情况下扰动连续输入(图像)。首先扰动文本模态输入的原因是在离散空间中很难优化所设计的目标。因此,我们从文本模态扰动开始,并将其作为标准,然后继续到图像模态扰动。对抗文本x't可由式(4)导出。对图像模态的对抗攻击由:

其中第二项对应于图3(A)中的,
是控制第二项贡献的超参数。对
的敏感性在4.2.3节中讨论。上述优化问题可以通过类pgd程序轻松解决。
攻击单峰嵌入。对于攻击单模态嵌入,联合攻击试图鼓励扰动图像模态嵌入远离扰动文本模态嵌入。需要注意的是,单模态嵌入空间与多模态嵌入空间略有不同。如图3(b)所示,图像-文本样本对对应于单模态嵌入空间中靠近的两个不同表示,而不是多模态嵌入空间中的一个共享表示。结果表明,在不考虑两种攻击之间的一致性的情况下,香草攻击在文本模态扰动和图像模态扰动
之间产生了更小的合成扰动
和角
。相比之下,CoAttack共同进行了文本模态扰动
和图像模态扰动
,获得了更大的合成扰动
和角
。如图4(B)和图4(d)所示,与vanilla攻击产生的
相比,Co-Attack将
移到更大的分布。
与攻击多模态嵌入类似,我们首先扰动输入文本,根据式(2)得到对抗文本x't。那么类似于式(6),我们对图像模态进行对抗性攻击如下:

其中第二项对应于图3(b)中的,
是控制第二项贡献的超参数。对
的敏感性在4.2.3节中讨论。
实验
在本小节中,我们使用了与第3.1节相同的实验设置。MIM的动量项设置为0.9,SI的比例副本数量设置为5。我们把和
都设为3。
比较的结果。为了证明我们的方法的性能改进,我们将提出的联合攻击与5种基线攻击进行了比较,如下所示。
愚弄VQA是一种针对分类问题(VQA模型)的攻击方法,利用ADAM优化器解决交叉熵损失,添加图像噪声[26]。
Yang等[28]使用单源对抗扰动(SSAP)来评估VLP模型的对抗鲁棒性,通过PGD来解决交叉熵损失以添加图像噪声。
SSAP-MIM和SSAP-SI是两种基线方法,通过分别引入更先进的MIM[2]和SI[11]来取代PGD,因为SSAP中的优化算法是可替换的。
香草是第3节中分析的最强攻击,也作为基线方法介绍,例如Bi@Multifull用于VE任务上的ALBEF模型。
同样,Co-Attack也可以用SI代替优化算法中的PGD,记作Co-Attack-SI。为了公平的比较,对于不使用交叉熵的任务,即图像-文本检索,我们的方法和所有基线方法都将攻击嵌入式表示作为目标。对于使用交叉熵的任务,即VE和VG,我们的方法和所有基线方法都以逻辑表示为目标。

表7显示了图像-文本检索任务的比较结果。VE任务的对比结果如表8所示。我们可以观察到:(1)由于Vanilla采用了从我们在第3节的分析中观察到的最强攻击设置,Vanilla基本上获得了优于其他基线的攻击性能。验证了分析结果的可靠性。(2)联合攻击优于所有基线攻击。这说明协同攻击提高了攻击VLP模型的协同性能。
可视化的结果。为了更直观地理解Co-Attack,我们在图5中为RefCOCO+数据集上的ALBEF提供了VG任务的Grad-CAM可视化。Grad-CAM可视化反映了模型在做出决策[19]时所查看的热图。我们注意到,扰动单模态输入几乎不会改变热图。香草略微改变了热图,但在感兴趣的物体上仍然保持明显的区域。联合攻击使模型聚焦于偏离真实的区域,从而误导推理结果。
消融实验。我们进行消融实验,研究式(6)中和式(7)中
的影响。我们将
和
调整在[0,5]范围内,步长为1,分别考察了它们对ALBEF和CLIPViT的影响。ALBEF在SNLI-VE数据集上的可视化蕴涵结果如图6(a)所示,CLIPViT在COCO上的图文检索结果如图6(b)所示。结果表明,当
> 0和
> 0时,攻击性能增强。由此可见式(6)和式(7)中第二项的重要性。当
≥1和
≥1时,结果具有可比性,这表明Co-Attack对超参数不敏感,并且不需要对超参数进行详细调优。
CONCLUSION
在本文中,我们研究了VLP模型的对抗性攻击。首先,分析了不同攻击设置下对抗性攻击的性能。根据所得的观察结果,我们总结了设计多模态对抗攻击和提高VLP模型鲁棒性的见解。其次,我们为VLP模型开发了一种新的多模态对抗攻击。我们希望本研究能引起人们对多模态模型对抗鲁棒性的独特性质的关注。
相关文章:

Towards Adversarial Attack on Vision-Language Pre-training Models
摘要虽然视觉-语言预训练模型(VLP)在各种视觉-语言(VL)任务上表现出革命性的改进,但关于其对抗鲁棒性的研究在很大程度上仍未被探索。本文研究了常用VLP模型和VL任务的对抗性攻击。首先,我们分析了不同设置下对抗性攻击的性能。通过研究不同扰动对象和攻…...

2022年最新数据库调查报告:超八成DBA月薪过万,你拖后腿了吗?
数据库管理员属于IT行业高薪职业的一种,近几年关于数据库管理员的薪资统计文章也层出不穷,那么当前,DBA们的薪资究竟到达了怎样的水平呢?墨天轮数据社区发布最新《2022年墨天轮数据库大调查报告》,数据显示超八成DBA月…...

ESP-C3入门10. 创建TCP Client
ESP-C3入门10. 创建TCP Client一、创建 tcp client的一般步骤1. 创建 tcp 套接字2. 配置服务器地址3. 连接服务器4. 发送数据5. 接收数据6. 关闭套接字二、创建tcp_client任务三、示例代码1. tcpClient.h2. tcpClient.c3. main.c一、创建 tcp client的一般步骤 本文示例使用的…...

【Vue】浅谈vue2、vue3响应式原理,vue中数组的响应式,响应式常见问题分析
前言:此处响应式指的是数据响应式变化,而不是页面的响应式布局,页面的响应式布局在我的其他文章中有提到。 一、什么是vue响应式 Vue 最标志性的功能就是其低侵入性的响应式系统。组件状态都是由响应式的 JavaScript 对象组成的。当更改它们…...
股航顶峰先锋一号
{选股} TT:MA(C,30)>MA(C,60) AND MA(C,60)>MA(C,120);{均线多头} DD:C>REF(C,1);{收阳线} QQ:V>REF(V,1);{放量}; TT1:COUNT(L<MA(C,13),5)1; TT2:(C-REF(C,1))/REF(C,1)*100>3; DD1:V>REF(V,1)*2 AND C>REF(C,1); DD2:TT1 AND 0<MA(C,13)AND TT2 …...

MYSQL安装部署--Linux 仓库安装
声明 :# 此次我们安装的 MYSQL 版本是 8.0.32 版本 我们本次安装 MYSQL 总共要介绍 四种方式 # 仓库安装# 本地安装# 容器安装# 源码安装我们本篇介绍的是 仓库安装 仓库安装 下载 MYSQL 安装包 # MYSQL 安装,我们都是基于 MYSQL 官方网站里进行下载~&a…...
NFS服务器搭建
NFS服务器搭建1. NFS简介2. NFS工作原理3. 配置NFS服务端3.1 启动服务3.2 修改配置文件4. 配置NFS客户端1. NFS简介 NFS是Network File System的简写,即网络文件系统. 网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS。 NFS允许一个系统在网络上与他人共…...

【数据挖掘实战】——航空公司客户价值分析(K-Means聚类案例)
目录 一、背景和挖掘目标 1、RFM模型缺点分析 2、原始数据情况 3、挖掘目标 二、分析方法与过程 1、初步分析:提出适用航空公司的LRFMC模型 2、总体流程 第一步:数据抽取 第二步:探索性分析 第三步:数据预处理 第四步&…...

AnlogicFPGA-IO引脚约束设置
(https://www.eefocus.com/article/472120.html此链接是一篇关于XillinxFPGA的IO的状态分析,希望自己也要能了解到AnLogic的IO状态并有对此问题的分析能力) 1、DriveStrength: 驱动强度,即最大能驱动的电流大小(见带负…...

Java SSM 笔记(一)重置版
Spring核心技术 **前置课程要求:**请各位小伙伴先完成《JavaWeb》篇、《Java 9-17新特性》篇视频教程之后,再来观看此教程。 **建议:**对Java开发还不是很熟悉的同学,最好先花费半个月到一个月时间大量地去编写小项目࿰…...
centos安装java,目录授权
centos安装java (1)查看可安装版本: yum -y list java* 安装:sudo yum -y install java-17-openjdk.x86_64 验证:java –version (2)二进制安装:下载:wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.…...

【大数据】HADOOP-YARN容量调度器多队列配置详解实战
简介 Capacity调度器具有以下的几个特性: 层次化的队列设计,这种层次化的队列设计保证了子队列可以使用父队列设置的全部资源。这样通过层次化的管理,更容易合理分配和限制资源的使用。容量保证,队列上都会设置一个资源的占比&a…...
加密技术在android系统安全中的应用
前言android 系统安全内容总结 1、算法基础 算法基础参照linux的全盘加密与文件系统加密在android中的应用的2、预备知识 android系统安全特性用到加密算法的如下表:...

KNN&K-means从入门到实战
作者:王同学 来源:投稿 编辑:学姐 1. 基本概念 1.1 KNN k近邻法(k-nearest neighbor,k-NN)是一种基本分类与回归方法。 k近邻法的输入为实例的特征向量对应于特征空间的点;输出为实例的类别&…...

SpringBoot整合RabbitMQ
SpringBoot整合RabbitMQ,生产者 (1)创建maven项目 (2)引入依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><versi…...

Hive---安装教程
Hive安装教程 Hive属于Hadoop生态圈,所以Hive必须运行在Hadoop上 文章目录Hive安装教程上传安装包解压并且更名修改 /etc/profile创建hive-site.xml将mysql的jar包放入Hive库中开启刷新配置文件hadoop开启mysql初始化启动hive上传安装包 将安装包上传到/opt/insta…...

MySQL作业四
学生表:Student (Sno, Sname, Ssex , Sage, Sdept) 学号,姓名,性别,年龄,所在系 Sno为主键 课程表:Course (Cno, Cname,) 课程号,课程名 Cno为主键 学生选课表:SC (Sno, Cno, Score)…...

云原生安全检测器 Narrows(CNSI)的部署和使用
近日, 云原生安全检测器 Narrows(Cloud Native Security Inspector,简称CNSI)发布了0.2.0版本。 (https://github.com/vmware-tanzu/cloud-native-security-inspector) 此项目旨在对K8s集群中的工作负载进…...

【并发编程】【3】Java线程 创建线程与线程运行
并发编程 3.Java线程 本章内容 创建和运行线程 查看线程 线程 API 线程状态 3.1 创建和运行线程 方法一,直接使用 Thread // 创建线程对象 Thread t new Thread() {public void run() {// 要执行的任务} }; // 启动线程 t.start();例如: // 构…...

Ambire 最新消息——2023 年 1 月
大家好,这里是我们在过去几周所做的一切的快速回顾。 发展 整个钱包的交易模拟和余额预测 我们推出了一项真正改变加密钱包 UX 游戏规则的功能:Ambire 现在向用户显示他们的钱包余额将如何更新,甚至在签署交易之前。 这项新功能可以分解为 Am…...

智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...

Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

搭建DNS域名解析服务器(正向解析资源文件)
正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解
进来是需要留言的,先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码,输入的<>当成字符串处理回显到页面中,看来只是把用户输…...