当前位置: 首页 > news >正文

AI 语言模型发展史:统计方法、RNN 与 Transformer 的技术演进

引言

自然语言处理(NLP)是 AI 领域的重要分支,而语言模型(Language Model, LM)是 NLP 的核心技术。语言模型经历了从 统计方法RNN(循环神经网络),再到 Transformer 的演进,每一步都在提升模型的表达能力和计算效率。

本文从技术角度详细分析三种方法的核心原理、优缺点,并探讨 Transformer 如何在 AI 大模型(如 GPT-4)中发挥关键作用。


1. 统计方法(N-gram)

1.1 方法原理

统计方法基于 马尔可夫假设(Markov Assumption),认为当前词的出现仅依赖于前面 n-1 个词,而不是整个句子历史。常见的 N-gram 语言模型如下:

  • Unigram(1-gram): 仅考虑每个词的单独概率 P(w)。
  • Bigram(2-gram): 仅考虑当前词的前一个词 P(w_t | w_{t-1})。
  • Trigram(3-gram): 仅考虑当前词的前两个词 P(w_t | w_{t-2}, w_{t-1})。

语言模型的计算方式如下:
[
P(W) = P(w_1, w_2, …, w_T) = \prod_{t=1}^{T} P(w_t | w_{t-n+1}, …, w_{t-1})
]

1.2 优缺点

优点

  • 计算简单,易于实现。
  • 适用于小型数据集,能快速计算概率。

缺点

  • 长距离依赖问题:N-gram 只能考虑有限的上下文,忽略远距离词的影响。
  • 数据稀疏性:高阶 N-gram 需要大量数据,罕见短语可能无统计数据。
  • 无法泛化:仅能处理训练数据中见过的词汇,对新词无能为力。

2. RNN(循环神经网络)

2.1 方法原理

RNN 通过隐藏状态 h_t 记忆过去的信息,解决了 N-gram 只能处理短上下文的问题。RNN 的核心计算公式如下:
[
h_t = f(W_h h_{t-1} + W_x x_t + b)
]
[
y_t = W_y h_t + b_y
]
其中:

  • ( h_t ) 是当前的隐藏状态,包含了过去的信息。
  • ( W_h, W_x, W_y ) 是权重矩阵,( b ) 是偏置项。
  • ( x_t ) 是输入,( y_t ) 是输出。

2.2 变体(LSTM & GRU)

(1) LSTM(长短时记忆网络)
LSTM 通过 遗忘门(Forget Gate)、输入门(Input Gate)、输出门(Output Gate) 控制信息流动,使其能够记住长期依赖信息:
[
f_t = \sigma(W_f [h_{t-1}, x_t] + b_f)
]
[
i_t = \sigma(W_i [h_{t-1}, x_t] + b_i)
]
[
o_t = \sigma(W_o [h_{t-1}, x_t] + b_o)
]
[
c_t = f_t \odot c_{t-1} + i_t \odot \tilde{c_t}
]
[
h_t = o_t \odot \tanh(c_t)
]
其中:

  • ( f_t, i_t, o_t ) 分别为遗忘门、输入门和输出门。
  • ( c_t ) 是细胞状态,存储长期信息。

(2) GRU(门控循环单元)
GRU 结构比 LSTM 更简单,合并了输入门和遗忘门:
[
z_t = \sigma(W_z [h_{t-1}, x_t])
]
[
r_t = \sigma(W_r [h_{t-1}, x_t])
]
[
\tilde{h_t} = \tanh(W_h [r_t \odot h_{t-1}, x_t])
]
[
h_t = (1 - z_t) \odot h_{t-1} + z_t \odot \tilde{h_t}
]

2.3 优缺点

优点

  • 能处理任意长度的序列,比 N-gram 适应更长的上下文。
  • LSTM/GRU 解决了普通 RNN 的梯度消失问题。

缺点

  • 训练速度慢,难以并行化(序列计算依赖前一步)。
  • 对长序列仍存在信息遗忘问题。

3. Transformer(自注意力机制)

3.1 方法原理

Transformer 彻底抛弃了 RNN,使用 自注意力机制(Self-Attention) 计算词与词之间的关系,并行处理整个句子。

(1) 自注意力机制

给定输入序列 ( X = [x_1, x_2, …, x_n] ),我们计算每个词的 查询(Q)键(K)值(V)
[
Q = XW_Q, \quad K = XW_K, \quad V = XW_V
]
计算注意力权重:
[
\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) V
]

(2) 多头注意力

多个注意力头(Multi-Head Attention)并行计算:
[
\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, …, \text{head}_h) W_O
]

(3) 位置编码

由于 Transformer 没有 RNN 的时序结构,需要 位置编码(Positional Encoding) 引入位置信息:
[
PE_{(pos, 2i)} = \sin(pos / 10000^{2i/d})
]
[
PE_{(pos, 2i+1)} = \cos(pos / 10000^{2i/d})
]

3.2 优缺点

优点

  • 并行计算,提高训练速度。
  • 处理长序列时效果优于 RNN,没有梯度消失问题。

缺点

  • 计算量大,对硬件要求高。
  • 长文本处理成本较高(注意力计算复杂度为 ( O(n^2) ))。

总结

方法核心原理优点缺点
N-gram统计词频概率计算简单不能处理长距离依赖
RNN记住前面信息逐步预测适合短文本训练慢,长句信息遗忘
Transformer关注整个句子,注意力机制并行计算,高效处理长文本计算量大,训练成本高

目前,Transformer 是大模型(如 GPT-4、BERT)的核心技术,未来 NLP 发展仍围绕自注意力机制展开。


📌 如果你想深入学习,可以研究 Transformer 细节,如多头注意力、Feedforward 层等。

http://www.lryc.cn/news/539919.html

相关文章:

  • Pycharm中查找与替换
  • 有向图的强连通分量: Kosaraju算法和Tarjan算法详解
  • mac相关命令
  • 代码随想录算法训练营第六天| 242.有效的字母异位词 、349. 两个数组的交集、202. 快乐数 、1. 两数之和
  • dify实现分析-rag-关键词索引的实现
  • 【小白学HTML5】一文讲清常用单位(px、em、rem、%、vw、vh)
  • Fastgpt学习(5)- FastGPT 私有化部署问题解决
  • ubuntu下安装TFTP服务器
  • 深入解析 iText 7:从 PDF 文档中提取文本和图像
  • Rust编程语言入门教程 (六)变量与可变性
  • 事务--实操演示
  • PHP是如何并行异步处理HTTP请求的?
  • 【Spring详解一】Spring整体架构和环境搭建
  • 在 Vue 3 中使用 Lottie 动画:实现一个加载动画
  • 深度解析:使用 Headless 模式 ChromeDriver 进行无界面浏览器操作
  • MySQL 主从复制原理及其工作过程
  • 计算机网络抄手 运输层
  • 字符串函数和结构题内存对齐
  • 【嵌入式Linux应用开发基础】特殊进程
  • 深度学习pytorch之19种优化算法(optimizer)解析
  • rust笔记5-derive属性2
  • DeepSeek、微信、硅基流动、纳米搜索、秘塔搜索……十种不同方法实现DeepSeek使用自由
  • 介绍cherrypick
  • HTTP、HTTPS区别可靠性及POST为什么比GET安全的探讨
  • 从零到一:Spring Boot 与 RocketMQ 的完美集成指南
  • AIGC:开启内容创作新纪元,我们如何看待它的影响与前景?
  • 10分钟上手DeepSeek开发:SpringBoot + Vue2快速构建AI对话系统
  • mac安装Pyspark并连接Mysql
  • 深入理解Python多进程编程 multiprocessing
  • jQuery AJAX 方法详解