码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • NLP相关概念汇总


    最近看到很多概念,杂乱无章有点分不清楚,条分缕析来总结一下。

    目录

    • 1. XX Learning(XX学习)
      • Curriculum Learning(课程学习)
        • Self-Paced Learning(SPL) 自步学习
      • Contrastive Learning (对比学习)
        • 相关模型
        • 相关损失
        • Contrastive Clustering(对比聚类)
      • Metric Learning (度量学习)
      • Dual Learning (对偶学习)
      • Dual Contrastive Learning(对偶对比学习)
      • In-Context Learning (ICL,语境学习/上下文学习)
      • Dictionary Learning (字典学习)
        • Coupled Dictionary Learning (耦合字典学习)
      • Example & Learning
        • Supervised Learning
        • Unsupervised Learning
        • Semi-supervised Learning
        • Few-example Learning (少样例学习)
        • Few-shot Learning (小样本学习)
    • 2. XX LM(XX语言模型)
      • PLM(Pre-trained Language Model,预训练语言模型)
      • MLM(Masked Language Model,掩码语言模型)
        • Bert(Bidirectional Encoder Representations from Transformers)
        • 相关损失
      • CLM(Cause Language Model,因果语言模型)
        • GPT(Generative Pre-Training)
        • T5(Text-To-Text Transfer Transformer)
        • CPM(Chinese Pre-trained Model)
        • PanGu-Alpha
      • SLM(Standard Language Model,标准语言模型)
    • 3. XX Network(XX网络)
      • 孪生网络(Siamese Network)
      • 伪孪生网络(Pseudo-Siamese Network)
      • 胶囊网络(Capsule Network)
      • Sigmoid 信念网络(Sigmoid Belief Network,SBN)
      • 自联想神经网络(Auto-Associative Neural Network)
    • 4. XX Embedding(XX嵌入向量)
      • Word Embedding(词向量)
        • Tokenizor(分词器)
      • Sentence Embedding(句向量)
    • 5. XX Tuning(XX微调)
    • 6. XX任务
      • CTG(Controllable Text Generation,可控文本生成)
        • 相关模型
      • CTR(Corrupted Text Reconstruction,受损文本重建)
      • FTR(Full Text Reconstruction,全体文本重建)
      • ABSA(Aspect-based Sentiment Analysis,方面级情感分析)
      • EE(Event Extraction,事件抽取 )
    • 其他
      • VLP(Vision-Language Pre-training,视觉语言预训练)
    • 总结
    • 参考资料

    1. XX Learning(XX学习)

    对比学习和度量学习都是表示学习的分支。

    Curriculum Learning(课程学习)

    该概念由Bengio在论文 Curriculum learning(ICML, 2009)中提出,其思想是模仿人类学习过程,引导模型由浅入深地学习。百度的开放域聊天机器人 PLATO-2 就使用了课程学习的思想。

    • PLATO-2: Towards Building an Open-Domain Chatbot via Curriculum Learning(ACL, 2020) Baidu

    Self-Paced Learning(SPL) 自步学习

    课程学习的改进版本,此概念由Kumar et al. 于2010年提出。

    • Self-Paced Learning for Latent Variable Models(NIPS, 2010) Standford University

    Contrastive Learning (对比学习)

    近几年对比学习如火如荼,其主要思想是,通过构造正负样本,使得正样本间的距离靠近,负样本间的距离拉远,且负样本间的距离远远大于正样本间的距离。对比学习主要用在无监督和半监督任务中,且为单正例,多负例。

    一个好的对比学习系统应该兼顾Alignment和Uniformity,若丢失Alignment,则说明该系统并不能学习到良好的表征;若丢失Uniformity,则说明产生了模型坍塌问题。

    相关模型

    • 图像:SimCLR、MoCo、BYOL(Bootstrap Your Own Latent)等
    • 文本:SimCSE、SBert等
    • 多模态:OpenAI的CLIP、百度的BriVL等

    相关损失

    • 对比损失(Contrastive Loss):这一损失最早是Yann LeCun于2016年在论文中提出的。当时该损失主要用在孪生网络中。

    • 对比学习损失(Contrastive Learning Loss):该损失中有一个超参数\tau是为了感知负例难度,其值越小,模型关注到的负样本越少,也越困难。当\tau➡0时,模型只关注到距离当前正样本最近的1~2个负样本,该损失便退化成 Triplet Loss.

      • InFoNCELoss

    Contrastive Clustering(对比聚类)

    将对比学习的思想应用于聚类工作中。

    • Contrastive Clustering(AAAI, 2021) Sichuan University

    Metric Learning (度量学习)

    与对比学习相似,度量学习也是通过构造正负样本,拉近正样本间的距离,拉远负样本间的距离。度量学习主要用于有监督任务中,且为二元组或三元组形式。

    • 二元组损失(Pairwise Ranking Loss):形为(正样本,负样本)的二元组

    Pytorch中可直接调用MarginRankingLoss实现

    • 三元组损失(TripletLoss):形为(锚样本,正样本,负样本)的三元组,通常在计算损失之前会有一个三元组采样的过程。

    Pytorch中可直接调用TripletMarginLoss实现

    Dual Learning (对偶学习)

    一种学习范式,利用任务的对偶性强化模型的学习能力。其思想可见于 Auto Encoder,GAN(Generative Adversarial Network)等。

    Dual Contrastive Learning(对偶对比学习)

    In-Context Learning (ICL,语境学习/上下文学习)

    继 Prompt Learning 后提示学习的升级版。

    • A Survey on In-context Learning(arXiv, 2023) Peking University

    Dictionary Learning (字典学习)

    Coupled Dictionary Learning (耦合字典学习)

    Example & Learning

    以下几种学习方式的区别在于模型训练时使用的标注样本与无标注样本的比例或数量有所不同。

    Supervised Learning

    Unsupervised Learning

    Semi-supervised Learning

    Few-example Learning (少样例学习)

    few-example是指训练集中包含少量带有标签的样本和大量无标签的样本(类似于半监督学习或弱监督学习,但半监督学习中有标签样本所占比例通常在50%,而少样例学习中有标签样本所占比例通常为1%左右,每个类别中包含3-4个样本)。

    Few-shot Learning (小样本学习)

    训练集中只包含少量带有标签的样本,而不包含无标签样本。


    2. XX LM(XX语言模型)

    这些语言模型的思想本质上都是通过在大规模训练语料上,使用合适的损失函数进行训练,得到能够更好地提取文本特征的预训练语言模型。

    PLM(Pre-trained Language Model,预训练语言模型)

    现在已经是预训练语言模型的天下了,各种预训练语言模型层出不穷,“预训练+微调”的方式成为当今主流。

    MLM(Masked Language Model,掩码语言模型)

    给定上下文信息,预测文本掩码中的词,提高模型对文本的特征提取能力。

    Bert(Bidirectional Encoder Representations from Transformers)

    Bert是 Google 推出的预训练语言模型框架,Bert全家桶包括:

    • Bert:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding(NAACL, 2019) Google
    • SpanBert:SpanBERT: Improving Pre-training by Representing and Predicting Spans(TACL, 2020) Facebook & 华盛顿大学
    • Roberta:RoBERTa: A Robustly Optimized BERT Pretraining Approach(2019) Facebook & 华盛顿大学
    • ALBert:ALBERT: A Lite BERT for Self-supervised Learning of Language Representations(ICLR, 2020) Google
    • Electra:Efficiently Learning an Encoder that Classifies Token Replacements Accuratel(ICLR, 2020) Stanford & Google

    相关损失

    • mlm损失

    CLM(Cause Language Model,因果语言模型)

    给定上文信息,预测文本掩码中的词,提高模型生成的文本的流畅性,一般用于文本生成任务中,如英文预训练模型GPT系列、CTRL等;中文预训练模型CPM、PanGu-等。

    GPT(Generative Pre-Training)

    GPT 系列是 OpenAI 推出的文本生成预训练语言模型框架,目前已经推出三个版本。第一代 GPT 是第一个应用到文本生成任务中的深度预训练语言模型。

    • GPT: Improving Language Understanding by Generative Pre-Training
    • GPT-2:Language Models are Unsupervised Multitask Learners(CSUR, 2018)
    • GPT-3: Language Models are Few-Shot Learners(NeurIPS, 2020) 有1750亿个参数
    • 最近公布的ChatGPT采用了新的训练方式 RLHF(Reinforcement Learning from Human Feedback),掀起一波 AIGC(Artificial Inteligence Generated Content) 的热潮。

    T5(Text-To-Text Transfer Transformer)

    T5模型是Google提出的预训练语言模型,其基本思想是:所有的NLP问题都可以定义成“text-to-text”问题,即“输入text,输出text,一个模型干所有”。该模型可以用于文本摘要、机器翻译、智能问答、情感分类,文本分类等下游任务。

    • T5:Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer(JMLR, 2020)

    值得注意的是,CMU和google brain联手推出的Bert改进版模型XLNet:Generalized Autoregressive Pretraining for Language Understanding将MLM与CLM二者结合,两全其美。

    CPM(Chinese Pre-trained Model)

    CPM 是在GPT-3的基础上打造的中文预训练语言模型,在词表构建和训练策略上进行了改进。

    • CPM: A Large-scale Generative Chinese Pre-trained Language Model(2020) 清华 & BAAI

    PanGu-Alpha

    同样是一个中文预训练语言模型,模型结构也基本沿用transformer的decoder,并使用并行计算提高训练速度。

    • PanGu- : Large-scale Autoregressive Pretrained Chinese Language Models with Auto-parallel Computation(2020) 鹏城实验室

    SLM(Standard Language Model,标准语言模型)

    SLM通常是基于“自回归”(autoregressive)方式来训练P(x),即从左向右,一次预测一个token。


    3. XX Network(XX网络)

    孪生网络(Siamese Network)

    共享权重

    伪孪生网络(Pseudo-Siamese Network)

    不共享权重

    胶囊网络(Capsule Network)

    Sigmoid 信念网络(Sigmoid Belief Network,SBN)

    自联想神经网络(Auto-Associative Neural Network)


    4. XX Embedding(XX嵌入向量)

    获取文本在向量空间的表示形式,即对文本进行符号化表示。

    Word Embedding(词向量)

    • Word2Vec
      Efficient Estimation of Word Representations in Vector Space(ICLR, 2013) Google
    • ELMo(Embeddings from Language Models)
      Deep Contextualized Word Representations(NAACL, 2018)

    Tokenizor(分词器)

    获得词向量的前导步骤就是对一段文本进行分词,常见的分词方法如下:

    • BPE(Byte-Pair Encoding, 字节对编码):GPT-2使用了字节级的BPE算法
      Neural Machine Translation of Rare Words with Subword Units(ACL, 2016)
    • WordPiece:被应用于BERT,DistilBERT和Electra等模型中的子词切分算法
    • Unigram:在预设的大规模词表的基础上通过迭代方式不断降低词表规模。
      Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates(ACL, 2018)
    • SentencePiece: T5, Reformer, XLNet, Albert 等模型使用的分词方法
      SentencePiece: A simple and language independent subword tokenizer and detokenizer for Neural Text Processing(EMNLP, 2018)

    Sentence Embedding(句向量)

    • SIF(Smooth Inverse Frequency,非预训练语言模型)其中用到Word2Vec
      A Simple but Tough-to-Beat Baseline for Sentence Embeddings(ICLR, 2017) Princeton University

    5. XX Tuning(XX微调)

    为使大规模预训练语言模型更好地适用于下游任务,许多微调相关的研究涌现,部分列举如下:

    • Prompt Tuning
      The Power of Scale for Parameter-Efficient Prompt Tuning(EMNLP, 2021)

    • Prefix Tuning
      Prefix-Tuning: Optimizing Continuous Prompts for Generation(ACL, 2021)

    • y-Tuning
      Y-Tuning: An Efficient Tuning Paradigm for Large-Scale Pre-Trained
      Models via Label Representation Learning(ACL 2022 ARR)

    • Black-Box Tuning
      Black-Box Tuning for Language-Model-as-a-Service(ICLR, 2022)

    • Instruction Tuning
      大名鼎鼎的ChatGPT中采用的微调方法
      Finetuned Language Models are Zero-Shot Learners(ICLR, 2022 Oral)

    6. XX任务

    CTG(Controllable Text Generation,可控文本生成)

    相关模型

    • CTRL:CTRL: A Conditional Transformer Language Model for Controllable Generation(2019) SalesForce
    • DIALOGPT DialoGPT: Large-Scale Generative Pre-training for Conversational Response Generation(ACL, 2020) Microsoft
    • POINTER:POINTER: Constrained Text Generation via Insertion-based Generative Pre-training (EMNLP, 2020) Microsoft & Amazon
    • InversePrompt:Controllable Generation from Pre-trained Language Models via Inverse Prompting (KDD, 2021)
    • PPLM:Plug and Play Language Models: A Simple Approach to Controlled Text Generation (ICLR, 2020)
    • CoCon:CoCon: A Self-Supervised Approach for Controlled Text Generation (ICLR, 2021)
    • CBART:Parallel Refinements for Lexically Constrained Text Generation with BART (EMNLP, 2021) The University of Hong Kong
    • MEGATRON-CNTRL:MEGATRON-CNTRL: Controllable Story Generation with External Knowledge Using Large-Scale Language Models (EMNLP, 2020)
    • PAIR:PAIR: Planning and Iterative Refinement in Pre-trained Transformers for Long Text Generation (EMNLP, 2020)

    CTR(Corrupted Text Reconstruction,受损文本重建)

    FTR(Full Text Reconstruction,全体文本重建)

    ABSA(Aspect-based Sentiment Analysis,方面级情感分析)

    EE(Event Extraction,事件抽取 )

    其他

    VLP(Vision-Language Pre-training,视觉语言预训练)

    • BLIP:BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation(ICML, 2022) SalesForce

    总结

    上述概念或预训练模型本质上都是为了使得自然语言理解(Natural Language Understanding, NLU)取得更好的效果,以便更好地完成下游任务,或辅助自然语言生成(Natural Language Generation, NLG)任务。

    参考资料

    1. 盘点Controllable Text Generation(CTG)的进展
    2. [综述]鹏飞大神的Pre-train, Prompt, and Predict [1]
    3. 一篇综述带你全面了解课程学习(Curriculum Learning)
    4. AAAI 2021 | 基于对比学习的聚类工作
    5. tokenizer简介
  • 相关阅读:
    vim常用命令记录
    JVM原理和优化
    AOP的切入点Pointcut中的execution表达式详解
    中介子方程二十九
    ib课程IA指什么?IA占比IB课程25%
    移动端人脸风格化技术的应用
    华为实习总结xkh
    【CV学习笔记】tensorrtx-yolov5 逐行代码解析
    Weblogic IIOP协议反序列化(CVE-2020-2551)漏洞复现
    Hbase参数调优
  • 原文地址:https://blog.csdn.net/qq_36332660/article/details/128208166
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号