论文翻译 | Fairness-guided Few-shot Prompting for LargeLanguage Models

摘要

        大型语言模型已经显示出令人惊讶的执行上下文学习的能力,也就是说,这些模型可以通过对由几个输入输出示例构建的提示进行条件反射,直接应用于解决大量下游任务。然而,先前的研究表明,由于训练示例、示例顺序和提示格式的变化,上下文学习可能会受到高度不稳定性的影响。因此,构建恰当的提示对于提高语境学习的表现至关重要。在本文中,我们从预测偏差的角度重新审视这个问题。具体来说,我们引入了一个度量来评估固定提示对标签或给定属性的预测偏差。实证结果表明,偏差较大的提示往往导致预测质量不理想。基于这一观察,我们提出了一种新的基于贪婪搜索的搜索策略,以识别近乎最优的提示,从而提高上下文学习的性能。我们使用最先进的主流模型(如GPT-3)对各种下游任务进行综合实验。结果表明,我们的方法可以有效地提高模型的上下文学习性能,并且具有可解释性。代码可从https://github.com/MaHuanAAA获得。

1 引言

        大型语言模型(LLMs),如GPT-3 [1]和BLOOM [2],在执行下游任务的上下文学习(ICL)方面表现出了显著的能力。ICL是指利用由几个演示输入-输出对构建的提示(即少数样本提示)来调整LLM以解决各种下游任务的过程。尽管其表现令人印象深刻,但先前的研究表明,由于选择的上下文演示、演示顺序和提示格式的变化,ICL存在高度不稳定性[4, 5]。因此,构建适当的提示被确定为提高ICL性能的关键因素[6]。
        先前的研究通常从两个方向研究这个问题:(1)嵌入空间中的提示调整[7, 8, 9, 10, 11](2)文本空间中的提示搜索[4, 12, 13, 14, 15, 16]。提示调整的关键思想是将特定于任务的嵌入注入隐藏层,然后使用基于梯度的优化来调整这些嵌入[8, 15]。然而,这些方法需要修改模型的原始推理过程,这对于GPT3和ChatGPT [17]等黑盒LM服务的情况是不切实际的。此外,提示调整引入了额外的计算和存储成本,这对于LLM通常是昂贵的。一种更可行且有效的方法是通过在原始文本空间中搜索近似的演示样本和排序来优化提示[4, 15]。一系列工作提出了从“全局”或“局部”视角构建提示的方法。一方面,基于全局视角的方法通常将提示的不同元素作为一个整体进行优化,旨在实现更优的性能。例如,一种方法[14],构建了一个利用演示整体多样性的搜索过程。另一种方法[4]试图优化整个演示集的排序以获得更好的性能。与全局视角相比,基于局部视角的方法通过设计不同的启发式选择标准来优化每个单独的演示,如先前的工作KATE [15]。这些方法在广泛的任务上取得了令人印象深刻的改进。然而,它们中的大多数仍然存在以下限制:(1)当前的大部分研究主要关注沿着单一维度搜索提示,例如示例选择或顺序。然而,各种维度对性能的整体影响尚不清楚。(2)这些方法通常基于启发式标准,它们与实际性能之间存在差距。需要一个统一的视角来解释这些方法是如何工作的。(3)更重要的是,现有方法全局或局部地优化提示,这可能导致次优性能。
        在本文中,我们从预测偏差的角度重新审视了这个问题。我们发现一个关键的见解,即给定提示的质量取决于其固有的偏差。基于这一见解,我们提出了一个基于预测偏差的代理指标来评估提示的质量。这个指标允许我们在不需要额外开发集的情况下,通过单一的前向过程评估提示。具体来说,我们将给定的提示应用于一个“无内容”的输入,并期望模型输出一个统一的预测分布(一个无内容的输入不包含有用的信息)。因此,我们使用预测分布的统一性来刻画给定提示的偏差。这与先前的工作使用这个指标来校准模型输出[18]的想法相似。与主要关注在提示固定时使用此指标进行校准的工作不同,我们进一步探索其在自动搜索近似提示中的用途。此外,通过广泛的实验,我们经验性地验证了给定提示的固有偏差与其在给定测试集上的平均任务性能(见图2)之间的相关性。

 

图2:准确率与公平性高度一致,贪婪搜索可以找到一个好的提示符,其中“Random”和“Oracle”表示所有提示符的平均准确率和根据公平性的性能上界。 

        此外,这种基于偏差的指标允许我们以“局部到全局”的方式构建提示优化技术。我们提出了两种新颖的策略,以偏见引导的方式高效地搜索高质量的提示:(1)T-fair-Prompting(2)G-fair-Prompting。我们关注一个通用设置,其中给定一个大小为N的标记集。我们策略的目标是执行组合优化以找到近优提示(即选择演示及其顺序)。具体来说,T-fair-Prompting采用了一种直观的方法,首先计算每个单一演示的偏差(即单次提示),然后选择前-k个公平的演示来形成最终的提示。这个策略可以以O(N)的复杂度高效完成。请注意,T-fair-Prompting基于一个假设,即最优提示通常是由偏差最小的演示构建的。然而,这在实际情况中可能不成立,并且常常导致次优解。因此,我们进一步引入G-fair-Prompting来提高搜索质量。G-fair-Prompting遵循贪婪搜索的正常过程,通过在每一步做出局部最优选择来找到最优解。在算法的每一步,所选的演示是使更新后的提示达到最佳公平性分数的那个。这个策略在搜索质量与最坏情况时间复杂度之间进行权衡。通过接受更高的最坏情况时间复杂度O(N^2),搜索质量显著提高。请注意,G-fair-Prompting从局部到全局的视角工作,在早期阶段考虑单个样本的偏差,而在后期阶段关注全局预测偏差的减少。
        为了评估我们策略的有效性,我们在当前主流模型,如GPT-3 [1],进行了广泛的下游任务实验。我们的结果表明,我们的方法可以显著提高模型在上下文学习方面的性能,并且以一种有效且可解释的方式进行。总体贡献总结如下:

  • 我们引入了使用预测偏差来高效且独立于开发集地评估给定提示质量的方法,并且这种指标的实证有效性得到了全面验证。
  • 基于上述想法,我们提出了两种高效且有效的策略,即T-fair-Prompting和G-fair-Prompting,以优化提示。
  • 这两种策略的有效性已经在各种LLMs上得到了验证,范围从GPT系列模型到Meta最近发布的LMaMA系列[19]。与现有最佳方法(SOTA)相比,在不同的下游任务中观察到了超过10%的一致性相对改进。

        与使用前校准的关系:我们的论文与使用前校准[18]分享了类似的指标来评估给定提示的预测偏差。然而,先前的方法旨在使用这个指标来校准输出,这仍然容易受到所用提示质量的影响(更多结果可以在表3中找到)。相比之下,我们的研究旨在在原始空间中找到一个近优提示,以提高模型的性能,而不需要对模型的输出进行任何后调整。此外,我们首先在图2中经验性地验证了预测偏差与最终任务性能之间的联系,这一点在[18]中尚未研究。通过实验,我们发现即使没有校准,我们方法选择的提示也可以优于随机选择的经过校准的提示。

2 相关工作 

        上下文学习 先前的研究,如文献[1, 20]所述,已经证明大型语言模型可以通过使用上下文学习完成零样本或少样本学习任务。LLMs在适当的提示下表现良好。然而,最近的工作[4, 18]显示,LLMs的性能受到所用提示的影响。因此,确定最佳提示是一个重要且基础的研究领域。
        原始空间搜索 确定最佳提示的一个更直观的方法是在原始空间中进行搜索,通过选择或重新排序用户输入的提示句子。搜索可以从两个角度进行总结。

  • 全局视角:一个简单策略是枚举所有候选提示,以找到在验证集上实现最佳性能的提示,但这种策略计算成本高昂,其复杂度为Σ_{k=1}^{n} C_{n}^{k} k!。张等[12]发现错误经常落在同一簇中,每个簇包含相似的问题,因此他们提出了一个多样性引导的搜索策略来选择多样化的演示。除了演示选择,[4]还确定了提示顺序对结果的影响。他们通过LLMs生成探测集,找到在探测集上产生最多样化预测结果的最佳序列。然而,这种方法计算成本同样高昂,且难以确保生成的探测集足够平衡。
  • 局部视角:先前的研究[13]表明,减少模型的不确定性有助于提高模型的性能,[14]提出了主动提示(Active Prompting),根据LLMs的不确定性来选择演示。KATE[15]基于嵌入之间的距离选择提示,目标是选择最近的示例。

        然而,这种方法忽略了示例顺序的影响,并且需要访问句子嵌入。[16]表明LLMs很容易被不相关的上下文分散注意力,因此他们确定了几种方法来过滤掉上下文中的无关信息。
        在原始空间搜索的领域中,当前大多数方法倾向于仅关注单一因素(如上所述)对性能的影响,使用启发式指标来选择根据这一标准表现良好的上下文演示。虽然这些研究无疑为社区带来了好处,但它们缺乏对局部和全局视角的综合考虑。本文提出的方法提供了一个指标,从预测偏差的角度选择上下文演示,这自然促进了从局部视角到全局视角的转变。

3 重新审视跨演示的敏感性 

        在本节中,我们将澄清本文中使用的符号和模板。然后,我们将展示一些简要的实证结果,以显示不同的示范构建因素(例如,示例选择和顺序)如何影响绩效。我们进一步介绍了给定提示的预测偏差/公平性的定义,并展示了其与不同下游任务的预测性能的联系。 

3.1 符号 

        我们考虑一个由N个样本组成的训练集 S = \left \{ \left ( x_{i},y_{i} \right ) \right \}_{i}^{N},其中 x_{i}是句子,y_{i}\epsilon Y 是第 i 个训练样本的标签,而 Y 是任务所有标签的空间。我们使用一个模板 Γ(·) 将这些句子和标签转换成自然语言空间(即提示构建)。以 AGNews 数据集 [21] 中的一个实例为例,我们有 x_{i} = "Cubans Risking Life for Lure of America."; y_{i} = "World",并且 Γ(x_{i} ; y_{i}) 是 "Article: Cubans Risking Life for Lure of America. Answer: World"。我们将这些演示拼接起来形成一个提示 ρ,默认情况下 ρ = Γ(x1; y1) ⊕ · · · ⊕ Γ(xn; yn)。在测试时,我们将提示 ρ 与 τ = "Article: <test sentence>. Answer: " 连接起来,并将其输入到一个大型语言模型 M 中。预测的类别由以下方式给出:

其中 M(yjρ ⊕ τ ) 表示由LLM预测的概率,并且这个概率被归一化以适应任务。我们用 ^P(x) := fp^(yjρ ⊕ τ )jy 2 Yg 来表示预测分布。在本文中,我们专注于评估由演示引起的不稳定性,并且我们按照先前的工作 [18] 固定提示模板。

3.2 少样本提示的稳定性

        正如先前研究所示,少样本提示技术对多种因素高度敏感,包括演示的选择和顺序[4, 18]。在本研究中,我们进一步深入探讨了少样本提示的稳定性,特别是关注Meta最近发布的LLaMA系列[19]。此外,我们还评估了使用当前最先进方法[12, 15]进行校准的LLaMA模型的稳定性。
        为了阐明演示选择的影响,我们为每个不同的种子选择了四个演示,并为每个组合随机采样了一个顺序。随后,我们以箱型图的形式展示了AGNews上的性能,该图基于五个数字摘要(最小值、第一四分位数[Q1]、中位数、第三四分位数[Q3]和最大值)显示数据分布。如图1(a)(b)所示,准确度在不同的演示之间表现出显著的可变性。

 图1:ICL由于演示选择和顺序的高度变化而具有高度不稳定性,即使在进行后校准时也是如此。 

        为了调查排列的影响,我们检查了四个固定演示的所有可能排列,产生了4!个不同的候选。图1(c)(d)也揭示了高度的可变性。虽然后校准有助于减轻不稳定性,但重要的是要注意即使在校准之后,模型仍然敏感。这一发现强调了精心选择演示的重要性。在随后的实验中,我们发现我们的方法可以用来进一步提高校准模型的性能。

3.3 ICL的预测偏差 

        正如前面讨论的那样,ICL的性能受到演示、排列和选择等各种因素的显著影响(参见附录A.4了解更多信息)。因此,设计一种有效的方法来构建具有接近最优性能的适当提示,是为各种下游任务部署LLM的关键一步。如引言所述,许多研究旨在优化ICL中的提示语。本文通过预测偏差的视角进一步研究了这一问题,预测偏差指的是目标类别之间的差异。为了实现这一目标,我们首先引入了一种有效的技术来评估给定提示的固有预测偏差,并从先前的工作中获得灵感[18]。我们构建了一个与训练集无关的度量来衡量预测偏差,方法如下:首先,我们将提供的提示与“无语义”的测试样本信息(例如,“[N/ a]”,用η表示)合并,得到LLM对该样本的预测分布。理想情况下,预测分布应该近似于均匀分布,因为测试样本缺乏语义信息。在本文中,我们使用熵作为预测偏差的度量,定义为: 

 

        以前的研究已经利用这个度量来校准模型的输出。在本文中,我们对预测偏差和整体表现之间的关系进行了全面的检查。具体来说,在具有四个训练样本的场景中(由于枚举较大数量的所有提示案例的耗时性质),我们枚举各种数据集和llm的演示的所有可能组合和排列。随后,我们根据公平性降序排列所有候选者,其中“索引0”表示公平性最高的提示。我们使用五种不同的种子进行实验,产生包含不同演示的训练集,同时保持种子为0的测试样本。图2显示了不同模型的结果,揭示了模型的性能与公平性得分之间的强相关性(即更公平的提示产生更好的性能)。被称为“Oracle”的红星表示最佳平均性能,它始终与更高的公平性相关。这一观察结果提示我们通过识别最公平的提示来提高ICL性能。然而,发现最公平的演示组合被证明是一项艰巨的挑战,因为存在PN k=1 C k N k!不同的候选人。随着训练集规模的增加,这个任务变得棘手。为了解决这个问题,我们提出了两种有效的策略,以便在随后的部分中近似最合适的演示。

4 最公平的提示搜索 

        基于上述观察,我们提出了两种旨在识别最公平提示的策略,这些策略已经通过实证证明能够实现更优越的性能。让我们考虑一个包含n个样本的训练集S;这些搜索策略的目标是从训练集中选择一个样本子集,并以特定的顺序构建上下文,以优化等式2中的公平性标准。
        在理想情况下,我们会考虑演示选择和顺序排列的因素,通过检查PN k=1 Ck N k!个不同的候选,这枚举了所有可能的情况。在这里,k代表选择的演示数量,C表示组合函数。
        然而,评估每个候选是不切实际的,当N=8时,产生的候选数量超过106个。在本文中,我们引入了两种搜索策略来降低计算成本:T-fair-Prompting和G-fair-Prompting。T-fair-Prompting策略将复杂度从Θ(PN k=1 Ck N k!)降低到Θ(N),但其性能取决于k的选择,并且当选择了不合适的k值时可能会不稳定。因此,我们提出了另一种贪心搜索策略,称为G-fair-Prompting,它将复杂度降低到O(N2)并提供对oracle解决方案的更优近似。图8可视化了不同训练集大小下的计算成本。

4.1 T-fair-Prompting 

 

       T-fair-Prompting的中心思想是建立在启发式理解的基础上的,即最公平的提示通常由个体偏见减少的示范样本组成。因此, T-fair-Prompting通过一个两阶段的过程构造提示。最初,当使用个别演示制定提示时,评估预测偏差。随后,选择最公平的k个示范并使用来提示法学硕士。值得注意的是,根据先前的研究[18],更公平的证明可能位于序列的末尾,因为生成更受近似证明的影响。算法1给出了该过程的全面描述,图3给出了可视化表示。具体来说,当k等于训练集的大小时,该方法降级为搜索演示的最优顺序。然而,t -公平提示在很大程度上依赖于k的选择值。更重要的是,t -公平提示通过纯粹的局部视角来解决这个问题,从而忽略了从全局角度考虑问题,这通常会导致次优结果。因此,我们随后引入了g公平提示方法,该方法以局部到全局的方式运行,如下所述。 

4.2 G-fair-Prompting 

        G-fair-Prompting算法遵循贪心搜索的标准程序,该程序通过在每一阶段做出局部最优选择来寻求最优解。在算法的每一步中,所选择的演示是使得更新后的提示达到最高公平性分数的那个。这种策略平衡了搜索质量与最坏情况时间复杂度。通过接受增加到O(N^2)的最坏情况时间复杂度,搜索质量显著提高。重要的是要注意,G-fair-Prompting算法是从局部到全局的视角进行操作的,如算法所示。在初始阶段,考虑了单个样本的偏差,而后期阶段则专注于减少全局预测偏差。具体来说,在每一步中,我们从剩余的演示集S_0中插入一个新的演示Γ(xi; yi)到当前上下文ρ的开头(确保演示不重复),并选择最大化公平性改进的演示。正式地说,在算法2的第9步中,插入的演示应满足以下标准:
 

5 实验 

5.1 实验设置 

        模型。有大量可用的llm(附录a .2),包括开源模型和黑盒云API。最近,Meta发布了他们强大的预训练大语言模型LLaMA。具有13B参数的LLaMA模型与具有更大模型尺寸的BLOOM和GPT-3相比,可以达到相当的性能。在本文中,我们对不同规模的BLOOM (176B)和LLaMA模型的有效性进行了评估。由于oepnai严格限制API进入某些区域,我们在实验中选择了LLaMA (65B)作为GPT-3的替代品。


        数据集。我们在不同的文本分类数据集[21]上进行了实验,分别是SST-2、AGNews、CoLA、TREC和RTE。此外,LLaMA的最大输入长度为512,RTE中的句子对于LLaMA来说太长了。表1提供了任务描述和统计信息。

5.2 结果 

        我们进行了不同设置下的实验,并报告了五次运行的结果。我们将我们的方法与Zhang等人提出的多样性引导搜索策略[12](全球视角)和Liu等人提出的相似性引导搜索策略[15](局部视角)进行了比较。请注意,基于局部视角的方法是耗时的,因为它们需要为每个测试示例搜索不同的演示。表2显示了不同策略的性能,其中“随机”表示枚举所有情况下的平均准确度,“多样性”和“相似性”分别表示根据多样性和相似性选择演示。对于每个数据集,我们将训练集的大小设置为4。“多样性”和“相似性”从16个演示中选择4个,因为它们需要更多的候选。基准计算昂贵,因为在BLOOM上的RTE中对4个演示进行所有候选的枚举将需要超过120个NVIDIA A100 GPU小时。我们在不同模型上的训练集上枚举了所有候选,如图2所示。参数小于13B的模型的结果显示在表5中(即GPT2-XL (1.5B),LLaMA (7B)和LLaMA (13B))。

  • G-fair-Prompting可以达到枚举的近似。为了评估G-fair-Prompting(贪心)方法是否可以近似枚举所有候选的最佳性能,我们用绿色五角星标记了G-fair-Prompting的性能(代表与G-fair-Prompting在线上平均准确度最接近的值)。我们发现G-fair-Prompting可以实现非常接近枚举的近似。如图2所示,G-fair-Prompting搜索的大多数提示达到了前20%的排名,在BLOOM (176B)上,G-fair-Prompting几乎找到了最公平的提示。
  • G-fair-Prompting优于T-fair-Prompting。如表2所示,尽管T-fair-Prompting与随机选择相比实现了更好的性能,但G-fair-Prompting始终优于T-fair-Prompting。此外,Top-2在大多数情况下(超过5%)显著优于Top-4,表明选择的演示数量至关重要。总体而言,结果表明G-fair-Prompting仅以轻微的额外成本就实现了满意的性能。
  • 与SOTA方法比较。我们将我们的方法与几种最先进的(SOTA)方法进行了比较,包括多样性引导和相似性引导技术。我们观察到,在大多数情况下,我们的贪婪方法优于大多数SOTA方法,并且在数据集TREC上观察到超过10%的改进。另一方面,相似度引导方法在主题分类任务(AGNews)上取得了最好的性能。 

        这是因为它基于训练样本嵌入和测试示例之间的距离,为每个不同的测试示例搜索独特的提示。这种策略选择标签与测试样本相同的演示,而语言模型(LLMs)倾向于预测总是出现在上下文中的标签的偏见预测。然而,当相似性引导方法应用于其他任务时,可能会显得不足。具体来说,与随机选择相比,相似性引导策略在QC和可接受性任务中的性能较低。此外,当模型对任务的敏感性不是立即显现时,G-fair-Prompting方法偶尔也会失灵,正如在BLOOM上的可接受性任务中所观察到的(如图4所示)。请注意,与之比较的方法的训练集大小是我们的4倍。

 

  • 与校准方法的比较。后校正[18],在大多数情况下可以提高给定提示的准确性。但是,当选择的提示符质量较差时,即使经过校准,性能仍可能不足。我们比较了随机选择和校准的g -fair- prompt的性能(对所有候选者的平均值),发现g -fair- prompt在大多数情况下都优于校准的随机选择。例如,在主题分类任务上,g -fair- prompts在大多数模型上都达到了最佳性能。此外,我们发现后校正会损害模型的性能,并且这种情况发生的次数很多,因此直接操纵模型的概率对模型性能的影响值得重新考虑。 

 

        后校准[18]可以提高某个提示符的准确性(大多数情况下),但当所选提示符很差时,即使校准后性能仍然很差。我们进行了实验(表3)来比较g -fair- prompt和随机选择与校准的性能(“Average”和“Worst”表示在所有训练样例排列上的平均准确度和最差性能),并观察到g -fair- prompt在大多数情况下优于随机选择与校准。例如,在CoLA上,g -fair- prompt在大多数车型上表现优异。此外,我们发现在许多情况下,后校准可能会对模型的性能产生负面影响,而有时甚至在选定的提示上也可以显着提高性能,例如,在BLOOM-TREC上观察到10%的改进。因此,重新考虑直接操纵模型概率的影响是至关重要的。

6 结论 

        在本文中,我们重新审视了大型语言模型跨提示的敏感性,并从预测偏差的角度分析了这一问题。因此,我们采用“无内容”策略作为公平性度量来评估固定提示的预测偏差,并表明模型的性能与公平性高度一致。然后,我们提出了在原始空间中搜索最公平提示符的两种策略。我们对当前著名的法学硕士进行了大量的实验,并验证了所提出策略的有效性。此外,除了本文采用的公平性之外,未来还会有更多针对不同场景的提示搜索指标。 

 

 

 

 

 

 

 

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

熵权法计算评价指标权重——使用Excel VBA实现

[ 熵权法 ] 信息是系统有序程度的一个度量&#xff0c;熵是系统无序程度的一个度量&#xff1b;根据信息熵的定义&#xff0c;对于某项指标&#xff0c;可以用熵值来判断某个指标的离散程度&#xff0c;其信息熵值越小&#xff0c;指标的离散程度越大&#xff0c; 该指标对综合…

科研绘图系列:R语言绘制SCI文章图2

文章目录 介绍加载R包导入数据图a图b图d系统信息介绍 文章提供了绘制图a,图b和图d的数据和代码 加载R包 library(ggplot2) library(dplyr) library(readxl) library(ggpmisc)导入数据 数据可从以下链接下载(画图所需要的所有数据): 百度网盘下载链接: https://pan.baid…

遍历有向图链路(DFS算法)- 优化版

在上一节基础上&#xff0c;去除了节点的pre集合&#xff0c;只保留节点next的结合&#xff0c;对数据模型进行了优化&#xff0c;实现思想做了优化。 有向图示例&#xff1a; 基本思路 构建有向图数据模型校验有向图不能出现回路&#xff0c;即当前节点不能出现在历史链路中首…

股指期货的杠杆是怎么体现和使用的?

股指期货的杠杆效应是通过保证金交易实现的。投资者只需支付合约价值的一小部分作为保证金&#xff0c;即可控制整个合约的价值。例如&#xff0c;如果一个股指期货合约的价值为100,000元&#xff0c;而保证金比例为10%&#xff0c;那么投资者只需支付10,000元即可控制这个合约…

SpringBoot教程(二十四) | SpringBoot实现分布式定时任务之Quartz(基础)

SpringBoot教程&#xff08;二十四&#xff09; | SpringBoot实现分布式定时任务之Quartz&#xff08;基础&#xff09; 简介适用场景Quartz核心概念Quartz 存储方式Quartz 版本类型引入相关依赖开始集成方式一&#xff1a;内存方式(MEMORY)存储实现定时任务1. 定义任务类2. 定…

从commit校验失效问题探究husky原理

一、背景 之前创建的项目&#xff0c;发现代码 commit 提交的时候没有了任何校验&#xff0c;具体表现&#xff1a; 一是 feat fix 等主题格式校验没有了二是代码 lint 不通过也能提交 尝试解决这个问题&#xff0c;并深入了解husky的实现原理&#xff0c;将相关的一些知识点…

【Vue】Vue扫盲(三)计算属性和监听器

【Vue】Vue扫盲&#xff08;一&#xff09;事件标签、事件修饰符&#xff1a;click.prevent click.stop click.stop.prevent、按键修饰符、及常用指令 【Vue】Vue扫盲&#xff08;二&#xff09;指令&#xff1a;v-for 、v-if、v-else-if、v-else、v-show 文章目录 1、 计算属…

用FPGA做一个全画幅无反相机

做一个 FPGA 驱动的全画幅无反光镜数码相机是不是觉得很酷&#xff1f; 就是上图这样。 Sitina 一款开源 35 毫米全画幅 (3624 毫米) CCD 无反光镜可换镜头相机 (MILC)&#xff0c;这个项目最初的目标是打造一款数码相机&#xff0c;将 SLR [单镜头反光] 相机转换为 DSLR [数码…

Spring事务的1道面试题

每次聊起Spring事务&#xff0c;好像很熟悉&#xff0c;又好像很陌生。本篇通过一道面试题和一些实践&#xff0c;来拆解几个Spring事务的常见坑点。 原理 Spring事务的原理是&#xff1a;通过AOP切面的方式实现的&#xff0c;也就是通过代理模式去实现事务增强。 具体过程是…

【3dgs】总结3DGS与NeRF如何重塑SLAM24年4月最新进展

【3dgs】总结3DGS与NeRF如何重塑SLAM&#xff01; 1. 摘要2. 简洁3. 背景3.1 Existing SLAM Surveys3.2 progress in Radiance Field Theory3.3.1 NeRF3.3.2 3dgs3.4 数据集 4 数据集4.1 SLAM3.1 RGB-D SLAM方法3.1.1 基于NeRF风格的RGB-D SLAM3.1.2 基于3DGS风格的 RGB-D SLAM…

opencv的相机标定与姿态解算

首先我们要知道四个重要的坐标系 世界坐标系相机坐标系图像成像坐标系图像像素坐标系 坐标系之间的转换 世界坐标系——相机坐标系 从世界坐标系到相机坐标系&#xff0c;涉及到旋转和平移&#xff08;其实所有的运动也可以用旋转矩阵和平移向量来描述&#xff09;。绕着不…

Python编程:创意爱心表白代码集

在寻找一种特别的方式来表达你的爱意吗&#xff1f;使用Python编程&#xff0c;你可以创造出独一无二的爱心图案&#xff0c;为你的表白增添一份特别的浪漫。这里为你精选了六种不同风格的爱心表白代码&#xff0c;让你的创意和情感通过代码展现出来。 话不多说&#xff0c;咱…

C++开发五子棋游戏案例详解

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

MSYS2+GCC 安装与应用保姆手册

msys2 提供可在Windows下使用 GCC 编译器&#xff1b;并且&#xff0c;借助 Linux 包管理功能&#xff0c;可轻松下载丰富的可在Windows下直接使用的 C/C 开发包&#xff0c;包括编译好的二进制包。 网络库asio、准标准库boost、zip解压缩、json格式处理、引擎 SDL……十八般兵…

图片美化SDK解决方案,赋能H5与小程序极致体验

无论是社交媒体分享、电商产品展示&#xff0c;还是个人日常生活的记录&#xff0c;一张经过精心美化的图片总能瞬间吸引眼球&#xff0c;传递出更加丰富和动人的信息。如何在不增加应用体积、不牺牲用户体验的前提下&#xff0c;为H5页面和小程序提供媲美原生APP的图片美化功能…

前端高频面试题2024/9/22(偏项目问题--通用后台管理系统)

文章目录 一.前端项目概述1.系统登录注册模块1.对注册的密码进行加密 &#xff08;使用加密中间件bcrypt.js&#xff09;2.登录成功后返回token3.前端登录页面有用到弹性布局&#xff0c;ref和reactive4.登录头像&#xff1a;文件上传 2.系统设置模块2.系统首页模块&#xff08…

Unity 从零开始的框架搭建1-2 事件的发布-订阅-取消的小优化及调用对象方法总结[半干货]

该文章专栏是向QFrameWork作者凉鞋老师学习总结得来&#xff0c;吃水不忘打井人&#xff0c;不胜感激 Unity 从零开始的框架搭建1-1 unity中对象调用的三种方式的优缺点分析【干货】-CSDN博客 原来 其实就是对上一节的事件发布订阅类的小优化&#xff0c;原来是这样子的 p…

【SEO】什么是SEO?

什么是SEO&#xff08;搜索引擎优化&#xff09;&#xff1f;为什么SEO对于⼀个⽹站⾄关重要&#xff1f; SEO 全称是搜索引擎优化&#xff08;Search Engine Optimization&#xff09; 因为我们目前开发的网址&#xff0c;需要人看到&#xff0c;除了通过宣传营销的方式展现…

计算机毕业设计 校内跑腿业务系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

Qt操作主/从视图及XML——实例:汽车管理系统

目录 1. 主界面布局2.连接数据库3.主/从视图应用 1. 主界面布局 先创建一个QMainwindow&#xff0c;不带设计界面 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QGroupBox> #include <QTableView> #include <QListWidg…