从数据驱动到知识引导 AI:一张图理解知识如何进入机器学习流程
从数据驱动到知识引导 AI:一张图理解知识如何进入机器学习流程
这是一篇面向研究入门者的方法笔记,整理自我对数据驱动与知识引导人工智能融合范式的持续学习。文中只讨论公开概念与通用实现,不代替已接收论文的正式版本。
深度学习擅长从大规模样本中寻找统计规律,但在数据稀缺、分布变化或错误代价较高的科学任务里,“给模型更多数据”并不总是可行。另一条路径是把已有知识显式引入学习过程:领域规则、物理方程、空间结构、专家标注规范,甚至一个可验证的后处理约束。
问题是:知识究竟应该加在哪里?

一、先把“知识引导”说清楚
“知识引导”不是在模型名称前加一个 knowledge-guided 前缀,也不等于把知识图谱接到神经网络上。一个可检查的方案至少要回答三个问题:
- 知识从哪里来? 科学定律、领域专家、知识图谱、结构先验,还是历史系统中的规则?
- 知识怎样表示? 方程、逻辑规则、图结构、空间不变性、概率关系或人工反馈?
- 知识在流程的哪里进入? 数据、表示、损失函数、推理阶段,还是最终输出?
这一组问题与 informed machine learning 的经典分类思路一致:混合信息源不仅包含训练数据,也包含独立于当前样本的先验知识。重要的不是术语,而是把知识的来源、表示和注入位置写到实验设计里。
二、知识进入学习系统的四种常见方式
1. 数据与采样层
最直接的做法,是让知识影响数据如何被收集、清洗或增强。例如在植物病害识别中,可以用病灶区域标注限制随机裁剪,避免增强后只剩下背景;也可以依据作物—病害关系检查标签组合,减少明显不合理的样本。
这种方式通常容易实现,但也容易把人为偏差带入数据。知识规则应当被记录,并在独立测试集上验证,而不能因为“符合常识”就默认正确。
2. 表示与模型结构层
如果问题具有明确结构,可以让网络架构表达这种结构。例如:
- 图神经网络用节点与边表示实体关系;
- 等变网络把旋转、平移等对称性写入模型;
- 多分支结构分别编码局部病灶与全局叶片信息;
- 可微分物理模块把已知过程嵌入预测链路。
结构先验的优势是约束更强、解释更直接;代价是模型可能只适用于特定问题,并且错误结构会限制模型上限。
3. 目标函数与优化层
很多知识引导方法最终表现为一个额外的约束项:
prediction = model(image)
task_loss = cross_entropy(prediction, label)
knowledge_loss = knowledge_penalty(prediction, metadata)
loss = task_loss + lambda_k * knowledge_loss
loss.backward()
这里最需要警惕的是 lambda_k。它不仅是一个普通超参数,还表达“数据证据”和“先验知识”发生冲突时,系统相信谁。报告结果时应给出消融实验与敏感性分析,而不是只展示一个最优权重。
4. 推理与输出层
知识也可以不参与训练,只在推理阶段过滤或修正输出。例如:
- 用合法类别集合屏蔽不可能的预测;
- 用物理边界检查数值输出;
- 用专家规则标记需要人工复核的样本;
- 对高不确定性结果执行拒识,而不是强制分类。
这种方式部署成本低、边界清晰,但无法自动改善模型内部表示。它更像安全护栏,而不是知识已经被网络“理解”。
三、为什么必须形成反馈闭环
知识不是永远正确的。专家规则可能只适用于某个地区,物理近似可能在极端条件下失效,知识图谱也可能遗漏新关系。因此,知识注入后仍要回到评估:
- 任务性能有没有改善?
- 跨域与扰动条件下是否更稳定?
- 预测是否更符合约束?
- 是否出现“规则正确但任务更差”的冲突?
- 哪些知识应当更新、降权或删除?
如果知识只负责约束模型,却从不接受数据检验,系统就不是闭环。
四、一个适合小型研究的实验模板
我会把实验拆成四组,避免一次加入太多组件:
| 组别 | 数据 | 知识模块 | 目的 |
|---|---|---|---|
| Baseline | 原始数据 | 无 | 建立可复现基线 |
| Data only | 知识引导采样或增强 | 无 | 测试数据层贡献 |
| Model only | 原始数据 | 结构或损失约束 | 测试建模层贡献 |
| Hybrid | 数据层策略 | 结构或损失约束 | 检查协同与冲突 |
每组应使用同一数据划分、主干网络、训练预算和模型选择策略。除均值外,还应报告多随机种子或多折结果的波动。跨域任务尤其要先写清模型选择规则;DomainBed 的经验表明,在实验条件不一致时,很难判断改进来自算法还是评估流程。
五、三个常见误区
误区 1:知识越强越好
硬约束的可解释性高,但错误知识会直接排除正确答案。实践中可以从软约束开始,并记录约束违反率。
误区 2:符合知识就等于泛化更好
模型可能学会满足某个损失,却仍依赖背景、纹理或采集设备等捷径。需要独立的跨域测试与可解释性诊断。
误区 3:知识模块让模型天然可信
知识只能缩小假设空间,不能替代不确定性估计、失败案例分析和人工复核。尤其在 AI for Science 中,模型输出仍然要回到实验或领域证据。
六、我现在怎样理解数据—知识协同
数据与知识不是“二选一”。数据让系统接触真实变化,知识为小样本或开放环境提供结构;评估则负责决定二者的组合是否真的有效。一个好的融合方案,应当让每条知识都能被定位、被消融,也能在证据不足时被拒绝。
这也是我目前最关心的问题之一:在数据稀缺与类别缺失条件下,怎样让知识帮助生成与识别,同时不掩盖模型的不确定性和跨域风险。
参考资料
- von Rueden et al. Informed Machine Learning: A Taxonomy and Survey of Integrating Prior Knowledge into Learning Systems.
- Karpatne et al. Physics-guided Neural Networks.
- Geirhos et al. Shortcut Learning in Deep Neural Networks.
- Gulrajani and Lopez-Paz. In Search of Lost Domain Generalization.

浙公网安备 33010602011771号