大模型引领NLP研究新范式:从统计机器学习到预训练语言模型

news/2024/9/24 20:43:09/

自然语言处理(NLP)研究范式经历了从浅层到深层、从局部到整体、从特定到通用的演进过程。下面我们来详细回顾这一过程。

一、早期的统计机器学习方法(20世纪90年代 - 21世纪初)

  1. 词袋模型(Bag-of-Words)

    • 将文本表示为词频向量,忽略词序和语法
    • 应用:文本分类、情感分析等
  2. N-gram语言模型

    • 基于词的共现频率,计算一个词序列的概率
    • 应用:语音识别、机器翻译、文本生成等
    • 例如,基于Bi-gram的概率计算公式:
      P ( w 1 , w 2 , . . . , w n ) = ∏ i = 1 n P ( w i ∣ w i − 1 ) P(w_1, w_2, ..., w_n) = \prod_{i=1}^n P(w_i | w_{i-1}) P(w1,w2,...,wn)=i=1nP(wiwi1)
  3. 词向量(Word Embedding)

    • 将词映射为低维稠密向量,如Word2Vec、GloVe
    • 词向量可以刻画词之间的语义关系
    • 例如,Word2Vec的Skip-gram模型的目标函数:
      J ( θ ) = 1 T ∑ t = 1 T ∑ − c ≤ j ≤ c , j ≠ 0 log ⁡ P ( w t + j ∣ w t ) J(\theta) = \frac{1}{T} \sum_{t=1}^T \sum_{-c \leq j \leq c, j \neq 0} \log P(w_{t+j} | w_t) J(θ)=T1t=1Tcjc,j=0logP(wt+jwt)

二、深度学习时代(2013年 - 2018年)

  1. 循环神经网络(RNN)

    • 适合处理序列数据,如语言模型、机器翻译
    • 存在梯度消失和梯度爆炸问题
    • 一个简单的RNN前向传播公式:
      h t = tanh ⁡ ( W h h h t − 1 + W x h x t ) h_t = \tanh(W_{hh} h_{t-1} + W_{xh} x_t) ht=tanh(Whhht1+Wxhxt)
      y t = W h y h t y_t = W_{hy} h_t yt=Whyht
  2. 长短期记忆网络(LSTM)

    • 通过引入门控机制,缓解了RNN的梯度问题
    • 广泛应用于序列建模任务
    • LSTM的核心公式:
      f t = σ ( W f ⋅ [ h t − 1 , x t ] + b f ) f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f) ft=σ(Wf[ht1,xt]+bf)
      i t = σ ( W i ⋅ [ h t − 1 , x t ] + b i ) i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i) it=σ(Wi[ht1,xt]+bi)
      C ~ t = tanh ⁡ ( W C ⋅ [ h t − 1 , x t ] + b C ) \tilde{C}_t = \tanh(W_C \cdot [h_{t-1}, x_t] + b_C) C~t=tanh(WC[ht1,xt]+bC)
      C t = f t ∗ C t − 1 + i t ∗ C ~ t C_t = f_t * C_{t-1} + i_t * \tilde{C}_t Ct=ftCt1+itC~t
      o t = σ ( W o ⋅ [ h t − 1 , x t ] + b o ) o_t = \sigma(W_o \cdot [h_{t-1}, x_t] + b_o) ot=σ(Wo[ht1,xt]+bo)
      h t = o t ∗ tanh ⁡ ( C t ) h_t = o_t * \tanh(C_t) ht=ottanh(Ct)
  3. 注意力机制(Attention Mechanism)

    • 让模型能够聚焦于输入的关键部分
    • 广泛应用于机器翻译、阅读理解等任务
    • 例如,Bahdanau Attention:
      e i j = v a ⊤ tanh ⁡ ( W a s i − 1 + U a h j ) e_{ij} = v_a^\top \tanh(W_a s_{i-1} + U_a h_j) eij=vatanh(Wasi1+Uahj)
      α i j = exp ⁡ ( e i j ) ∑ k = 1 T x exp ⁡ ( e i k ) \alpha_{ij} = \frac{\exp(e_{ij})}{\sum_{k=1}^{T_x} \exp(e_{ik})} αij=k=1Txexp(eik)exp(eij)
      c i = ∑ j = 1 T x α i j h j c_i = \sum_{j=1}^{T_x} \alpha_{ij} h_j ci=j=1Txαijhj
  4. 变形金刚(Transformer)

    • 基于自注意力机制(Self-Attention),摆脱了RNN的序列依赖
    • 并行计算,训练效率高,成为大模型的基础架构
    • Self-Attention的计算公式:
      Q = X W Q , K = X W K , V = X W V Q = X W_Q, K = X W_K, V = X W_V Q=XWQ,K=XWK,V=XWV
      A t t e n t i o n ( Q , K , V ) = s o f t m a x ( Q K T d k ) V Attention(Q, K, V) = softmax(\frac{QK^T}{\sqrt{d_k}})V Attention(Q,K,V)=softmax(dk QKT)V

三、预训练语言模型(2018年 - 至今)

  1. GPT(Generative Pre-training Transformer)

    • 基于Transformer的单向语言模型
    • 在大规模无监督语料上预训练,再针对下游任务微调
    • 开启了预训练语言模型的新时代
  2. BERT(Bidirectional Encoder Representations from Transformers)

    • 基于Masked Language Model(MLM)和Next Sentence Prediction(NSP)的双向预训练
    • 在11项NLP任务上取得SOTA成绩
    • 掀起了预训练语言模型的热潮
  3. 轻量级预训练模型

    • 如DistilBERT、ALBERT、TinyBERT等
    • 在保持性能的同时,大幅减小模型尺寸和推理时间
    • 利于预训练模型的工业落地
  4. 语言模型(Large Language Model)

    • 如GPT-3、PaLM、ChatGPT等
    • 模型参数规模高达数百亿甚至上千亿
    • 展现出惊人的语言理解和生成能力
    • In-context Learning:无需微调,直接向模型输入少量样本即可执行新任务
    • 赋予NLP更加通用、开放、强大的能力
    • 大模型示意图:
         ┌─────────────────────────────────────────────────────────────────┐│                                                                 ││                            Pre-training                         ││                                                                 ││       ┌──────────────────────────────────────────────────┐      ││       │            Unsupervised Text Corpora             │      ││       └──────────────────────────────────────────────────┘      ││                                 │                               ││                                 ▼                               ││       ┌──────────────────────────────────────────────────┐      ││       │              Large Language Model                │      ││       │                    (Billions)                    │      ││       └──────────────────────────────────────────────────┘      ││                                                                 │└─────────────────────────────────────────────────────────────────┘│▼┌─────────────────────────────────────────────────────────────────┐│                                                                 ││                          Downstream Tasks                       ││                                                                 ││    ┌─────────┐   ┌───────────┐   ┌─────────────┐   ┌──────────┐  ││    │ ChatBot │   │ Summarize │   │ Translate  │   │ Classify │  ││    └─────────┘   └───────────┘   └─────────────┘   └──────────┘  ││                                                                 │└─────────────────────────────────────────────────────────────────┘
      

NLP研究范式的演进,反映了人工智能技术的不断进步。从早期的统计机器学习,到深度学习,再到预训练语言模型大模型,每一次范式的突破都极大地推动了NLP的发展。未来,NLP有望与知识表示、因果推理等技术进一步结合,实现更加强大、智能、可解释的自然语言理解和生成。


http://www.ppmy.cn/news/1452858.html

相关文章

微信小程序 uniapp家庭食谱菜谱食材网上商城系统小程序ko137

随着生活节奏的不断加快,越来越多的人因为工作忙而没有时间自己出去订购喜欢的菜品。随着Internet的飞速发展,网络已经成为我们日常生活中必不可少的部分,越来越多的人也接受了电子商务这种快捷、方便的交易方式。网上订餐其独有的便捷性和直…

数据结构===树

文章目录 概要概念相关概念 有哪些常用的树小结 概要 树是一种新的数据结构,不同于数组,链表。就像大自然中的树,看下这个数据结构,很有意思,有一个主干,然后还有很多树叉,即支干。不错&#xf…

c#学习基础1

一、复杂数据类型 1)概述 2)枚举 1.基本概念 枚举是一个比较特别的存在,它是一个被命名的整形常量的集合,一般用它来表示状态,类型等 1.1申明枚举和申明枚举变量 1.2申明枚举语法 2.在哪里申明枚举 3.枚举的使用 4…

【Leetcode每日一题】 综合练习 - 全排列 II(难度⭐⭐)(71)

1. 题目解析 题目链接:47. 全排列 II 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 2.算法原理 算法思路梳理 为了生成给定数组nums的全排列,同时避免由于重复元素导致的重复排列,我们可以遵…

用vsCode开发uni-app(vue + ts)项目流程

提示:记录项目创建流程 文章目录 前言一、安装 uni-app 插件二、ts 类型校验1.安装类型声明文件2.配置 tsconfig,json三、json 注释问题四、组件引入1. 安装 uni-app2. 组件自动引入3. 配置 ts 类型五、小程序端 Pinia 持久化六、uni.request 请求封装七、请求成功提取数据和设…

自然科学领域基于ChatGPT大模型的科研绘图

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮,可以面向科研选题、思维导图、数据清洗、统计分析、高级编程、代码调试、算法学习、论文检索、写作、翻译、润色、文献辅助…

RabbitMQ之消费者ACK 功能

什么是消费者ACK? 简单说就是 消息确认机制 mq要保证消息能可靠的达到消费者。消费者在消费是是可以指定autoAck参数(自动/手动)的方式告诉mq自己是否确认收到消息。 当 autoAck 参数为 false 时, 队列中的消息分成了两部分&#…

Arxml文件解析02- 自动驾驶Radar服务radar_svc.arxml

<AUTOSAR xmlns="http://autosar.org/schema/r4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://autosar.org/schema/r4.0 AUTOSAR_00045.xsd