Repolode
tensorflow

tensorflow/neural-structured-learning

基于 TensorFlow 的框架,可在训练神经网络时利用图结构或对抗扰动等结构化信号。

Star
1,012
Fork
191
未关闭 Issue
1
最近提交
上个月

这是什么?

Neural Structured Learning(NSL)是一个基于 TensorFlow 的框架,用于在普通特征输入之外,引入结构化信号来训练神经网络。结构可以是显式的,即样本之间关系或相似性构成的图;也可以是隐式的,由输入的对抗扰动生成。

该框架主要面向标注数据较少的场景,能够通过样本与已标注样本之间的关系利用无标注数据。使用对抗扰动生成的样本进行训练,有助于提升模型对误导性输入的鲁棒性。结构化信号只在训练阶段使用,推理和服务流程保持不变。

NSL 提供用于图训练和对抗训练的 Keras API、底层 TensorFlow ops 与函数,以及构建图和图输入的工具。项目可通过 pip 安装,支持 TensorFlow 1.15 及更高版本(TensorFlow 2.1 除外)。

核心功能

  • 01提供 Keras API,支持基于显式图和对抗扰动的训练。
  • 02提供底层 TensorFlow ops 与函数,便于在自定义训练中加入结构信息。
  • 03提供构建图及生成图输入的工具。
  • 04结构化信号仅用于训练阶段,推理流程不变。
  • 05可通过 pip 安装,并附有图学习与对抗学习的示例教程。

适用场景

  • 在只有少量样本有标注时训练文本或节点分类模型。
  • 提升模型对对抗性构造输入的鲁棒性。
  • 在 TensorFlow 训练流程中加入样本之间的关系图或相似度图。

快速上手

  1. 1

    安装预编译的 NSL pip 包

    pip install neural-structured-learning
  2. 2

    阅读安装指南以了解其他安装方式或从源码构建

使用前须知

  • 需要 TensorFlow 1.15 或更高版本,且与 TensorFlow 2.1 不兼容。

标签

#tensorflow#graph-learning#adversarial-learning#semi-supervised-learning#keras#neural-networks#regularization#structured-signals

常见问题

neural-structured-learning 是什么?
基于 TensorFlow 的框架,可在训练神经网络时利用图结构或对抗扰动等结构化信号。 Neural Structured Learning(NSL)是一个基于 TensorFlow 的框架,用于在普通特征输入之外,引入结构化信号来训练神经网络。结构可以是显式的,即样本之间关系或相似性构成的图;也可以是隐式的,由输入的对抗扰动生成。
neural-structured-learning 可以免费使用吗?用的什么许可证?
neural-structured-learning 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
neural-structured-learning 还在维护吗?
半年内有更新。neural-structured-learning 最近一次提交是在 2026年10月5日。
neural-structured-learning 适合用来做什么?
在只有少量样本有标注时训练文本或节点分类模型。 提升模型对对抗性构造输入的鲁棒性。 在 TensorFlow 训练流程中加入样本之间的关系图或相似度图。
neural-structured-learning 怎么安装和运行?
安装预编译的 NSL pip 包: pip install neural-structured-learning 阅读安装指南以了解其他安装方式或从源码构建
在哪里获取 neural-structured-learning?
源代码和安装说明在 GitHub 上:https://github.com/tensorflow/neural-structured-learning

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目