近几年NLP比较promising的方法

Contrastive Learning

对比学习的想法是,把不同类别的样本在特征空间推开,而让相似的样本距离更近,从而获得更好的样本表示

NLP中一个非常经典的是danqi女神的SimCSE:Raki的读paper小记:SimCSE: Simple Contrastive Learning of Sentence Embeddings

思想是构造正负样本对进行优化,在CV那边负样本非常容易构造,而NLP因为token的离散性并没有那么容易构造,而SimCSE发现仅仅使用dropout构造出的负样本就能达到很好的效果

近几年NLP比较promising的方法_第1张图片

对比学习是非常强大的无监督学习方法,一般来说负样本越多越好,MoCo引入了动量库的概念,SimCLR使用了多组样本对比,CLIP把对比学习引入到多模态,并在预测的时候使用prmopt来抽取特征,首次使用无监督方法预训练多模态模型,效果炸裂,开启了多模态预训练模型的时代

近几年NLP比较promising的方法_第2张图片

Prompt Learning

Prompt在这里的中文翻译是 提示

Prompt的思想是用上下文来提示模型预测输出,例如:

This is a [Mask] man,让模型来填空,

不同的prompt对模型性能的影响不小,比如现在的ChatGPT已经引流了Prompt Engineering的火热(?)

顺便提一下,也有一些工作用生成的Prompt来提高模型性能(魔改),对Prompt向量进行调整实际上就是fine-tune,暂时还没有真的有用的

Instruction Tuning

Instruction跟prompt有点相似,他们的区别就是,prompt是让模型做填空,而instruction tuning是让模型做选择题,一般来说选择题是要比填空更简单的(判别 vs. 生成)

例如:
What is the sentiment of this sentence?[Mask] A. happy,B. sad C. nervous

ChatGPT就使用了instruction tuning的方法
近几年NLP比较promising的方法_第3张图片

Chain-of-Thought

思维链的思想是把复杂的任务拆分成不同的小问,诱导模型一步一步推导出正确的回答,也就是一种in-context learning?
近几年NLP比较promising的方法_第4张图片
改进的方法用对答案进行了多数投票(majority vote),并且发现其可以显著地提高思维链方法的性能
近几年NLP比较promising的方法_第5张图片

魔法句子:“Let’s do it step by step”,“so the anwser is”,使用这两句话就能让大模型的推导能力变强

所以说LLM就像女人一样,都是需要哄哄的嘛

近几年NLP比较promising的方法_第6张图片

In-Context Learning

最近突然流行一个词 - Emergent ability,中文意思是涌现能力,说的是模型大到一定程度后,会涌现出小模型不具备的能力,比如In-Context Learning,通过上下文学习的能力

比如few-shot?
近几年NLP比较promising的方法_第7张图片
目前对ICL的能力并没有一个很精准的解释,猜测的解释有:

  1. 认为ICL是隐式的Bayesian inference
  2. 猜测LM可能自己就具备学习的能力,在做ICL的时候学到了这些知识,或者隐式直接精调了自己
  3. 有研究发现Transformer里的某些attetion head会通过copy固定的模式来预测下一个token

Raki的猜测:LLM具有强大的上下文理解能力,通过人给出的prompt推断出更加准确的问题意义与表示,就像你告诉小孩,这是黑猫那是白猫,然后他就能分别出黑狗和白狗一样

RLHF (Reinforcement Learning from Human Feedback)

名震天下的ChatGPT的核心技术就是RLHF,据Open AI说GPT-4很大程度就是靠他取得大幅效果提升的,核心是通过人类的反馈对LLM生成的回答进行打分排序,让模型拥有生成更符合人们偏好的回答的倾向

分别献上GPT-3.5

近几年NLP比较promising的方法_第8张图片

GPT-4自己对这个问题的回答

近几年NLP比较promising的方法_第9张图片

Adversarial Training

【炼丹技巧】功守道:NLP中的对抗训练 + PyTorch实现

最后提一嘴对抗训练Adversarial Training,是一种能使模型更加robust的训练trick,在NLP任务中,对抗训练的角色不再是为了防御基于梯度的恶意攻击,反而更多的是作为一种regularization,提高模型的泛化能力,属于现在竞赛刷榜基本操作

Fast Gradient Sign Method(FGSM)

经典且朴素的方法,对着梯度加扰动

近几年NLP比较promising的方法_第10张图片
Fast Gradient Method(FGM)

对梯度加上Scale,果然万物都不能太绝对
近几年NLP比较promising的方法_第11张图片

Projected Gradient Descent(PGD)

多走几步,会更好
近几年NLP比较promising的方法_第12张图片

一般来说竞赛中FGM看起来是最常用的,比较robust,其他复杂的对抗训练trick就不过多介绍了,我是大道至简的忠实信徒,就像GPT3,GPT4也只是使用了很simple的自回归模型一样。

Summarization

看起来promising的方向已经好像也做干了

我们的东西被顶级机构做完了?winner takes all!

现在NLP community的首要任务是寻找新的方向保住community?

转行了转行了(orz Open AI)

你可能感兴趣的:(NLP,自然语言处理,机器学习,人工智能,深度学习,神经网络)