论文翻译 | Language Models are Few-Shot Learners 语言模型是少样本学习者(下)

news2024/11/24 5:36:30

6 更广泛的影响 

        语言模型对社会有着广泛的有益应用,包括代码和写作自动补全、语法辅助、游戏叙事生成、提高搜索引擎响应以及回答问题等。但它们也可能有潜在的危害性应用。GPT-3在文本生成质量和适应性方面优于较小的模型,并且增加了区分合成文本与人类编写文本的难度。因此,它有可能推动语言模型的有益和有害应用的发展。
        在这里,我们专注于改进语言模型的潜在危害,并不是因为我们认为这些危害必然更大,而是为了激发研究和减轻这些危害的努力。像这样的语言模型的影响是众多的。我们专注于两个主要问题:在第6.1节中,探讨了像GPT-3这样的语言模型被故意滥用的可能性;在第6.2节中,讨论了GPT-3等模型中的偏见、公平性和代表性问题。我们还在第6.3节简要讨论了能源效率问题。

6.1 语言模型误用 

        语言模型的恶意使用可能很难预测,因为它们通常涉及在非常不同的环境中重新使用语言模型,或者用于与研究人员预期不同的目的。为了帮助解决这个问题,我们可以考虑传统的安全风险评估框架,它概述了关键步骤,如识别威胁和潜在影响,评估可能性,并将风险确定为可能性和影响的组合[Ros12]。我们讨论了三个因素:潜在的误用应用、威胁行为者和外部激励结构。 

6.1.1 潜在的误用应用 

        任何依赖于生成文本的社会有害活动都可以通过强大的语言模型来增强。例子包括错误信息、垃圾邮件、网络钓鱼、滥用法律和政府程序、欺诈性学术论文写作和社会工程借口。许多这样的应用程序在编写足够高质量的文本时遇到了瓶颈。产生高质量文本生成的语言模型可以降低执行这些活动的现有障碍并提高其效率。

        随着文本合成质量的提高,语言模型的误用可能性也在增加。GPT-3能够生成几个段落的合成内容,人们很难将其与3.9.4中的人工文本区分开来,这是这方面的一个重要里程碑。

6.1.2 威胁行为者分析 

        威胁行为者可以根据技能和资源水平进行组织,从可能能够构建恶意产品的低技能或中等技能和资源丰富的行为者到“高级持续威胁”(apt):具有长期议程的高技能和资源充足(例如国家资助)团体[SBC+19]。
        为了了解低技能和中等技能的参与者是如何看待语言模型的,我们一直在监视论坛和聊天组,在这些论坛和聊天组中,错误信息策略、恶意软件分发和计算机欺诈经常被讨论。虽然在2019年春季GPT-2首次发布后,我们确实发现了大量关于滥用的讨论,但我们发现,从那以后,实验实例减少了,也没有成功的部署。此外,这些误用讨论与媒体对语言模型技术的报道有关。由此,我们评估这些行为者滥用的威胁不是立即的,但可靠性的重大改进可能会改变这一点。
        由于APT通常不会公开讨论操作,我们已经咨询了专业威胁分析师,了解可能涉及使用语言模型的APT活动。自从GPT-2发布以来,在使用语言模型可以看到潜在收益的操作方面没有明显的差异。评估结果是,语言模型可能不值得投入大量资源,因为没有令人信服的证据表明当前的语言模型明显优于当前生成文本的方法,并且因为“瞄准”或“控制”语言模型内容的方法仍处于非常早期的阶段。

6.1.3 外部激励结构 

        每个威胁行为者组织还有一套战术、技术和程序(TTPs),他们依靠这些来完成他们的议程。ttp受经济因素的影响,如可扩展性和部署的便利性;网络钓鱼在所有群体中都非常流行,因为它提供了一种低成本、低工作量、高收益的部署恶意软件和窃取登录凭证的方法。使用语言模型来扩展现有的ttp可能会导致更低的部署成本。易用性是另一个重要的激励因素。拥有稳定的基础设施对https的采用有很大的影响。
        然而,语言模型的输出是随机的,尽管开发人员可以约束这些输出(例如使用top-k截断),但如果没有人类的反馈,它们无法始终如一地执行。如果社交媒体虚假信息机器人在99%的情况下产生可靠的输出,但在1%的情况下产生不连贯的输出,这可能会减少操作该机器人所需的人力量。但是仍然需要人工来过滤输出,这限制了操作的可扩展性。
        基于我们对该模型的分析以及对威胁行为者和环境的分析,我们怀疑人工智能研究人员最终将开发出足够一致和可操控的语言模型,从而引起恶意行为者的更大兴趣。我们预计这将给更广泛的研究社区带来挑战,并希望通过缓解研究、原型设计和与其他技术开发人员协调的结合来解决这个问题。

6.2 公平、偏见和代表性 

        训练数据中存在的偏见可能导致模型产生刻板印象或偏见的内容。这是令人担忧的,因为模型偏见可能会以不同的方式伤害相关群体的人,通过巩固现有的刻板印象,并在其他潜在危害中产生贬低性的描述[Cra17]。我们对模型中的偏差进行了分析,以便更好地理解GPT-3在公平性、偏差和代表性方面的局限性。我们的目标不是详尽地描述GPT-3,而是对它的一些局限性和行为进行初步分析。我们关注的是与性别、种族和宗教有关的偏见,尽管可能存在许多其他类别的偏见,可以在后续工作中进行研究。这是一个初步的分析,即使在研究的类别中,也不能反映模型的所有偏差。
        总的来说,我们的分析表明,互联网训练的模型具有互联网规模的偏差;模型倾向于反映训练数据中存在的刻板印象。下面我们将讨论我们在性别、种族和宗教方面的偏见的初步发现。我们在1750亿个参数模型和类似的较小模型中探索偏差,看看它们在这个维度上是否不同以及如何不同。

6.2.1 性别 

        在我们的GPT-3性别偏见调查中,我们专注于性别与职业之间的关联。我们发现,在给出诸如“The foccupationg was a”(中性变体)的上下文时,职业通常有更高的概率后面跟随男性性别标识符而不是女性(换句话说,它们倾向于男性)。我们测试的388个职业中有83%的职业在GPT-3中更有可能后面跟随男性标识符。我们通过给模型提供诸如“The detective was a”的上下文,然后观察模型随后使用男性指示词(例如man, male等)或女性指示词(woman, female等)的概率来测量这一点。特别是,那些展示更高教育水平的职业,如立法者、银行家或名誉教授,以及那些需要艰苦体力劳动的职业,如石匠、机修工和警长,都强烈倾向于男性。更有可能后面跟随女性标识符的职业包括助产士、护士、接待员、管家等。
        我们还测试了当我们把上下文改为“The competent foccupationg was a”(能力变体)和“The incompetent foccupationg was a”(无能变体)时,这些概率如何变化,针对数据集中的每个职业。我们发现,当使用“The competent foccupationg was a”提示时,大多数职业后面跟随男性标识符的概率甚至比我们原始中性提示“The foccupationg was a”中的概率还要高。使用提示“The incompetent foccupationg was a”时,大多数职业仍然倾向于男性,其概率与我们的原始中性提示相似。平均职业偏见——测量为1/njobs * Σjobs log(P(female|Context) / P(male|Context))——对于中性变体为-1.11,能力变体为-2.14,无能变体为-1.15。
        我们还使用两种方法在Winogender数据集[RNLVD18]上进行了代词解析,这进一步证实了模型倾向于将大多数职业与男性关联的倾向。一种方法是测量模型正确分配代词作为职业或参与者的能力。例如,我们给模型提供了这样的上下文:“The advisor met with the advisee because she wanted to get advice about job applications. ‘She’ refers to the” 并找到了两个可能选项(职业选项:advisor;参与者选项:advisee)中概率最低的选项。
        职业和参与者词汇通常与社会偏见相关,例如默认大多数从业者都是男性。我们发现语言模型学习到了一些这样的偏见,例如倾向于将女性代词与参与者位置关联多于男性代词。GPT-3 175B在所有模型中准确率最高(64.17%)。它也是唯一一个在女性职业句(正确答案是职业选项的句子)的准确率高于男性的模型(81.7% 对 76.7%)。所有其他模型在男性代词的职业句中的准确率高于女性代词,除了我们第二大的模型——GPT-3 13B——它在两者上的准确率相同(60%)。
        我们还进行了共现测试,分析了哪些词汇可能出现在其他预选词汇附近。我们通过为数据集中的每个提示生成800个长度为50的输出样本集,温度为1,top p为0.9,来创建模型输出样本集。对于性别,我们有诸如“He was very”, “She was very”, “He would be described as”, “She would be described as”的提示。我们使用现成的词性标注器[LB02]查看了最受欢迎的100个形容词和副词。我们发现女性更多地被描述为外观导向的词汇,如“beautiful”和“gorgeous”,而男性则更多地被描述为跨度更大的形容词。

表6.1:175B模型中最偏向的描述性词汇 

        表6.1显示了模型最喜欢的 top 10 描述性词汇,以及每个词汇与代词指示符共现的原始次数。“最受欢迎”在这里指的是与某一类别共现的频率高于另一类别的词汇。为了将这些数字放在透视图中,我们还包括了每个性别所有合格词汇共现次数的平均值。

6.2.2 种族

        为了调查GPT-3中的种族偏见,我们在模型中植入了诸如“fraceg man was very”、“the fraceg woman was very”和“People would describe the fraceg person as”等提示,并为上述每个提示生成了800个样本,其中fraceg被一个表示种族类别(如白人或亚洲人)的术语所取代。然后我们在生成的样本中测量单词共现。鉴于先前的研究表明,语言模型在不同的特征(如职业)下产生不同情绪的文本[HZJ+19],我们探讨了种族如何影响情绪。我们使用Senti WordNet [BES10]来测量与每个种族不成比例地共同出现的单词的情绪。每个词的情绪在100到-100之间变化,正分值表示积极的词(例如。精彩:100分,友好:87.5分),负分表示负面词汇(如:“可怜的”:-87.5分,“可怕的”:-87.5分),0分表示中性词(例如:“讨厌的”)。倾斜的小屋)。
        应该指出的是,我们明确地促使模型讨论种族,这反过来又产生了关注种族特征的文本;这些结果不是来自于在野外讨论种族的模型,而是在实验环境中讨论种族的模型,在实验环境中他们已经准备好了这样做。此外,由于我们通过简单地查看单词共现来衡量情绪,由此产生的情绪可以反映社会历史因素——例如,与奴隶制讨论有关的文本经常具有负面情绪,这可能导致在这种测试方法下人口统计学与负面情绪相关联。
        在我们分析的模特中,“亚洲人”的人气一直很高——在7个模特中有3个排名第一。另一方面,“黑色”的情绪一直很低——在7个型号中,它在5个型号中排名最低。这些差异在较大的模型尺寸上略有缩小。这种分析给出了不同模型的偏差,并强调了对情感、实体和输入数据之间关系进行更复杂分析的必要性。

6.2.3 宗教 

        我们研究了与无神论、佛教、基督教、印度教、伊斯兰教和犹太教相关的宗教术语同时出现的单词,为每个提示生成800个长度≈50、温度为1、顶部p为0:9的模型输出。我们的提示的性质是“宗教从业者是”(例如:上面列出的六个宗教类别中的每一个都是“基督徒”。然后,我们允许模型自然地进行补全,并创建了一个这样的补全语料库,用于研究单词的共现现象。
        以下是该模型的示例输出:

 

        与种族相似,我们发现这些模型与宗教术语相关联,表明这些术语在某种程度上反映了这些术语在世界上的呈现方式。例如,在伊斯兰教中,我们发现斋月、先知和清真寺等词语的同时出现率高于其他宗教。我们还发现,与其他宗教相比,暴力、恐怖主义和恐怖主义等词汇与伊斯兰教的共同出现率更高,而且在GPT-3中,这些词汇都在伊斯兰教最受欢迎的前40个词汇之列。 

6.2.4 未来的偏见和公平挑战 

        我们提出了这一初步分析,以分享我们发现的一些偏差,以激励进一步的研究,并强调在大规模生成模型中表征偏差的固有困难;我们希望这将是我们持续研究的领域,并很高兴与社区讨论不同的方法方法。
        我们把这一部分的工作看作是主观的路标——我们选择了性别、种族和宗教作为起点,但我们认识到这种选择中固有的主观性。我们的工作受到了描述模型属性以开发信息性标签的文献的启发,例如来自[MWZ+18]的模型报告的模型卡。
        最终,重要的是不仅要描述语言系统中的偏见,还要进行干预。关于这方面的文献也很广泛[QMZH19, HZJ+19],所以我们只提供一些针对大型语言模型的未来方向的简短评论。为了在通用模型中有效预防偏见铺平道路,需要建立一个共同的词汇表,将这些模型在减少偏见方面的规范、技术和经验挑战联系起来。有更多的研究空间与NLP以外的文献相结合,更好地阐明关于伤害的规范性陈述,并与受NLP系统影响的社区的生活经验相结合[BBDIW20]。
        因此,缓解工作不应纯粹以指标驱动的目标来“消除”偏见,因为这已被证明存在盲点[GG19, NvNvdG19],而应以整体的方式进行。

6.3 能源使用 

        实际的大规模预训练需要大量的计算,这是能源密集型的:训练GPT-3 175B在预训练期间消耗了数千petaflop/s-days的计算,而1.5B参数的GPT-2模型则需要数十petaflop/s-days(图2.2)。这意味着我们应该认识到这些模型的成本和效率,正如[SDSE19]所倡导的那样。
        大规模预训练的使用也为观察大型模型的效率提供了另一个视角——我们不仅要考虑用于训练它们的资源,还要考虑这些资源在模型的整个生命周期中是如何分摊的,这些资源随后将用于各种目的,并对特定任务进行微调。尽管像GPT-3这样的模型在训练过程中消耗大量资源,但一旦训练完毕,它们的效率就会惊人:即使使用完整的GPT-3 175B,从一个训练好的模型生成100页内容的成本也只有0.4千瓦小时,或者只有几美分的能源成本。此外,像模型蒸馏[LHCG19a]这样的技术可以进一步降低这些模型的成本,让我们采用训练单个大规模模型的范例,然后创建它们的更有效的版本,以便在适当的上下文中使用。随着时间的推移,算法的进步自然也会进一步提高这些模型的效率,类似于在图像识别和神经机器翻译中观察到的趋势[HB20]。

7 相关工作 


        多项工作专注于增加语言模型的参数数量和/或计算量,以改善生成性能或任务表现。早期的一项工作将基于LSTM的语言模型扩展到了超过十亿参数[JVS+16]。一条工作线直接增加了变压器模型的大小,大致按比例增加了参数和每令牌的FLOPS。这项工作相继增加了模型大小:原始论文中的21亿3千万参数[VSP+17],30亿参数[DCLT18],15亿参数[RWC+19],80亿参数[SPP+19],110亿参数[RSR+19],以及最近的170亿参数[Tur20]。第二条工作线专注于增加参数数量但不增加计算量,作为在不增加计算成本的情况下增加模型存储信息能力的一种方式。这些方法依赖于条件计算框架[BLC13],特别是混合专家方法[SMM+17]已被用来生产1000亿参数模型,最近还生产了500亿参数的翻译模型[AJF19],尽管在每个前向传递中实际上只使用了参数的一小部分。第三种方法在不增加参数的情况下增加了计算量;这种方法包括自适应计算时间[Gra16]和通用变压器[DGV+18]。我们的工作专注于第一种方法(通过直接使神经网络变大来共同扩大计算和参数),并将模型大小增加了10倍,超过了以前采用这种策略的模型。
        还有几项工作系统地研究了规模对语言模型性能的影响。[KMH+20, RRBS19, LWS+20, HNA+17]发现,当自回归语言模型扩大时,损失呈现出平滑的幂律趋势。这项工作表明,当模型继续扩大时,这一趋势在很大程度上持续(尽管在图3.1中可能检测到曲线轻微的弯曲),我们也发现在许多(尽管不是全部)下游任务中,跨3个数量级的扩展相对平稳地增加。
        另一条工作线与扩展相反,试图在尽可能小的语言模型中保持强劲的性能。这种方法包括ALBERT[LCG+19]以及通用的[HVD15]和针对特定任务的[SDCW19, JYS+19, KR16]语言模型蒸馏方法。这些架构和技术可能与我们的工作相辅相成,并可用于减少巨型模型的延迟和内存占用。
随着微调后的语言模型在许多标准基准任务上接近人类性能,大量的努力被投入到构建更困难或开放式任务的构造中,包括问答[KPR+19, IBGC+14, CCE+18, MCKS18],阅读理解[CHI+18, RCM19],以及为现有语言模型设计的对抗性数据集[SBBC19, NWD+19]。在这项工作中,我们在许多这样的数据集上测试了我们的模型。
        许多先前的工作专门关注问答,这构成了我们测试任务的很大一部分。最近的工作包括[RSR+19, RRS20],它们微调了一个110亿参数的语言模型,以及[GLT+20],它在测试时专注于在大规模数据语料库上的注意力。我们的工作不同之处在于专注于上下文学习,但未来可以与[GLT+20, LPP+20]的工作相结合。
        语言模型中的元学习已经在[RWC+19]中得到了利用,尽管结果有限,且没有系统研究。更广泛地说,语言模型的元学习具有内循环-外循环结构,使其在结构上类似于应用于一般ML的元学习。这里的文献非常丰富,包括匹配网络[VBL+16],RL2 [DSC+16],学习优化[RL16, ADG+16, LM17]和MAML [FAL17]。我们将模型上下文填充前例的方法在结构上与RL2最为相似,也类似于[HYC01],在内循环中通过模型在不同时间步的激活中的计算进行适应,而无需更新权重,而外循环(在这种情况下只是语言模型预训练)更新权重,并隐式学习适应或至少识别在推理时定义的任务的能力。
        在[RCP+17]中探索了少量样本的自回归密度估计,[GWC+18]研究了将低资源NMT作为少量样本学习问题。
        尽管我们的少量样本方法的机制不同,但先前的工作也探索了使用预训练的语言模型与梯度下降相结合来执行少量样本学习的方法[SS20]。另一个具有相似目标的子领域是半监督学习,其中如UDA [XDH+19]等方法也探索了在几乎没有标注数据时可进行微调的方法。
        在自然语言中给多任务模型指令首先在监督设置中形式化为[MKXS18],并在语言模型中用于某些任务(如摘要)[RWC+19]。在文本到文本变压器[RSR+19]中也探索了呈现任务的自然语言的概念,尽管在那里它是用于多任务微调,而不是用于没有权重更新的上下文学习。
        在语言模型中增加通用性和迁移学习能力的另一种方法是多任务学习[Car97],它在一组下游任务上同时进行微调,而不是分别更新每个任务的权重。如果成功,多任务学习可以允许单个模型在不更新权重的情况下用于许多任务(类似于我们的上下文学习方法),或者在新任务的权重更新时提高样本效率。多任务学习已经展示了一些有希望的初步结果[LGH+15, LSP+18],并且多阶段微调最近已成为一些数据集上SOTA结果的标准化部分[PFB18],并在某些任务上推动了边界[KKS+20],但仍然受到需要手动策划数据集集合和设置训练课程的限制。相比之下,足够大规模的预训练似乎提供了隐含在预测文本本身中的“自然”广泛的任务分布。未来工作的一个方向可能是尝试为多任务学习生成更广泛的显式任务集,例如通过程序生成[TFR+17],人类互动[ZSW+19b]或主动学习[Mac92]。
        在过去的两年里,语言模型在算法创新方面取得了巨大进步,包括基于去噪的双向性[DCLT18],prefixLM [DL15]和编码器-解码器架构[LLG+19, RSR+19],训练期间的随机排列[YDY+19],提高采样效率的架构[DYY+19],数据和训练程序的改进[LOG+19],以及嵌入参数的效率提升[LCG+19]。许多这些技术在下游任务上提供了显著的收益。在这项工作中,我们继续专注于纯自回归语言模型,既是为了关注上下文学习性能,也是为了减少我们大型模型实现中的复杂性。然而,很可能结合这些算法进步可以改善GPT-3在下游任务上的性能,特别是在微调设置中,将GPT-3的规模与这些算法技术相结合是未来工作的一个有希望的方向。

8 结论 

        我们展示了一个拥有1750亿参数的语言模型,该模型在许多自然语言处理任务和基准测试中的零样本、单样本和少样本设置下表现出强大的性能,在某些情况下几乎能与最先进的微调系统相匹敌,同时还能生成高质量的样本,并在即时定义的任务上展现出强大的定性性能。我们记录了在不使用微调的情况下,性能随规模扩大而大致可预测的趋势。
        我们还讨论了这类模型的社会影响。尽管存在许多局限性和弱点,这些结果表明,非常大的语言模型可能是开发适应性强的通用语言系统的重要成分。
 

 

 

 

 

 

 

 

 

 

 

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

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

相关文章

使用GitLab CI构建持续集成案例

1. 部署GitLab (1)基础准备 解压软件包并导入镜像: [rootmaster ~]# curl -O http://mirrors.douxuedu.com/competition/Gitlab-CI.tar.gz [rootmaster ~]# tar -zxvf Gitlab-CI.tar.gz [rootmaster ~]# ctr -n k8s.io image import gitla…

408 笔记错题本

数据结构 树 线索二叉树 组成原理 第五章 计组 SISD 一两个指令和数据 不能采用数据并行技术,但是可以采用流水线技术,计组这门课 就是讨论的是SISD这个概念。 SIMD 应用:浮点机、向量处理机、优化for循环。 MISD 这个理论上是不存在…

考研论坛平台|考研论坛小程序系统|基于java和微信小程序的考研论坛平台小程序设计与实现(源码+数据库+文档)

考研论坛平台小程序 目录 基于java和微信小程序的考研论坛平台小程序设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂…

华为资源分享

紫光云文档中心提供弹性计算服务文档https://www.unicloud.com/document/product/ElasticComputeService/index.html报文格式华为报文格式资料Info-Finder(在线工具) 报文格式华为IP网络电子书华为IP网络相关电子书IP网络系列丛书 - 华为企业业务华为产品…

[云] DockerCoins 练习笔记

DockerCoins DockerCoins 由 5 个服务组成 rng (随机数生成器): 这是一个Web服务,它的任务是生成随机字节。随机字节通常用于加密、安全令牌生成、测试等场景。 hasher (哈希计算器): 这个服务接收数据(通常是通过POST请求发送的数据)&#…

202408第十五届蓝桥杯青少组省赛C++中级组题解

202408第十五届蓝桥杯青少组省赛C++中级组题解 单选题 1、定义 char a[]="hello\nworld",执行 cout<<a,输出结果是(B) A、helloworld B、hello world C、 hellonworld D、 hello\nworld 解析:\n输出时会换行。 2、 的结果是(C)。 A、 B、

商城网站建设怎么建

商城网站已经成为企业迅速拓展市场、提升品牌形象的重要利器。随着互联网技术的飞速发展&#xff0c;传统的实体店面已经不能满足消费者多样化的购物需求。因此&#xff0c;搭建一个功能强大、用户友好的商城网站成为企业不可或缺的一环。 首先&#xff0c;商城网站的建设需要具…

OpenCAEPoro安装与测试(ASC 2024)

首先简单总结一下经验&#xff1a; 在之前的测试和学习中&#xff0c;由于自己是虚拟机或者云服务器&#xff0c;有root权限&#xff0c;经常无脑增删文件&#xff08;主要是为了图省事&#xff0c;看见报错就加回来&#xff0c;多出来就删除&#xff09;&#xff0c;但是在经…

D 咖饮品机闪耀荆州动漫嘉年华

在今年的国庆佳节&#xff0c;恰逢金秋时节&#xff0c;荆州动漫嘉年华盛大开幕&#xff0c;这场充满活力与创意的盛会吸引了无数动漫爱好者的目光。而在众多精彩的展示中&#xff0c;D 咖饮品机的出现无疑为这场嘉年华增添了一抹别样的色彩。 走进嘉年华现场&#xff0c;热闹的…

ubuntu18.04运行OpenPCDet出现的问题

一、概述 在编译成功OpenPCDet的源代码之后&#xff0c;发现在运行demo时候&#xff0c;依旧出现了很多问题&#xff0c;在此对出现的问题进行总结记录。 二、问题分析 &#xff08;一&#xff09;ModuleNotFoundError:No module named av2 如图所示 这个问题比较简单&#x…

(C语言贪吃蛇)14.用绝对值方式解决不合理的走位

目录 前言 解决方式 运行效果 总结 前言 我们上节实现了贪吃蛇四方向走位&#xff0c;但是出现了一些不合理的走位&#xff0c;比如说身体节点和头节点重合等等&#xff0c;本节我们便来解决这个问题。 我们希望贪吃蛇撞到自身时游戏会重新开始&#xff0c;并且贪吃蛇的运动方…

TryHackMe 第6天 | Web Fundamentals (一)

这一部分我们要简要介绍以下 Web Hacking 的基本内容&#xff0c;预计分三次博客。 在访问 Web 应用时&#xff0c;浏览器提供了若干个工具来帮助我们发现一些潜在问题和有用的信息。 比如可以查看网站源代码。查看源代码可以 右键 网页&#xff0c;然后选择 查看网站源代码&…

Discord 用户突破2亿:CEO 谈发展规划、产品策略及游戏通信的未来

Discord,这个最初为游戏玩家打造的社区平台,如今已经发展成为一个拥有超过2亿月活跃用户的全球性社交网络。创始人兼CEO Jason Citron在经历了多次创业尝试后,最终将Discord打造成了一个不可或缺的游戏通信工具。以下是Jason Citron在接受GamesBeat采访时,对Discord的现状、…

招联金融2025校招内推

【投递方式】 直接扫下方二维码&#xff0c;或点击内推官网https://wecruit.hotjob.cn/SU61025e262f9d247b98e0a2c2/mc/position/campus&#xff0c;使用内推码 igcefb 投递&#xff09; 【招聘岗位】 后台开发 前端开发 数据开发 数据运营 算法开发 技术运维 软件测试 产品策…

MAE(平均绝对误差)和std(标准差)计算中需要注意的问题

一、MAE&#xff08;平均绝对误差&#xff09; 计算公式&#xff1a; yi​ 是第i个实际值y^​i​ 是第i个预测值 计算方法&#xff1a; MAE就是求实际值与预测值之间的误差&#xff0c;需要给出预测值和原始的实际值 二、std&#xff08;标准差&#xff09; 计算公式&#x…

螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习06(Docker网络连接)

如果要搭建基于docker的私人DC&#xff0c;除了虚拟机网络连接外&#xff0c;就得掌握docker的网络连接。磨刀不误砍柴工&#xff0c;或者说工欲善其事必先利其器&#xff0c;我们先学学典型的docker的网络连接方式。Docker的网络连接有四种&#xff1a;bridge、none、containe…

MySQL【知识改变命运】01

库的基本操作语法 1:SQL的简介2:SQL的基本分类3:库的基本操作1&#xff1a;查看库2&#xff1a;创建数据库1:创建一个diayang库2&#xff1a; ⾃定义⼀个数据库名&#xff0c;如果数据库不存则创建&#xff0c;3&#xff1a;查看警告信息4&#xff1a;字符集编码和校验(排序)规…

从零开始讲PCIe(4)——PCI总线的地址空间分配

一、概述 PCI架构支持三种地址空间&#xff0c;如图1-10所示&#xff1a;内存地址空间&#xff08;Memory Map&#xff09;、I/O地址空间(I/O Map)和配置地址空间&#xff08;PCI Configure Space&#xff09;。在x86处理器中&#xff0c;处理器可以直接访问内存和I/O空间。PCI…

PHP代码审计方法与套路

PHP代码审计方法与套路 01&#xff0c;审计前的准备&#xff08;1&#xff09;获取源码&#xff08;2&#xff09;安装网站 02&#xff0c;把握大局&#xff08;1&#xff09;网站结构&#xff08;2&#xff09;入口文件&#xff08;3&#xff09;配置文件&#xff08;4&#x…

Elasticsearch学习记录

阅读前须知 本文通过安装elasticsearch-7.17.0为基础&#xff0c;使用 kibana-7.17.0 对 elasticsearch 进行操作&#xff0c;本文中 es 是对 elasticsearch 的简写。 下载地址&#xff1a;elasticsearch_免费高速下载|百度网盘-分享无限制 (baidu.com) 1 初识Elasticsearch …