【机器学习】五类范式
| 范式 | 数据标签情况 | 学习核心逻辑 | 数据成本 | 核心优势 | 核心短板 |
|---|---|---|---|---|---|
| 监督学习 | 全部人工标注 | 拟合 X 到真实 Y 映射 | 极高 | 预测精度高、结果可控 | 海量标注人力成本高 |
| 无监督学习 | 完全无标签 | 挖掘数据内在结构 | 极低 | 无需标注,挖掘隐藏规律 | 结果无标准,解读依赖业务 |
| 半监督学习 | 少量标注 + 大量无标注 | 平滑假设,伪标签辅助训练 | 中等 | 平衡精度与标注成本 | 数据分布偏移时效果暴跌 |
| 强化学习 | 无静态数据集,交互奖惩 | 试错最大化长期奖励 | 交互成本高 | 适配动态决策、序列交互场景 | 训练不稳定、收敛慢、奖励难设计 |
| 自监督学习 | 完全无标注,自动生成伪标签 | 代理任务学习通用表征 | 极低 | 预训练通用特征,适配各类下游任务 | 预训练算力消耗巨大 |
1. 监督学习
1.1 定义:
使用人工标注标签的数据集训练模型。输入特征X + 人工给定的真是标签Y,模型学习X --> Y的映射关系。通过预测值与真实标签的误差反向更新参数。
1.2 核心特征:
- 训练集(xi, yi)成对的标注数据。
- 目标:最小化预测 与 真实标签的损失。
- 人工标注成本高。
- 分为两大子任务:回归(连续值输出),分类(离散类别输出)
1.3 典型场景:
图像猫狗识别、垃圾邮件分类、房价预测、用户点击率预估、信贷风控、文本情感分类。
1.4 常用算法:
1.4.1 分类任务(输出离散类别)
| 算法名称 | 适用场景 | 常用 Python API | 优点 | 缺点 |
|---|---|---|---|---|
| 👌逻辑回归 LogisticRegression | 二分类:风控逾期、CTR 预估、疾病二筛、文本正负情感;多分类:简单文本分类 | sklearn.linear_model.LogisticRegression | 1. 输出概率,可灵活调阈值; 2. 线性可解释,特征权重直观; 3. 训练快、内存占用小,适配高维稀疏特征; 4. 工业标准基线,易上线部署 |
1. 只能拟合线性关系,无法捕捉非线性特征交互; 2. 需做特征标准化; 3. 复杂数据集精度弱于树模型 |
| K 近邻 KNN | 小样本图像分类、商品相似分类、简单多分类、低维小数据场景 | sklearn.neighbors.KNeighborsClassifier | 1. 无训练过程,无假设; 2. 逻辑简单易理解; 3. 多分类天然支持 |
1. 预测速度慢,数据量大时延高; 2. 高维数据失效; 3. 对异常值、特征尺度敏感 |
| ✌朴素贝叶斯 NaiveBayes | 文本分类、垃圾邮件识别、短文本情感、高维稀疏文本特征 | sklearn.naive_bayes.MultinomialNB/GaussianNB | 1. 训练极快,占用资源极低; 2. 适配海量稀疏文本; 3. 小样本也能快速收敛 |
1. 特征独立假设与现实不符,精度上限低; 2. 连续特征表现差 |
| 👆决策树 DecisionTreeClassifier | 特征可解释需求业务、多分类、规则挖掘、可视化决策逻辑 | sklearn.tree.DecisionTreeClassifier | 1. 无需特征标准化; 2. 可生成规则树,完全可解释; 3. 能捕捉非线性、特征交互 |
1. 极易过拟合; 2. 数据微小扰动树结构剧变; 3. 泛化能力弱,单棵树效果差 |
| ✌随机森林 RandomForestClassifier | 表格结构化数据多分类、用户画像、故障分类、图像简单分类 | sklearn.ensemble.RandomForestClassifier | 1. 抗过拟合,泛化优于单树; 2. 输出特征重要性; 3. 无需特征缩放,适配混合特征 |
1. 训练速度中等; 2. 海量数据推理较慢; 3. 不擅长超高维稀疏文本 |
| 👌XGBoost 分类器 | 工业竞赛、风控、推荐、结构化数据高精度分类、多分类 | xgboost.XGBClassifier | 1. 精度业界顶尖; 2. 支持缺失值、自定义损失; 3. 正则化强,抗过拟合; 4. 支持并行训练 |
1. 调参复杂; 2. 对噪声异常值较敏感; 3. 文本稀疏特征不如贝叶斯 / 深度学习 |
| 👌LightGBM 分类器 | 大规模业务数据、线上实时分类、百万级样本、点击率预估 | lightgbm.LGBMClassifier | 1. 训练推理速度远快 XGB; 2. 内存占用低; 3. 支持类别特征原生输入 |
1. 小样本易轻微过拟合; 2. 自定义损失函数门槛高 |
| 👆SVM 支持向量机 | 中小样本高维数据、图像小样本分类、文本分类、二分类场景 | sklearn.svm.SVC | 1. 高维数据表现优异; 2. 小样本泛化好; 3. 核函数处理非线性 |
1. 大数据量训练极慢; 2. 多分类效率低; 3. 可解释差,对超参敏感 |
| 👌CNN 卷积神经网络 | 图像分类、图片识别、OCR 字符分类、视觉多分类 | torch.nn.Conv2d / tensorflow.keras.layers.Conv2D | 1. 自动提取空间特征; 2. 图像任务精度碾压传统机器学习; 3. 适配海量图像数据 |
1. 需要大量标注图像; 2. 算力消耗大; 3. 结构化表格数据不如树模型 |
| 👌BERT 类预训练语言模型 | 长文本分类、意图识别、情感细粒度多分类、新闻标签分类 | transformers.BertForSequenceClassification | 1. 理解上下文语义,文本分类 SOTA; 2. 少量微调即可落地 |
1. 推理速度慢,部署成本高; 2. 短简单文本性价比低于传统算法 |
1.4.2 回归任务(输出连续数值)
| 算法名称 | 适用场景 | 常用 Python API | 优点 | 缺点 |
|---|---|---|---|---|
| 👌线性回归 LinearRegression | 房价简单预测、销量线性预估、基准回归模型、变量线性关系拟合 | sklearn.linear_model.LinearRegression | 1. 极强可解释,系数直观; 2. 训练速度极快; 3. 输出线性预测区间 |
1. 仅拟合线性关系; 2. 多重共线性干扰严重; 3. 非线性数据误差大 |
| ✌岭回归 Ridge | 存在多重共线性的线性回归、金融指标预测 | sklearn.linear_model.Ridge | 1. 引入 L2 正则,解决共线性; 2. 保留全部特征,稳定系数 |
1. 依旧线性模型; 2. 无法做特征筛选 |
| ✌Lasso 回归 Lasso | 特征筛选 + 回归、高维稀疏指标销量预测 | sklearn.linear_model.Lasso | 1.L1 正则可将无效特征系数压缩至 0,自动降维; 2. 简化模型 |
1. 相关特征会随机剔除其一; 2. 高相关变量不稳定 |
| 👆K 近邻回归 KNeighborsRegressor | 低维小样本连续值预测、局部趋势拟合 | sklearn.neighbors.KNeighborsRegressor | 1. 无数据分布假设; 2. 捕捉局部非线性趋势 |
1. 大数据预测缓慢; 2. 高维数据失效;对异常值敏感 |
| 👆决策树回归 DecisionTreeRegressor | 非线性业务指标预测、分段规则预测 | sklearn.tree.DecisionTreeRegressor | 1. 无需特征标准化; 2. 捕捉非线性与交互; 3. 规则可视化 |
1. 严重过拟合;泛化能力差;预测输出不平滑 |
| ✌随机森林回归 RandomForestRegressor | 结构化数据销量、客流、价格预测、中大型表格回归 | sklearn.ensemble.RandomForestRegressor | 1. 抗过拟合;输出特征重要性;适配混合类型特征 | 1. 海量数据推理慢;无法外推预测超出训练集范围的值 |
| 👌XGBoost 回归器 | 竞赛高精度回归、营收预测、流量预估、工业指标拟合 | xgboost.XGBRegressor | 1. 回归精度行业领先;支持缺失值、自定义损失;正则完善 | 1. 调参繁琐;外推能力弱;对极端异常值敏感 |
| 👌LightGBM 回归器 | 线上实时数值预估、亿级样本回归、广告出价预估 | lightgbm.LGBMRegressor | 1. 训练推理速度快、内存占用低;原生支持类别特征 | 1. 小样本易过拟合;预测边界外推效果差 |
| 👆SVR 支持向量回归 | 中小样本非线性连续预测、少量数据价格拟合 | sklearn.svm.SVR | 1. 小样本泛化稳定;核函数处理非线性 | 1. 大数据训练极慢;多特征场景算力开销大 |
| 👌DNN 深度神经网络回归 | 复杂非线性多特征回归、时序数值预测、多因子综合预估 | torch.nn.Linear / tensorflow Dense | 1. 自动学习复杂高阶特征交互;适配海量多维度数据 | 1. 需要大量数据;训练耗算力;可解释性极差,调参成本高 |
2. 无监督学习
2.1 定义:
数据集无任何人工标签,仅输入特征X;模型自动挖掘数据内部隐藏结构、分布、关联、聚类规则,无标准答案参考。
2.2 核心特征:
- 训练集仅Xi, 无 Yi
- 无标注成本,适合海量原始数据。
- 任务无唯一“正确结果”,靠人工业务解读输出;
- 主流子任务:聚类,降维,关联规则,密度估计,生成建模。
2.3 使用场景:
用户分群、商品用户画像、异常检测、数据降噪、特征压缩、超市购物关联分析、图片自动分组。
2.4 常用算法:
2.4.1 聚类算法(无监督分组)
| 算法名称 | 适用场景 | Python 常用 API | 优点 | 缺点 |
|---|---|---|---|---|
| 👌K-Means | 用户分层、商品聚类、文本分簇、图像像素聚类、特征分桶 | sklearn.cluster.KMeans | 1. 速度快、低内存,支持百万级数据;2. 实现简单,工业基线;3. 输出簇中心,业务易解释 | 1. 必须手动指定 k;2. 对异常值敏感;3. 仅适配球形簇;4. 受初始中心点影响 |
| 👌DBSCAN | 异常检测、不规则簇聚类、地理点位、噪声样本识别 | sklearn.cluster.DBSCAN | 1. 无需设定聚类数;2. 自动区分噪声;3. 识别任意形状簇;4. 抗离群点 | 1. 高维数据效果差;2.eps、min_samples 敏感;3. 大数据速度慢;4. 密度差异大时聚类失衡 |
| ✌层次聚类 (Agglomerative) | 千级小样本分层、谱系分析、需要多层聚类结构 | sklearn.cluster.AgglomerativeClustering | 1. 生成树状图,可多层拆分簇;2. 无需预先给定 k;3. 支持多种距离度量 | 1. 时间复杂度高,无法处理上万样本;2. 对噪声敏感;3. 不适合海量数据 |
| 👆谱聚类 | 小样本非线性数据、环形 / 交错簇、小规模图像分割 | sklearn.cluster.SpectralClustering | 1. 适配流形、非线性非球形数据;2. 复杂局部结构聚类效果好 | 1. 大数据算力消耗极高;2. 必须指定 k;3. 高维海量样本无法使用 |
| ✌GMM 高斯混合模型 (聚类) | 软聚类、多椭圆分布数据、密度建模、输出样本归属概率 | sklearn.mixture.GaussianMixture | 1. 软聚类输出各类别概率;2. 适配椭圆簇,比 K-Means 灵活;3. 可通过 BIC/AIC 自动选 k | 1. 假设数据服从高斯分布;2. 易收敛局部最优;3. 高维稀疏数据表现一般 |
2.4.2 降维算法(特征压缩、可视化、降噪)
| 算法名称 | 适用场景 | Python 常用 API | 优点 | 缺点 |
|---|---|---|---|---|
| 👌PCA 主成分分析 | 特征降噪、线性特征压缩、消除多重共线性、分类 / 聚类预处理 | sklearn.decomposition.PCA | 1. 线性降维速度极快;2. 保留全局最大方差;3. 方差占比可解释,支持逆变换还原数据 | 1. 仅捕捉线性关系,非线性数据失效;2. 丢失局部簇结构;3. 数据必须标准化 |
| ✌t-SNE | 2D/3D 可视化、小样本聚类展示、观察局部样本近邻关系 | sklearn.manifold.TSNE | 1. 局部近邻保留极佳,可视化分界清晰;2. 簇区分效果好 | 1. 运算慢,不能用作训练特征;2. 丢失全局结构;3. 困惑度超参难调,仅适合可视化 |
| 👌UMAP | 百万级数据降维可视化、降维后送入模型训练、兼顾全局 + 局部结构 | umap.UMAP | 1. 同时保留全局、局部数据结构;2. 速度远超 t-SNE;3. 降维结果可直接作为模型输入特征 | 1. 非线性降维可解释性弱;2. 邻域数量超参影响结果较大 |
2.4.3 关联规则挖掘(挖掘事物共现规律)
| 算法名称 | 适用场景 | Python 常用 API | 优点 | 缺点 |
|---|---|---|---|---|
| ✌Apriori | 购物篮分析、商品搭配推荐、小规模用户行为事务集 | mlxtend.frequent_patterns.apriori | 1. 原理简单易懂;2. 输出支持度 / 置信度 / 提升度,业务直观;3. 易落地交叉推荐场景 | 1. 多次扫描数据集,海量数据效率极低;2. 产生大量候选项集,占用内存;3. 长关联项集生成缓慢 |
| 👌FP-Growth | 海量交易日志、大规模用户行为、高频商品挖掘、长项集挖掘 | mlxtend.frequent_patterns.fpgrowth | 1. 仅两次遍历数据集,速度远快 Apriori;2.FP 树压缩存储,内存利用率高;3. 无需大量候选项 | 1. 构建 FP 树存在一定内存开销;2. 原理比 Apriori 复杂;3. 极度稀疏数据优势减弱 |
2.4.4 生成模型(生成新样本、密度估计、数据增强)
| 算法名称 | 适用场景 | Python 常用 API | 优点 | 缺点 |
|---|---|---|---|---|
| ✌GMM 高斯混合模型 (生成) | 连续数据模拟、密度估计、简单低维样本生成、缺失值补全 | sklearn.mixture.GaussianMixture | 1. 概率生成模型,可采样出新数据;2. 显式建模概率密度;3. 数学理论成熟完备 | 1. 仅能生成高斯分布类数据;2. 图像、文本等高维复杂数据生成效果差;3. 复杂分布拟合能力有限 |
| 👌VAE 变分自编码器 | 图像降噪、数据增强、隐变量解耦、图像样本生成、小样本扩充 | PyTorch/TensorFlow 自定义搭建,无 sklearn 封装 | 1. 隐变量连续可控,支持样本插值;2. 适配图像等高维数据重建;3. 训练稳定、损失易收敛 | 1. 生成图片偏模糊,细节弱于 GAN;2. 易出现输出平均化;3. 依赖深度学习框架,训练算力需求高 |
3. 半监督学习
3.1 定义:
训练数据混合两类样本:少量人工标注样本(xi, yi) + 大量无标注样本xu;同时利用少量标签 + 海量无标签数据联合训练,弥补标注不足。
3.2 核心特征:
- 数据构成:少量标注 + 大量无标注
- 假设 流形假设 / 平滑假设:相近样本大概率同类别;
- 大幅降低人工标注成本,工业界性价比较高。
- 先通过无标注学习数据分布,再用少量标签校准决策边界。
3.3 适用场景
语音识别、文本分类、图片标注不足场景、工业质检(少量缺陷样本)、推荐系统用户分层。
3.4 常用算法:
| 算法名称 | 使用场景 | 常用 API / 实现方式 | 优点 | 缺点 |
|---|---|---|---|---|
| ✌自训练 Self-Training | 少量标注 + 大量无标注通用场景;文本、表格数据半监督基线;低成本快速迭代 | Sklearn 无原生 API,基于任意分类模型(LR/XGB/CNN)手写循环:训练→预测伪标签→筛选高置信样本扩充训练集 | 1. 实现简单,无额外模型结构; 2. 兼容所有基础分类器; 3. 落地门槛低,无需特殊数据结构 |
1. 低置信伪标签引入噪声,误差迭代累积; 2. 单一模型偏见会持续放大; 3. 分布偏移大时提升效果有限 |
| 👆协同训练 Co-Training | 数据存在两个相互独立视图:如文本(标题 + 正文)、图片(像素 + 纹理特征) | 无现成开源 API,纯手动实现;需拆分双视图、双模型交替迭代训练 | 1. 双模型、双视图相互校验,伪标签噪声少于自训练; 2. 利用多维度信息互补 |
1. 硬性要求双独立视图,绝大多数业务不满足; 2. 双模型训练,算力与代码复杂度翻倍; 3. 两视图相关性高时效果骤降 |
| ✌半监督 SVM(S3VM) | 中小规模高维稀疏数据、小样本文本二分类、低样本稀疏特征场景 | 无 sklearn 原生支持;仅老旧第三方工具 svm-light,工业极少使用 | 1. 基于流形假设,兼顾分类间隔与无标注样本分布; 2. 小样本高维数据泛化优于简单自训练 |
1. 求解二次规划,大数据训练极慢; 2. 超参敏感调参困难; 3. 无法处理百万级样本,线上基本不落地 |
| 👌标签传播 Label Propagation | 小样本图关联数据、基于相似度标签平滑传播、图聚类预处理、少量标注全局分类 | sklearn.semi_supervised.LabelPropagation | 1. 数学原理清晰,一步求解无需迭代训练; 2. 适配小规模图类数据,效果稳定; 3. sklearn 开箱即用 |
1. 上万样本计算量爆炸,不支持大数据; 2. 效果高度依赖相似度计算方式; 3. 高维稀疏数据构建邻接图开销巨大 |
| 👌伪标签 Pseudo-Label | 深度学习通用半监督基线;图像、文本、表格模型通用;标注稀缺场景 | Pytorch/TensorFlow 自定义实现,搭配 CNN、BERT、MLP 使用 | 1. 深度学习最简半监督方案,仅增加无标注一致性损失; 2. 适配所有深度网络,易集成进现有训练流程; 3. 可搭配数据增强、置信度过滤优化 |
1. 无强增广约束,伪标签噪声影响精度; 2. 仅单模型预测,复杂数据集精度上限有限 |
| 👌FixMatch / Noisy Student(图像半监督) | 图像分类、图片检索、目标检测;海量无标注图像、视觉任务标注成本高场景 | FixMatch:TorchVision、OpenMMLab; Noisy Student:TensorFlow 官方开源工程 |
1. 弱增强 + 强增强一致性约束,大幅降低伪标签噪声; 2. 图像半监督 SOTA,少量标注逼近全监督效果; 3.Noisy Student 师生迭代持续提纯样本 |
1. 仅限图像领域,文本 / 表格无法直接复用; 2. 强数据增强逻辑复杂; 3. 多轮师生迭代训练耗时长、显存占用高 |
| 👌半监督 GNN 图模型 | 社交网络、风控用户关系图、推荐系统图、知识图谱、节点分类任务 | Pytorch Geometric (PyG)、DGL;GCN/GAT/GraphSAGE 均支持半监督节点分类 | 1. 天然利用图邻域结构,无标注节点依靠邻居传递标签; 2. 图数据专属最优方案,远超标签传播; 3. 支持大图采样,适配千万级节点 |
1. 必须具备图邻接关系,普通表格 / 文本无法使用; 2. 大图训练显存消耗大; 3. 图噪声、缺失边会显著降低模型精度 |
4. 强化学习
4.1 定义:
Agent 在 Environment 中持续交互,通过执行动作 Action 获得即时奖励Reward;目标是学习一套最优策略 Policy,最大化长期累计奖励,无固定静态数据集。
核心五元组:状态、动作、奖励、状态转移概率、折扣因子
4.2 核心特征:
- 无静态训练数据集,在线交互试错学习;
- 延迟奖励:单次动作不一定立刻反馈好坏,看重长期收益;
- 探索(尝试新动作)与利用(复用已知最优动作)平衡;
- 不拟合固定标签,优化长期回报。
4.3 适用场景
机器人控制、自动驾驶、游戏 AI(AlphaGo)、资源调度、大模型 RLHF 人类反馈对齐、推荐动态策略、工业机械臂。
4.4 常用算法:
| 算法分类 | 算法名称 | 使用场景 | 常用 API / 实现方式 | 优点 | 缺点 |
|---|---|---|---|---|---|
| ✌基础表格强化学习 | Q-Learning | 离散状态 + 离散动作小游戏、网格世界、简单机器人寻路、小型调度场景 | 无统一封装,手写表格 Q-table;Stable Baselines3 简易 demo | 1. 离线学习,不依赖当前轨迹; 2. 逻辑简单易理解; 3. 离线更新 Q 值,收敛速度较快 |
1. 仅支持低维离散状态; 2. 高维状态 Q 表爆炸无法存储; 3. 存在过估计偏差 |
| ✌基础表格强化学习 | SARSA | 简单离散交互场景、在线实时控制、小型游戏、电梯调度 | 手写 Q-table 实现;gym 标准环境适配 | 1. 在线学习,训练策略与执行策略一致,稳定性更高; 2. 风险规避,适合需要保守控制场景 |
1. 在线更新,样本利用率低; 2. 同样仅适用于低维离散状态; 3. 收敛慢于 Q-Learning |
| 👌深度强化学习 (值函数类) | DQN | 图像输入离散动作任务:Atari 游戏、小游戏、离散控制机器人 | Stable Baselines3: DQN;Ray RLlib;PyTorch/TensorFlow 自定义 | 1.CNN 提取图像特征,解决高维状态; 2. 经验回放 + 目标网络稳定训练; 3. 经典深度 RL 基线 |
1. 存在 Q 值过估计; 2. 仅支持离散动作; 3. 复杂环境训练震荡 |
| ✌深度强化学习 (值函数类) | Double DQN | 基于 DQN 优化,各类离散动作游戏、仿真控制 | SB3.DQN 可开启 double_q 参数 | 1. 分离选动作与评估 Q 网络,缓解过估计问题; 2. 继承 DQN 全部使用场景 |
1. 仍只支持离散动作; 2. 未解决价值函数表达缺陷 |
| ✌深度强化学习 (值函数类) | Dueling DQN | 离散动作、需要区分 “状态好坏” 与 “动作价值” 场景(赛车、闯关游戏) | SB3.DQN 可开启 dueling 参数 | 1. 拆分价值 V + 优势 A 网络,状态评估更精准; 2. 样本利用率提升 |
1. 依旧仅限离散动作; 3. 网络结构略微复杂 |
| ✌策略梯度 | Policy Gradient(PG) | 中小规模离散动作任务、简单游戏、无值函数场景 | 手写神经网络梯度更新,无专用独立封装 | 1. 直接优化策略,无值函数偏差; 2. 天然支持随机策略输出概率 |
1. 梯度方差极大,训练不稳定; 2. 需要完整轨迹才能更新,样本效率极低 |
| 👌策略梯度 | PPO 近端策略优化 | 工业落地首选:机器人控制、推荐系统、游戏 AI、自动驾驶仿真、资源调度 | Stable Baselines3.PPO、Ray RLlib、CleanRL | 1. 限制策略更新幅度,训练稳定、不易崩溃; 2. 实现简单、调参友好; 3. 支持离散 / 连续动作,通用性最强; 4. 样本复用效率高 |
1. 复杂连续高维动作收敛慢于 SAC; 2. 更新有约束,极限性能略弱于 SAC |
| ✌策略梯度 | A2C/A3C | 多线程并行训练场景、简单游戏仿真、轻量化在线控制 | SB3.A2C;A3C 多线程手写实现 | 1. 多环境并行采集样本,减少相关性; 2. 优势函数降低梯度方差;A3C 异步提速 |
1.A3C 多线程资源开销大; 2. 训练稳定性不如 PPO,现已少用 |
| ✌连续动作进阶 RL | DDPG | 低维连续动作控制:机械臂、小车仿真 | SB3.DDPG | 1. 基于 Actor-Critic,适配连续动作空间; 2. 单策略单价值网络,结构简单 |
1. 超参数极度敏感; 2. 训练极易震荡、难以收敛; 3. 存在过估计偏差 |
| ✌连续动作进阶 RL | TD3 | 机械臂、机器人、自动驾驶等连续控制,DDPG 优化版 | SB3.TD3 | 1. 双 Critic 网络抑制过估计; 2. 延迟更新 Actor,训练更稳定; 3. 噪声平滑目标动作 |
1. 网络数量多,训练算力消耗更大; 2. 调参仍有一定门槛 |
| 👌连续动作进阶 RL | SAC 软演员评论家 | 高精度连续控制:机器人、自动驾驶、复杂仿真、工业控制 | SB3.SAC、Ray RLlib | 1. 最大熵正则,策略随机探索能力强; 2. 训练稳定、鲁棒性强; 3. 连续动作任务 SOTA 精度; 4. 无需精细调噪声参数 |
1. 计算熵正则,训练速度比 TD3/PPO 慢; 2. 网络结构复杂,显存占用更高 |
5. 自监督学习
5.1 定义:
属于无监督分支的现代化范式;从原始无标注数据中自动构造伪标签,设计预训练代理任务(Pretext Task)让模型学习通用基础特征,再微调适配下游任务。
简单理解:不用人工打标,自己从原始数据出题、自己生成标签训练。
5.2 核心特征:
- 输入纯无标注原始数据;
- 自动构造监督信号(伪标签),不需要人工介入;
- 学习通用底层表征(视觉 / 文本 / 语音基础特征);
- 分为预训练 + 微调两阶段,是当前大模型、CV 基础模型核心范式;
- 区别传统无监督:有明确代理预测任务,优化目标清晰。
5.3 适用场景
大模型预训练、通用视觉基础模型、语音预训练、小样本下游任务微调、多模态基座(文心、GLM、GPT 全依赖自监督)。
5.4 常用算法:
5.4.1 NLP 自然语言预训练模型
| 算法名称 | 使用场景 | 常用 API / 实现 | 优点 | 缺点 |
|---|---|---|---|---|
| 👌BERT(MLM 掩码语言建模) | 文本分类、意图识别、情感分析、NER 命名实体识别、句对匹配、检索排序;小样本微调、句子表征抽取 | HuggingFace Transformers、bert-base 系列;PyTorch/TensorFlow | 1. 双向上下文编码,理解完整语义;2.MLM+NSP 预训练,适配绝大多数理解类 NLP 任务;3. 工业基线,生态完善、易微调;4. 输出句子 / 字符向量用于检索 | 1. 无生成能力,不能做续写、对话生成;2. 长文本效率低,原生仅 512token;3. 预训练双向,推理速度慢于单向 GPT |
| 👌GPT 系列(自回归 AR) | 对话大模型、文本生成、摘要、翻译、代码生成、文案创作、问答续写;通用生成式底座 | transformers.AutoModelForCausalLM;OpenAI API、LLaMA/Qwen 开源系列 | 1. 单向自回归,原生支持任意文本生成;2. 上下文长度不断提升,适配长文档对话;3. 通过 SFT/RLHF 可对齐人类指令;4. 通用多任务生成能力强 | 1. 仅单向上下文,理解类任务精度弱于 BERT;2. 生成存在幻觉、重复问题;3. 大参数量推理成本高 |
| 👌T5(去噪自编码) | 统一范式文本生成:翻译、摘要、问答、分类、复述;所有任务统一成 “输入文本→输出文本” | transformers.T5ForConditionalGeneration | 1. 编码器 + 解码器架构,同时支持理解 + 生成;2. 去噪预训练,统一全部 NLP 任务范式;3. 中小参数量微调成本低 | 1. 同等参数量下生成能力弱于 GPT;2. 超长文本处理能力不足;3. 双向编码 + 解码,推理速度慢 |
5.4.2 CV 计算机视觉预训练模型
| 算法名称 | 使用场景 | 常用 API / 实现 | 优点 | 缺点 |
|---|---|---|---|---|
| 👌MAE 图像掩码重建 | 图像分类、检测、分割、下游视觉微调;大规模无标注图像自监督预训练 | timm、HuggingFace transformers、PyTorch 官方开源实现 | 1. 掩码重建预训练,仅还原缺失像素,算力开销低;2. 高掩码比例仍能学习全局视觉特征;3. 小样本下游任务泛化极强;4. 轻量化预训练,适合大数据集 | 1. 纯重建任务,无显式对比约束,表征区分度弱于对比学习;2. 仅适合图像,无法用于跨模态匹配 |
| 👌SimCLR、MoCo、SimSiam(对比学习) | 图像检索、相似度匹配、图像分类、无标注视觉预训练、细粒度识别 | MoCo 官方代码、OpenCLIP、timm 库 | 1. 正负样本对比,学习高区分度视觉表征;2. 无需标签,海量无图数据即可预训练;3. 图像检索、匹配任务效果远超 MAE;4.SimSiam 无需负样本,简化工程 | 1. 依赖大量负样本队列(MoCo 除外);2. 强数据增强依赖,增弱则效果暴跌;3. 训练显存占用高,batch 需求大 |
| 👆拼图 / 上色 / 旋转预测(传统代理任务) | 早期小规模图像预训练、教学演示、简易视觉基线 | 自定义 PyTorch/TensorFlow 实现,无成熟封装库 | 1. 逻辑简单,无需复杂正负样本构建;2. 训练稳定、算力要求极低 | 1. 表征质量差,现代大视觉模型已淘汰;2. 仅捕捉低级视觉特征,高级语义学习不足;3. 下游任务精度远低于 MAE / 对比学习 |
5.4.3 语音预训练模型
| 算法名称 | 使用场景 | 常用 API / 实现 | 优点 | 缺点 |
|---|---|---|---|---|
| ✌Wav2Vec | 语音识别 ASR、语音特征提取、无标注音频预训练、语种识别 | transformers.Wav2Vec2ForCTC、fairseq 开源库 | 1. 音频掩码预测,仅用无标注语音预训练;2. 少量标注音频即可微调 ASR;3. 提取时序语音特征,适配语音时序任务 | 1. 长音频时序计算开销大;2. 原始版本无上下文建模能力弱于 HuBERT;3. 噪声嘈杂音频鲁棒性一般 |
| 👌HuBERT(音频掩码预测) | 语音识别、语音克隆、声纹识别、语音翻译、多语种音频预训练 | transformers.HubertForCTC、fairseq | 1. 掩码离散音频单元,学习更鲁棒声学表征;2. 嘈杂、带噪音频表现优于 Wav2Vec;3. 适配声纹、语音生成等多下游任务;4. 工业语音大模型主流底座 | 1. 预训练依赖离散聚类音频单元,流程复杂;2. 模型参数量大,语音推理时延高于轻量化 Wav2Vec |

浙公网安备 33010602011771号