🏠 总目录📚 本教程 21 · 任务决策路径
📑 本页目录(点开跳转)

任务决策路径

20 分钟 | ⭐⭐ 拿到新赛题时先翻这页


🎯 一句话

上一章按「什么时候」组织,这一章按「什么任务」组织:NLP / CV / 时序 / 推荐 / 结构化,每类给一条从赛题到方案的决策路径。拿到一个新赛题时,先翻到对应那一节,照着走完就有了一个不会太差的起点。


一、NLP任务决策路径

文本分类

开始
 |
 +-- Baseline: BERT/RoBERTa微调([CLS]+Linear)
 |-- 短文本(<50词): TF-IDF + BernoulliNB快速baseline
 |-- 有keyword等元信息: 关键词增强输入
 |-- 社交媒体文本: 提取hashtag/mention/url特征
 |-- 样本不均衡: Focal Loss / 类别权重 / 采样策略
 |-- 过拟合: Label Smoothing / Multi-Sample Dropout / 对抗训练
 |-- 领域不匹配: 继续预训练 / 对比学习级联迁移
 |-- 模型升级: DeBERTa V3(单模型最强) / MacBERT(中文优化)
 |-- 分类头增强: [CLS]+LSTM+Linear / 混合池化(Max+Avg+Self-Att)
 +-- 后期冲刺: 多模型概率融合 / 伪标签 / TTA

NER命名实体识别

开始
 |
 +-- Baseline: RoBERTa+CRF(数据少优先RoBERTa权重)
 |-- 编码器增强: BiLSTM+CRF(数据量大) / IDCNN+CRF(推理速度要求高)
 |-- 多层融合: BERT最后4层加权求和(上分点大)
 |-- 标注方法: IOBS(简单) vs BIOES(约束强),可同时标注投票融合
 |-- SOTA模型: FLAT(中文NER引入词信息,决赛加分)
 |-- 脱敏数据: 词频映射 + 混合词表初始化
 |-- 预测偏移: Offset Mapping修正 + 边界后处理
 |-- 标签约束强: CRF解码; 无约束: Softmax即可
 |-- 有格式实体: 规则方法(Regex) 100%准确率
 |-- 类别多数据少: 多任务拆分(边界+分类)
 |-- 后处理: Bad Case分析 → 规则修正(书名号/引号/格式校验)
 |-- 融合: 特殊概率融合(超参控制权重) > 简单概率平均 > 投票
 +-- 伪标签/半监督: 高置信度无标注数据加入训练

阅读理解/多选

开始
 |
 +-- 分词器选择: Byte-level BPE避免UNK
 |-- 输入顺序: QA顺序调换做伪融合
 |-- 模型增强: BERT上层加LSTM/Attention
 +-- 提分: Label Smoothing / TTA / 概率分布融合

数据增强与训练

开始
 |
 +-- 文本增强: 同义词替换 / 回译 / 实体替换 / EDA
 |-- Mixup: 在Embedding空间做插值(非原始文本)
 |-- 伪标签: 高置信度(0.9+)无标注样本加入训练
 |-- 训练稳定: Warmup(0.1) + 梯度裁剪(1.0) + 分层学习率
 +-- 融合多样性: 不同架构(BERT/RoBERTa/DeBERTa) + 不同折 + 不同超参

二、CV任务决策路径

图像分类

开始
 |
 +-- Baseline: ResNet18/34 + 基础增强
 |-- 冲分: EfficientNet-B3~B7 + MixUp/CutMix
 |-- 大数据量: ViT/Swin Transformer
 |-- 噪声标签: Bi-tempered Loss / Label Smoothing / Clean Label
 +-- 融合: 多架构概率平均(EfficientNet+ViT+ResNet)

目标检测

开始
 |
 +-- Baseline: EfficientDet-D0~D5 / YOLOv5s
 |-- 冲分: EfficientDet + YOLOv5 + Faster R-CNN 跨架构融合
 |-- 密集目标: Soft-NMS替代标准NMS
 |-- 多模型融合: WBF(首选) > Soft-NMS > NMS
 |-- 后处理: OOF选最优置信度阈值
 +-- 数据增强: Mosaic(检测标配) + MixUp

语义分割

开始
 |
 +-- Baseline: U-Net + ResNet34 backbone
 |-- 冲分: U-Net + EfficientNet backbone + Attention
 |-- 医学大图: TIF→PNG切片→训练→预测拼接
 |-- 损失: BCE + Dice(通用首选)
 |-- 小目标: Dice Loss分母平方优化
 +-- 融合: 多模型像素级概率平均

非典型CV数据

开始
 |
 +-- 频谱图/热力图: 直接当图像输入CNN
 |-- 人脸表情: 先人脸检测裁剪→再分类
 +-- 图像检索: 孪生网络 / ArcFace

CV按比赛阶段

阶段 技术点 说明
初期 基础增强(翻转/旋转/颜色) 先跑通流程,不要上来就复杂增强
初期 预训练权重 ImageNet预训练几乎必须
初期 小尺寸输入(256/384) 快速验证,后期再加大
中期 MixUp/CutMix/Mosaic 分类用MixUp/CutMix,检测用Mosaic
中期 EfficientNet-B3~B5 性价比最高的模型选择
中期 BCE + Dice Loss 分割任务通用首选
中期 WarmUp + CosineAnnealing 大模型训练标配
后期 WBF框融合 检测多模型融合首选
后期 OOF阈值优化 置信度阈值精调
后期 TTA 3~5种变换,推理时间换精度
后期 SWA 训练末期权重平均
后期 Label Smoothing 分类后期提分0.1~0.5个百分点
后期 伪标签 高置信度测试集预测加入训练
后期 跨架构融合 EfficientNet+ViT+ResNet多样性融合
后期 大尺寸输入(512/640) 显存允许时加大输入尺寸

三、时间序列任务决策路径

数据预处理

开始
 |
 +-- 量纲差异大: offset+log变换 → 固有值去除
 |-- 趋势性强: 趋势特征衍生(短期-长期中位数)
 |-- GBT趋势外推不足: 复合预测(LR拟合趋势+NN/GBT拟合残差)
 +-- 评价指标为SMAPE: 损失函数直接用SMAPE

建模

开始
 |
 +-- 树模型: LightGBM/XGBoost/CatBoost + 时序特征工程
 |-- DNN: 多输入(静态+动态) + Skip Connection
 |-- LSTM: 时序任务首选,捕捉长程依赖
 |-- GRU: 数据量小/快速实验,参数少训练快
 +-- 复合策略: 中位数模型 + DNN残差拟合

深度学习

开始
 |
 +-- 输入构造: 滑动窗口(前T步预测后1步)
 |-- 归一化: z-score(每个特征独立)
 |-- 双向: 慎用,预测任务可能数据泄露
 |-- 高频因子挖掘: 订单簿因子+成交因子+买卖单细分+联动因子+聚类因子
 |-- 因子评估: IC/ICIR(>0.5强因子) + 分层回测(单调性)
 |-- 半监督: 伪标签(高置信度) + 一致性正则 + Mixup时间步对齐
 +-- 多模型融合: 树模型+深度模型+统计模型

验证与集成

开始
 |
 +-- 交叉验证: 时序划分 + Gap防泄漏
 |-- NN集成: 20个NN取中位数
 +-- 后处理: round()取整 + 阈值截断

四、推荐系统竞赛决策路径

召回阶段

开始
 |
 +-- 协同过滤: ItemCF(电商/物品稳定) / UserCF(新闻/兴趣变化快)
 |-- 图嵌入: DeepWalk / Node2Vec / LINE
 |-- 深度召回: YouTube DNN(双塔) / DSSM
 |-- 多兴趣: MIND(动态路由) / ComiRec(注意力)
 |-- 向量检索: FAISS-IVF(通用) / FAISS-HNSW(高召回)
 +-- 多路召回: ItemCF + UserCF + DeepWalk + 双塔DNN 合并

排序阶段

开始
 |
 +-- 基础: Wide & Deep(需人工交叉特征) / DeepFM(自动交叉,通用首选)
 |-- 序列建模: DIN(注意力加权历史行为) / BST(Transformer编码序列)
 |-- 特征工程: 用户统计 + 物品统计 + 交叉统计 + 时间特征 + 序列特征
 +-- 训练: 负采样(随机+热门) + 多折时间划分验证

多目标优化

开始
 |
 +-- Shared-Bottom(简单但易负迁移)
 |-- MMOE(多Expert+多Gate,软共享)
 +-- PLE(任务Expert+共享Expert,目前最强)

知识图谱

开始
 |
 +-- 嵌入: TransE(1对1) / TransH(1对多) / TransR(复杂关系)
 +-- 增强: 实体链接 + 路径推理 + Embedding特征增强

五、结构化数据任务决策路径

特征工程

开始
 |
 +-- 缺失值: 按缺失原因分类处理
 |-- 异常值: 散点图识别 + 选择性删除
 |-- 偏态分布: log1p / Box-Cox变换
 |-- 数值实为类别: astype(str)修正语义
 |-- 有序类别: Label Encoding保留等级
 +-- 组合特征: 领域知识构造(如总面积)

模型选择

开始
 |
 +-- 线性模型: Lasso/ElasticNet/Ridge + RobustScaler
 |-- 树模型: GBR/XGBoost/LightGBM
 +-- 集成: Stacking + 加权平均融合

调参

开始
 |
 +-- 传统ML: GridSearchCV / 随机搜索 / 贝叶斯优化
 +-- 深度学习: 手动实验,lr最关键

六、新增技术决策路径

参数高效微调决策

开始
 |
 +-- 显存不足: LoRA(仅增0.1%~1%参数)
 |-- 多任务切换: Adapter / LoRA(每任务独立参数)
 |-- 少样本: P-Tuning v2(接近全参数微调)
 +-- 追求极致: 全参数微调

NER解码器决策

开始
 |
 +-- 扁平实体: CRF(稳定首选)
 |-- 嵌套实体: GlobalPointer / Span-based
 |-- 少样本: MRC-NER(问题引入先验)
 |-- 追求速度: Linear + 后处理
 +-- 追求极致: GlobalPointer / Biaffine

时序深度模型决策

开始
 |
 +-- 短序列: LSTM / GRU
 |-- 长序列多步: PatchTST / N-HiTS
 |-- 多周期: TimesNet
 |-- 趋势季节明显: Autoformer / N-BEATS
 |-- 多变量: PatchTST(通道独立)
 +-- 需要可解释性: TFT

推荐排序模型决策

开始
 |
 +-- 通用首选: DeepFM(自动二阶交叉)
 |-- 高阶交叉: DCN V2(有界阶交叉) / xDeepFM(向量级交叉)
 |-- 可解释性: AutoInt(注意力可视化)
 |-- 序列行为: DIN(注意力加权) / BST(Transformer)
 +-- 多目标: MMOE(软共享) / PLE(最强) / ESMM(CVR预估)

调参方法决策

开始
 |
 +-- 快速实验: 人工调参
 |-- 小搜索空间: 网格搜索
 |-- 大搜索空间: 贝叶斯优化(Optuna)
 |-- 训练成本高: Hyperband / BOHB
 |-- 分布式环境: ASHA + Ray Tune
 +-- 长时间训练: PBT(训练调参一体化)

CV新架构决策

开始
 |
 +-- 分类冲分: EfficientNetV2-M/L(比V1快5~11倍)
 |-- ViT替代: ConvNeXt(CNN归纳偏置+ViT设计)
 |-- 检测backbone: ConvNeXt-T/S
 |-- 分割backbone: Swin Transformer
 +-- 快速验证: EfficientNetV2-S

🔗 这一章连到哪里

去哪为什么
大模型导论 02 Transformer 原理NLP 决策路径最后都通向它
ML基础 12 CNNCV 决策路径的主干网络原理
ML基础 13 RNN 与序列建模时序决策路径里深度模型分支的地基
推荐算法 06 工业架构推荐决策路径的整体框架,先分清召回还是排序

✅ 检查点

  1. 为什么需要「决策路径」这种东西?它替代了什么?
  2. 五类任务的决策路径,共同的第一步是什么?
  3. 决策路径给出的方案,应该被当成什么?
  4. 如果一个赛题横跨多个类型(比如带文本的表格赛),该怎么办?
👀 答案
  1. 因为面对新赛题时最耗人的不是「不会做」,而是「不知道从哪开始」。决策路径把这个开放式问题变成了一串封闭的选择题。它替代的是「凭感觉试一试」和「照抄别人的 kernel 但不知道为什么」
  2. 确认评价指标 + 确认数据的时间/分组结构。因为这两件事决定了验证怎么切、损失函数怎么选、后处理该做什么——它们错了,后面所有工作的方向都是错的。
  3. 当成起点,不是终点。它给的是「一个不会太差的 baseline」,目的是让你用最少的时间拿到一条完整链路和一个可比较的分数,之后所有的改进都以它为基准。⚠️ 把决策路径的产出当成最终方案,恰恰会让你止步于中游。
  4. 先按「主体数据类型」走那条路径拿到 baseline,再把其他模态作为特征接进去。比如带文本的表格赛:先走结构化路径(树模型 + 特征工程)拿到 baseline,再用预训练模型把文本编码成向量或抽出统计特征,作为新特征加入。⭐ 这比一上来就搭多模态端到端模型稳得多,也更容易定位收益来源。

🛑 可以停在这里

走神救援
按「什么任务」组织的决策路径:NLP / CV / 时序 / 推荐 / 结构化各一条,拿到新赛题先翻对应那节。⭐它替代的是「凭感觉试」和「照抄 kernel 但不知道为什么」——把「不知道从哪开始」这个开放问题变成一串封闭的选择题。⭐五类路径共同的第一步都是:确认评价指标 + 确认数据的时间/分组结构,因为它们决定了验证怎么切、损失怎么选、后处理做什么,错了后面全错。⚠️决策路径给的是起点不是终点——目的是用最少时间拿到完整链路和可比较的分数,把它当最终方案恰恰会让你止步中游。横跨多类型的赛题(如带文本的表格赛):先按主体数据类型走通 baseline,再把其他模态编码成特征接进去——比一上来搭多模态端到端稳得多,也更容易定位收益来源。

打卡记录保存在你的浏览器里,首页能看到总进度