GOLLIE : ANNOTATION GUIDELINES IMPROVE ZERO-SHOT INFORMATION-EXTRACTION

文章目录

    • 题目
    • 摘要
    • 引言
    • 方法
    • 实验
    • 消融

题目

Gollie:注释指南改进零样本信息提取

图片名称

论文地址:https://arxiv.org/abs/2310.03668

摘要

    大型语言模型 (LLM) 与指令调优相结合,在泛化到未见过的任务时取得了重大进展。然而,它们在信息提取(IE)方面不太成功,落后于特定任务模型。通常,IE 任务的特点是复杂的注释指南,这些指南描述任务并向人类提供示例。以前利用此类信息的尝试都失败了,即使是最大的模型也是如此,因为它们无法遵循开箱即用的指南。在本文中,我们提出了 GoLLIE(IE 大型语言模型指南),该模型能够通过微调以符合注释指南,从而改进未见过的 IE 任务的零样本结果。综合评估经验表明,GoLLIE 能够泛化并遵循看不见的准则,优于之前零样本信息提取的尝试。消融研究表明,详细的指导方针是获得良好结果的关键。代码、数据和模型将公开。

    信息提取(IE)的任务非常具有挑战性。这一挑战在详细的指南中显而易见,其中包含精细的定义和大量的例外情况,人类注释者必须遵循这些指南来执行任务。当前 SoTA 模型的性能在很大程度上取决于人工注释数据的数量,因为该模型从这些示例中学习指导。然而,在新的注释模式中进行测试时,这种性能会显着下降。在 IE 中获得良好结果的常见做法是从头开始在每个新域和模式中手动注释,因为几乎不存在跨应用程序域的传输。不幸的是,这在财务成本和人力方面都是不可行的。

引言

    IE 任务需要的信息不仅仅是标签名称,它们还需要注释指南。目前的LLM已经接受过遵循说明的培训,但他们未能遵循开箱即用的注释指南。例如,下图显示了特定领域的零样本命名实体识别的结果。当提示指导方针时,gpt-3.5-turbo 的结果很低,在音乐或政治领域的 F1 分数约为 20。构建一个能够实现高性能零样本信息提取的系统,减少对昂贵的人工注释的依赖,仍然是一个开放的挑战。在这项工作中,我们提出了 GoLLIE(遵循指南的 IE 大型语言模型),这是一个经过微调的LLM,旨在学习如何遵守一小部分众所周知的 IE 任务的指南。综合零样本评估经验表明,GoLLIE 在零样本信息提取方面优于 SoTA。

图片名称

    大型语言模型 (LLM) 在开发可泛化到未见过的任务的系统方面取得了重大进展。使用大量互联网数据训练了LLM,发现给定自然语言任务描述的预训练模型可以在没有明确监督的情况下执行问答、机器翻译或总结等任务。基于这一发现,指令调优(通常称为多任务微调)已成为实现未知任务泛化的主要方法。此过程涉及在大量未标记数据上预训练模型,然后针对各种任务集合对其进行微调,这些任务被表述为文本到文本问题。向模型提供自然语言指令或提示,以识别其应解决的任务。研究已经证明,增加语言模型的参数数量,再加上指令调优数据集的大小和质量的改进,可以增强泛化能力。LLM在各种具有挑战性的任务中表现出了令人印象深刻的零样本泛化能力,包括编码、常识推理和`医学应用等。

    在信息提取(IE)领域,最近的共享任务表明,XLM-RoBERTa和 mDEBERTA等仅编码器的语言模型仍然存在最有效的模型。利用 LLM 和自然语言指令进行 IE 的尝试不太成功,因为它们的性能落后于仅编码器模型。在十亿参数 LLM 之前,间接监督方法通过利用从文本蕴涵和问答等任务中学到的知识来改进零样本 IE。实体类型方法,该方法使用 LSTM 将维基百科的标签描述编码为嵌入,然后用于对输入进行评分。利用外部知识的方法在细粒度零样本 NER 上也取得了成功。引入了一种统一的文本到结构生成方法,可以对不同的 IE 任务进行通用建模。提出将 IE 任务转换为语义匹配问题,使他们的方法能够推广到新领域并标记训练期间未见过的本体。将 IE 任务定义为自然语言描述性指令,并在各种 IE 任务中训练了LLM。在对具有看不见的标签本体的任务的评估中,他们的模型优于其他指令调整方法。大多数针对 IE 的指令调整尝试都有一个限制:它们仅考虑提示中的标签名称(例如,“列出所有人员”)。这带来了两大挑战。首先,并非所有数据集都对“人”等标签具有相同的定义(有些数据集不包括虚构人物或代词)。其次,标签名称本身不足以描述复杂或不太常见的标签。虽然有人尝试提示LLM使用指南,但LLM有关任务标签的丰富先验知识阻止了模型遵守这些指南。

图片名称

方法

    输入-输出表示,我们对模型的输入和输出采用了基于 Python 代码的表示。这种方法不仅提供了清晰且人类可读的结构,而且还解决了通常与自然语言指令相关的几个挑战。它能够以统一的格式表示任何信息提取任务。输入可以使用 Python 代码格式化程序(例如 Black)自动标准化。输出结构良好,解析它很简单。此外,当前大多数LLM都在其预训练数据集中包含代码,这表明这些模型已经熟悉这种表示形式。上图显示了该格式的三个主要部分:模式定义、输入文本和输出注释。模式定义形成输入的初始段。本节包含有关表示为 Python 类的标签的信息;指导方针,明确表达为文档字符串;以及以代码注释的形式呈现的代表性注释候选者。类定义的数量对应于数据集中标签的数量。课程很灵活,并且针对每项任务而有所不同。例如,NER 数据集的类仅需要一个属性来指定与该类相对应的文本范围。另一方面,事件参数提取 (EAE) 或槽位填充 (SF) 等更复杂的任务需要更多类属性来对任务进行分类,例如事件参与者列表。输入文本是输入的第二部分。输入文本在 Python 中表示为字符串变量。输出注释是模型生成的部分。 result=后模型开始生成。注释是表示为模式定义部分上定义的类的实例列表。解析输出很简单;在 Python 中执行生成的代码会生成一个包含结果的列表。这种易于解析输出的方式是我们模型的一个显着优势。附录 E 提供了对该方法效率的进一步详细分析。

图片名称

    指南增强表示这项工作的主要贡献是使用指南作为推理过程的一部分来改进零样本泛化。上图显示了带有和不带有指导方针的类定义示例。不同的数据集通常以多种不同的方式定义指导方针:有些提供标签的复杂定义,但有一些例外和特殊处理,而另一些则仅给出一些有代表性的候选标签。标签的填充物。为了规范化输入格式,我们将标签定义包含为类文档字符串,并将候选者作为主要参数的注释(通常是提及或跨度)。 EAE 或 SF 等复杂任务需要参数或槽的附加定义,为此,我们在每个类参数上添加了一些小定义作为注释。在本文中,我们将没有指南的模型称为 Baseline,将有指南的模型称为 GoLLIE。

图片名称

    训练正则化我们希望确保模型遵循指导方针,而不仅仅是学习识别特定的数据集并在它们上正确执行。为此,我们在训练期间引入各种噪声。这会阻止模型识别特定数据集、回忆特定标签或仅关注标签名称,而不是学习遵循指南中每个标签的实际描述。我们应用了以下正则化。类顺序打乱,对于每个示例,输入类的顺序被随机打乱。这使得模型更难记住整个任务定义。类丢失,我们随机删除一些输入类。通过从输入和输出中消除少数类,我们迫使模型学习仅输出输入中定义的类的实例。这不仅鼓励模型专注于模式定义,而且还最大限度地减少了推理过程中出现幻觉的情况。指南释义,我们生成标签定义的变体,以防止模型轻松记住它们。我们还认为这将使该方法对于定义的不同变化更加稳健。代表性候选者抽样,与我们对释义所做的类似,对于每个输入,我们从每类 10 个固定池中抽样 5 个不同的候选者。类名称屏蔽涉及用占位符(例如 LABEL 1)替换标签类名称(例如 PERSON)。这可以防止模型在训练期间利用标签名称,并强制其参与并理解指南。

实验

    评估零样本能力需要将数据分为训练数据集和评估数据集。然而,许多信息提取基准都基于相同的域或共享其模式的一部分。为了确保零样本评估不受类似数据的影响,我们根据数据域划分了一组基准。对于训练,我们主要保留来自新闻和生物医学领域的数据集,而对于评估,我们使用来自不同领域的数据集。这种方法有助于避免在评估过程中引入任何噪音。在评估数据集中,我们包括 CrossNER,这是一个分为多个领域的数据集,为了简单起见,我们将每个领域称为一个单独的数据集:人工智能、文学、音乐、政治和科学。另外,我们将 MIT Movie 和 MIT Restaurant 称为电影和餐厅。表 1 包含有关实验中使用的数据的信息。我们训练模型执行 5 种不同的任务:命名实体识别 (NER)、关系提取 (RE)、事件提取 (EE)、事件参数提取 (EAE) 和槽位填充 (SF)。然而,我们仅在感兴趣的三个主要任务上评估了模型:NER、EE 和 EAE。另外两个任务被添加到训练数据中,以增加多样性并提高模型的灵活性。为了提高模型的质量,对两个数据集进行了少量修改。首先,Ontonotes 5 的训练数据由于自动标注而大幅减少。其次,TACRED 数据集从 RE 转换为 SF,以增加任务的复杂性。这些修改使我们的系统无法与这些任务的现有技术相媲美。然而,我们感兴趣的焦点是零样本评估,因此,其好处比在监督设置上添加 2 个可比点更有趣。在 CASIE 数据集中,我们检测到注释的事件跨度不一致。模型通常注释子字符串而不是整个范围。因此,我们根据预测的事件类别评估所有模型,而不考虑确切的文本跨度。对于参数,我们使用部分匹配。我们使用每个数据集作者发布的指南。当此类指南未公开时,我们会要求人类专家根据开发分会的注释来创建它们。当可用时,从指南中提取代表性候选者,否则,根据词频从列车分割中采样候选者或根据指南手动策划候选者。使用 Vicuna 33B v1.3 自动生成释义。

图片名称

    主干LLM:GoLLIE 是 Code-LLaMA 的微调版本。 然而,在开发过程中考虑了其他骨干 LLM,例如 LLaMA、LLaMA-2或 Falcon,因为我们的方法使用代码来表示输入和输出,Code-LLaMA 模型在初步实验中效果更好。为了进行公平比较,本文开发的基线也基于 Code-LLaMA。本文的所有开发都是使用 Code-LLama 的 7B 参数版本完成的,但是,为了进行缩放分析,我们还训练了 13B 和 34B 参数模型。训练设置:为了训练模型,我们使用 QLoRA。 LoRA 冻结预先训练的模型权重,并将可训练的秩分解矩阵注入到 Transformer 架构的线性层中。在初步实验中,该设置在零样本任务上优于微调整个模型,同时训练速度更快。我们按照 Dettmers 等人的建议将 LoRA 应用于所有线性变压器块层。使用余弦调度器对模型进行 3 个 epoch 的训练,有效批量大小为 32,学习率为 3e-4。我们的训练基础设施是 2 台 NVIDIA A100,每台 80GB。可比系统:我们的主要比较点是 Instruct-UIE,因为它是最接近我们系统的方法,但不使用指南。考虑进行比较的另一个系统是 PromptNER,它建议使用 Chain-of-Though 来提示 GPT-3.5 和 T5 的定义,以执行少样本 NER。与我们不同的是,他们没有对模型进行微调以遵守指南。为了公平比较,我们只考虑了论文中报告的零样本结果。此外,当 Instruct-UIE 和 PromptNER 的结果不可用时,还会添加其他 SoTA 系统进行比较。鉴于我们的系统是为零样本场景设计的,监督实验旨在验证我们的系统不会降低其性能。因此,对于监督场景,我们选择了 SoTA 中与我们最具有可比性的设置的系统。

    监督数据集上的结果如上表所示。将 GoLLIE 与基线进行比较,它们都获得非常相似的结果,平均绝对差异为 0.3 个 F1 点。这是预期的,因为基线模型隐式地学习了在微调期间根据数据分布注释数据集的指南。此外,尽管 GoLLIE 微调中引入了噪声以便根据准则进行概括,但性能仍接近基线。与其他系统相比,我们的模型总体上取得了相似的结果。关注我们的模型表现明显不佳的两个数据集 WNUT 和 NCBIDisease,我们发现该任务仍需要具体技术。例如,使用外部知识来检测新兴和稀有实体。在 NCBIDisisease 数据集中,在生物医学领域语料库上预训练的模型取得了最佳结果。利用 Flan-T5,它在生物医学领域任务上非常熟练。然而,这些改进是对我们的建议的补充。

    零样本的结果如下表所示。总体而言,与基线相比,在几乎每个数据集上使用指南时,结果都有显着改善,平均绝对差异为 13 个 F1 点。尽管根据领域划分评估基准,但训练标签和评估基准之间总是存在一些重叠。例如,数据集 E3C 和 WikiEvents 与 BC5CDR、ACE05 和 RAMS 等数据集共享其模式的很大一部分。这种现象反映在结果中。GoLLIE 大幅超越了当前的 zeri-shot SoTA 方法 Instruct-UIE和基于 Entailment 的 IE。与 Instruct-UIE 相比,主要区别在于骨干模型、训练数据量以及指南的使用与否。Instruct-UIE 利用 11B FlanT5,它是在 473 个 NLP 数据集上微调的 T5。在数据方面,Instruct-UIE总共利用了来自不同领域的34个IE数据集(将不同的任务计为数据集),我们只利用了12个数据集。与我们的方法相反,他们不使用指南信息。尽管如此,我们的方法表现明显更好,表明指南对结果有重要影响。

图片名称

    PromptNER 还在提示中添加了一些定义信息,以便执行零样本 NER。我们将我们的方法与图中的他们(表示为 GPT-3.5)进行比较。尽管他们的方法也利用了指南,但我们的方法在所有数据集上的表现明显更好,这表明LLM(即使使用 175B 参数)很难遵循指南。他们通过在上下文中添加示例来解决这个问题,但在可比较的设置(T5-XXL)上仍然远远落后。模型扩展:最近的研究表明,增加语言模型的参数数量可以提高泛化能力。更高的参数数量可带来卓越的平均零样本性能。然而,一些数据集和任务可以从更大的LLM中受益匪浅,而另一些则不然。我们认为,某些数据集并没有看到增加 LLM 规模的好处,因为它们的性能受到我们讨论的指南问题的阻碍。虽然一般来说,较大的模型在监督和零样本设置中都能取得更好的结果,但具有 7B 参数主干的 GoLLIE 已经表现出强大的零样本能力。可见标签与不可见标签:零样本数据集中并非所有标签都是不可见的;训练数据集和零样本数据集中的标签之间存在重叠。尽管这些标签可能有非常不同的注释准则,但我们也会报告训练期间未接触到的标签集的结果,以更好地了解 GoLLIE 的泛化能力。下图汇总了零样本场景中已见和未见标签的跨数据集的 F1 分数。所有模型在看不见的标签上表现出稍低的性能。对于基线模型,性能下降更为明显。相比之下,GoLLIE 表现出更好的泛化能力,显示出可见标签和未看见标签之间的 F1 分数差距较小。此外,随着模型参数数量的增加,差距会更小。

图片名称

消融

    我们进行了消融,以查看零样本评估中几个组件的贡献。我们分析提出的不同正则化技术。此外,我们将基线表示为“w/o all”,即删除包括指南在内的所有组件时。除了平均零样本 F1 之外,我们还提供了 GoLLIE 的单边 p 值。类顺序改组、指南释义和类名屏蔽似乎对最终结果没有显着贡献,而类丢失虽然显着,但改进很小。损失仅根据结果标记进行计算,从本质上限制了模型与准则过度拟合的可能性。相反,代表性注释项向模型发出了更强的信号。我们看到指南中的定义和代表性候选者如何互补并有助于相互改进。

图片名称

    我们的目的是更好地理解通过指南提示LLM的效果。我们专注于不同数据集上的特定标签,结果如上表所示。我们的分析涵盖了 GoLLIE 实体标记的成功和不成功案例。对于后者,我们还旨在确定模型未能正确标记这些实体的原因。详细信息在指南中:MEDIA、VULNERABILITYPATCH、TRAILER 和 TASK 等标签本质上是多义的,因此很难仅根据标签名称来确定适当的分类。因此,由于信息不足,基线很难有效地对这些标签下的项目进行分类。相反,GoLLIE 成功地遵循了这些指南,强调了它们的实用性。当注释不符合准则时:对于 MultiNERD 数据集的 TIME 标签,我们发现我们的模型将年份标记为 TIME 实体。根据注释指南,这是正确的。令人惊讶的是,年份没有被标记为数据集中的实体。在这种情况下,GoLLIE 成功地遵循了指南;不幸的是,数据集注释没有。不明确的标签:CoNLL03 和 CrossNER 数据集使用的杂项类别是指未包含在数据集设置的预定义类别中的任何命名实体。这个定义非常模糊,并且是对不适合任何类型的各种元素的包罗万象。预定义类别。类似地,电影数据集的 PLOT 类别用于标记各种元素。例如,电影中的事件(例如谋杀、赛马)、角色(例如吸血鬼、僵尸)和原籍国(例如英国)等。这种缺乏特异性阻碍了标记此类元素的一致规则或指南的制定,这对人类和机器来说都是一个问题。因此,GoLLIE 也无法准确地标记它们。

    细粒度实体和粗实体之间的冲突:CrossNER 数据集为每个域中的人名引入了两个标签。例如,在科学领域中,使用标签“SCIENTIST”和“PERSON”。前者用于标记任何不是科学家的人。类似地,文学域包括标签“WRITER”和“PERSON”。该指南帮助 GoLLIE 将实体正确标记为 WRITER。然而,尽管有指导方针,GoLLIE 仍然将个人归类为“人”,即使他们是科学家。从技术上讲,这并不是不正确的,因为根据定义,每个科学家也是一个人。强烈的标签先入之见:在其政治领域集中,CrossNER 包含“政治政党”标签。 GoLLIE 的表现优于基线,再次证明了为模型提供指导的实用性。然而,我们经常发现该模型将政党归类为组织。如表 1 所列,大多数预训练数据集源自新闻领域,其中政党是一个常见实体。然而,没有一个微调数据集包含 POLITICAL PARTY 实体;相反,它们被归类为组织。因此,在推理过程中,该模型始终将政党标记为组织。我们相信这个问题可以通过扩大微调数据集的数量和多样性来解决。总之,我们预计 GoLLIE 将在具有明确定义和明确界限的指导方针的标签上表现良好。另一方面,模糊的标签或非常粗糙的标签带来了挑战。

图片名称

    在这方面,相信 GoLLIE 会受益于学习遵循“始终标记最具体的类”或“在没有其他特定类的情况下注释此类”等指令。我们还预计 GoLLIE 将从扩大预训练数据集的数量和多样性中受益。在本文中,我们介绍了 GoLLIE,这是一种经过专门微调以符合注释指南的LLM,该指南旨在帮助人类注释数据集。全面的零样本评估从经验上证明,注释指南对于LLM来说非常有价值,因为 GoLLIE 成功地利用了它们。与之前的零样本 IE 尝试相比,GoLLIE 实现了更好的零样本结果,后者不利用指南,或使用未针对遵循指南进行微调的模型。GoLLIE 是模型开发方面的重大进步,可以泛化到未见过的 IE 任务。未来,我们计划通过使用更大、更多样化的预训练数据集来增强 GoLLIE。我们还将通过扩展模型可以遵循的指令集来提高模型在模糊和粗糙标签上的性能。

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

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

相关文章

又上热搜!曝iPhone 16将支持40W快充

ChatGPT狂飙160天,世界已经不是之前的样子。 更多资源欢迎关注 7月9日晚,微博话题“iPhone16系列或将支持40W快充”上了热搜榜,这已经是iPhone 16系列第N次上热搜了。 据爆料,iPhone 16系列充电功率将提升至40W,并且…

米家立式学习灯怎么样?书客、米家、孩视宝三款护眼大路灯巅峰PK!

米家立式学习灯怎么样?不知从什么时候开始,青少年成为了近视重灾区,主要促成近视的原因有长时间接触电子产品、学习时的不正确姿势、不良的灯光环境等,除了减少电子产品的使用以及多室外活动之外,剩下的就是室内孩子经常学习的光…

全球首款集成GPT-4o的智能眼镜AirGo Vision:AI眼镜的未来

引言 在人工智能和大模型技术迅猛发展的今天,AI硬件产品逐渐走入人们的生活。继Meta Ray-Ban智能眼镜之后,Solos公司在最近的香港智能眼镜峰会上发布了全球首款集成GPT-4o的智能眼镜AirGo Vision。本文将深入探讨这款AI智能眼镜的功能、技术特点以及其在…

侯捷C++面向对象高级编程(下)-2-non-explicit one argument constructor

1.构造函数 构造函数: Fraction(int num, int den 1) 初始化分子和分母,允许指定分子 num 和可选的分母 den。默认情况下,分母为 1。 加法运算符重载: Fraction operator(const Fraction& f) 重载了加法运算符 。这使得两个 Fraction 对象可以通过 …

Qt 异步实现事件的定时执行 - QTimer和QThread的联合使用

异步实现事件的定时执行 - QTimer和QThread的联合使用 引言一、核心源码二、其信号和槽函数简述三、定时器及其moveToThread简述 引言 在 Qt 中,如果想要定时执行某些事件或函数,通常会使用 QTimer 类。QTimer 允许设置一个时间间隔,当这个时…

echarts使用自定义图形实现3D柱状图

先看下效果吧 实现思路 使用graphic创建并注册自定义图形。根据每组的数据值,得到一个对应的点,从点出发用canvas绘制一组图形,分别为 顶部的菱形 const CubeTop echarts.graphic.extendShape({buildPath: function (ctx, shape) {const c1…

NVIDIA良心给显卡免费升级,只为挨更多的骂

起猛了,还真的以为 NVIDIA 良心发现了。 众所周知,英伟达对于咱们普通游戏玩家向来不屑一顾。只因为游戏业务在 NVIDIA 收入中占比较少。 在最新的 40 系显卡 RTX 4070 Ti Super 显卡中,NVIDIA悄悄给它来了一次核心「升级」,将原…

ARM学习(29)NXP 双coreMCU IMX1160学习----NorFlash 启动引脚选择

ARM学习(28)NXP 双coreMCU IMX1160学习----NorFlash 启动引脚选择 1、多种启动方式介绍 IMX1166 支持多组flexSPI 引脚启动,FlexSPI1以及FlexSPI2,通过boot cfg可以切换FlexSPI得实例。 每个实例又支持多组引脚,总共…

LiteOS增加执行自定义源码

开发过程注意事项: 源码工程路径不能太长 源码工程路径不能有中文 一定要关闭360等杀毒软件,否则编译的打包阶段会出错 增加自定义源码的步骤: 1.创建源码目录 2. 创建源文件 新建myhello目录后,再此目录下再新建源文件myhello_demo.c 3. 编…

程序员学长 | PyCaret,一个超强的 python 库

本文来源公众号“程序员学长”,仅用于学术分享,侵权删,干货满满。 原文链接:PyCaret,一个超强的 python 库 今天给大家分享一个超强的 python 库,PyCaret。 https://github.com/pycaret/pycaret 简介 …

[论文笔记]RAPTOR: RECURSIVE ABSTRACTIVE PROCESSING FOR TREE-ORGANIZED RETRIEVAL

引言 今天带来又一篇RAG论文笔记:RAPTOR: RECURSIVE ABSTRACTIVE PROCESSING FOR TREE-ORGANIZED RETRIEVAL。 检索增强语言模型能够更好地适应世界状态的变化并融入长尾知识。然而,大多数现有方法只能从检索语料库中检索到短的连续文本片段&#xff0…

FP5207+音频功率放大器的组合解决方案-适用于便携式音频播放器、无线耳机、智能音箱和车载音响系统等高质量音频输出需求的产品,以提高电池供电的效率和输出功率

随着消费者对智能家居的需求增长,智能音响市场成为重要增长点。同时,音响技术也在不断发展,音响及扬声器的功能和性能不断提升。 蓝牙音箱,这类音箱供电是以锂电池为主,一般选用内置升压的音频功放芯片,音响…

windows 构建nginx本地服务随系统自启

1.先去官网下载一个nginxzip 2.将zip解压&#xff0c;将nginx-server.exe文件放入文件夹 3.创建nginx-server.xml&#xff0c;将以下内容放进文件内 <service> <id>nginx</id> <name>Nginx Service</name> <description>High Per…

强化学习中的蒙特卡洛算法和时序差分算法

在强化学习&#xff08;Reinforcement Learning, RL&#xff09;中&#xff0c;价值函数的估计是核心任务之一。蒙特卡洛&#xff08;Monte Carlo, MC&#xff09;方法和时序差分&#xff08;Temporal Difference, TD&#xff09;方法是两种常用的策略&#xff0c;用于估计状态…

软件架构之架构风格

软件架构之架构风格 9.3 软件架构风格9.3.1 软件架构风格分类9.3.2 数据流风格9.3.3 调用/返回风格9.3.4 独立构件风格9.3.5 虚拟机风格9.3.6 仓库风格 9.4 层次系统架构风格9.4.1 二层及三层 C/S 架构风格9.4.2 B/S 架构风格9.4.3 MVC 架构风格9.4.4 MVP 架构风格 9.5 面向服务…

机器学习筑基篇,​Ubuntu 24.04 编译安装 Python 及多版本切换

[ 知识是人生的灯塔&#xff0c;只有不断学习&#xff0c;才能照亮前行的道路 ] Ubuntu 24.04 编译安装最新Python及多版本切换 描述&#xff1a;说到机器学习&#xff0c;人工智能&#xff0c;深度学习不免会提到Python这一门编程语言&#xff08;人生苦短&#xff0c;及时Pyt…

windows防火墙端口设置

PS&#xff1a;本文实例为Windows Server 2019&#xff0c;其他Windows版本大同小异。 1、首先打开windows防火墙&#xff0c;点击“高级设置” 2、 高级设置界面 3、假设需要开放一个端口为3306应该怎么做 光标对准“入站规则”右键新建规则&#xff0c;选择“端口” 协议这…

C++类和对象(一)

目录 面向过程和面向对象 面向过程编程&#xff08;Procedural Programming&#xff09; 面向对象编程&#xff08;Object-Oriented Programming&#xff09; 一、类的定义 类定义格式 类域 二、类的访问限定符及封装 访问限定符 封装 三、实例化 实例化概念 对象大小…

常见WAF拦截页面总结

(1) D盾 (2) 云锁 (3) UPUPW安全防护 (4) 宝塔网站防火墙 (5) 网防G01 (6) 护卫神 (7) 网站安全狗 (8) 智创防火墙 (9) 360主机卫士或360webscan (10) 西数WTS-WAF (11) Naxsi WAF (12) 腾讯云 (13) 腾讯宙斯盾 (14) 百度云 图片 (15) 华为云 (16) 网宿云 (17) 创宇盾 图片 (…

ROS服务通信自定义srv

服务通信自定义srv 流程:创建ROS功能包按照固定格式创建srv文件编译配置文件编译生成中间文件 流程: srv 文件内的可用数据类型与 msg 文件一致&#xff0c;且定义 srv 实现流程与自定义 msg 实现流程类似&#xff0c;需查阅msg文件的可以浏览ROS话题通信流程自定义数据msg格式…