高级 #dl#nlp#llm

自然语言处理(NLP)

自然语言处理让计算机理解、生成人类语言——从词嵌入(Word2Vec)到预训练模型(BERT、GPT),NLP 经历了从"手动特征"到"大模型"的转变

💬 让计算机”看懂”语言——不只是查字典

“苹果很好吃”和”苹果发布了新手机”——两个”苹果”意思完全不同。这是人类一看就懂的,但计算机怎么知道?

自然语言处理(Natural Language Processing, NLP) 让计算机理解、生成、操作人类语言。从早期的规则系统到今天的大语言模型——NLP 经历了巨大的变革。


🔤 词嵌入——把词变成向量

计算机不认识”猫”这个字——它只认识数字。

词嵌入(Word Embedding) 把每个词映射成向量——语义相似的词在向量空间中距离近:

# Word2Vec——经典词嵌入
# "国王 - 男人 + 女人 ≈ 女王"
# 这就是词嵌入的惊人性质——可以像向量一样做算术!

vec_king - vec_man + vec_woman ≈ vec_queen
vec_北京 - vec_中国 + vec_日本 ≈ vec_东京
词嵌入把每个词表示为几百维的向量:
"猫" → [0.2, -0.5, 0.8, ...]
"狗" → [0.3, -0.4, 0.7, ...]  ← 和"猫"距离近

"苹果"(水果)→ [0.1, -0.8, 0.9, ...]
"苹果"(公司)→ [0.7, 0.2, -0.5, ...]  ← 不同含义不同向量

📚 从 BERT 到 GPT——预训练时代

预训练 + 微调 模式彻底改变了 NLP:

第一阶段(预训练):
在海量文本上训练一个"语言理解"模型
→ 模型学会了语法、知识、推理能力

第二阶段(微调/提示):
在特定任务上少量数据微调
→ 分类、问答、翻译、摘要……

关键:预训练的成本极大(千万美元级),但微调成本很小
→ "基础模型"(Foundation Model)概念诞生

BERT——双向理解

BERT 用完形填空训练:随机遮住句子中 15% 的词,让模型预测被遮住的词。

输入:"我今天去[MASK]买了苹果"
预测:"超市" → BERT 懂了上下文

双向注意力:同时看"今天去"和"买了苹果"两个方向

GPT——单向生成

GPT 用预测下一个词训练:给前面的词,预测下一个词。

输入:"我今天"
预测:"去" → "超市" → "买了" → "苹果"

单向注意力:只看左边的词,不能看右边
但:这就是"生成"的本质——从左往右逐词产生

🤖 大语言模型(LLM)的能力

GPT-3(1750 亿参数)和后续的 LLM 展现出许多”涌现”能力:

能力说明例子
上下文学习给几个例子模型就学会新任务给 3 个翻译例子→模型能继续翻译
思维链推理让模型”一步一步思考”提高准确率”我们先分析……然后……所以……”
指令跟随理解自然语言指令”用 Python 写一个排序算法”
代码生成生成可运行的代码GitHub Copilot

📝 小结

概念一句话
词嵌入词→向量——语义相似=向量距离近
预训练在海量数据上训练基础模型——然后微调
BERT双向编码器——完形填空训练——擅理解
GPT单向解码器——预测下一个词——擅生成
LLM(大语言模型)大规模预训练语言模型——涌现多种能力

为什么先学这个? NLP 处理”语言”。另一个重要应用方向——计算机视觉(目标检测 YOLO、分割)