更新组策略命令(无法更新组策略命令)

1. 概述1.1基本概念用一句话总结模板学习,就是把原始输入文本填充到一个有输入输出槽的模板中,然后用预先训练好的语言模型来预测整个句子,最后用这个完整的句子推

1. 概述

1.1基本概念

用一句话总结模板学习,就是把原始输入文本填充到一个有输入输出槽的模板中,然后用预先训练好的语言模型来预测整个句子,最后用这个完整的句子推导出最终需要的答案。

模板学习最吸引人的关键在于,它可以通过已有的预训练模型定义合适的模板来完成少射或零射任务,可以使语言模型在预训练阶段尽可能多地使用信息进行训练,进而最大效率地发挥其作用。

从数学的角度,模板学习,我们传统的监督学习解决了P(y | x;θ)问题,训练一个模型优化其参数θ,给出面对输入X时输出Y的概率;基于模板的学习方法希望解决P(x;θ)问题,即给定一个参数为θ的模型,你需要告诉我输入文本X出现的概率,然后用这个概率来预测正确的y,这样可以减少甚至避免对大量标注数据的需要。

更新组策略命令(无法更新组策略命令)

更新组策略命令(无法更新组策略命令)

1.2典型成分

基于以上概述,可以看出模板学习可以说是由三部分组成——模板设计、答案搜索和答案映射。

模板的典型特征是它必须有两个槽,一个用于原始输入文本,一个用于答案。根据答题槽的位置,可以分为两类。当答案槽位于整个模板中间时,一般称为完形空模板,而当答案槽位于末尾时,一般称为前缀模板。

搜索是在答案空中的所有候选答案都填在对应的槽位时,计算LM的最高得分结果。所谓答案空就是根据具体任务构建的候选答案。比如对于生成任务,答案空都是token,而对于一些分类任务,答案空可能是固定范围的短语,比如当然,选择哪些答案作为最佳答案的策略不是唯一的。比如可以简单的选择分数最高的答案,也可以根据LM的分数随机抽取多个答案。

映射就是根据最优答案得到下游任务需求的标签。如上所述,“非常好”映射到“1”,“非常差”映射到“-1”。

2. 预训练语言模型

这一部分将训练前的语言模型按照多个维度进行分类,从而了解如何在模板学习中选择合适的语言模型。

2.1培训目标

预训练语言模型的目标主要有两个:1)文本序列的概率;2)文本降噪。

针对文本顺序出现的概率的模型一般以自回归的方式(通常从左到右)预测序列中的标记。这种模型被称为标准语言模型(SLM),如GPT。

以文本降噪为目标的模型通常是处理给定文本的噪声,并最终预测原始去噪文本。利用有噪声的部分数据重构原始数据的方案称为讹误文本重构(CTR),如BERT;无论有无噪声,利用所有输入文本重构原始数据的方案称为全文重构,FTR),如BART

2.2噪声添加模式

常见的加噪方式有四种:覆盖、替换、删除、替换。

更新组策略命令(无法更新组策略命令)

2.3编码方向和典型代表

目前主要有三种编码方向:1)从左到右;2)双向。

典型应用从左至右为GPT家族;一般双向模型为MLM(masked language model),典型模型为BERT。结合这两个方向,即X部分使用双向蒙版模式,Y部分使用左右模式。这种模式可分为两类模型,一类是前缀语言模型,Y部分以X为前缀条件解码,其典型模型为UniLM;另一种是编解码,其Y部分采用X独立编码解码,其典型模型是BART。

更新组策略命令(无法更新组策略命令)

更新组策略命令(无法更新组策略命令)

2.4具体型号分类

更新组策略命令(无法更新组策略命令)

3. Prompt 引擎

也就是说,找到一个可以将输入转换应用于下游任务并获得最佳结果的函数。

3.1形式

最常见的两种形式是完形填空提示和前缀提示。

至于模板的选择,主要是根据使用的LM和具体的下游任务。例如,对于生成性问题或自回归预训练模型,前缀类型一般表现更好,而对于完形空问题和掩蔽预训练模型,完形空类型一般表现更好。

全文重建模型可以使用这两种形式。

对于一些特殊的多输入任务,例如句子对分类,所选择的模板形式应该容纳多个输入。

比如:

作为知识库的语言模型?

使用BART的基于模板的命名实体识别

前缀调整:优化生成的连续提示

参数高效的快速调优的规模优势

3.2人工模板工程

手工模板是手工设计的,目前有很多设计好的模板。

但存在的问题很明显:1)依赖于设计者的经验和直觉,相当费时;2)即使是有经验的设计师也不一定能找到合适的模板。

3.3自动模板学习

自动模板学习还可以细分。从模板的形式来看,可以分为离散型和连续型。离线模板,比如真实自然文本,连续模板,比如使用LM的embedded 空。从用法上来说,可以分为静态和动态。静态意味着对不同的输入使用相同的模板,而动态意味着为不同的输入生成不同的模板。

离散模板

模板挖掘(提示挖掘)

这样给定输入输出,自动挖掘模板。它需要依靠一个很大的文本库,这个文本库需要包含输入和输出,然后在输入和输出之间寻找中间词或者依赖路径,其中最频繁出现的中间词或者依赖路径作为模板。其表现形式是& # 34;[X]中间字[Z]& # 34;。

如:如何才能知道语言模型知道什么?

模板重写(提示重写)

这个方法就是重写种子模板,可以用任何方式生成,比如人工构建或者挖掘。重写后得到一系列候选模板,然后选择训练效果最好的模板。重写有多种方式,如多种语言的双向翻译、同义词替换或使用神经网络重写。

比如:

如何才能知道语言模型知道什么?

BARTScore:将生成的文本评估为文本生成

学习和伯特说话

基于梯度的搜索

这样利用候选词的各种组合构造模板,通过梯度下降反复尝试模板,最终得到最合适的模板。

比如:

攻击和分析自然语言处理的通用对抗性触发器

自动提示:通过自动生成的提示从语言模型中获取知识

模板生成(提示生成)

这样,模板生成被视为一个普通的文本生成任务。例如T5模型,来生成模板单词。

比如:

使预先训练的语言模型成为更好的一次性学习者

PADA:适应未知领域的即时自回归方法

模板评分(提示评分)

这样,借助知识图谱(头实体-关系-尾实体)的三元组概念,首先人工构造一系列三元组模板集作为候选,分别填入输入和输出,用一个单向LM对这些候选模板进行评分,取得分最高的模板。当然,这将使每个输入有不同的模板成为可能。

例如,从预先训练的模型中挖掘常识知识

连续模板

模板构造的目的是为了让LM更好的完成下游的任务,而不是让人理解,所以说明模板可以设计的让人理解这个限制。所以利用LM的embedded 空空间来设计模板是很自然的想法。使用连续模板有两个优点:1)消除了模板词只能选择有限数量的自然语言标记的限制;2)取消了模板参数只能从LM模型读取的限制,这意味着模板也可以被训练。

前缀调整(前缀调整)

这样,在输入之前添加了与任务相关的连续前缀向量。这个前缀向量是可训练的,而随后的LM参数是固定的。其数学表达式如下:

更新组策略命令(无法更新组策略命令)

其中φ是可训练参数,θ是LM,参数h是步骤I中所有神经网络层的concat

这里提到的方法主要有两种。一种是构建一个可训练矩阵作为生成的前缀嵌入,其运算是迭代的。对于每层中的H,当H在前缀中时直接复制这个矩阵,不在前缀中时用LM参数计算。另一种方法是添加几个特殊的前缀令牌作为模板,在训练时直接更新这些前缀令牌的嵌入。

比如:

前缀调整:优化生成的连续提示

参数高效的快速调优的规模优势

使用冻结语言模型的多模态少镜头学习

使用模板的离散提示初始化调谐

这种方法使用离散模板作为初始化,然后使它们连续,这往往可以提供更好的初始搜索结果。比如用离散模板把它转换成嵌入,然后这些token可以微调,有点像后一种方式的前缀微调模式。

比如:

事实探究是[面具]:学习与学习回忆

自动提示:通过自动生成的提示从语言模型中获取知识

学习如何提问:用混合软提示查询LMs

模板的软硬提示混合调优

这种方法将离散模板和连续模板结合起来,其做法是在静态模板中插入一些可训练的嵌入。例如,流行的p-tuning的模板由可调的可训练令牌和不可调的锚令牌组成。

比如:

GPT也理解

PTR:使用文本分类规则进行提示调整

4. 答案引擎

答案引擎的目的是找到一个映射,让模板搜索空的结果映射到真正的下游任务输出空。

4.1答案的形式

主流答案是三种:token span句子,即单词粒度、短语粒度、句子粒度。

一般来说,答案形式的选择与具体的下游任务有关,比如分类任务、命名实体识别任务,一般是单词粒度;文本生成任务一般是短语和句子粒度。

4.2答案之间的设计方法空

4.2.1手工设计

潜在答案空和映射方式都是手工设计的。根据他们回答空的不同,可以分为受限空和无限制空。无限制空意味着答案可能是完整的令牌集或固定长度的跨度或令牌序列。这个有限空是指输出的答案是有限的、固定的,比如常见的分类任务、实体识别任务、选择题问答任务等。在这种情况下,需要适当的映射方法。

4.2.2离散答案搜索

回答转述

这样就把原来的答案空(也就是所有可能的输出结果)重写(比如回译)以扩大其覆盖范围的上限,然后定义一个函数使得这个答案空可以转换成最终的答案(比如softmax)。

例如,当语言模型知道时,我们如何知道?问答系统中语言模型的校准

修剪和搜索(修剪然后搜索)

这样,首先生成一个包含所有合理答案的剪枝空,然后通过算法进一步搜索剪枝空,直到最终得到合适的答案。例如,在大型无标签数据集中,长度超过2个字母的单词频繁出现为答案空,搜索时会反复计算一个单词与标签之间的适合度(如最大似然)。

比如:

利用完形填空题进行小短文本分类和自然语言推理

自动识别可用作少数镜头文本分类标签的单词

自动提示:通过自动生成的提示从语言模型中获取知识

使预先训练的语言模型成为更好的一次性学习者

5. 多模板学习

大量研究表明,使用多个模板可以提高模板方法的有效性。

5.1模板融合(即时组装)

模板聚合就是使用多个待答模板进行预测,有三个好处:1)使每个模板互补;2)你不用去找所谓的最佳模板;3)下游任务表现更稳定。

更新组策略命令(无法更新组策略命令)

在实践中,有许多方法可以从多个模板中获得唯一的结果:均匀平均;加权平均;多数表决;知识升华(知识升华)。

一致性意味着由每个模板产生的结果的概率被直接平均,即

更新组策略命令(无法更新组策略命令)

平均权重,即各模板贡献的分数不一致,权重可以人为指定或在具体使用中训练;多数表决一般在下游分类时使用;知识提炼就是训练一个模型来拟合原来多个模板的结果。

5.2模板增强(提示增强)

模板增强也称为证明学习。它的目的是提供一些类似的答案模板,让网络知道你的输出应该是什么。例如,对于“中国的首都是[Z]”的输入,重写为“伦敦是英国的首都,东京是日本的首都,[Z]是中国的首都”。当然,这种方法需要解决两大问题:1)如何选择更有效的提示;2)如何对选中的提示进行排序。

研究人员发现,如何选择提示样本会对模型的训练效果产生很大影响(不同样本的结果可能是sota或接近随机预测结果)。目前提出的一种方法是利用句子向量空选取向量空之间与输出相似的句子作为样本。

例如,使预先训练的语言模型成为更好的一次性学习者。

即使是同样的提示,不同的排序方式也会导致结果的巨大差异。目前提出的方法是根据熵对各种排序进行评分。

例如,不可思议地排序的提示和在哪里找到它们:克服低镜头提示顺序敏感性。

5.3模板融合(提示合成)

模板融合是指将多个子模板任务融合成一个模板任务。例如,在关系抽取任务中,目标是抽取两个实体之间的关系,这可以变成两个子任务:1)识别实体词;2)实体间关系的分类。

更新组策略命令(无法更新组策略命令)

例如ptr:使用文本分类规则的提示调谐

5.4模板分解(提示分解)

对于需要对一个输入进行多次预测的任务,用一个模板直接预测所有结果相对困难,但将其拆分成多个子模板通常更容易。比如命名实体识别的任务需要预测每个跨度,拆分成单独预测每个跨度会更简单。

更新组策略命令(无法更新组策略命令)

例如,使用Bart的基于模板的命名实体识别

6. 训练策略

基于模板学习的训练方法通常由两个参数组成,一个是预训练模型本身的参数,另一个是模板参数。这两个参数选择不同的更新策略会影响其下游任务在不同场景下的适用性。根据预训练模型参数是否需要微调,是否存在额外的模板参数以及模板参数是否需要微调,训练策略大致可以分为以下几类:

更新组策略命令(无法更新组策略命令)

6.1无模板微调

也就是常用的使用LM finetune的方法,会在下游任务的训练过程中,对LM的所有参数进行微调。

其优点是简单方便;但缺点是当数据集较小时,过拟合或者预测结果不够稳定。此外,在下游任务微调之后,原始模型可能会在其他场景中被灾难性地遗忘。

6.2无需微调模板(免调提示)

这样,就不需要微调LM参数或更新模板参数。他要做的就是找到一个合适的模板。此外,他可以选择性地添加答案模板进行增强(这种方式也称为上下文学习)。

其优点是不需要更新参数,是真正的零样本学习应用模式;它的缺点也很明显,就是需要针对特定的任务构造模板,需要大量的模板构造工程才能达到很高的精度。如果采用模板增强,需要构造大量的答案模板,同样需要大量的时间和精力。

6.3模板微调(固定-LM提示微调)

这样在原有语言模型的基础上引入了一个可学习的模板,在下游的任务训练过程中不更新预训练模型,只更新模板参数。

在保留语言模型本身的模型能力的同时,效果往往比不微调模板要好,其应用场景多在小样本学习中;因为它的模板参数需要训练,根本无法应用于零样本学习场景。此外,虽然其在小样本学习中的有效性已经得到验证,但其效果仍然受到数据集大小的限制。微调模板还需要选择初始参数,构建种子模板,其效果往往更不可控。

6.4语言模型调整(固定提示LM调整)

与传统的没有模板的finetune训练方法相比,这种方法仍然需要模板的存在,但不会更新。它只同时存在于训练和预测过程中,其形式往往是自然语言文本。实验表明,这种方法在小样本学习中仍然可以取得相当大的进步。比如在一个实验中,定义了一个简单的模板——没有模板,只有输入和答案空一起训练(形式为[X][Z],[X]为输入文本,[Z]为答案空),取得了很好的效果。

这种训练方法给出了更完整的任务信息,在小样本学习中更有效。这种方法在不同的下游任务上并不总是能很好地工作,它仍然需要模板和答案空的设计。

6.5语言模型和模板微调(提示+LM调优)

这样就可以更新语言模型和模板的参数,除了可训练模板看起来和常见的无模板微调法差别不大,但是加入模板使得模型在训练初期得到了更好的辅助。

其优点是模型表达能力更强,更适合大量复杂数据的训练。其缺点是语言模型和模板的大量参数需要优化,在小数据样本中容易出现过拟合。

7. 具体应用

7.1应用示例

更新组策略命令(无法更新组策略命令)

更新组策略命令(无法更新组策略命令)

缩写描述:

任务栏

查理·罗斯:常识推理

问答:问题回答

总和:汇总

机器翻译

LCP:语言能力探索

GCG:一般条件生成

CKM:常识知识挖掘

FP:事实调查

文本分类

数学推理

SR:符号推理

AR:类比推理

理论:理论分析

即:信息抽取

D2T:数据到文本

标签:序列标签

SEMP:语义解析

EVALG:文本生成的评估

VQA:视觉问答

VFP:视觉事实探索

MG:多模式接地

CodeGen:代码生成

提示工程形状列

完形填空

前置:前缀

答案工程形状栏

Tok:令牌级

Sp:跨度级

发送:句子级/文档级

调谐柱

TFP:免调谐提示

LMT:固定提示LM调整

PT:修正-LM提示调谐

LMPT:提示+LM调谐

Mul-pr柱

PA:即时增强

PE:提示集合

电脑:即时合成

PD:迅速分解

7.2通用模板

更新组策略命令(无法更新组策略命令)

8. 模板学习存在的挑战

8.1模板设计

1.目前,模板学习主要用于分类和生成任务,较少用于其他任务(如信息抽取和文本分析)。原因是在其他任务中设计模板没有那么直观。在后续开发中,要么需要改变这些任务的任务形式,使其可以应用于分类和生成任务,要么需要设计更强大的答案引擎。

2.在许多nlp任务中,输入可能包含各种结构化信息,如树、图、表等。如何在模板引擎和回答引擎中更好的表达这些信息,是一个很大的挑战。目前主要的做法是对一些单词进行编码,放入模板中,对于更复杂的结构还没有尝试。

3.模板学习模型的性能主要取决于模板的选择和答案引擎的制定。目前主流的做法是先制定答案引擎,再选择模板。如何同时优化模板选择和答案设计也是主要挑战之一。

8.2回答引擎方面

1.对于分类任务来说,在类别过多的情况下,如何合理选择答案空是一个特别具有挑战性的问题。

2.当分类任务的答案是多令牌时,如何对其进行有效编码也是一个具有挑战性的问题。

3.对于生成任务,通常有不止一个答案。如何引导学习过程学习多个答案,仍然是一个巨大的问题。

8.3培训策略

对于不同的任务,如何选择合适的训练策略没有系统的规划,对于每种策略如何影响模型结果也没有系统的解释。

8.4多模板学习

1.模板融合是提高效果的有效方案。一般来说,融合的模板越多,效果越好,但其复杂度也在上升。没有关于如何通过蒸馏有效降低复杂度的研究。

2.模板增强往往受到输入文本长度的限制,因此如何提炼出更有效的增强文本以及如何对这些文本进行排序也是一个重要的研究方向。

9. 参考资料

[1]预训练、提示和预测:自然语言处理中提示方法的系统调查:https://arxiv . org/pdf/2107.13586 . pdf

[2]作为知识库的语言模型?:https://arxiv . org/pdf/1909.01066 . pdf

[3]使用BART的基于模板的命名实体识别:https://arxiv . org/pdf/2106.01760 . pdf

[4]前缀调整:优化生成的连续提示:https://arxiv . org/pdf/2101.00190 . pdf

[5]参数高效提示调优的规模力量:https://arxiv . org/pdf/2104.08691 . pdf

【6】如何才能知道语言模型知道什么?:https://arxiv . org/pdf/1911.12543 . pdf

[7] BARTScore:将生成的文本评估为文本生成:https://arxiv . org/pdf/2106.11520 . pdf

[8]伯特塞:学习与伯特说话:https://arxiv . org/pdf/2103.05327 . pdf

[9]攻击和分析NLP的通用对抗性触发器:https://arxiv . org/pdf/1908.07125 . pdf

[10]自动提示:通过自动生成的提示从语言模型中获取知识:https://arxiv . org/pdf/2010.15980 . pdf

[11]让预先训练的语言模型更好地成为少量学习者:https://arxiv . org/pdf/2012.15723 . pdf

[12] PADA:适应未知领域的即时自回归方法:https://arxiv . org/pdf/2102.12206 . pdf

[13]从预训练模型中挖掘常识知识:https://arxiv . org/pdf/1909.00505 . pdf

[14]使用冻结语言模型的多模态少数镜头学习:https://arxiv . org/pdf/2106.13884 . pdf

[15]事实探究是[面具]:学习vs .学习回忆:https://arxiv . org/pdf/2104.05240 . pdf

[16]学习如何提问:使用混合软提示查询LMs:https://arxiv . org/pdf/2104.06599 . pdf

[17] GPT也明白:https://arxiv . org/pdf/2103.10385 . pdf

[18] PTR:使用文本分类规则的提示调谐:https://arxiv . org/pdf/2105.11259 . pdf

【19】语言模型知道的时候怎么知道?关于问答的语言模型校准:https://arxiv . org/pdf/2012.00955 . pdf

[20]利用完形填空题进行小短文本分类和自然语言推理:https://arxiv . org/pdf/2001.07676 . pdf

[21]自动识别可以作为少数镜头文本分类的标签的单词:https://arxiv . org/pdf/2010.13641 . pdf

[22]惊人有序的提示以及在哪里可以找到它们:克服少量提示的顺序敏感性:https://arxiv . org/pdf/2104.08786 . pdf

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/33418.html

发表回复

登录后才能评论