Dl data strategy
为深度学习项目设计数据收集、标注、清洗和增强策略。在确认任务类型(CV/OCR/TS/Speech)后使用,解决"数据从哪里来、怎么标注、标多少够用"的问题。基于 PaddleX 全链条开发范式设计。From its SKILL.md
npx -y skills add MedocMay/ai-native-builder-consultant-skills --skill dl-data-strategyAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
7.8 KB, ~3.0k tokens by cl100k_base, as published. Nobody here has run it
DL Data Strategy — 深度学习数据策略
咨询链位置
在新版 SOP 中: 深度学习范式的 Module 3,在问题定性(dl-problem-framing)之后、模型选型(dl-model-selection)之前使用。
和 Agent 范式 data-foundation 的核心区别:
| 维度 | Agent 数据基础 | DL 数据策略 |
|---|---|---|
| 核心问题 | Zone B 确认记录怎么变成标注数据 | 怎么收集和标注足够高质量的训练数据 |
| 数据形态 | 结构化交互日志 | 图像/时序/音频 + 人工标注 |
| 冷启动 | 专家构造50-100条案例 | 预训练模型直接体验,再评估gap |
| 标注主体 | 业务专家(财务经理、工程师) | 专业标注员 + 领域专家审核 |
PaddleX 数据策略核心原则
原则 1:先体验预训练模型,再决定是否收集数据
PaddleX 提供大量预训练模型,覆盖通用场景。正确流程是:
Step 1: 一行命令快速体验预训练模型效果
Step 2: 在真实业务数据上评估效果(不是 benchmark 数据集)
Step 3: 测量与业务要求的 gap
Step 4: 根据 gap 大小决定数据收集策略
- gap 小(<5%)→ 直接用预训练模型部署
- gap 中(5%-20%)→ 少量标注数据微调(50-500条)
- gap 大(>20%)→ 需要较多标注数据全量微调
永远不要在没跑过预训练模型之前就开始大规模标注。
原则 2:标注质量 > 标注数量
100 条高质量标注 > 1000 条低质量标注。 低质量标注的特征:边界框不精确、类别标签不一致、遗漏标注。
原则 3:PaddleX 数据格式校验先行
所有数据在进入训练前必须通过 PaddleX 的格式校验:
python main.py -c config.yaml -o Global.mode=check_dataset -o Global.dataset_dir=./dataset
校验通过才能训练,不通过必须先修复数据。
各任务类型数据策略
CV 类(图像分类/目标检测/语义分割/异常检测)
数据量参考(微调场景):
| 任务 | 最少可用 | 建议 | 充分 |
|---|---|---|---|
| 图像分类(每类) | 50 张 | 200 张 | 500+ 张 |
| 目标检测(每类) | 100 张 | 500 张 | 1000+ 张 |
| 语义分割(每类) | 50 张 | 200 张 | 500+ 张 |
| 异常检测(正常样本) | 200 张 | 500 张 | 1000+ 张 |
| 异常检测(异常样本) | 不需要(无监督) | — | — |
关键决策:异常检测用无监督还是有监督?
- 异常样本稀少、类型多样 → 无监督异常检测(STFPM):只需正常样本
- 异常类型固定、可预期 → 有监督分类:需要标注异常样本
数据增强策略(PaddleX 内置):
# 训练配置文件中启用数据增强
Train:
transforms:
- type: RandomFlip
- type: RandomRotate
max_rotation: 30
- type: RandomDistort # 色彩扰动
- type: RandomCrop
标注工具推荐:
- 目标检测/实例分割:LabelMe、CVAT
- 语义分割:LabelMe(polygon模式)
- 格式要求:PaddleX 支持 COCO、VOC 格式导入
OCR 类(文本检测/识别/表格/文档)
数据量参考(微调场景):
| 任务 | 最少可用 | 建议 |
|---|---|---|
| 文本识别(自定义字体/场景) | 500 条 | 2000+ 条 |
| 文本检测(特殊版面) | 200 张 | 1000+ 张 |
| 表格识别 | 100 张 | 500+ 张 |
OCR 数据收集的特殊要点:
- 字体覆盖: 如果业务场景有特殊字体(手写、印章、特殊工业字体),必须收集该字体样本
- 图像质量变化: 收集不同光照、角度、清晰度的样本,不要只收集理想条件下的
- PaddleX合成数据工具: 对于文本识别,可以用合成数据(文字渲染到背景图)快速扩充训练集
标注格式:
# 文本识别标注格式(txt文件)
img_path\t识别文字
/path/to/img1.jpg\t发动机型号A001
/path/to/img2.jpg\t变更单号EWO-2024-001
时序类(预测/异常检测/分类)
数据量参考:
| 任务 | 最少可用 | 建议 |
|---|---|---|
| 时序预测 | 1000 个时间点 | 10000+ 时间点 |
| 时序异常检测 | 500 个时间点 | 5000+ 时间点 |
| 时序分类(每类) | 100 条序列 | 500+ 条序列 |
时序数据质量的关键要求:
必须满足:
✅ 时间戳严格单调递增,不允许重复
✅ 采样频率固定(不能有的1分钟一条,有的10分钟一条)
✅ 缺失值处理:插值或标记,不能直接删除(会破坏时序连续性)
✅ 按时间顺序划分训练/验证集(不能随机划分!)
常见数据问题:
❌ 同一时间戳有多条记录(设备重传导致)→ 去重,保留最新
❌ 传感器异常导致的跳变值 → 用前后均值填充,而非直接删除
❌ 时区问题 → 统一转换为UTC或当地时间,记录在元数据里
PaddleX 时序数据格式:
date,target,covariate1,covariate2
2024-01-01 00:00:00,2162.0,25.3,0.8
2024-01-01 01:00:00,2835.0,25.1,0.9
数据治理优先级矩阵
在开始标注之前,先评估现有数据质量:
| 数据状态 | 优先行动 |
|---|---|
| 有历史数据,质量好,已结构化 | 直接进入格式转换和校验 |
| 有历史数据,质量差(噪声、缺失多) | 先做数据清洗,再考虑是否够用 |
| 有历史数据,但未标注 | 先用预训练模型体验,评估gap后再决定标注量 |
| 没有历史数据,有采集能力 | 设计采集方案,同时用预训练模型建立基线 |
| 完全没有数据 | 考虑公开数据集迁移 + 合成数据,同时紧急建立采集流程 |
标注资源规划
工时估算参考(人工标注):
| 任务类型 | 工时/条 | 100条需要 | 1000条需要 |
|---|---|---|---|
| 图像分类 | 5-10秒 | ~15分钟 | ~2.5小时 |
| 目标检测(矩形框) | 30-60秒 | ~1小时 | ~10小时 |
| 语义分割(polygon) | 5-15分钟 | ~12小时 | ~5天 |
| OCR文字识别 | 10-30秒 | ~30分钟 | ~5小时 |
| 时序异常标注 | 2-5分钟/段 | ~4小时 | ~2天 |
标注质量控制:
- 至少10%的数据做双人标注,一致率目标≥85%
- 领域专家审核标注规范文档(什么算缺陷/什么算正常)
- 边界案例专项讨论(标注员最容易在边界案例上出现分歧)
输出格式
## DL 数据策略报告
**任务类型:** CV / OCR / 时序 / 语音
**PaddleX 对应产线:** [产线名称]
### 预训练模型快速体验
- 推荐模型:[模型名]
- 体验命令:[paddlex 命令]
- 预期基线精度:[benchmark指标]
### 数据现状评估
| 数据类型 | 现有量 | 质量评估 | 可用性 |
|---------|--------|---------|--------|
| [类型1] | [量] | 高/中/低 | 立即/需清洗/需采集 |
### 标注计划
- 目标标注量:[N 条]
- 标注类型:[分类/检测框/分割/文字/时序标签]
- 标注工时估算:[X 天]
- 质量控制:双人标注比例10%,一致率目标≥85%
### 数据增强策略
- [增强方法1](解决:[数据问题])
- [增强方法2]
### 冷启动路径
- Week 1:用预训练模型体验,测量gap
- Week 2-3:采集/标注 [N] 条核心数据,覆盖主要场景
- Week 4:首次微调,评估精度
- Week 5+:迭代补充边界案例和失败案例
### 数据质量红线(上线前必须满足)
- [ ] PaddleX check_dataset 校验通过
- [ ] 训练集/验证集按[实体/时间]划分,非随机划分
- [ ] 标注一致率 ≥ 85%
- [ ] 边界案例覆盖率 ≥ 20%
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.