[大语言模型-论文精读] 更大且更可指导的语言模型变得不那么可靠

news2024/10/5 16:56:31

[大语言模型-论文精读] 更大且更可指导的语言模型变得不那么可靠


目录

文章目录

  • [大语言模型-论文精读] 更大且更可指导的语言模型变得不那么可靠
    • 目录
      • 0. 摘要
      • 1. 核心内容
      • 3. 创新点
      • 4. 算法模型
      • 5. 实验效果
      • 6. 重要数据与实验结论
      • 7. 推荐阅读指数:
      • 8. 推荐理由
    • 后记


论文信息:

@article{zhou2024larger,
  title={Larger and more instructable language models become less reliable},
  author={Zhou, Lexin and Schellaert, Wout and Mart{\'\i}nez-Plumed, Fernando and Moros-Daval, Yael and Ferri, C{\`e}sar and Hern{\'a}ndez-Orallo, Jos{\'e}},
  journal={Nature},
  pages={1--8},
  year={2024},
  publisher={Nature Publishing Group UK London}
}

在这里插入图片描述
更大且更可指导的语言模型变得不那么可靠

0. 摘要

本文探讨了大型语言模型(LLMs)在规模扩大(即增加模型大小、数据量和计算资源)和定制优化(包括后处理、微调或使用人类反馈)后,其可靠性如何受到影响。研究发现,尽管这些模型在处理简单任务时与人类表现一致,但在低难度区域(即模型不出错或人类监督可以发现错误的区域)的可靠性并未得到保障。此外,早期模型倾向于回避用户问题,而扩大规模和优化后的模型则更频繁地给出看似合理但错误的答案,包括人类监督者经常忽视的难题错误。研究还观察到,对同一问题的不同自然表述的稳定性通过扩大规模和优化干预得到了改善,但难度水平上的变异性仍然存在。这些发现强调了在高风险领域,需要在设计和开发通用人工智能时进行根本性的转变,这些领域对错误分布的可预测性至关重要。

1. 核心内容

数以百万计的人们正在使用基于大型语言模型(LLMs)的通用人工智能(AI)系统,这些系统已经在教育、医学、科学和行政等领域变得司空见惯。由于这些模型经常犯错误,用户必须监督模型的操作并管理他们的期望,以可靠地使用这些系统。 随着语言模型变得更大、更易于指导,我们需要分析这种可靠性是如何发展的。自从早期的LLMs以来,模型已经被扩大规模——用更多的参数、更大的数据集和更长的训练时间进行训练——并且也通过人类反馈进行了定制化塑造——使用如指令微调、人类反馈的强化学习(RLHF)或输出过滤调节技术。

人们可能想当然地认为,随着模型变得更强大,通过使用这些策略更好地与人类对齐,它们也从人类的角度变得更可靠,即它们的错误遵循人类可以理解和调整查询的可预测模式。例如,早期模型在执行如“20 + 183”这样的简单加法运算时失败。性能非常容易预测:失败是常见的。因此,用户很容易理解,对于这项任务没有操作范围:没有人使用这些模型进行加法运算。几代扩大规模和定制化的模型之后,模型不仅看似掌握了这些加法运算,而且还成功地执行了50位或更多数字的加法运算。由于这种能力,人们可能开始将它们用作计算器(例如,用于将测量单位转换为不同的单位)。只有在这种情况下,当模型在如“3913和92相加”这样的简单提示上失败时,用户驱动的可靠性就会受到严重损害。当用户认为这些数字在操作范围内时,模型失败了。当用户稍微调整问题,例如“3913 + 92 =”,或者根本没有改变——因为许多模型被配置为非确定性的——用户得到正确答案时,体验变得更加令人困惑。尽管这种提示敏感性已经被广泛分析,但人们很少理解为什么一个过度勤勉的系统会为100位数字的加法给出错误答案,而不是简单地回答“恐怕我做不到”。这种鲁莽的行为已经被开发者激励,他们构建了“从不回避”的模型。

为了理解可靠性的演变,我们分析了几个LLMs家族的发展轨迹:由OpenAI开发的生成预训练(GPT)系列,由Meta开发的LLaMA系列,以及由BigScience开发的BLOOM套件。GPT在过去几年中一直处于最先进的水平,并且根据几项调查,它在LLM生态系统中处于中心地位,影响着基于变换器的架构、训练数据、评估框架和对齐技术。LLaMA是权重已经发布的家族中最好的例子,BLOOM是来自科学界的更加开放的努力的结果。每个家族都代表了使LLMs更有能力和更好地对齐的真诚努力。

在这里插入图片描述

表1总结了这三个家族的模型细节。规模扩大(增加参数数量、数据大小和计算量)被认为是整体性能的关键预测因素,而塑造/塑形(修改训练系统)提高了它们的可指导性和对齐性。 这创造了两类模型。第一类包括“原始”模型——GPT-3 ada、babbage、curie和davinci——非聊天LLaMA模型和基础(非z)BLOOM模型。第二类包括定制化的模型(或指导或聊天模型),它们结合了某种指令适应、微调或输出安全调节。为了我们的分析,方便的是BLOOM和LLaMA分别有六个和三个完全配对的原始和定制化模型,以区分规模扩大和塑造扩大。图1表示一些关键指标显示定制化模型(蓝色)对提示变化更稳定,并且更正确,但与人类难度的一致性较低,并且有更多的总体失败(更不谨慎)。这些指标总结了五个精心选择的基准测试的行为,这些基准测试在简单算术(“加法”)、词汇重组(“字谜”)、地理知识(“地方性”)、多样的科学技能(“科学”)和以信息为中心的转换(“转换”)领域。这涵盖了一系列领域和答案的开放性程度。我们确定了前两个领域(“加法”和“字谜”)中人类难度的良好内在代理,或者通过识别需求相关特征(不包括“科学”,对于所有实例已经有多个人类难度评估)。

为了确定它们的质量,我们进行了广泛的人类研究(S1),以评估哪些难度代理最符合人类期望,并将代理校准为一个从0到100的标准化难度分数,代表预期的“平均人类”失败百分比。表2提供了五个基准测试的概述,用作人类难度的内在难度函数(在方法中讨论),一些示例和给定示例的校准人类难度值。我们分析中的另一个必要和创新的元素是,我们考虑了回答的三个类别:正确、不正确和回避,分别用c、i和a表示。人类参与者中的回避行为在心理学中已经得到了广泛的探索。这种回避行为包括拖延、偏离、找借口或根本不回答。对于LLMs来说,回避也被称为对冲、拒绝或回避,包括偶然的发言或延续,它们不是答案(不符合要求的),以及那些在元级别解释为什么不回答问题的回答(出于认识论或道德原因)。补充表11展示了五个基准测试中一些任务的回避类型。难度一致性、任务回避和提示稳定性必须从与LLMs交互的人类用户的角度来考虑。我们的第一个人类研究S1(见补充说明6)分析了人类对一般难度的感知是否与实际的人类表现和自信一致,因为这在人类决定委托给语言模型的任务和他们的提示制定中具有重要的影响。但是,输入和输出的使用环境同样重要,决定了这些系统的使用是多么可靠。我们进行了第二个人类研究S2(见补充说明7),在这项研究中,我们探索了人类参与者是否能够准确评估模型的输出,从而补偿不同类型的错误。通过一个带有正确性、回避和不正确性的三值混淆矩阵,我们可以关注非回避情况的频率,人类认为输出是正确的,但它不是(图3)。通过这种设置,我们调查了从人类角度影响LLMs可靠性的三个核心和相互关联的元素。1. 难度一致性。错误是否更可能发生在人类认为困难的项目上?规模扩大和塑造是否消除了简单项目的误差,从而创造了可靠操作的区域?2. 任务回避。语言模型给出看似合理但错误答案的频率是多少,而不是安全地回避回答问题?扩大规模、定制化的模型是否更擅长避免错误或使错误对人类可检测?3. 提示稳定性。正确性和回避性如何受到提示的间接变化的影响?扩大规模、定制化的模型是否对提示变化的敏感性较低,跨越难度水平?

在这里插入图片描述

我们将通过使用每个基准测试的人类难度度量(见表2),检查不同类型的回避(补充表11),并使用每个基准测试的15种自然提示变化——由人类提供的真实指令或问题——来回答问题。难度、回避和提示以及它们的演变已经从不同的角度进行了分析。在这里,我们专注于从LLMs规模扩大和塑造的角度,这三个元素的系统相互作用。
在这里插入图片描述

结果
图2显示了GPT和LLaMA家族中选定模型在五个领域:“加法”、“字谜”、“地方性”、“科学”和“转换”中随着难度增加的表现。我们看到,随着我们接近最后一列,正确响应的百分比增加了。这是预期的结果,并且对于在扩展数据图1(GPT)、扩展数据图2(LLaMA)和补充图14(BLOOM家族)中显示的其余模型也是一致的。让我们关注正确性与难度的演变。对于“加法”,我们使用总的进位操作数量(fcry)。对于“字谜”,我们使用给定字谜的字母数量(flet)。对于“地方性”,我们使用城市知名度的倒数(fpop)。对于“科学”,我们直接使用人类难度(fhum)。对于“转换”,我们使用输入和输出字数的组合以及Levenshtein距离(fw+l)(表2)。正如我们在方法中讨论的,这些被选为人类期望的好的代理,根据人类研究S1(见补充说明6)。随着难度的增加,所有模型的正确性明显下降。 为了确认这一点,补充表8显示了正确性与人类难度代理之间的相关性。除了BLOOM对加法之外,所有这些都是高的。然而,尽管人类难度度量对正确性有很强的预测能力,即使在非常低的难度水平上也没有实现完全的可靠性。尽管模型可以解决极具挑战性的实例,但它们在非常简单的实例上仍然失败。这在“字谜”(GPT)、“科学”(LLaMA)和“地方性”和“转换”(GPT和LLaMA)中尤为明显,证明了难度不一致现象的存在。这种不一致性在所有LLMs中都有观察到,通过扩大规模和塑造策略没有明显的改善, 这通过图1中显示的聚合度量得到了证实。特别是对于GPT-4,与其前身GPT3.5-turbo相比,主要在中等到高难度实例上提高了性能,而对于简单任务没有明显的改善。对于LLaMA家族,没有模型在最简单的难度水平上达到了60%的正确性(对于“科学”不计算25%的随机猜测)。 唯一的例外是“科学”的低难度区域与GPT-4,几乎完美的结果直到中等难度水平。专注于模型趋势,我们还看到了更多:从GPT-3 ada到text-davinci-003,不正确结果的百分比显著增加,这是由于大大减少了回避(对于GPT-4几乎消失了)

在这里插入图片描述

在图2中,回避区域从GPT-3 ada到text-davinci-003显著减少,并被越来越多的错误答案所取代。然后,对于GPT-3.5-turbo,回避略有增加,但随着GPT-4再次减少。这种从回避到错误答案的转变在LLaMA家族中不太明显,但在将第一个与最后一个模型进行比较时仍然清晰。这在图1中的谨慎指标中得到了总结,表明定制化模型在回避方面的表现更差。这与预期不符,即更近期的LLMs将更成功地避免回答超出其操作范围的问题。在我们对回避类型的分析中(见补充说明15),我们看到非一致性回避转变为定制化模型的认知回避,这是一个积极的趋势。但这种模式并不一致,不能补偿总体下降的回避。看看难度趋势,一个重要的问题是回避是否随着更困难的实例而增加,正如预期的那样。图2表明情况并非如此。只有少数相关性口袋,并且相关性很弱。对于“字谜”、“地方性”和“科学”的最后三个GPT模型,以及“字谜”和“科学”的一些LLaMA模型。在其他一些情况下,我们看到回避最初增加,但在更高的难度水平上停滞不前。回避答案的百分比很少比不正确的百分比上升得更快。阅读结果很清楚:错误仍然变得更加频繁。这代表了可靠性的退化:没有任何难度范围,错误是不可能的,要么是因为问题太简单,模型永远不会失败,要么是因为它们太难,模型总是回避给出答案。接下来,我们想知道这种可靠性的缺乏是否可能是由于某些提示特别差或脆弱,以及我们是否能找到这些特定提示的安全区域。我们通过正确性、回避和不正确性来分析提示敏感性,使用补充表1和2中的提示。直接分解可以在补充图1中找到,表明定制化模型通常对提示变化不太敏感。但如果我们看看与难度的演变,如图3所示的GPT和LLaMA家族最具代表性的模型(所有模型在补充图12、13和15中显示),我们观察到原始GPT和所有LLaMA模型之间的巨大差异,而LLaMA家族经历了更微妙的转变。原始GPT和所有LLaMA模型对提示非常敏感,即使在像“加法”这样非常明确的任务中也是如此。难度似乎并没有太大影响敏感性,对于简单实例,我们看到原始模型(特别是GPT-3 davinci和非聊天LLaMA模型)只有在仔细选择的提示下才能解锁一些能力。对于定制化模型,最后六个GPT模型和最后三个LLaMA(聊天)模型,更加稳定,但在整个难度水平上存在变异性口袋。总的来说,这些不同程度的提示敏感性对用户来说具有重要的意义,特别是因为人类研究S2表明,监督不能补偿这种不可靠性(图3)。看看图3中正确与错误的类型错误(红色),如果用户对难度的期望与模型结果一致,我们应该在曲线的左区域(简单实例)有更少的案例,这些案例应该由人类更好地验证。这将为被认为是人类容易的实例提供一个安全的操作区域,模型错误率低,使用模型响应的人类监督错误率低。然而,不幸的是,这仅适用于简单的加法和更广泛的字谜,因为对于这两个数据集,验证通常是直接的。我们对GPT和LLaMA的观察也适用于BLOOM家族(补充说明11)。为了区分规模扩大和塑造的影响,我们使用LLaMA和BLOOM模型进行了消融研究,它们是定制化版本(分别命名为聊天和z),以及原始版本,每个配对都有相同的预训练数据和配置的优势。我们还包括了所有已知计算的其他模型,如非指导GPT模型。我们采用图1中总结的数据(扩展数据表1),并使用表1中的FLOPs列进行规模分析。FLOPs信息通常捕捉了数据和参数计数,如果模型尺寸合适的话。我们将原始和定制化模型的趋势分开。正确性随着规模的增加而增加在文献中系统地显示出来。有了我们的数据和三结果标签,我们现在可以分析未探索的回避和不正确性的演变(图4,左)。
在这里插入图片描述
在这里插入图片描述

正如图4所清楚显示的,回避明显低于定制化模型(蓝色)而不是原始模型(橙色),但不正确性更高。但是,即使正确性随着规模的增加而增加,不正确性并没有减少;对于原始模型,它显著增加。这令人惊讶,当我们分析那些不是正确的不正确响应的百分比时(在我们的符号中为i/(a + i);图4(右))。我们看到错误比例大幅增加,模型变得更加ultracrepidarian(在他们不知道时给出非回避答案,因此相应地更多失败)。我们现在可以考虑到所有这些观察和趋势,并与普通人类用户的期望(研究S1)和有限的人类能力进行验证和监督(研究S2)。这导致了对LLMs可靠性演变的重新理解,分为两组发现,难度不一致(F1a和F1b)、任务回避(F2a和F2b)和提示敏感性(F3a和F3b):F1a - 人类难度代理作为LLM正确性的宝贵预测因子。人类难度的代理与正确性负相关,意味着对于给定任务,人类自己可以对实例的正确性有大致的期望。相关性:当模型的自我信心不可用或显著减弱时(例如,RLHF破坏校准),这种可预测性至关重要,作为替代的成功估计器。F1b - 改进发生在困难实例上,因为简单实例的问题仍然存在,扩展了难度不一致。当前的LLMs明显缺乏无错误的操作区域。事实上,所有家族的最新模型都没有确保任何可靠的操作区域。相关性:在需要确定高可靠性操作条件的应用中,这一点尤其令人关注。F2a - 规模扩大和塑造目前用更多的不正确性交换回避。回避水平取决于使用的模型版本,并且在某些情况下,它完全消失,不正确性占据了减少回避的重要比例(即,ultracrepidarianism)。相关性:这种回避缓冲的消除(无论是有意还是无意)可能会导致用户最初过度信任他们不指挥的任务,但可能会导致他们长期失望。F2b - 回避并不随着难度的增加而增加,人类监督的拒绝也没有增加。模型错误随着难度的增加而增加,但回避并没有。用户可以识别这些高难度实例,但仍然经常做出不正确到正确的监督错误。相关性:用户没有充分利用他们对难度的期望来补偿高难度区域中不断增加的错误率,表明过度依赖。F3a - 规模扩大和塑造可能并没有让用户摆脱提示工程。我们的观察表明,提示稳定性有所增加。然而,模型在它们的提示敏感性方面有所不同,这在难度水平上有所不同。相关性:用户可能会努力找到有利于回避而不是不正确答案的提示。人类监督并没有修复这些错误。F3b - 提示性能的改进在难度水平上不是单调的。一些提示不遵循平均值的单调趋势,与难度度量的一致性较差,并且在困难实例上错误较少。相关性:这种非单调性是有问题的,因为用户可能会被对困难实例效果很好的提示所吸引,但同时对于简单实例却得到了更多的不正确响应。正如图1中所看到的,我们可以重新审视三个家族的总结指标。看看两个主要集群和定制化模型在错误和难度一致性方面的更差结果,我们可能会急于得出所有类型的规模扩大和塑造对于确保用户驱动的可靠性在未来是不适当的结论。然而,这些影响很可能是这些模型的特定愿望的结果:更高的正确率(通过正确获得更多实例来在基准测试中表现出色,但不一定是所有简单实例)和更高的可指导性(通过说出有意义的东西来看起来勤奋,即使错了)。例如,在规模扩大中,有一种趋势是包括更大的训练语料库,其中包含更多困难的例子,或者给予权威来源更多的权重,这可能包括更复杂的例子,主导了更简单例子的损失。此外,塑造通常惩罚对冲或看起来不确定的答案。这让我们想知道这是否可能有所不同。

讨论
在本文中,我们进行了两项人类研究。第一项研究调查了参与者对输入的感知和实际难度(以确定难度期望是否与难度代理相关)。第二项包括参与者监督或验证模型的输出(以确定人类是否会将不正确的回答视为正确)。最大化难度一致性和减少人类验证中可能的不正确到正确的错误可以引入训练和塑造这些模型时的损失函数。 为此,需要共同努力构建更大的人类难度期望和输出监督数据集。有了这些数据,比传统人类反馈更有资格,AI本身可以被用来训练执行这种塑造的监督者,前提是目标不是消除回避,就像在参考文献21中一样,而是找到合适的回避水平。在医学和其他关键领域专门设计的语言模型可能具有拒绝选项,或与外部AI监督者配对,从而通过教学AI模型何时避免回答来支持回避。这些干预措施应该使LLMs表现出更强的类人和与人类对齐的特征,确保可靠性。在这样做之前,鉴于LLMs在普通人群中的高渗透率,我们提醒人们依赖这些系统的人类监督是一个危险,特别是在真理至关重要的领域。最后,我们包括了我们分析的一些限制和由此产生的未来工作。我们研究的第一个限制在于参与者大多是非专家。在解释校准的难度值时,我们必须考虑到这一点,这些值通常对某些基准测试来说很高,因为有很多问题普通人群无法解决。然而,我们的动机是捕捉相同的人类群体来估计预期的实例难度,这些难度在所有数据集中都是可比的。第二个限制是我们的“自然”提示样本收集自多样性的来源,但我们没有访问提示在现实场景中出现的频率。最后,我们只涵盖了具有特定轨迹的样本家族,排除了将任务委托给外部工具或使用复杂推理技术的LLMs,这些可能会显示出不同的动态。GPT家族在性能方面一直处于前沿,并且已经被使用了几年,使OpenAI在开发其他语言模型方面极具影响力。事实上,当分析基础模型的生态系统时,OpenAI应用程序编程接口具有最多的依赖项。LLaMA和BLOOM具有更开放和系统的模型阵容,不仅允许区分规模扩大和塑造,而且还为使用我们的方法和代码进行它们演变的增量分析铺平了道路,这是LLMs快速发展的背景。强调这些家族的可靠性问题并引入新的分析抽象和工具至关重要,使其他研究人员能够探索未来的扩大规模、定制化模型的不同路径。

3. 创新点

  1. 难度一致性分析:研究了模型错误与人类感知难度之间的关系,发现模型在简单任务上的表现与人类一致,但在困难任务上则不然。
  2. 任务回避与稳定性:分析了模型在面对不同难度级别的任务时的回避行为,以及对不同表述方式的稳定性。
  3. 预测分布错误:提出了对错误分布的可预测性至关重要的高风险领域的AI设计和开发需要根本性转变的观点。

4. 算法模型

  • GPT系列:由OpenAI开发的生成预训练(GPT)模型。
  • LLaMA系列:由Meta开发的模型,特点是权重公开发布。
  • BLOOM套件:由BigScience开发的更开放的努力成果。

5. 实验效果

  • 正确率:随着模型规模的扩大和优化,模型的正确率有所提高。
  • 回避与错误:扩大规模和优化后的模型在减少回避行为的同时,错误率有所增加。
  • 提示稳定性:对不同自然表述的同一问题的稳定性有所提高,但难度水平上的变异性仍然存在。

6. 重要数据与实验结论

  • 难度一致性:模型在简单任务上的正确率与人类预期一致,但在困难任务上则不然。
  • 错误率:扩大规模和优化后的模型在面对简单任务时错误率降低,但在困难任务上错误率增加。
  • 提示稳定性:模型对不同表述方式的稳定性有所提高,但并未完全消除变异性。

7. 推荐阅读指数:

★★★★☆

8. 推荐理由

这篇文章对于理解当前大型语言模型在可靠性方面的局限性提供了深刻的见解,特别是在高风险领域应用时。文章提出的关于错误分布可预测性的观点,对于AI领域的研究者和实践者都具有重要的指导意义。


后记

如果您对我的博客内容感兴趣,欢迎三连击(点赞,关注和评论),我将持续为您带来计算机人工智能前沿技术(尤其是AI相关的大语言模型,深度学习,计算机视觉相关方向)最新学术论文及工程实践方面的内容分享,助力您更快更准更系统地了解 AI前沿技术

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

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

相关文章

【Java】—— 集合框架:Collections工具类的使用

目录 7. Collections工具类 7.1 常用方法 7.2 举例 7.3 练习 7. Collections工具类 参考操作数组的工具类:Arrays,Collections 是一个操作 Set、List 和 Map 等集合的工具类。 7.1 常用方法 Collections 中提供了一系列静态的方法对集合元素进行排序…

超声波清洗机什么牌子值得入手?推荐四款入手不亏的眼镜清洗机

在当今这个注重细节完美的时代,超声波清洗机凭借其卓越的清洁效率、深层渗透力及细腻的清洗效果,迅速赢得了家庭与专业场景的青睐。无论是精细的珠宝、眼镜框,还是金属装饰品、电子设备乃至医疗器具,超声波技术都能精准祛除隐秘处…

汇编语言笔记2

7.MASM,NASM,ATT,ARM的介绍 MASM:Windows下编译汇编指令的软件,可以在DOSBox下运行 NASM:优化版的MASM,主要用于Linux操作系统 ATT:Linux默认的汇编风格(但不友好) ARM:非PC(IOT设备)的汇编,比如写51单片机打开keil4的界面可以看到ARM 8.汇编 C语言 C 之间的关系 发展历程…

45集 ESP32 ADC按键程序编写

45集 ESP32 ADC按键程序编写 参考例程是 D:\Espressif\esp-adf\examples\checks\check_board_buttons 1、config 这个向下兼容的要加上,如果不加会有错误。 CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITYy 2、程序里面引入如下头文件 #include “periph_adc_but…

Python+Matplotlib可视化y = e^(1/x)函数

可视化y e^(1/x)函数: import numpy as np import matplotlib.pyplot as pltplt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] Falsefig, ax plt.subplots(figsize(12, 8))def e_to_1_over_x(x):return np.where(x ! 0, np.exp(1/x), …

C初阶(十二)do - while循环 --- 致敬革命烈士

大家国庆看阅兵仪式和天安门升旗仪式了吗?岁月安好,只因有人负重前行。 ————山那边是什么 ————是烈士的英魄 ————是他们拼死保卫的新中国 ————河那边是什么 ————是绵延的战火 ————她望着远方泪一滴滴的落 ————和平来了 ——…

Arduino UNO R3自学笔记20 之 Arduino如何测定电机速度?

注意:学习和写作过程中,部分资料搜集于互联网,如有侵权请联系删除。 前言:在学习了Arduino的相关基础知识后,现在做个综合应用,给旋转的电机测速。 1.实验目的 测定旋转电机的转速。 2.实验器材-编码器 …

比较搜索难度曲线5s1-4和4s1

在行列可自由变换的条件下,平面上的5点结构只有34个,4点结构有16个 (A,B)---6*n*2---(0,1)(1,0) 让B全是0。当收敛误差为7e-4,收敛199次取迭代次数平均值。让隐藏层节点数n分别为10,15,20,25,30&#xff…

一些关于上传数据-p7zip-full-压缩包的经验

目录 前言 7z 简介 Windows如何压缩tar.gz格式 一、下载7-ZIP 二、tar文件进一步压缩 说明: 前言 本人每次在linux服务器上执行apt-get install p7zip-full命令,都会有复杂依赖报错(因为实验过程中用到的依赖包太多了)&…

今日指数项目个股周K线功能实现

个股周K线功能实现 1 个股周K线功能实现功能分析 1)个股周K线功能原型分析 2)个股周K线功能接口分析 个股周K线数据主要包含: 股票ID、 一周内最高价、 一周内最低价 、周1开盘价、周5的收盘价、 整周均价、以及一周内最大交易日期&#x…

【Linux】-----进程第二弹(优先级,环境变量)

目录 一、进程优先级 是什么 为什么要有? 查看进程优先级 修改进程优先级 二、环境变量 命令行参数 概念 常见环境变量 查看环境变量 配置环境变量 内存级别修改(命令行修改,暂时) ①拷贝到系统路径下 ② 路径添加…

【Android】中级控件

其他布局 相对布局RelativeLayout RelativeLayout下级视图的位置是相对位置,得有具体的参照物才能确定最终位置。如果不设定下级视图的参照物,那么下级视图默认显示在RelativeLayout内部的左上角。用于确定视图位置的参照物分两种,一种是与…

算法专题三: 二分查找

目录 1. 朴素版: 二分查找2. 查找排序数组元素第一个和最后一个位置3. 搜索插入位置4. x的平方根5. 山脉数组的峰顶索引6. 寻找旋转数组中的最小值7. 点名 博客主页: 酷酷学!!! 感谢您的关注~ 正文开始 1. 朴素版: 二分查找 题目思路: 仅需根据题意, 找出二段性, 正确更新下标…

Python编码系列—Python访问者模式:为对象结构添加新功能的艺术

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

LLM端侧部署系列 | PowerInfer-2助力AI手机端侧部署47B大模型 (论文解读)

引言 简介 PowerInfer-2 概述 神经元感知的运行时推理 多态神经元引擎 内存中的神经元缓存 灵活的神经元加载 Neuron-Cluster-Level Pipeline 生成执行计划 执行 总结 0. 引言 一雨池塘水面平,淡磨明镜照檐楹。东风忽起垂杨舞,更作荷心万点声…

2024年liunx安装openvino非源码编译版(比源码编译简单!)

前言 真的要感慨一句,openvino源码编译真的麻烦!由于2023年之后openvino官网的之间下载取消之后,很多人只能选择源码编译,我也是研究了好几天,又是clone改变的库,又是安装什么,搞了三四天都没有…

已解决:TypeError: ‘int‘ object is not iterable

已解决:TypeError: ‘int’ object is not iterable 文章目录 写在前面问题描述报错原因分析 解决思路解决办法1. 检查代码中的 for 循环2. 检查函数返回值是否为可迭代对象3. 确认变量类型4. 使用 map() 或 list comprehension 处理整数5. 防止不必要的迭代 总结 写…

Leetcode—148. 排序链表【中等】

2024每日刷题(171) Leetcode—148. 排序链表 C实现代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr…

java计算机毕设课设—坦克大战游戏

这是什么系统? 坦克大战游戏是一款以坦克为主题的射击游戏,旨在为玩家提供一个刺激、有趣的游戏体验。该游戏不仅拥有丰富的功能,还注重玩家的互动体验。此系统是使用Java语言实现坦克大战游戏程序,玩家通过连接访问进入游戏&…

【C++】—— 类和对象(上)

【C】—— 类和对象(上) 文章目录 【C】—— 类和对象(上)前言1. 类的定义1.1 类定义格式1.2 访问限定符1.3 类域 2. 实例化2.1 实例化概念2.2 对象的大小 3. this指针4. C和C语言实现Stack对比结语 前言 小伙伴们大家好呀,今天我们就开始学习C的重点及难点——类和…