tensorflow/neural-structured-learning

Training neural models with structured signals.

解决的问题

神经结构学习(Neural Structured Learning, NSL)解决了标签数据稀缺时训练神经网络的挑战。通过在训练过程中引入“结构化信号”——即不同数据样本之间的关系或相似性信息——来提升模型的准确性和鲁棒性。

工作原理

NSL 利用两种类型的结构化信号来指导任意神经网络(如前馈网络、卷积网络或循环网络)的训练:

  • 显式结构: 使用图来表示样本之间的已知关系。
  • 隐式结构: 使用对抗性扰动来诱导结构,提升模型对恶意攻击的抵抗能力。

这些信号仅在训练阶段集成;最终模型的推理和部署工作流保持不变,因此预测阶段不会产生性能开销。

适用人群

希望增强其基于 TensorFlow 的模型的开发者和研究人员,特别是从事半监督学习或需要提升模型对抗攻击能力的用户。

主要亮点

  • 灵活集成: 提供 Keras API、低级 TF 操作和图构建工具,可轻松将结构化信号添加到训练中。
  • 广泛兼容: 与各种神经网络架构(CNN、RNN、MLP)兼容。
  • 双重方法: 将神经图学习和对抗学习统一到一个框架中。
  • 推理无开销: 结构化信号仅在训练时使用,不影响部署性能。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目