大语言模型幻觉解决方案综述

图片

论文题目:《Cognitive Mirage: A Review of Hallucinations in Large Language Models》

论文链接:https://arxiv.org/abs/2309.06794v1

论文代码:https://github.com/hongbinye/cognitive-mirage-hallucinations-in-llms

技术交流群

建了技术答疑、交流群!想要进交流群、资料的同学,可以直接加微信号:mlc2060。加的时候备注一下:研究方向 +学校/公司+CSDN,即可。然后就可以拉你进群了。

前沿技术资讯、算法交流、求职内推、算法竞赛、面试交流(校招、社招、实习)等、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企开发者互动交流~

方式①、添加微信号:mlc2060,备注:技术交流
方式②、微信搜索公众号:机器学习社区,后台回复:技术交流

在这里插入图片描述

一、幻觉介绍

由ChatGPT带来的大模型时代,国内外各大厂家都在陆续推出自己的大模型,然而目前大模型都存在一个普遍的现象就是:幻觉。

幻觉的基本定义:大模型生成看似合理的内容,其实这些内容是不正确的或者是与输入Prompt无关,甚至是有冲突的现象,幻觉示例如下图所示:

图片

在准确率要求非常高的场景下幻觉是不可接受的,比如医疗领域、金融领域等。

觉产生的原因

论文认为产生幻觉的主要原因有预训练数据收集、知识GAP和大模型优化过程三个方面。

数据收集

  • 预训练数据:大模型的知识和能力主要来自与预训练数据,如果预训练数据使用了不完整或者过期的数据,那么就很可能导致知识的错误,从而引起幻觉现象;

  • 上下文学习:为了让大模型可以更好的输出,有时会在Prompt中增加一些上下文内容,然而这些上下文的类别和pair的顺序也可能引起幻觉,比如前几个example的标签是“是”,后面几个是“否”,那么大模型很可能就输出“否”了;

  • 多语言大模型:处理少语种或者非英文翻译的问题;

知识GAP:

主要来自pre-training和fine-tuning阶段的输入数据格式不同引起的。

优化过程:

  • 最大似然估计和teacher-forcing训练有可能导致一种被称为随机模仿的现象,大模型在没有真正理解的情况下模仿训练数据,这样可能会导致幻觉;

  • top-k和top-p采样技术也可能导致幻觉,LLM倾向于产生滚雪球般的幻觉,以保持与早期幻觉的一致性,即使在“Let’s think step by step”这样的提示下,它们仍然会产生无效的推理链;

三、幻觉的分类

论文总结了常见的下游任务的幻觉现象,比如机器翻译、问答系统、对话系统、文本摘要、LLM知识图谱和视觉问答系统,结果如下表所示:

图片

四、幻觉的分类

图片

推理分类器

给定问题Q和答案A,训练一个分类器,让分类器去判断生成的答案是否包含幻觉H,因此,Shen等人(2023)采用最先进的LLM对检测结果进行端到端文本生成。其他一些研究(Li et al.,2023b)发现,在输出之前添加思维链可能会干预最终判断,而检索知识则会带来收益。进一步推进这一概念,用于生成中间过程标签和高质量自然语言解释的暗示分类器和解释器(Shen et al.,2023)被证明可以从各种角度增强最终预测的类别。随后,Tam等人(2023)建议采用与生成的模型不同的分类器模型,这有助于更容易判断事实的一致性。对于放射学报告生成,可以利用二元分类器(Mahmood等人,2023)通过结合图像和文本嵌入来测量可靠性。

不确定度度量:

重要的是要检查幻觉指标与各种视角的输出质量之间的相关性。一种直观的方法是使用模型本身的概率输出。类似地,BARTSCORE(Yuan et al.,2021)采用了一个普遍的概念,即当生成的文本更好时,被训练将生成的文本转换为参考输出或源文本的模型得分会更高。这是一种无监督的度量,支持添加适当的提示来改进度量设计,而无需人工判断来训练。此外,KoK(Amayuelas et al.,2023)基于Pei和Jurgens(2021)的工作,从主观性、模糊限制语和文本不确定性三个类别来评估答案的不确定性。然而,SLAG(Hase等人,2023)在转述、逻辑和蕴涵方面衡量了一致的事实信念。除此之外,KLD(Pezeshkpour,2023)结合了基于信息理论的度量(例如熵和KL散度)来捕捉知识的不确定性。除了专家提供的方案监督外,POLAR(赵等人,2023b)引入了帕累托最优学习评估风险评分,用于估计响应的置信水平;

自我评估:

自我评估是一种挑战,因为模型可能对其生成的样本的正确性过于自信。SelfCheckGPT(Manakul et al.,2023)的动机是利用LLM自身的能力对多个响应进行采样,并通过测量响应之间的信息一致性来识别虚构陈述。Kadavath等人(2022)进一步说明,规模的增加和评估的展示都可以改善自我评估。除了重复的多个直接查询,Agrawal等人(2023)使用开放式间接查询,并将其答案相互比较,以获得一致的分数结果。自矛盾(Mündler et al.,2023)对同一LLM施加了适当的约束,以生成触发自矛盾的成对传感器,从而促使检测。相反,基于轮询的查询(Li et al.,2023i)通过随机抽样查询对象来降低判断的复杂性。此外,Self-Checker(Li et al.,2023d)将复杂的语句分解为多个简单的语句,逐一进行事实核查。然而,Cohen等人(2023)引入了两个LLM交互交叉询问,以推动复杂的事实核查推理过程;

证据检索:

证据检索通过检索与幻觉有关的支持性证据来辅助事实检测。为此,设计一个以索赔为中心的管道允许问题检索摘要链有效地收集原始证据(Chen et al.,2023b;霍等人,2023)。因此,FActScore(Min等人,2023)计算给定知识源支持的原子事实的百分比。为了适应用户与生成模型交互的任务,FacTool(Chern et al.,2023)提出将各种工具集成到任务不可知和领域不可知的检测框架中,以收集有关生成内容真实性的证据。

五、幻觉解决方案

论文总结了五种解决幻觉的方法,具体如下图所示:

图片

不同下游任务解决幻觉的方法不同,具体如下图所示:

图片

参数自适应:

LLM中的参数存储了预训练中学习到的偏见,这些偏见通常与用户意图不一致。一般策略是通过参数调节、编辑和优化来引导有效的知识。例如,CLR(Sun等人,2023)利用对比学习参数在跨度水平上进行优化,以降低负面样本的生成概率。在引入与模型的内在先验知识相矛盾的上下文知识边缘背景的同时,TYE(Shi et al.,2023a)通过上下文感知解码方法有效地降低了先验知识的权重。此外,PURR(Chen et al.,2023a)将噪声腐蚀到文本中,微调紧凑的编辑器,并通过合并相关证据来去噪。为了引入额外的缓存组件,HISTALIGN(Wan et al.,2023)发现其隐藏状态与当前隐藏状态不一致,并提出了序列信息对比学习以提高内存参数的可靠性。因此,Edit TA(Ilharco等人,2023)从任务算法的角度缓解了在预训练中学习到的问题。其背后的直觉是,通过负示例任务学习到的参数变化可以通过权重变化来感知。然而,由于这没有考虑到不同反例的重要性,因此EWR(Da-heim et al.,2023)提出了Fisher信息模型来测量其估计的不确定性,该模型用于对话系统执行参数插值并消除幻觉。EasyEdit(Wang et al.,2023c)总结了参数编辑的方法,同时将对无关参数的影响降至最低。

一个有效的替代方法是识别特定于任务的参数并利用它们。例如,ALLM(Luo et al.,2023)将参数模块与特定任务的知识对齐,然后在背景增强提示中生成相关知识作为附加上下文。类似地,mmT5(Pfeiffer et al.,2023)在预训练期间利用特定语言模块将特定语言信息与独立于语言的信息分离,表明添加特定语言模块可以消除多语性的诅咒。相反,TRAC(Li et al.,2023f)将保角预测和全局测试相结合,以增强基于检索的QA。保守策略公式确保在预测集中包括与真实答案在数量上等效的答案。

另一个参数自适应思想侧重于符合用户需求的灵活采样。例如,Lee等人(2022)观察到,当生成句子的后半部分时,抽样的随机性对事实更不利。为了在保证生成质量和多样性的同时保持生成的忠实性,引入了事实核采样算法。此外,推理时间(Li et al.,2023c)首先识别出一组具有高线性探测精度的注意头,然后沿着与事实知识相关的方向转移推理过程中的激活。

事后归因和编辑技术

幻觉的一个来源是LLM可能会利用预训练数据中观察到的模式,以一种新的形式进行推理。最近,ORCA(Han和Tsvetkov,2022)通过从预训练数据探索支持数据证据,揭示了模型行为中的问题模式。同样,TRAK(Park et al.,2023)和Data Portraits(Marone和Durme,2023。QUIP(Weller等人,2023)进一步证明,提供在预训练阶段观察到的文本可以提高LLM生成更多实际信息的能力。此外,由于LLM和人类思维模式之间的差距,一种直觉是将两种推理模式结合起来。因此,CoT(Wei et al.,2022b)通过一种思维链(CoT)(Kojima et al.,2022)提示引发了忠实的推理。类似地,RR(He等人,2023)基于从CoT提示获得的分解推理步骤来检索相关的外部知识。由于LLM通常不会在第一次尝试时产生最佳输出,因此自精化(Madaan et al.,2023)通过迭代反馈和改进来实现自精化算法。反思(Shinn等人,2023)还采用言语强化,通过学习先前的失败来产生反思性反馈。Verify-and-Edit(赵等人,2023a)提出了一种CoT提示的验证和编辑框架,该框架通过基于外部检索的知识对推理链进行后编辑来提高预测的逼真度。幻觉的另一个来源是用不正确的检索来描述事实内容。为了说明这一点,NP Hunter(Dziri et al.,2021)遵循一种先生成后细化的策略,即使用KG修改生成的响应,以便对话系统化,通过查询KG来纠正潜在的幻觉。

利用外部知识

为了扩展语言模型以减少歧义,建议从大型文本数据库中检索相关文档。RETRO(Borgeud et al.,2022)将输入序列分割成块并检索相似的文档,而In-Context RALM(Tam et al.,2023)将所选文档放在输入文本之前以改进预测。此外,IRCoT(Trivedi等人,2023)将CoT生成和文档检索步骤交织在一起,以指导LLM。由于缩放主要提高了公共知识的内存,但并没有显著提高长尾中事实知识的内存。因此,POPQA(Mallen et al.,2023)在必要时仅检索非参数内存以提高性能。LLM-AUMMENTER(Peng et al.,2023)还将LLM的回答建立在综合外部知识和自动反馈的基础上,以提高答案的真实性得分。另一项工作,CoK(Li et al.,2023h)迭代分析即将到来的句子的未来内容,然后将它们作为查询来检索相关文档,以便在句子包含低可信度令牌时重新生成句子。类似地,RETA-LLM(Liu et al.,2023c)创建了一个完整的管道,以帮助用户构建自己的基于域的LLM检索系统。请注意,除了文档检索之外,还可以将各种外部知识查询组合到检索增强的LLM系统中。例如,FLARE(Jiang et al.,2023)利用结构化知识库来支持复杂的查询,并提供更直接的事实陈述。此外,KnowledGPT(Wang et al.,2023e)采用了思想程序(PoT)提示,生成代码与知识库交互。而cTBL(Ding et al.,2023)提出在会话设置中使用表格数据来增强LLM。此外,GeneGPT(Jin et al.,2023)证明,通过上下文学习和增强解码算法检测和执行API调用,可以更容易、更准确地访问专业知识。为了支持潜在的数百万不断变化的API,Gorilla(Patil et al.,2023)探索了自我构造的微调和检索,以高效利用API。

评估反馈:

随着语言模型变得越来越复杂,评估反馈可以显著提高生成文本的质量,并减少幻觉的出现。为了实现这一概念,LSHF(Stiennon等人,2020)通过模型预测了人类偏好的总结,并将其作为奖励函数,使用强化学习来微调总结策略。然而,这种方法建立在人工注释器构建的模型之上,这使得它们在数据利用率方面效率低下。因此,TLM(Menick et al.,2022)提出通过从人类偏好中强化学习,通过选择几个拒绝回答的问题来提高系统的可靠性,这显著提高了系统的可靠性。而强化学习往往存在不完美的奖励函数,并依赖于具有挑战性的优化。因此,后见链(Liu et al.,2023a)将反馈偏好转化为句子,然后将其输入到模型中进行微调,以增强语言理解。

除了使模型能够以样本有效的方式直接从事实指标的反馈中学习(Dixit et al.,2023)外,建立模型的自我评估功能以过滤候选生成的文本也很重要。例如,BRIO(Liu et al.,2022)提出了摘要模型评估,估计候选输出的概率分布,以评估候选摘要的质量。而LM know(Kadavath et al.,2022)致力于调查LLM是否可以通过检测他们知道问题答案的概率来评估他们自己主张的有效性。随后,Do LLM Know(Agrawal et al.,2023)专门使用黑盒LLM进行查询,并将多次重复生成的查询结果相互比较,以通过一致性检查。此外,黑盒LLM增加了即插即用检索模块(Liu et al.,2023a;Huang et al.,2021),以生成反馈,从而提高模型响应。

由于遗漏引文质量评估影响最终表现,ALCE(Gao et al.,2023c)采用自然语言推理模型来衡量引文质量,并扩展了综合检索系统。类似地,CRITIC(Gou et al.,2023)建议与适当的工具进行交互,以评估文本的某些方面,然后根据验证过程中获得的反馈修改输出。请注意,自动错误检查还可以利用LLM生成符合工具界面的文本。PaD(Zhu et al.,2023c)通过综合推理程序提取LLM,获得的综合程序可以由程序员自动编译和执行。此外,迭代精化过程被验证可以有效地识别适当的细节(Ning et al.,2023;张等人,2023b;余等人,2023b),并且可以停止早期无效的推理链,有益地减少幻觉滚雪球的现象(张等人,2021)。

心态社会

人类的智慧源于认知协同的概念,不同认知过程之间的协作比孤立的个体认知过程产生更好的结果。“心智社会”(Minsky,1988)被认为有可能显著提高LLM的性能,并为语言产生和理解的一致性铺平道路。为了在不同翻译场景的大规模多语言模型中解决幻觉,HLMTM(Guerreiro et al.,2023a)提出了一种混合设置,在该设置中,当原始系统产生幻觉时,可以请求其他翻译系统作为备份系统。因此,多主体辩论(Du et al.,2023)在几轮中使用多个LLM来提出和辩论他们的个人反应和推理过程,以达成一致的最终答案。由于这一过程,鼓励模型构建与内部批评和其他主体反应一致的答案。在给出最终答案之前,所得到的模型社区可以同时保持和维护多个推理链和可能的答案。基于这一想法,MAD(Liang et al.,2023)增加了一个法官管理的辩论过程,表明辩论的适应性中断和受控的“针锋相对”状态有助于完成事实辩论。此外,FORD(Xiong et al.,2023)提出了包括两个以上LLM的圆桌辩论,并强调有能力的法官对主导辩论至关重要。LM与LM(Cohen et al.,2023)还提出了LM与另一个LM之间的多轮交互,以检查原始陈述的真实性。此外,PRD(Li et al.,2023e)提出了一个基于同行排名和讨论的评估框架,以得出所有同行都同意的公认评估结果。为了保持强有力的推理,SPP(Wang et al.,2023g)利用LLM来分配几个细粒度的角色,这有效地刺激了知识获取并减少了幻觉。

六、幻觉待解决问题

尽管在LLM幻觉调查中提出了许多技术解决方案,但仍存在一些潜在的方向:

数据构建管理:

如前所述,LLM的风格和知识通常在模型预训练期间学习。高质量的数据为LLM中幻觉的减少提供了有希望的机会(Kirstain等人,2022)。受机器学习模型的基本规则“垃圾输入,垃圾输出”的启发,周等人(2023)提出了超社会对齐假设,将对齐视为学习与用户交互。对一些高质量样本进行简单微调的结果表明,数据质量和多样性超过了微调大规模指令的重要性(Mishra等人,2021;Wei等人,2022a;Sanh等人,2022)和RLHF(Bai等人,2022;欧阳等人,2020)。为了在知识密集型垂直领域高效执行,我们认为,构建以实体为中心的微调指令(Bao et al.,2023;桂等人,2023)是一个很有前途的方向,它可以将结构化知识和知识图的语义相关性相结合,以增强生成的实体信息的真实性。另一个可行的建议是在教学构建过程中加入自我管理阶段(Li et al.,2023g),以评估候选配对的质量。在迭代过程中,基于手动或自动规则约束的质量评估(Chen et al.,2023c)可以提供自校正能力

下游任务协调:

通用LLM在各种开放环境中具有一定程度的自然语言问题理解能力。然而,主要问题仍然存在于对应用要求的偏离,这导致了各种幻觉的出现。因此,下游任务对齐,特别是建立在垂直领域认知的基础上,需要广泛的符号推理、复杂任务的分解和规划,以及忠实的外部知识注入。具体来说,尽管LLM是语言处理方面的专家,但它很难在数学能力方面取得突破,这是一个与文本训练目标有关的缺陷。尽管已经提出了一些关于符号数学单词问题的研究(Gaur和Saunshi,2023;Zhu et al.,2023b),但增强符号推理和回答数字问题仍有待广泛研究。此外,对于需要不同输出的故事生成任务(Yang et al.,2022023),除了避免事实矛盾外,还需要引人入胜的故事情节。因此,在模型推理过程中实现忠实和创造性之间的平衡仍然是一个关键的挑战。此外,整合新知识来处理知识密集型任务涉及处理LLM的内部知识和外部知识图的显式知识边缘之间的联合推理。设计知识感知方法,将知识边缘图中的结构化信息纳入LLM的预训练过程,这带来了挑战。或者,预计推理过程将动态注入知识图信息(Wen等人,2023)。

LLM作为一种评估工具的使用是一种新兴的应用,但受到模型规模、教学调整效果和不同形式输入的限制(Agrawal等人,2023)。值得注意的是,LLM作为评分法官的尝试必须克服由立场、冗长、自我增强引起的各种偏见(Zheng等人,2023a;Berglund等人,2023;Wang等人,2023b)。因此,我们预测,未来关于设计特定任务机制来分析和纠正新出现的下游任务的过程的研究是一个值得长期关注的领域。

推理机制开发:

新兴的CoT技术(Wei et al.,2022b)通过模仿内在思维流来刺激LLM的涌现推理能力。构造一个逻辑中间推理步骤已被证明能显著提高问题解决能力。最近,一个主要的改进是与CoT的自一致性(CoT-SC)(Yao et al.,2023),这是一种生成多个CoT选项,然后选择最佳结果作为反馈的方法。此外,思维树(ToT)(Yao et al.,2023)在思维过程中引入了严格的树结构,这有助于不同思维路径的发展,并提供了一种新颖的回滚功能。由于以前的方法没有中间结果的存储,累积推理(CR)(Zhang et al.,2023c)以累积和迭代的方式使用LLM来模拟人类的思维过程,并将任务分解为更小的组件。然而,实际思维过程产生了一个复杂的思想网络,例如,人们可以探索一个特定的推理链,回溯或开始一个新的推理链。特别是当意识到以前推理链中的想法可以与当前探索的想法相结合时,它们可以合并为一个新的解决方案。更令人兴奋的是,思维图(GoT)(Zhang et al.,2023c)通过构建具有多个传入边的顶点来聚合任意思想,从而扩展了思想之间的依赖关系。此外,程序辅助语言模型(PAL)(Gao等人,2023b)和思维程序提示(PoT)(Chen等人,2022b)将编程逻辑引入语言空间(Bi等人,2023),扩展了调用外部解释器的能力。总之,我们相信,基于人类认知的研究有助于为幻觉的分析提供精彩而深刻的见解,如双过程理论(Frankish,2010)、三层心理模型(Stanovich,2011)、心理计算理论(Piccinini,2004)和连接主义(Thorndike,1898)。

多模态幻觉调查:

利用LLM出色的理解和推理能力,建立强大的多模式大型语言模型(MLLM)已成为社区共识(Li et al.,2023a;Dai et al.,2021;Ye et al.(2023))。李等人(2023i)通过对象检测和基于轮询的查询证实了MLLM中幻觉的严重性。结果表明,这些模型对物体幻觉具有很高的敏感性,并且生成的描述与目标图像不匹配。此外,Shao等人(2023)认为MLLMs具有有限的多模态推理能力以及对虚假线索的依赖性。尽管目前的研究(Yin et al.,2023b)对MLLMs进行了广泛的概述,但幻觉的原因尚未得到全面的调查。LLM中的幻觉主要来自训练数据中的错误知识,而MLLM的挑战在于将抽象的视觉编码准确地传递到语义空间中。现有的MLLM通过指令进行微调,使其目标输出遵循人类意图。然而,视觉模式和文本模式之间的错位可能会导致有偏见的分配。此外,缺乏视觉约束导致MLLMs出现严重的幻觉问题。因此,一个潜在的改进是将注意力转移到图像上(Wang et al.,2023a)或增强对视觉常识的理解。在细粒度的视觉和实际模态对齐方面,关注图像的局部特征和相应的文本描述可以提供忠实的模态交互。此外,一些MLLM的性能,如MiniGPT-4(Zhu et al.,2023a),高度依赖于提示的选择,需要仔细选择。请注意,为了方便用户,需要在多样性和幻觉之间进行可控的权衡。未来,随着更复杂的多模型应用的出现,改进MLLM的推理路径也是一个很有前途的研究方向。

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

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

相关文章

【QT】设置焦点及光标位置

很高兴在雪易的CSDN遇见你 ,给你糖糖 欢迎大家加入雪易社区-CSDN社区云 前言 本文分享Qt中如何设置焦点和光标位置的解决方案,并给出常见的问题解决方案,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(…

第19章_体系结构

文章目录 1. 逻辑架构剖析1.1 服务器处理客户端请求1.2 Connectors1.3 第1层:连接层1.4 第2层:服务层1.4.1 SQL Interface: SQL接口1.4.2 Parser: 解析器1.4.3 Optimizer: 查询优化器1.4.4 Caches & Buffers: 查询缓存组件 1.5 第3层&…

uniApp获取当前位置经纬度

以下是使用uni.getLocation获取当前位置的示例代码: 调用uni.getLocation方法获取当前位置信息 uni.getLocation({type: wgs84, // 坐标类型,默认为wgs84,可选的值为gcj02和bd09llsuccess: res > {// 获取成功,经度和纬度在r…

Java Spring Boot----ruoyi项目部署 前后端分离

nginx服务器部署java服务器部署db服务器部署配置打包环境配置前端打包环境(java服务器)配置后端打包环境获取代码 前端代码打包后端代码打包项目上线前端项目上线后端项目上线 将jar包传送到后端服务器导入初始化数据 ip主机名服务名称192.168.20.138ngi…

【pyspider】爬取ajax请求数据(post),如何处理python2字典的unicode编码字段?

情景:传统的爬虫只需要设置fetch_typejs即可,因为可以获取到整个页面。但是现在ajax应用越来越广泛,所以有的网页不能用此种爬虫类型来获取页面的数据,只能用slef.crawl()来发起http请求来抓取数据。 直接上例子: 可以…

webgoat-Request Forgeries 请求伪造

(A8:2013) Request Forgeries Cross-Site Request Forgeries 跨站请求伪造,又称一键攻击或会话骑乘,简称CSRF (有时发音为 sea-surf)或 XSRF,是一种恶意利用网站,其中传输未经授权的命令 来自网站信任的用…

【电路笔记】-并联RLC电路分析

并联RLC电路分析 文章目录 并联RLC电路分析1、概述2、AC的行为3、替代配置3.1 带阻滤波器3.2 带通滤波器 4、总结 电子器件三个基本元件的串联行为已在我们之前的文章系列 RLC 电路分析中详细介绍。 在本文中,介绍了另一种称为并联 RLC 电路的关联。 在第一部分中&a…

浅析刚入门Python初学者的注意事项

文章目录 一、注意你的Python版本1.print()函数2.raw_input()与input()3.比较符号&#xff0c;使用!替换<>4.repr函数5.exec()函数 二、新手常遇到的问题1、如何写多行程序&#xff1f;2、如何执行.py文件&#xff1f;3、and&#xff0c;or&#xff0c;not4、True和False…

Visual Studio 2010 软件安装教程(附下载链接)——计算机二级专用编程软件

下载链接&#xff1a; 提取码:2wAKhttps://www.123pan.com/s/JRpSVv-9injv.html 安装步骤如下&#xff1a; 1.如图所示&#xff0c;双击打开【Visual Studio 2010简体中文旗舰版】文件夹 2.如图所示&#xff0c;找到“Setup”文件夹打开&#xff0c;双击运行“setup” 3.如图…

网站源码备份 [极客大挑战 2019]PHP1

打开题目 题目提示我们备份网站 我们输入/www.zip 下载zip文件&#xff0c;打开发现 打开index.php <?phpinclude class.php;$select $_GET[select];$resunserialize($select);?> 文件包含class.php&#xff0c;get传参一个select函数&#xff0c;反序列化select参…

MySQL第七讲·怎么利用聚合函数实现高效地分组统计?

你好&#xff0c;我是安然无虞。 文章目录 聚合函数&#xff1a;怎么高效地进行分组统计&#xff1f;sum( )avg( ) & max( ) & min( )count( ) 聚合函数&#xff1a;怎么高效地进行分组统计&#xff1f; MySQL中有5种聚合函数较为常用&#xff0c;分别是求和函数sum(…

智能网联汽车基础软件信息安全需求分析

目录 1.安全启动 2.安全升级 3.安全存储 4.安全通信 5.安全调试 6.安全诊断 7.小结 1.安全启动 对于MCU&#xff0c;安全启动主要是以安全岛BootROM为信任根&#xff0c;在MCU启动后&#xff0c;用户程序运行前&#xff0c;硬件加密模块采用逐级校验、并行校验或者混合校…

[AndroidStudio]_[初级]_[修改虚拟设备镜像文件的存放位置]

场景 在使用Android Studio的虚拟设备运行App时&#xff0c;需要创建很大镜像文件。这些镜像文件一般都在系统盘&#xff0c;导致系统盘占用增大。怎么把这些镜像的存放路径设置在其他盘&#xff1f; 说明 虚拟设备的和它的镜像默认是放在用户目录\.android\avd位置。如果是在…

python-全自动二维码识别

纯笔记&#xff0c;可以做到全屏识别二维码&#xff0c;自动识别&#xff0c;复制链接&#xff0c;生成简单的二维码&#xff0c;将识别到的内容转为txt import pyautogui from PIL import Image from pyzbar.pyzbar import decode import tkinter as tk from tkinter import …

javaee实验:搭建maven+spring boot开发环境,开发“Hello,Spring Boot”应用

目录 mavenspringboot实验目的实验内容环境的搭建 在开发中&#xff0c;maven和spring都是非常常用、非常重要的管理工具和框架&#xff0c;今天就在这里使用idea进行环境的搭建和创建第一个spring程序 maven 1.1maven是一个跨平台的项目管理工具&#xff08;主要管理jar包&am…

如何实现Word文档中的书签双向定位

工作中&#xff0c;经常需要拟定合同&#xff0c;一般都有固定的模板&#xff0c;在特定的位置填写内容。通过zOffice编辑合同文件时&#xff0c;可以在模板需要填写的位置预设书签&#xff0c;配合zOffice SDK使用&#xff0c;利用zOffice书签双向定位的特性&#xff0c;更方便…

王道p18 第12题假设 A中的 n个元素保存在一个一维数组中,请设计一个尽可能高效的算法,找出A的主元素。若存在主元素,则输出该元素:否则输出-1

视频讲解在&#xff1a;&#x1f447; p18 第12题 c语言实现王道数据结构课后习题_哔哩哔哩_bilibili 从前向后扫描数组元素&#xff0c;标记出一个可能成为主元素的元素 Num。然后重新计数&#xff0c;确认 Num 是否是主元素。 我们可分为以下两步: 1.选取候选的主元素。依…

CocosCreator使用物理引擎和回调

在2d中开启碰撞需要在项目设置–功能裁剪–2D物理系统【选择 基于Box2D的2D物理系统】 如果想要两个物体碰撞&#xff0c;则需要添加刚体和碰撞【&#xff01;&#xff01;重点】 设置刚体类型 可以设为四种&#xff0c; Static 静态刚体&#xff0c;零质量&#xff0c;零速度…

【JAVA】:万字长篇带你了解JAVA并发编程-并发设计模式【五】

目录 【JAVA】&#xff1a;万字长篇带你了解JAVA并发编程-并发设计模式【五】模式分类Immutability模式【不可变模式】Copy-on-Write 模式Thread Local Storage 模式线程池中使用 Guarded Suspension模式扩展 Guarded Suspension 模式 Balking模式Thread-Per-MessageWorker Thr…

【C语言 | 符号】C语言中符号易出错的地方

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…