《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》全文翻译

news2024/11/29 2:27:24

《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》- Chain-of-Thought Prompting Elicits Reasoning in Large Language Models

  • 论文信息
  • 摘要
  • 1. 介绍
  • 2. 思维链提示
  • 3. 算术推理
    • 3.1 实验设置
    • 3.2 结果
    • 3.3 消融研究
    • 3.4 思想链的稳健性
  • 4. 常识推理
  • 5. 符号推理
  • 6. 讨论
  • 7. 相关工作
  • 8. 结论

论文信息

  • 题目:《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》
  • 作者:Jason Wei and et al.
  • 会议:NeurlPS 2022
  • 内容概述:论文探索如何生成一个思想链(一系列中间推理步骤)来显着提高大型语言模型执行复杂推理的能力。

摘要

我们探索生成一条思想链(一系列中间推理步骤)如何显着提高大型语言模型执行复杂推理的能力。特别是,我们展示了这种推理能力如何通过一种称为思维链提示的简单方法在足够大的语言模型中自然出现,其中提供了一些思维链演示作为提示的范例。

对三种大型语言模型的实验表明,思维链提示可以提高一系列算术、常识和符号推理任务的表现。经验收益可能是惊人的。例如,仅用八个思维链示例来提示 PaLM 540B,即可在数学应用题的 GSM8K 基准上达到最先进的精度,甚至超过带有验证器的微调 GPT-3。

1. 介绍

NLP 领域最近因语言模型而发生了革命性的变化(Peters 等人,2018 年;Devlin 等人,2019 年;Brown 等人,2020 年等)。事实证明,扩大语言模型的规模可以带来一系列好处,例如提高性能和样本效率(Kaplan 等人,2020 年;Brown 等人,2020 年等)。然而,事实证明,仅扩大模型大小不足以在算术、常识和符号推理等具有挑战性的任务上实现高性能(Rae 等人,2021)。

这项工作探讨了如何通过两个想法激发的简单方法来解锁大型语言模型的推理能力。首先,算术推理技术可以受益于生成导致最终答案的自然语言原理。除了使用形式语言的神经符号方法之外,先前的工作还使模型能够通过从头开始训练(Ling 等人,2017 年)或微调预训练模型(Cobbe 等人,2021 年)来生成自然语言中间步骤而不是自然语言(Roy 和 Roth,2015;Chiang 和 Chen,2019;Amini 等人,2019;Chen 等人,2019)。其次,大型语言模型提供了通过提示进行上下文中的小样本学习的令人兴奋的前景。也就是说,不必为每个新任务微调单独的语言模型检查点,而是可以简单地用一些演示该任务的输入输出示例来“提示”模型。值得注意的是,这对于一系列简单的问答任务来说是成功的(Brown 等人,2020)。

然而,上述两种想法都有关键的局限性。对于原理增强训练和微调方法来说,创建大量高质量原理的成本很高,这比普通机器学习中使用的简单输入输出对要复杂得多。对于 Brown 等人使用的传统的少镜头提示方法。 (2020),它在需要推理能力的任务上表现不佳,并且通常不会随着语言模型规模的增加而得到实质性改善 (Rae et al., 2021)。在本文中,我们将这两种想法的优点结合起来,避免了它们的局限性。具体来说,我们探索语言模型在推理任务中执行少量提示的能力,给出由三元组组成的提示:<输入,思想链,输出>。思维链是一系列导致最终输出的中间自然语言推理步骤,我们将这种方法称为思维链提示。图 1 显示了示例提示。
在这里插入图片描述
我们对算术、常识和符号推理基准进行了实证评估,表明思维链提示优于标准提示,有时甚至达到了惊人的程度。图 2 展示了这样一个结果:在数学应用题的 GSM8K 基准上(Cobbe 等人,2021),PaLM 540B 的思维链提示大大优于标准提示,并实现了新的最先进水平表现。仅提示方法很重要,因为它不需要大型训练数据集,并且单个模型检查点可以执行许多任务而不失通用性。这项工作强调了大型语言模型如何通过一些带有有关任务的自然语言数据的示例来学习(参见通过大型训练数据集自动学习输入和输出背后的模式)。

2. 思维链提示

在解决复杂的推理任务(例如多步骤数学应用题)时,请考虑自己的思维过程。通常将问题分解为中间步骤并在给出最终答案之前解决每个步骤:“Jane 给了她妈妈 2 朵花后,她有 10 朵……” 。 。那么当她给她爸爸 3 后,她将得到 7 。 。 。所以答案是7。”本文的目标是赋予语言模型生成类似思维链的能力——一系列连贯的中间推理步骤,从而得出问题的最终答案。我们将证明,如果在小样本提示的范例中提供了思想链推理的演示,那么足够大的语言模型可以生成思想链。
在这里插入图片描述

图 1:思维链提示使大型语言模型能够处理复杂的算术、常识和符号推理任务。强调了思维链推理过程。

图 1 显示了一个模型示例,该模型产生了解决数学应用题的一系列思路,否则该模型可能会出错。在这种情况下,思想链类似于一个解决方案,可以解释为一个解决方案,但我们仍然选择将其称为思想链,以更好地捕捉这样的想法:它模仿了一步一步的思维过程来得出答案(并且此外,解决方案/解释通常出现在最终答案之后(Narang 等人,2020 年;Wiegreffe 等人,2022 年;Lampinen 等人,2022 年等)。

作为促进语言模型推理的方法,思维链提示具有几个有吸引力的特性。

  • 首先,思想链原则上允许模型将多步骤问题分解为中间步骤,这意味着额外的计算可以分配给需要更多推理步骤的问题。
  • 其次,思想链为模型的行为提供了一个可解释的窗口,表明模型如何得出特定的答案,并提供调试推理路径出错的地方的机会(尽管充分描述了支持模型的计算的特征)答案仍然是一个悬而未决的问题)。
  • 第三,思想链推理可用于数学应用题、常识推理和符号操作等任务,并且可能适用于(至少原则上)人类可以通过语言解决的任何任务。
  • 最后,只需将思维链序列的示例包含到少样本提示的范例中,就可以在足够大的现成语言模型中轻松引发思维链推理。

在实证实验中,我们将观察思维链提示对于算术推理(第 3 节)、常识推理(第 4 节)和符号推理(第 5 节)的效用。

3. 算术推理

我们首先考虑图 1 中形式的数学应用题,它衡量语言模型的算术推理能力。虽然算术推理对人类来说很简单,但语言模型经常难以完成算术推理任务(Hendrycks 等人,2021 年;Patel 等人,2021 年等)。引人注目的是,与 540B 参数语言模型一起使用时的思想链提示在多项任务上的表现与特定于任务的微调模型相当,甚至在具有挑战性的 GSM8K 基准测试中达到了新的最先进水平(Cobbe 等人,2021)。

3.1 实验设置

在这里插入图片描述

图 3:算术、常识和符号推理基准的<输入、思维链、输出>三元组示例。思想链被突出显示。完整提示见附录 G。

我们在多个基准上探索各种语言模型的思维链提示。

基准。我们考虑以下五个数学应用题基准:(1) 数学应用题的 GSM8K 基准 (Cobbe et al., 2021),(2) 具有不同结构的数学应用题的 SVAMP 数据集 (Patel et al., 2021) ,(3) 各种数学应用题的 ASDiv 数据集(Miao 等人,2020),(4) 代数应用题的 AQuA 数据集,以及 (5) MAWPS 基准(Koncel-Kedziorski 等人,2016)。附录表 12 中给出了示例问题。

标准提示。对于基线,我们考虑由 Brown 等人推广的标准几次提示。 (2020),其中在输出测试时示例的预测之前,给定语言模型输入输出对的上下文样本。范例的格式为问题和答案。模型直接给出了答案,如图 1)所示。

思想链提示。我们提出的方法是通过一系列相关答案的思路来增强几次提示中的每个样本,如图 1)所示。由于大多数数据集只有评估分割,我们手动组合了一组八个小样本样本,并带有提示的思维链——图 1)显示了一个思维链样本,完整的样本集在附录表 20。(这些特定范例没有经过提示工程;稳健性在第 3.4 节和附录 A.2 中进行了研究。)为了研究这种形式的思维链提示是否能够成功地在一系列数学应用题中引出成功的推理,我们对除 AQuA 之外的所有基准测试使用了这套八个思维链范例,AQuA 是多项选择而不是自由回答 。对于 AQuA,我们使用了训练集中的四个示例和解决方案,如附录表21中所示。

语言模型。我们评估了五个大型语言模型。第一个是 GPT-3 (Brown et al., 2020),我们使用 text-ada-001、text-babbage-001、text-curie-001 和 text-davinci-002,它们大概对应于 InstructGPT 模型350M、1.3B、6.7B 和 175B 参数的模型(Ouyang et al., 2022)。第二个是 LaMDA(Thoppilan et al., 2022),它有 422M、2B、8B、68B 和 137B 参数的模型。第三个是PaLM,有8B、62B、540B参数的模型。第四个是 UL2 20B(Tay 等人,2022),第五个是 Codex(Chen 等人,2021,OpenAI API 中的 code-davinci-002)。我们通过贪婪解码从模型中进行采样(尽管后续工作表明,可以通过在许多采样代中采用大多数最终答案来改进思想链提示(Wang 等人,2022a))。对于 LaMDA,我们报告了五个随机种子的平均结果,其中每个种子都有不同的随机洗牌顺序的样本。由于 LaMDA 实验并未显示不同种子之间存在较大差异,为了节省计算量,我们报告所有其他模型的单个示例顺序的结果。

3.2 结果

在这里插入图片描述

图 4:思维链提示使大型语言模型能够解决具有挑战性的数学问题。值得注意的是,思想链推理是增加模型规模的一种新兴能力。之前的最佳数据来自 Cobbe 等人。 (2021) 对于 GSM8K,Jie 等人。 (2022) SVAMP,以及 Lan 等人。 (2021) 为 MAWPS。

图 4 总结了思想链提示的最强结果,每个模型集合、模型大小和基准的所有实验输出如附录中的表 2 所示。有三个关键要点。首先,图4表明,思维链提示是模型规模的一种涌现能力(Wei et al., 2022b)。也就是说,思想链提示不会对小型模型的性能产生积极影响,并且仅在与 ~100B 参数的模型一起使用时才会产生性能增益。我们定性地发现,较小规模的模型会产生流畅但不合逻辑的思维链,导致表现低于标准提示。

其次,思路链提示对于更复杂的问题有更大的性能提升。例如,对于 GSM8K(基线性能最低的数据集),最大的 GPT 和 PaLM 模型的性能提高了一倍以上。另一方面,对于 SingleOp(MAWPS 的最简单子集)来说,只需要一步即可解决,性能改进要么是负面的,要么是非常小的(参见附录表 3)。

第三,通过 GPT-3 175B 和 PaLM 540B 进行的思想链提示优于现有技术,后者通常在标记的训练数据集上微调特定于任务的模型。图 4 显示了 PaLM 540B 如何使用思维链提示在 GSM8K、SVAMP 和 MAWPS 上实现新的技术水平(但请注意,标准提示已经超过了 SVAMP 的先前最佳状态)。在另外两个数据集 AQuA 和 ASDiv 上,具有思维链提示的 PaLM 与现有技术的差距在 2% 以内(附录表 2)。

为了更好地理解为什么思维链提示有效,我们手动检查了 LaMDA 137B for GSM8K 模型生成的思维链。在模型返回正确最终答案的 50 个随机示例中,除了两个巧合地得出正确答案之外,所有生成的思维链在逻辑和数学上都是正确的(参见附录 D.1表 8 的示例)正确的模型生成的思想链)。我们还随机检查了模型给出错误答案的 50 个随机样本。这一分析的总结是,除了小错误(计算器错误、符号映射错误或缺少一个推理步骤)之外,46% 的思维链几乎是正确的,而另外 54% 的思维链则有错误。语义理解或连贯性方面的重大错误(见附录 D.2)。为了深入了解为什么缩放可以提高思路推理能力,我们对 PaLM 62B 所犯的错误进行了类似的分析,以及这些错误是否通过缩放到 PaLM 540B 得到了修复。总结是,将 PaLM 扩展到 540B 修复了 62B 模型中的很大一部分一步缺失和语义理解错误(参见附录 A.1)。

3.3 消融研究

使用思维链提示所观察到的好处自然引发了一个问题:是否可以通过其他类型的提示来实现相同的性能改进。图 5 显示了具有下述三种思路变化的消融研究。
在这里插入图片描述

图 5:使用 LaMDA 137B 和 PaLM 540B 对不同提示形式进行的消融研究。其他数据集的结果在附录表 6 和表 7 中给出。

仅方程式。思维链提示可能有帮助的一个原因是它会产生要评估的数学方程,因此我们测试了一种变体,其中提示模型在给出答案之前仅输出数学方程。图5显示,仅方程提示对GSM8K没有太大帮助,这意味着GSM8K中问题的语义太具有挑战性,无法在没有思维链中的自然语言推理步骤的情况下直接翻译成方程。然而,对于一步或两步问题的数据集,我们发现仅提示方程确实可以提高性能,因为可以很容易地从问题中推导出方程(参见附录表 6)。

仅变量计算。另一个直觉是,思想链允许模型在更困难的问题上花费更多的计算(即中间标记)。为了将变量计算的影响与思想链推理隔离开来,我们测试了一种配置,其中提示模型输出唯一的点序列 (…),该序列等于解决问题所需的方程中的字符数。这个变体的表现与基线大致相同,这表明变量计算本身并不是思想链提示成功的原因,并且通过自然语言表达中间步骤似乎是有用的。

回答后的思考链。思想链提示的另一个潜在好处可能只是这样的提示允许模型更好地访问在预训练期间获得的相关知识。因此,我们测试了另一种配置,其中仅在答案之后给出思维链提示,从而隔离模型是否实际上依赖于产生的思维链来给出最终答案。这个变体的表现与基线大致相同,这表明思想链中体现的顺序推理除了激活知识之外还有其他用途。

3.4 思想链的稳健性

对样本的敏感性是提示方法的一个关键考虑因素 - 例如,改变少样本样本的排列可能会导致 GPT-3 在 SST-2 上的准确性从接近机会 (54.3%) 到接近最先进水平 (54.3%)。 93.4%)(Zhao 等人,2021)。在最后一小节中,我们评估不同注释者编写的思想链的稳健性。除了上面使用注释者 A 编写的思想链的结果之外,本文的另外两位合著者(注释者 B 和 C)独立为相同的少数样本编写了思想链(如附录 H 所示) 。注释者 A 还遵循 Cobbe 等人给出的解决方案风格,写了另一条比原来更简洁的思想链。 (2021)。
在这里插入图片描述

图 6:思想链提示对于不同的提示示例存在差异(如预期),但对于各种注释器以及不同的示例,其表现优于标准提示。

图 6 显示了 LaMDA 137B 在 GSM8K 和 MAWPS 上的这些结果(其他数据集的消融结果在附录表 6/表 7 中给出)。尽管不同的思想链注释之间存在差异,正如使用基于范例的提示时所预期的那样(Le Scao 和 Rush,2021;Reynolds 和 McDonell,2021;Zhao 等人,2021),但所有思想链提示集大幅优于标准基线。这一结果意味着思维链的成功使用并不依赖于特定的语言风格。

为了确认成功的思维链提示适用于其他样本集,我们还对从 GSM8K 训练集(一个独立来源)中随机采样的三组八个样本进行了实验(该数据集中的示例已经包含了像链这样的推理步骤)。图 6 显示这些提示的执行效果与我们手动编写的示例相当,也大大优于标准提示。

除了对注释器、独立编写的思维链、不同范例和各种语言模型的鲁棒性之外,我们还发现算术推理的思维链提示对不同范例顺序和不同数量的范例具有鲁棒性(参见附录A.2)。

4. 常识推理

尽管思维链特别适合数学应用题,但思维链基于语言的性质实际上使其适用于广泛的常识推理问题,其中涉及在一般背景知识的假设下对物理和人类交互的推理。常识推理是与世界互动的关键,但仍然超出了当前自然语言理解系统的能力范围(Talmor 等人,2021)。

基准。我们考虑五个涵盖各种常识推理类型的数据集。流行的 CSQA(Talmor 等人,2019)提出有关世界的常识性问题,涉及复杂的语义,这些语义通常需要先验知识。 StrategyQA(Geva 等人,2021)需要模型推断多跳策略来回答问题。我们从 BIG-bench 工作(BIG-bench 协作,2021)中选择了两个专门的评估集:日期理解,涉及从给定上下文推断日期,以及运动理解,涉及确定与体育相关的句子是否合理或合理。难以置信。最后,SayCan 数据集(Ahn 等人,2022)涉及将自然语言指令映射到离散集中的机器人动作序列。图 3 显示了所有数据集的思想注释链示例。

提示。我们遵循与前一节相同的实验设置。对于 CSQA 和 StrategyQA,我们从训练集中随机选择示例,并手动组成思想链,供它们用作少样本示例。这两个 BIG-bench 任务没有训练集,因此我们选择前 10 个示例作为评估集中的样本,作为少数样本样本并报告评估集其余部分的编号。对于 SayCan,我们使用 Ahn 等人使用的训练集中的六个示例。 (2022)并且还手动组成了思想链。
在这里插入图片描述

图 7:语言模型。这里显示的语言模型是PaLM。先前的最佳数字来自 CSQA(Talmor 等人,2019)和 StrategyQA(Geva 等人,2021)的排行榜(仅限单一模型,截至 2022 年 5 月 5 日)。表 4 显示了使用不同大小的 LaMDA、GPT-3 和 PaLM 的其他结果。

结果图 7 突出显示了 PaLM 的这些结果(LaMDA、GPT-3 和不同模型规模的完整结果如表 4 所示)。对于所有任务,扩大模型大小可以提高标准提示的性能;思想链提示带来了进一步的收益,其中 PaLM 540B 的改进似乎最大。通过思维链提示,PaLM 540B 相对于基线取得了强劲的性能,在 StrategyQA 上超越了现有技术水平(75.6% vs 69.4%),并且在运动理解方面超越了独立运动爱好者(95.4% vs 84%)。这些结果表明,思想链提示还可以提高需要一系列常识推理能力的任务的表现(尽管请注意,在 CSQA 上的收益很小)。

5. 符号推理

我们最终的实验评估考虑了符号推理,这对人类来说很简单,但对语言模型来说可能具有挑战性。我们表明,思维链提示不仅使语言模型能够执行在标准提示设置中具有挑战性的符号推理任务,而且还有助于推理时间输入的长度泛化,比在少数样本中看到的推理时间输入更长。
任务。我们使用以下两个玩具任务。

  • 最后一个字母连接。此任务要求模型连接名称中单词的最后一个字母(例如“Amy Brown”→“yn”)。这是首字母连接的更具挑战性的版本,语言模型已经可以在无需思考的情况下执行该操作。我们通过随机连接姓名普查数据中前一千个名字和姓氏来生成全名(https:// namecensus.com/)。
  • 硬币翻转。此任务要求模型回答人们抛硬币或不抛硬币后硬币是否仍然正面朝上(例如,“硬币正面朝上。菲比抛硬币。奥斯瓦尔多没有抛硬币。硬币是正面朝上吗?”还抬头吗?”→“不”)。

由于这些符号推理任务的构造是明确定义的,对于每个任务,我们考虑一个域内测试集,其中示例的步骤数与训练/少样本示例相同,以及一个域外测试集。域(OOD)测试集,其评估示例的步骤比范例中的步骤更多。对于最后一个字母串联,模型仅看到具有两个单词的名称的示例,然后对具有 3 个和 4 个单词的名称执行最后一个字母串联。我们对抛硬币任务中潜在的抛掷次数执行相同的操作。我们的实验设置使用与前两节相同的方法和模型。我们再次为每个任务的少数样本手动构建思想链,如图 3 所示。

结果。 LaMDA 的结果如附录表 5 所示。使用 PaLM 540B,思维链提示可实现几乎 100% 的解决率(请注意,标准提示已使用 PaLM 540 解决了抛硬币问题,但 LaMDA 137B 则不然)。请注意,这些域内评估是“玩具任务”,因为在少数样本中的思想链已经提供了完美的解决方案结构;模型所要做的就是使用测试时示例中的新符号重复相同的步骤。然而,小模型仍然会失败——对这三个任务的看不见的符号执行抽象操作的能力只有在 100B 模型参数的规模上才会出现。

对于 OOD 评估,标准提示对于这两项任务均失败。通过思想链提示,语言模型实现了向上的缩放曲线(尽管性能低于域内设置)。因此,思维链提示促进了长度泛化,超出了足够规模的语言模型的可见思维链。

6. 讨论

我们探索了思维链提示作为在大型语言模型中引发多步骤推理行为的简单机制。我们首先看到思想链提示极大地提高了算术推理的性能,产生的改进比消融更强,并且对不同的注释器、范例和语言模型具有鲁棒性(第 3 节)。接下来,常识推理实验强调了思想链推理的语言性质如何使其普遍适用(第 4 节)。最后,我们表明,对于符号推理,思维链提示有助于 OOD 泛化到更长的序列长度(第 5 节)。在所有实验中,思想链推理都是通过提示现成的语言模型来引发的。在撰写本文的过程中没有对语言模型进行微调。

模型规模导致的思想链推理的出现一直是一个流行的主题(Wei 等人,2022b)。对于许多标准提示具有平坦缩放曲线的推理任务,思维链提示会导致缩放曲线显着增加。思想链提示似乎扩展了大型语言模型可以成功执行的任务集,换句话说,我们的工作强调标准提示仅提供大型语言模型功能的下限。这一观察结果可能提出的问题多于它给出的答案,例如,随着模型规模的进一步增加,我们可以期望推理能力提高多少?还有哪些其他提示方法可以扩大语言模型可以解决的任务范围?

至于局限性,我们首先限定,虽然思维链模拟了人类推理者的思维过程,但这并不能回答神经网络是否真的在“推理”,我们将其作为一个悬而未决的问题。其次,尽管在少样本设置中用思想链手动增强样本的成本是最小的,但这种注释成本可能会阻碍微调(尽管这可能可以通过合成数据生成或零样本泛化来克服)。第三,无法保证正确的推理路径,这可能会导致正确答案和错误答案;改进语言模型的事实生成是未来工作的一个开放方向(Rashkin 等人,2021 年;Ye 和 Durrett,2022 年;Wiegreffe 等人,2022 年等)。最后,思想链推理仅在大型模型规模上出现,这使得在现实世界的应用中提供服务的成本高昂;进一步的研究可以探索如何在较小的模型中引发推理。

7. 相关工作

这项工作受到许多研究领域的启发,我们在扩展的相关工作部分(附录 C)中详细介绍了这些领域。在这里,我们描述了两个可能最相关的方向和相关论文。

第一个相关方向是使用中间步骤来解决推理问题。凌等人。 (2017)开创了使用自然语言原理通过一系列中间步骤解决数学应用问题的想法。他们的工作与使用形式语言进行推理的文献形成了鲜明对比(Roy 等人,2015;Chiang 和 Chen,2019;Amini 等人,2019;Chen 等人,2019)。科布等人。 (2021)扩展 Ling 等人。 (2017)通过创建更大的数据集并使用它来微调预训练的语言模型,而不是从头开始训练模型。在程序综合领域,Nye 等人。 (2021) 利用语言模型通过首先逐行预测中间计算结果来预测 Python 程序的最终输出,并表明他们的逐步预测方法比直接预测最终输出表现得更好。

当然,本文也与近期大量有关提示的工作密切相关。自从布朗等人提出的几次提示的普及以来。 (2020),一些通用方法提高了模型的提示能力,例如自动学习提示(Lester et al., 2021)或给予模型描述任务的指令(Wei et al., 2022a; Sanh et al., 2022;欧阳等人,2022)。尽管这些方法改进或增强了提示的输入部分(例如,添加到输入之前的指令),但我们的工作采取正交方向,通过一系列思想来增强语言模型的输出。

8. 结论

我们探索了思维链提示作为一种简单且广泛适用的增强语言模型推理的方法。通过算术、符号和常识推理的实验,我们发现思想链推理是模型规模的一个新兴属性,它允许足够大的语言模型执行原本具有平坦缩放曲线的推理任务。扩大语言模型可以执行的推理任务的范围有望激发基于语言的推理方法的进一步研究。

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

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

相关文章

花见Live Wallpaper Themes 4K Pro for mac(4k视频壁纸)

如果你希望让自己的Mac桌面焕发活力&#xff0c;那么Live Wallpaper & Themes 4K Pro正是一款值得尝试的软件。它提供了丰富的超高清4K动态壁纸和主题&#xff0c;可以让你轻松打造出个性化的桌面环境。 这款软件拥有众多令人惊叹的功能。其中最值得一提的是&#xff0c;它…

项目经验分享|openGauss 刘昱娴:对未知葆有好奇与坚持

开源之夏 项目经验分享 2023 #02 # 项目基本信息 项目名称&#xff1a;分页器组件封装 项目导师&#xff1a;王杏 项目简述与产出要求&#xff1a;分页器组件封装 1. 完成分页器组件封装&#xff1b;支持移动端和pc端 2. 适配Chrome、Safari、Firefox、Edge 等主流浏览器…

分类预测 | MATLAB实现PCA-BiLSTM(主成分双向长短期记忆神经网络)分类预测

分类预测 | MATLAB实现PCA-BiLSTM(主成分双向长短期记忆神经网络)分类预测 目录 分类预测 | MATLAB实现PCA-BiLSTM(主成分双向长短期记忆神经网络)分类预测预测效果基本介绍程序设计参考资料致谢 预测效果 基本介绍 分类预测 | MATLAB实现PCA-BiLSTM(主成分双向长短期记忆神经网…

系列三、Linux中安装Nginx

一、准备工作 1.1、确保gcc安装成功 如果没有安装gcc执行./configure将会报错。 # 使用如下指令安装gcc&#xff1a;两个都要安装 yum -y install gcc yum -y install gcc-c 1.2、下载nginx1.12.2 http://nginx.org/en/download.html 1.3、下载pcre-8.3.7.tar.gz 1.3.…

Qt应用程序连接达梦数据库-飞腾PC麒麟V10

目录 前言1 安装ODBC1.1 下载unixODBC源码1.2 编译安装1.4 测试 2 编译QODBC2.1 修改 qsqldriverbase.pri 文件2.2 修改 odbc.pro 文件2.3 编译并安装QODBC 3 Qt应用程序连接达梦数据库测试4 优化ODBC配置&#xff0c;方便程序部署4.1 修改pro文件&#xff0c;增加DESTDIR 变量…

C++ std::pair and std::list \ std::array

std::pair<第一个数据类型, 第二个数据类型> 变量名 例如&#xff1a; std::pair<int, string> myPair; myPair.first;拿到第一个int变量 myPair.second拿到第二个string变量 std::pair需要引入库#include "utility" std::make_pair() 功能制作一个…

STM32——串口通信(总结)

文章目录 串行通信概述&#xff1a;串行通信的基本原理和特点常见的串行通信标准和协议&#xff1a; 串口硬件接口&#xff1a;串口接口的特点包括&#xff1a;串口的物理接口和连接方式。串口引脚功能和作用。 串口通信参数&#xff1a;波特率&#xff08;Baud Rate&#xff0…

OJ练习第166题——课程表(拓扑排序问题)

课程表 力扣链接&#xff1a;207. 课程表 题目描述 你这个学期必须选修 numCourses 门课程&#xff0c;记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出&#xff0c;其中 prerequisites[i] [ai, bi] &#xff0c;表…

source insight keil 中文乱码

1. 乱码的根本原因就是编码的方式太多了&#xff0c;你用这种编码&#xff0c;他用那种编码&#xff0c;就变成鸡同鸭讲了&#xff0c;对牛弹琴就要用牛语&#xff0c;如果全世界只有一种编码方式&#xff0c;就肯定不会有乱码问题&#xff0c;但这是不可能的。keil 设置编码格…

PyQt5安装以及使用

PyQt5安装以及使用 1 简介2 安装方法2.1 pip install PyQt52.2 pip install PyQt5‑5.15.9‑cp37‑cp37m‑win_amd64.whl 3 Qt相关工具介绍4 安装PyQt5-tools5 设置环境变量6 测试 1 简介 开发工具为PyCharm&#xff0c;Anaconda&#xff0c;因为Python安装相关包的方便性&…

sql:SQL优化知识点记录(十五)

&#xff08;1&#xff09;MySQL主从复制 我们这里配置一Windows上的MySql做主机&#xff0c;Linux上的MySql做从机&#xff0c;搭建一主一从 测试以下是否能够拼通&#xff1a;从Linux上&#xff1a;167&#xff0c;连接Windows的165 从Windows的165 连接Linux上&#xff1a;…

校园网免认证服务器大增加

这学期搞拐了&#xff0c;服务器整多了&#xff0c;结果没有几个人来消耗带宽&#xff0c;监控图片为证&#xff0c;网速快&#xff0c;线路多 线路展示 # 无为WIFI配置 # 欢迎使用无为WIFI破解软件 # 招收实力代理&#xff0c;定制独立软件&#xff0c;独立代理后台 # clie…

MicroStation中将二维对象投射到三维实体

在三维建模中&#xff0c;偶而会遇到需要将一个2D对象沿Z轴或指定方向投射到一个3D实体&#xff0c;在3D实体表面生成这个2D对象的投影对象。 需要使用的操作命令为&#xff1a; Stencil 2D Elements on 3D Geometry&#xff0c;位于可视化工作流、实用工具栏内。 操作时先后选…

基于Java+SpringBoot+Vue前后端分离火锅店管理系统设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

管理类联考——数学——汇总篇——知识点突破——数据分析——计数原理——排列组合——排队

&#x1f41f; 排队问题常用方法有以下几种&#xff1a; &#xff08;1&#xff09;特殊元素优先法、特殊位置优先法&#xff1b; &#xff08;2&#xff09;剔除法&#xff1b; &#xff08;3&#xff09;相邻问题捆绑法&#xff1b; &#xff08;4&#xff09;不相邻问题插空…

从 BBR 失速到带宽探测

看一下 pacing 流失速的成因&#xff1a; 一段时间收不到 ack&#xff0c;丢了 ack 自时钟&#xff0c;cwnd 将耗尽&#xff0c;bbr 虽有 cwnd_gain(上图没有表现)&#xff0c;但在该 cwnd_gain 下不依赖 ack 持续坚持发送多久取决于 cwnd_gain 的数值。 bbr 失速的后果在于…

分类预测 | Matlab特征分类预测全家桶(BP/SVM/ELM/RF/LSTM/BiLSTM/GRU/CNN)

分类预测 | Matlab特征分类预测全家桶&#xff08;BP/SVM/ELM/RF/LSTM/BiLSTM/GRU/CNN&#xff09; 目录 分类预测 | Matlab特征分类预测全家桶&#xff08;BP/SVM/ELM/RF/LSTM/BiLSTM/GRU/CNN&#xff09;预测效果基本介绍程序设计参考资料致谢 预测效果 基本介绍 分类预测 | …

ResNet 09

一、发展 1989年&#xff0c;Yann LeCun提出了一种用反向传导进行更新的卷积神经网络&#xff0c;称为LeNet。 1998年&#xff0c;Yann LeCun提出了一种用反向传导进行更新的卷积神经网络&#xff0c;称为LeNet-5 AlexNet是2012年ISLVRC 2012&#xff08;ImageNet Large Sca…

计算机组成与设计硬件软件接口学习1

计算机的算术运算 子字并行 &#xff08;大致浏览&#xff09;pdf 170页左右 浮点加法不满足结合律&#xff1a; 适用于整型数据类型的并行执行策略并不适用于浮点数据类型 &#xff0c;原因如上↑

TSN时间敏感网络

目录 时间敏感网络介绍 子协议介绍 时间同步 IEEE802.1AS 调度和流量整形 IEEE802.1Q IEEE802.1Qbv IEEE802.1cr IEEE802.1Qbu IEEE802.1Qch IEEE802.1Qav IEEE802.1Qcc 纠错机制与安全 IEEE802.1Qci IEEE802.1CB IEEE802.1Qca 参考 时间敏感网络介绍 TSN(Tim…