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

自然语言处理(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.mzph.cn/web/6616.shtml

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

相关文章

C语言 | Leetcode C语言题解之第67题二进制求和

题目&#xff1a; 题解&#xff1a; void reserve(char* s) {int len strlen(s);for (int i 0; i < len / 2; i) {char t s[i];s[i] s[len - i - 1], s[len - i - 1] t;} }char* addBinary(char* a, char* b) {reserve(a);reserve(b);int len_a strlen(a), len_b st…

性能优化(一):ArrayList还是LinkedList?

引言 集合作为一种存储数据的容器&#xff0c;是我们日常开发中使用最频繁的对象类型之一。JDK为开发者提供了一系列的集合类型&#xff0c;这些集合类型使用不同的数据结构来实现。因此&#xff0c;不同的集合类型&#xff0c;使用场景也不同。 很多同学在面试的时候&#x…

大厂案例 - 通用的三方接口调用方案设计(中)

文章目录 Pre阿里云华为云【AK和SK生成方案】最佳实践1. 创建API密钥管理系统2. 生成AK和SK3. 存储和管理AK和SK4. 提供API密钥分发机制5. 安全性6. 其他注意事项 DB Model Design表结构Next考虑其他建议 API接口设计指导1. 使用POST作为接口请求方式2. 客户端IP白名单3. 单个接…

【研发管理】产品经理知识体系-产品创新流程

导读&#xff1a;产品创新流程是一个系统性的过程&#xff0c;旨在通过创造和引入新的产品或改进现有产品来满足市场需求、解决用户问题或实现竞争优势。 目录 1、产品创新引论 2、决策基本框架 3、模糊前端 4、产品创新流程模型概论 5、门径管理流程 6、并行工程和集成产…

深度学习技术在运动想象脑电信号中分类中的学习实战

----&#xff08;本文由思影科技学习参考后得出&#xff09; 脑机接口&#xff08;BCI&#xff09;中运动想象脑电图&#xff08;MI-EEG&#xff09;是最常见的BCI范式之一&#xff0c;已经广泛应用于只能医疗&#xff0c;如中风后康复和移动辅助机器人。近年来&#…

Java与Go:并发

在此之前&#xff0c;我们先要明白什么是并发&#xff1f;为什么要并发编程&#xff1f; 在计算机中&#xff0c;同一时刻&#xff0c;只能有一条指令&#xff0c;在一个CPU上执行 后面的指令必须等到前面指令执行完才能执行&#xff0c;就是串行。在早年CPU核心数还少的时候倒…

Android版本依赖Version catalog

曾经我们使用config.gradle文件进行版本依赖配置&#xff0c;然后在project的build.gradle.kts中使用如下方式引入&#xff1a; apply(from "./config.gradle") 缺点&#xff1a;在project的module中引用无任何提示&#xff0c;无法跳转到指定引用 一、创建versio…

临床+康复的一体化治疗服务,把握黄金康复时间

随着我院脑血管病人&#xff0c;重症病人及骨科病人康复需求的日渐增多&#xff0c;为了使每位住院患者在治疗原发病的同时&#xff0c;第一时间接受到康复治疗&#xff0c;提高病人的生活质量&#xff0c;降低致残率&#xff0c;我院康复治疗科在院领导的大力支持下&#xff0…

C语言之递归函数、例题详解以及注意事项

目录 前言 一、递归的概念 二、递归例题详解 例1&#xff1a;斐波那契数列 例2&#xff1a;求次方 例3&#xff1a;求各位数之和 例4&#xff1a;阶乘 例5&#xff1a;顺序打印 三、递归的注意事项 总结 前言 本文将和大家分享一些递归函数的相关知识&#xff0c;技巧…

EPAI手绘建模APP颜色、贴图、材质、样式

⑦ 颜色选择页面 1) 颜色环选色。 图 65 颜色选择器-颜色环 2) RGB选色。 图 66 颜色选择器-RGB 3) HSL选色。 图 67 颜色选择器-HSL 4) 国风颜色库选色。 图 68 颜色选择器-国风 5) CSS颜色库选色。 图 69 颜色选择器-CSS 6) 历史颜色&#xff1a;保存最近使用的多个颜色&…

【C++语言】封装

当谈及面向对象编程&#xff08;OOP&#xff09;中的三个主要概念——封装、继承和多态时&#xff0c;封装是最基础和最重要的。封装是将数据和操作数据的函数捆绑在一起的概念。在C中&#xff0c;封装通过类来实现&#xff0c;类将数据成员和成员函数封装在一起。本文将详细讨…

Gunicorn与Nginx协同工作:配置Django应用的高效指南

Gunicorn和Nginx是常用的部署Django应用的组合。Gunicorn是一个Python Web服务器&#xff0c;用于运行Django应用程序的Web服务器。Nginx是一个高性能的反向代理服务器&#xff0c;常用于前端的负载均衡和静态文件服务。 下面是配置Django应用的高效指南&#xff1a; 安装Guni…

vue快速入门(五十三)使用js进行路由跳转

注释很详细&#xff0c;直接上代码 上一篇 新增内容 几种常用的路由跳转方式演示 源码 App.vue <template><div id"app"><div class"nav"><!-- router-link 自带两个高亮样式类 router-link-exact-active和router-link-active区别&a…

microk8s的registry私有镜像库

一、正常步骤 打开registry microk8s enable registry给docker里边的镜像重新打标签 标签格式是 localhost:32000/image:tag docker tag image:tag localhost:32000/image:tag上传镜像 docker push localhost:32000/image:tag在Deployment中使用它 注意下面镜像名称&#xff1…

3.SpringSecurity基本原理

SpringSecurity本质是一个过滤器链。十多个过滤器构成一个过滤器链。 这些过滤器在项目启动就会进行加载。每个过滤器执行放行操作才会执行下一个过滤器。 常见过滤器 FilterSecurityInterceptor 是一个方法级的权限过滤器&#xff0c;基本位于过滤器链的最底部。 Excepti…

Rust web简单实战

一、使用async搭建简单的web服务 1、修改cargo.toml文件添加依赖 [dependencies] futures "0.3" tokio { version "1", features ["full"] } [dependencies.async-std] version "1.6" features ["attributes"]2、搭…

HTML_CSS学习:CSS盒子模型

一、CSS中常用的长度单位 相关代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>CSS中常用的长度单位</title><style>html{font-size: 40px;}#d1{/*第一种长度单位&…

开源模型应用落地-LangChain高阶-Tools工具-集成agents(四)

一、前言 LangChain 的 tools 是一系列关键组件&#xff0c;它们提供了与外部世界进行交互的能力。通过适当的使用这些组件&#xff0c;可以简单实现如执行网络搜索以获取最新信息、调用特定的 API 来获取数据或执行特定的操作、与数据库进行交互以获取存储的信息等需求。 本章…

安装vscode基础配置,es6基础语法,

https://code.visualstudio.com/ es6 定义变量 const声明常量&#xff08;只读变量&#xff09; // 1、声明之后不允许改变 const PI “3.1415926” PI 3 // TypeError: Assignment to constant variable. // 2、一但声明必须初始化&#xff0c;否则会报错 const MY_AGE /…

01-MySQL 基础篇笔记

一、MySQL 概述 1.1 数据库相关概念 数据库&#xff1a;&#xff08;DB&#xff1a;DataBase&#xff09; 存储数据的仓库&#xff0c;数据是有组织的进行存储 数据库管理系统&#xff1a;&#xff08;DBMS&#xff1a;DataBase Management System&#xff09; 操作和管理数…