"人工智能算法"并非单一技术,而是一个跨越统计学习、优化理论、神经网络与决策理论的算法族。过去十年,深度学习的崛起让AI从特征工程时代进入表示学习时代;而Transformer与大模型的普及,又将其推向"预训练+微调+对齐"的新范式。理解AI算法,关键不在于记住某个模型的名字,而在于把握三类基本问题——预测(监督学习)、结构发现(无监督学习)、序贯决策(强化学习)——以及贯穿其中的优化与泛化主线。
本文按算法层次展开,从经典机器学习到深度网络、生成式模型与强化学习,并给出少量工程代码示例,最后讨论训练与部署中的现实问题。
从问题形式看,AI算法可归为:
范式 | 目标 | 代表算法 |
|---|---|---|
监督学习 | 学习输入到标签的映射 | 线性/逻辑回归、SVM、决策树、CNN、Transformer |
无监督学习 | 发现数据内在结构 | K-Means、PCA、自编码器、对比学习 |
自监督学习 | 从数据自身构造监督信号 | BERT掩码预测、MAE、SimCLR |
强化学习 | 最大化序贯回报 | Q-Learning、PPO、DQN |
生成式建模 | 学习数据分布并采样 | VAE、GAN、扩散模型、自回归LLM |
这一分类不是割裂的:现代大模型本质是自监督预训练 + 监督微调 + 人类偏好对齐的组合体。
在样本量有限、特征可解释性要求高的场景,经典算法仍是首选。
线性模型以最小化经验风险为目标,逻辑回归通过Sigmoid将线性输出映射为概率:
import numpy as np
def logistic_grad(X, y, w):
p = 1 / (1 + np.exp(-X @ w))
return X.T @ (p - y) / len(y) # 梯度
# 梯度下降一步
w -= lr * logistic_grad(X, y, w)树模型与集成方法(随机森林、XGBoost、LightGBM)在表格数据上长期占据统治地位,其优势在于对特征尺度不敏感、可处理非线性与缺失值、并提供特征重要性。SVM借助核技巧处理高维小样本。K-Means与PCA则是无监督降维与聚类的经典工具。
工程经验:在结构化数据任务中,先建立梯度提升树基线,再评估深度学习是否真的带来增益,往往能避免过度设计。
深度学习的核心是用多层非线性变换自动学习特征表示,并通过反向传播与链式法则端到端优化。
一个最小可训练网络的前向与损失:
import torch, torch.nn as nn
model = nn.Sequential(
nn.Linear(784, 256), nn.ReLU(),
nn.Linear(256, 10)
)
loss_fn = nn.CrossEntropyLoss()
opt = torch.optim.Adam(model.parameters(), lr=1e-3)
logits = model(x)
loss = loss_fn(logits, y)
loss.backward()
opt.step(); opt.zero_grad()卷积网络(CNN)通过局部连接与权值共享引入平移不变性,是视觉任务的基石;循环网络(RNN/LSTM)处理序列依赖,但受限于长程建模与并行性,已大量被注意力机制取代。
训练中的关键议题包括:激活函数(ReLU缓解梯度消失)、归一化(BatchNorm/LayerNorm稳定分布)、正则化(Dropout、权重衰减、数据增强)以及优化器(SGD+Momentum、Adam/AdamW)。这些组件的组合决定了模型能否收敛到良好泛化点。
注意力机制是当代AI算法的分水岭。自注意力将序列中任意两位置直接关联,计算为:
Attention(Q,K,V)=softmax(QK⊤dk)VAttention(Q,K,V)=softmax(dkQK⊤)V
其优势是全局依赖建模 + 高度并行,代价是序列长度平方级的计算复杂度,由此催生了稀疏注意力、线性注意力、FlashAttention等工程优化。
在生成式方向,主流路线包括:
大模型的典型流程是预训练 → 指令微调(SFT)→ 偏好对齐(RLHF/DPO)。对齐阶段的目标是让模型输出更符合人类意图与安全规范,而非单纯拟合数据。
强化学习处理智能体与环境的序贯交互,核心是价值函数估计与策略改进。Q-Learning以贝尔曼方程迭代价值:
Q(s,a)←Q(s,a)+α[r+γmaxa′Q(s′,a′)−Q(s,a)]Q(s,a)←Q(s,a)+α[r+γmaxa′Q(s′,a′)−Q(s,a)]
深度强化学习(DQN、PPO、SAC)用神经网络近似价值或策略,在游戏、机器人控制、推荐与RLHF中广泛应用。其工程难点在于样本效率低、奖励设计困难、训练不稳定,实践中常需大量并行环境与奖励塑形。
算法之外,落地成败往往取决于工程细节:
以量化为例,PyTorch动态量化可在一行内完成:
import torch.quantization as tq
qmodel = torch.quantization.quantize_dynamic(
model, {torch.nn.Linear}, dtype=torch.qint8
)这能在几乎不损失精度的前提下显著降低内存占用与推理延迟,尤其适合算力受限的端侧设备。
AI算法的本质是在数据、模型与优化之间寻找泛化与效率的平衡。经典方法提供可靠基线,深度网络带来表示学习能力,Transformer与生成式模型打开通用智能的想象空间,强化学习补齐决策闭环。真正的工程能力,体现在能否针对具体任务选择合适的算法族、建立严谨的评估基线,并在训练与部署的全链路上持续优化。理解这条主线,比追逐单一模型更重要。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。