信息检索(37):Query-as-context Pre-training for Dense Passage Retrieval

Query-as-context Pre-training for Dense Passage Retrieval

  • 标题
  • 摘要
  • 1 引言
  • 2 初步:上下文监督预训练
    • 2.1 coCondenser
    • 2.2 CoT-MAE
  • 3 查询即上下文预训练
    • 3.1 预训练
    • 3.2 微调
  • 4 实验
    • 4.1 预训练
    • 4.2 微调
    • 4.3 基线
    • 4.4 主要结果
    • 4.5 域外评估
  • 5 分析
    • 5.1 生成的查询数量的影响
    • 5.2 混合上下文的影响
  • 6 相关工作
  • 7 结论
  • 8 局限性


原文链接:https://aclanthology.org/2023.emnlp-main.118.pdf
(2023)


标题

query 作为 context
预训练

摘要

最近,已经开发出通过使用上下文监督预训练来提高密集段落检索性能的方法。
这些方法只是认为同一文档中的两个段落是相关的,而不考虑弱相关对的潜在负面影响。因此,本文提出了查询即上下文预训练,这是一种简单而有效的预训练技术来缓解这个问题。查询即上下文预训练假设从段落派生的查询更有可能与该段落相关,并形成段落-查询对。然后将这些段落-查询对用于对比或生成上下文监督的预训练。
预训练模型在大规模段落检索基准和域外零样本基准上进行评估。实验结果表明,查询即上下文预训练为检索性能带来了可观的收益,证明了其有效性和效率。

1 引言

段落检索是从大型语料库中检索相关段落以响应查询的过程,这在网络搜索等各种下游应用中非常有用(Fan 等人,2021;Guo 等人,2022;Lin 等人,2021a )、问答系统(Karpukhin 等人,2020;Lee 等人,2020;Zhu 等人,2021)和对话系统(Gao 等人,2022a;Yu 等人,2021)。预训练语言模型 (PLM) 的成功(Devlin 等人,2018 年;Liu 等人,2019 年)促进了更强大的基于 PLM 的密集和稀疏段落检索方法的开发

基于PLM的密集检索方法(Xiong等,2020;Lu等,2021;Hofstätter等,2021;Gao和Callan,2021b;Ren等,2021b;Ma等,2022;Liu和Shao,2022;Wu et al, 2022;Wang et al, 2022)使用 PLM 将查询和段落编码到共享语义空间中。然后通过点积或余弦相似度来测量查询和段落表示之间的语义关系。预训练和微调技术已经被开发出来以提高密集检索模型的性能。密集检索的预训练过程旨在通过辅助自监督或上下文监督任务来提高编码器的文本表示建模能力。

上下文监督预训练(Gao 和 Callan,2021b;Wu 等人,2022)假设同一文档中的两个段落 1 是上下文相关的或彼此相关的,因此可用于对比学习或上下文解码。
然而,上下文监督的预训练忽略了这样一个事实:文档中的段落在许多情况下可能是弱相关的,甚至是不相关的。如图 1 所示,MS-MARCO 语料库(Nguyen 等人,2016)文档中的两个段落在内容上不直接相关。根据我们通过人工注释的统计结果,coCondenser 训练数据中只有 35.5% 的段落对(Gao and Callan,2022)具有较高的相关性。统计详情请参阅附录A。
这些弱相关或不相关的段落与上下文监督预训练所基于的假设不一致,并且可能不利于上下文监督预训练。

与密集检索相反,稀疏检索基于“词袋”假设,并将段落和查询表示为基于稀疏术语的向量。基于 PLM 的稀疏检索(Nogueira 和 Lin,2019;Dai 和 Callan,2019; Mao 等人,2020;Formal 等人,2021b,a;Mallia 等人,2022)使用 PLM 来改进稀疏向量(Nogueira 和 Lin, 2019),它预测一组相关查询以丰富段落内容,从而缓解不匹配问题。查询预测已被证明在稀疏检索中有效,但尚未在密集检索的背景下进行探索,特别是在密集检索中。这就提出了一个问题:查询预测技术是否可以使针对密集检索而定制的预训练过程受益。

在我们的统计分析中,预测的查询与段落的内容更好地一致(参见附录 A),这一观察结果表明,查询预测可能是缓解上下文监督预训练中弱相关段落问题的一种有前途的方法。因此,本文重点探讨查询预测技术,以改进密集检索的上下文监督预训练方法。我们提出的方法称为“查询即上下文预训练”,假设从段落(使用 T5 等生成模型)派生的查询更有可能是该段落的相关上下文。与之前使用从文档中随机选择的两个段落创建训练对的上下文监督方法相比,查询即上下文方法通过将段落与预测查询相结合来生成训练对,如图 2 所示。

使用 queryas-context 设置有几个优点。首先,查询更有可能与段落相关,因为它是从段落生成的。此外,在监督下游检索训练中使用段落查询对与在预训练中使用段落查询对是一致的,这有助于弥合两个过程之间的差距。最后,由于段落-查询对通常比以前使用的段落-段落对短,因此它加快了预训练过程并减少了训练开销。

为了验证我们提出的查询即上下文预训练的有效性,我们在大规模网络搜索基准上进行了实验:MS-MARCO Passage Ranking (Nguyen et al, 2016)、TREC Deep Learning (DL) Track 2019 (Craswell)等人,2020a)和 Track 2020(Craswell 等人,2020b)。我们还使用大量域外数据集在 BEIR(Thakur 等人,2021)基准上评估查询即上下文预训练模型。实验结果表明,query-ascontext 比竞争基线取得了相当大的进步。

我们的贡献可以总结如下:
• 我们揭示了上下文监督预训练过程中先前被忽视的弱相关段落对的问题。
• 我们提出查询即上下文预训练,这是一种简单而有效的预训练技术,可以缓解上述问题。
• 实验表明,查询即上下文预训练带来了可观的收益,同时加快了预训练速度。

2 初步:上下文监督预训练

在本节中,我们首先概述预训练语料库。随后,我们描述了掩码语言建模任务,它作为预训练的基础任务。最后,我们提出了两种具有代表性的对比和生成上下文监督预训练方法,我们提出的查询即上下文将应用于这些方法。
预训练语料库给定一组文档,我们从每个文档中随机提取一对段落,形成训练语料库,如下所示:
在这里插入图片描述
其中 {xi , yi} 是来自同一文档的一对段落

**掩码语言建模 (MLM) **
形式上,给定一个带有 n 个标记的段落 x,一个特殊标记 [CLS] 会添加到该段落的开头,从而产生
在这里插入图片描述

其中 x0 代表 [CLS] 标记。然后,随机选择一定比例的位置作为“掩码位置”(mask_pos),并用特殊令牌[MASK]或随机令牌替换。然后,屏蔽的段落会通过文本编码器,该编码器通常由 L 层转换器块组成。对于编码器中的第 l 个 Transformer 层,其输出是该层的隐藏状态
在这里插入图片描述

然后使用最后一层的输出来计算 MLM 的目标损失
在这里插入图片描述

其中 CE 是交叉熵函数的缩写, 是 xi 相应隐藏状态到词汇分布的投影。

2.1 coCondenser

coCondenser (Gao and Callan, 2021b) 是一种代表性的对比上下文监督方法。
对于 coCondenser,来自文档的两个段落被认为是相关的并形成正对,而来自不同文档的两个段落被认为是不相关的并形成负对。
这些对构成了用于对比学习的小批量。生成段落嵌入表示的常见方法是使用编码器最后一层中 [CLS] 位置的隐藏状态,即 h L 0 。因此,段落x和y的嵌入表示为h L 0 (x)和h L 0 (y),简化为hx和hy。然后,对于小批量 B,对比学习目标 w.r.t x 表述为:
在这里插入图片描述
其中 τ 是温度超参数,sim (,) 是点积相似度函数。

编码器上还附加了一个额外的辅助解码器,它由 N 层 Transformer 组成。辅助解码器采用来自第 L 层的 [CLS] 表示(即 h L 0 )和来自编码器的第 M(例如第 6)层的令牌表示(即 {hM 1 ,…)的串联。 …, hM n },作为输入。与 MLM 类似,辅助解码器最后一层的输出用于执行辅助 MLM 预训练。
在这里插入图片描述
最后,coCondenser的总损耗为:
在这里插入图片描述

欲了解更多详细信息,请参阅(Gao 和 Callan,2021b)。

2.2 CoT-MAE

CoT-MAE(Wu et al, 2022)是一种代表性的生成式上下文监督方法,它使用非对称编码器-解码器结构,具有 L 层的深层编码器和 N 层的浅层解码器。它同时对编码器和解码器执行 MLM 训练。对于一对通道 {x, y},假设 x 被馈送到编码器侧,y 被馈送到解码器侧。

在编码器方面,仅使用段落中未屏蔽的标记来重建 x,类似于 BERT 的 MLM 过程,但具有更高的屏蔽率(例如 30%)。在解码器侧,y 使用其未屏蔽的标记和上下文段落 x 来重建。解码器将 x 的句子嵌入(即 hx)和屏蔽 y 的单词表示作为输入,将其连接为:
在这里插入图片描述
然后串联 d 0 穿过 N 层 Transformer 块,k 层的隐藏状态表示为:
在这里插入图片描述

然后将解码器最后一层的输出用于 LM 预训练,损失定义为:
在这里插入图片描述

下标ctx表示该过程是上下文监督的。然后,我们将编码器和解码器的损失相加,得到最终的损失:
在这里插入图片描述

欲了解更多详细信息,请参阅(Wu et al,2022)。

3 查询即上下文预训练

在本节中,我们首先介绍查询即上下文预训练的细节,然后介绍预训练模型在检索任务上的微调过程。

3.1 预训练

预训练是在没有注释的大规模文档上进行的。对于每个文档 D,我们提取一组最大长度为 {x0, x1, …} 的段落。接下来(Nogueira 和 Lin,2019),对于每个段落 xi ,我们使用微调的 T5 模型来生成查询。我们应用 topp=0.95 和 topk=25 的核采样来生成多个查询以促进多样性。

特别地,每个段落 xi 将被输入到微调的 T5 模型中,并生成 C 个候选查询,{qij} C j=1。在训练过程中,我们将随机选择一个候选查询作为段落的上下文:
在这里插入图片描述

段落和采样查询形成训练对{xi , yi},可用于替换等式1中使用的原始对。具体而言,段落-查询对直接用于coCondenser的对比预训练。对于 CoT-MAE,我们将段落输入编码器,并查询解码器进行生成预训练。 coCondenser 和 CoT-MAE 的模型实现已在第 2.1 和 2.2 节中介绍。

3.2 微调

我们对下游检索任务进行微调,以验证预训练的有效性。接下来(Gao 和 Callan,2021b;Wu 等人,2022),MS-MARCO 上的微调过程基于具有硬负挖掘的两阶段管道(Gao 等人,2022b),如图 3 所示。此过程涉及两个训练阶段:双编码器检索器 1 和双编码器检索器 2,它们均使用查询即上下文预训练模型进行初始化。检索器通过手动注释的段落-查询对的对比学习进行训练。对于手动注释的段落-查询对(p +,q+),段落和查询的表示形成正例(hp+,hq+)。当训练检索器1时,对于查询q+,负样本{p-}包括批量负样本和BM25挖掘的硬负样本。当训练检索器 2 时,也会使用训练有素的检索器 1 来挖掘硬负例,并与其他负样本相结合来创建负样本 {p -}。两个阶段均使用 InfoNCE 损失进行优化

在这里插入图片描述

其中 τ 是固定为 1 的温度超参数,sim (,) 是点积相似度函数。
根据(Thakur 等人,2021),我们使用 MS-MARCO negatives2 训练检索器,以在 BEIR 基准上进行域外评估

4 实验

在本节中,我们提供有关预训练和微调过程的详细信息。然后我们展示实验结果。

4.1 预训练

查询即上下文数据集
(Gao 和 Callan,2021b;Wu 等人,2022)之后,预训练数据集是从 MS-MARCO 段落语料库收集的,该语料库包含 320 万个文档。我们使用 NLTK 将每个文档拆分为句子,并将这些句子分组为不超过 144 个连续标记的段落。对于每个段落,我们通过公共 T5 模型 3 生成候选查询。在预训练期间,我们在每一步选择一批段落,并随机选择一个候选查询作为每个段落的上下文,以形成相关对。

模型实现
(Wu et al, 2022)之后,CoT-MAE 的编码器使用预训练的 12 层 BERT 模型进行初始化,而解码器则从头开始初始化。我们使用 AdamW 优化器对模型进行最多 50k 步的预训练,学习率为 4e-4,批量大小为 16k,线性调度的预热率为 0.1。我们使用 16 个 Tesla V100 GPU 训练模型 60 小时,然后丢弃解码器,只留下编码器进行微调。
接下来(Gao 和 Callan,2021b),coCondenser 的编码器是从预训练的 12 层 Condenser(Gao 和 Callan,2021a)模型初始化的。
训练使用 AdamW 优化器在 8 个 Tesla V100 GPU 上进行,历时 90 小时,执行 120,000 个步骤,学习率为 1e-4,全局批量大小为 2k,权重衰减为 0.01。一旦预训练完成,Condenser 头就会被丢弃,从而得到一个与 BERTbase 具有相同架构的模型,用于微调。

4.2 微调

数据集和评估
我们在 MSMARCO 通道排名(Nguyen 等人,2016)、TREC 深度学习 (DL) Track 2019(Craswell 等人,2020a)和 2020(Craswell 等人,2020b)上微调预训练的 coCondenser 和 CoT-MAE评估任务。

MS-MARCO(Nguyen 等人,2016)是一个基准数据集,包含从 Bing 搜索和网页收集的真实用户查询,总共包含约 880 万个段落。训练集包含大约 500,000 个带注释的查询-文档对,而开发集包含 6,980 个带注释的查询。由于测试集不是公开的,因此开发集用于根据之前的工作进行评估(Gao 和 Callan,2021b;Wu 等人,2022)。我们使用 MRR@10、Recall@50 和 Recall@1K 评估我们在 MS-MARCO 上的性能。

TREC 深度学习 (DL)(Craswell 等人,2020a,b)轨道为测试集提供了更详细的注释,以评估排名模型的真实能力。我们评估 2019 年和 2020 年的测试集。 2019 年测试集包含 43 个带注释的查询,2020 年测试集包含 54 个带注释的查询。我们使用 NDCG@10 评估我们在 TREC 上的表现。

实施
我们重用了广泛采用的评估管道(Gao 和 Callan,2021b;Wu 等人,2022;Gao 等人,2022b),并使用通用随机种子(42)来支持再现性。请注意,当我们专注于改进预训练技术时,我们不使用任何增强的方法,例如从强大的重新排序器中蒸馏(Ren 等人,2021b;Santhanam 等人,2021)或多向量表示( Khattab 和 Zaharia,2020),这可以带来进一步的改进。微调仅在 MS-MARCO 数据集上进行训练,并在开发集和 TREC DL 2019/2020 测试集上进行评估。它使用 AdamW 优化器在 8 个 Tesla V100 GPU 上进行训练,学习率为 2e-5,全局批量大小为 64,权重衰减为 0.01。

段落长度也设置为144,负深度设置为200,微调迭代中一个查询的负段落数为15。

4.3 基线

我们的基线方法包括稀疏检索方法和密集检索方法,如表1所示。稀疏检索基线的结果主要来自(Qu et al,2020),包括BM25、docT5query(Nogueira and Lin,2019)、DeepCT( Dai 和 Callan,2019)和 GAR(Mao 等人,2020)。

密集检索基线的结果主要来自(Gao and Callan, 2021b; Liu and Shao, 2022; Ren et al, 2021b; Ma et al, 2022),包括ANCE (Xiong et al, 2020)、SEED (Lu et al, 2022) 2021)、TAS-B(Hofstätter 等人,2021)、RetroMAE(Liu 和 Shao,2022)、SimLM(Wang 等人,2022)等。我们将查询作为上下文的性能与其在两个检索器 1 上的基线进行比较和猎犬2

4.4 主要结果

如表 1 所示,结果表明查询即上下文预训练可以提高性能。

coCondenser
重现 coCondenser 时,预训练步骤扩展到 120k 步骤。检索器 2 的主要评估指标 MSMARCO 通道排名数据集上的 MRR@10 与原始论文相比提高了 0.6pp(Gao 和 Callan,2021b)。当使用query-ascontext预训练时,在MRR@10上有0.6pp的进一步提升。在 TREC DL 19 和 20 测试集上,DL 19 提高了 2pp,DL 20 提高了 3.4pp。此外,查询即上下文预训练还提高了检索器 1 的 MRR@10 和 R@50 分数。

CoT-MAE
在重现 CoT-MAE 时,为了提高效率,我们采用了比(Wu et al, 2022)大得多的批量大小,这使我们能够将训练步骤数从 1200k 减少到 50k。这导致训练速度更快,但与原始论文相比,MS-MARCO MRR@10 指标的性能在某种程度上较低。然而,当应用queryas-context预训练时,在MRR@10上有1.4pp的明显提升,达到40.2。即使与原始论文中 1200k 模型的性能相比,我们仍然实现了 0.8pp 的显着改进。据我们所知,这是单向量预训练(不是重新排序蒸馏)密集检索器的最新结果。在 TREC DL 19 和 20 测试集上,DL 19 提高了 0.8pp,DL 20 提高了 3pp。此外,query-ascontext 预训练还提高了 MRR@10、R@50 和 R@1k 分数猎犬 1.
总体而言,查询即上下文预训练方法是有效的,可以改善对比和生成上下文监督预训练。这主要有两个原因:(1)预训练模型可以为检索器1和检索器2提供更好的参数初始化; (2)更好的检索器1可以用来挖掘更有效的硬负例,这进一步提高了检索器2的训练。

4.5 域外评估

我们在零样本基准 BEIR 上评估了查询即上下文预训练模型的域外性能(Thakur 等人,2021)。 BEIR 基准包含来自 18 个不同数据集的 9 个不同的开放域信息检索任务。
我们在 14 个公开可用的数据集4 上评估模型。如表中所示,当使用 queryas-context 预训练时,coCondenser 和 CoT-MAE 结果都显示出对大多数数据集的显着改进。具体来说,使用 queryas-context 预训练提高了 coCondenser 模型在 9 个不同数据集上的性能。CoT-MAE 的改进更为显着,在 13 个数据集上观察到显着的增益。

5 分析

在本节中,我们检查效率优势并分析不同设置对查询即上下文预训练的影响。

5.1 生成的查询数量的影响

在预训练期间,使用多个候选查询会带来更好的多样性,因为每个段落在每个时期都与不同的候选查询配对。因此,我们探讨生成的查询数量的影响。如表 3 所示,对于 coCondenser,将查询数量从 1 增加到 5 略微提高了 MS-MARCO 数据集上的性能,并导致 TREC DL 19 和 20 测试集上的良好改进。对于 CoT-MAE,使用 5 个查询会导致 MS-MARCO 数据集和 TREC DL 20 测试集的性能增加,而 TREC DL 19 测试集的性能略有下降。然而,进一步增加候选查询的数量通常会带来性能的下降。适当数量的查询保留了它们与段落的相关性,从而在查询即上下文预训练中产生更高的性能。

5.2 混合上下文的影响

我们进一步探讨了混合两种上下文对(段落-查询和段落-段落)的效果。在训练步骤中,我们以相同的概率随机选择使用通道查询或通道通道对作为输入。

如表 4 所示,尽管增加了上下文的多样性,但混合并没有改善 coCondenser 和 CoT-MAE 的效果。这种减少与附录 A 中人工注释的相关性结果一致。段落-段落对具有较高比例的低相关性对,因此组合段落-查询和段落-段落对将不如单独使用段落-查询对有效。这也表明,对于针对密集检索的预训练,训练对的相关性比多样性更为重要

6 相关工作

密集检索

在微调和预训练阶段,已经开发了不同的技术来改进密集检索。在微调阶段,尝试包括挖掘硬负例(Xiong et al, 2020; Zhan et al, 2021)、后期交互(Khattab and Zaharia, 2020)、查询聚类(Hofstätter et al, 2021)、重排序蒸馏(Lin et al, 2021) al, 2021b; Santhanam 等人, 2021)、数据增强(Qu 等人,2020)和联合学习(Ren 等人,2021b;Zhang 等人,2022b,2021)。

在预训练阶段,尝试分为两类。一类侧重于使用辅助自监督自动编码任务改进编码器(Lu et al, 2021;Gao and Callan, 2021a;Liu and Shao, 2022;Zhou et al, 2022)。另一类提出了类似于预训练中的段落检索的段落预测任务(Chang 等人,2020;Gao 和 Callan,2021b;Ma 等人,2022)。该类别中最相关的方法是(Gao 和 Callan,2021b)和(Wu 等人,2022)。 (Gao 和 Callan,2021b)引入了上下文监督的对比预训练过程,假设来自同一文档的段落比来自不同文档的段落更接近。 (Wu 等人,2022)通过上下文嵌入辅助的解码器端重建任务引入了上下文监督的生成屏蔽自动编码任务。
我们的工作就是建立在这两种方法的基础上的。

查询预测
查询预测是一项最初引入 IR 社区的技术,用于扩展段落。它可以通过在构建倒排索引之前生成额外的查询并将其附加到段落中来显着提高 BM25 的性能(Nogueira 和 Lin,2019)。查询预测还被用来学习更好的稀疏(Mallia 等人,2021)或密集(Li 等人,2022)文档表示。在数据稀缺的场景中,查询预测可以通过在目标域上生成合成查询来进行模型训练,从而用于域适应(Ma et al, 2020)。为了减少生成数据中的噪声,交叉编码器也可用于伪标记(Wang 等人,2021)。与我们最相关的工作是(Li et al, 2022),它使用一组生成的伪查询对每个文档进行编码,以获得查询信息的文档表示。然而,(Li et al, 2022)专注于改进密集检索的微调过程,而我们正在研究预训练过程。

7 结论

在这项工作中,我们提出了查询即上下文预训练,这是一种简单而有效的技术,可以缓解上下文监督预训练期间先前被忽视的弱相关对的问题。大量的实验很好地验证了其有效性和效率。

8 局限性

与从同一文档中随机选择的另一个段落相比,一个段落更有可能与其相应生成的查询具有高度相关性。然而,受限于T5模型的能力,仍然存在大量不相关的段落查询对。我们相信更强大的大型语言模型有潜力进一步缓解这个问题,这留待我们未来的研究。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/10658.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面向电商家居行业3D室内场景合成中的空间感知

本文主要介绍了3D场景合成技术在电商领域,尤其是家居家装行业的应用。它解释了如何使用3D场景合成创建逼真的室内设计,让消费者能够交互式地查看和体验产品,提高购物的趣味性和效率。文章提到了两种主要的3D室内场景生成算法:传统…

RN开发搬砖经验之—分析与定位图片文件被清空的原因

如题 最近工作上处理的一个BUG,先讲下结论/原因,然后再分享该主题相关的东西 结论是:copy图片文件时,源路径与目标路径相同—输入输出流同时操作同一个文件,导致文件清空了! copy文件的主要源码如下&#…

OFDM802.11a的FPGA实现(十二)使用FFT IP核添加循环前缀

原文链接(相关文章合集):OFDM 802.11a的xilinx FPGA实现 目录 1.前言2.循环前缀3.硬件实现4.ModelSim仿真 1.前言 为了能够消除传输过程当中的符号间干扰,在IFFT处理完毕之后还要加上循环前缀。 2.循环前缀 实际通信信道中,由于接…

深度学习设计模式之单例模式

一、单例模式简介 一个类只能有一个实例,提供该实例的全局访问点; 二、单例模式实现步骤 使用一个私有构造函数、一个私有静态变量以及一个公有静态函数来实现。 私有构造函数保证了不能通过构造函数来创建对象实例,只能通过公有静态函数返…

【计算机网络】物理层 通信基础、奈氏准则、香农公式 习题2

下列说法中正确的是( )。 A. 信道与通信电路类似,一条可通信的电路往往包含一个信道 B.调制是指把模拟数据转换为数字信号的过程 C. 信息传输速率是指通信信道上每秒传输的码元数 D.在数值上,波特率等于比特率与每符号所含的比特数的比值 信息传输速率&a…

65-CPLD电路设计(安路为例)

视频链接 CPLD电路设计(安路为例)01_哔哩哔哩_bilibili CPLD电路设计(以安路为例) 浅谈板级电源设计的三种方法_哔哩哔哩_bilibili 参考【浅谈板级电源设计的三种方法】 FPGA板级硬件实战S1~7课 实战Power2-电…

^_^填坑备忘^_^C#自动化编程实现STK+Exata对卫星互联网星座进行网络仿真

C#实际选择 STK11版本 or STK12版本的问题备注。 【C#自动化客户端调用STK时,实际选择 STK11版本 or STK12版本 的调试运行备注】 以下代码“更新并重新打包备份为”〔testSTKQualNetInterface备份08.1_★避坑★【种子卫星:天线直接安装在卫星上&#…

centos7.9系统安全加固

1、限制用户登陆 vim /etc/hosts.deny,若禁止192.168.0.158对服务器进行ssh的登陆,添加如下内容 sshd : 192.168.0.158 添加完毕后就生效了,直接用192.168.0.158访问主机,就无法连接了,显示 Connection closing...Soc…

系统需求开发和管理指南(软件标准文件Word)

1.需求获取的方式 2.需求分析的准则 3.需求分析的方法 4.需求开发考虑的方面 5.需求确认的方法 6.需求优先级的设定 7.需求文档编制规范要求 软件全文档获取方式一:本文末个人名片直接获取。 软件全文档获取二:软件项目开发全套文档下载_软件项目文档-C…

Xilinx FPGA底层逻辑资源简介(1):关于LC,CLB,SLICE,LUT,FF的概念

LC:Logic Cell 逻辑单元 Logic Cell是Xilinx定义的一种标准,用于定义不同系列器件的大小。对于7系列芯片,通常在名字中就已经体现了LC的大小,在UG474中原话为: 对于7a75t芯片,LC的大小为75K,6输…

VPN方案和特点

VPN方案和特点 VPN,或者称为虚拟专用网络,是一种保护你的在线安全和隐私的技术。它可以创建一个加密的连接,使你的在线活动对其他人不可见。以下是一些常见的VPN协议和它们的特点: 开放VPN (OpenVPN):这是一种极为可…

阿里云和AWS负载均衡服务对比分析

在云计算时代,负载均衡作为一种关键的网络基础设施,承担着在多个服务器之间分发网络流量的重要任务。作为全球两大主要的云服务提供商,阿里云和Amazon Web Services(AWS)都提供了强大的负载均衡解决方案。本文将从性能、功能、可用性和成本等方面对两者进行对比分析。我们九河云…

600/天,海外项目值班,接不接?

朋友介绍了一个海外项目,广告系统短期维护,刚上线需要维护14天也就是2个星期,费用单价600/天,主要工作内容:北京晚上12点-早上8点值班,如果有问题及时响应并修复。 如果我年轻10岁,这个项目我倒…

【牛客】SQL202 找出所有员工当前薪水salary情况

1、描述 有一个薪水表,salaries简况如下: 请你找出所有员工具体的薪水salary情况,对于相同的薪水只显示一次,并按照逆序显示,以上例子输出如下: 2、题目建表 drop table if exists salaries ; CREATE TABLE sala…

【全开源】Java知识付费教育付费资源付费平台公众号小程序源码

特色功能: 多样化的内容呈现:资源付费平台小程序支持图文、音视频、直播等多种形式的内容呈现,为用户提供了丰富的学习体验。直播课程:专家或讲师可以通过小程序进行在线授课,与用户实时互动,增强了学习的…

【Linux】AlmaLinux 9.4版本发布

AlmaLinux 9.4 正式版发布,该版本基于 Redhat Enterprise 9.4,内核版本号: 5.14.0-427.13.1.el9_4.x86_64 相对于Rocky Linux, AlmaLinux更加的稳定,生产环境建议使用AlmaLinux来替代CentOS 7.x AlmaLinux 9.4版本系统…

【Python-爬虫】

Python-爬虫 ■ 爬虫分类■ 1. 通用网络爬虫:(搜索引擎使用,遵守robots协议)■ robots协议(君子协议) ■ 2. 聚集网络爬虫:自己写的爬虫程序 ■ urllib.request(要导入的模块&#x…

风丘方案助力车企升级 解决“国六”标准新难题

一 背景 尾气排放指标是衡量汽车质量和品质的主要指标之一,且汽车的尾气排放必须达到相应的标准才准许出厂,因此,对汽车排放的尾气进行检测是汽车生产过程的重要环节。汽车尾气检测过程是在排放实验室里进行的,这需要模拟汽车实际…

非接触式IC卡简介

简介:非接触式IC卡又称射频卡,由IC芯片、感应天线组成,封装在一个标准的PVC卡片内,芯片及天线无任何外露部分。是世界上最近几年发展起来的一项新技术,它成功的将射频识别技术和IC卡技术结合起来,结束了无源(卡中无电源)和免接触这一难题,是电…

Docker需要代理下载镜像

systemctl status docker查看docker的状态和配置文件是/usr/lib/systemd/system/docker.service vi /usr/lib/systemd/system/docker.service, 增加如下配置项 [Service] Environment"HTTP_PROXYhttp://proxy.example.com:8080" "HTTPS_PROXYhttp:…