张量流神经结构学习
neural-structured-learning的Python项目详细描述
tensorflow中的神经结构学习
neural structured learning(nsl)是训练神经系统的一种新的学习范式 除了特征输入之外,还利用结构化信号建立网络。 结构可以是由图[1,2,5]表示的显式的,也可以是隐式的 由对抗性干扰引起的[3,4]。
结构化信号通常用于表示关系或相似性 在可能被标记或未标记的样本中。因此,利用这些 神经网络训练过程中的信号处理 可以提高模型精度的数据,特别是当标记的 数据相对较小。此外,使用样本训练的模型 通过添加敌对干扰而产生的 robust抵御恶意攻击,这些攻击旨在误导模型的 预测或分类
nsl推广到神经图学习[1]以及对抗性学习。 学习[3]。tensorflow中的nsl框架提供了以下易于使用的功能 开发人员用结构化信号训练模型的api和工具:
keras api启用图形训练(显式结构)和对抗性训练(隐式结构)。
tf ops and functions在使用低级tensorflow api时启用带结构的训练
tools用于构建图形和构造用于培训的图形输入
NSL框架设计灵活,可用于任何类型的培训。 神经网络。例如,前馈、卷积和递归神经 网络都可以使用nsl框架进行训练。除了监督 和半监督学习(低监督量),NSL也可以 推广到无监督学习。此外,合并结构 只在训练期间进行;发球/推理没有变化 工作流程。因此,没有额外的成本(延迟、内存消耗等) 因为神经结构的学习是在服刑期间发生的。请访问 我们的NSL实用入门教程。
开始
使用
pip install neural-structured-learning
对NSL的贡献
我们欢迎并高度赞赏您的贡献-有几种方法可以 有助于tf神经结构学习:
案例研究。如果你对申请NSL感兴趣,考虑一下 作为教程、新数据集或其他 可用于实验和/或开发。
产品卓越。如果你有兴趣改进NSL的产品 卓越的开发经验,最好的方法是克隆这个回购协议, 直接对本地repo中的实现进行更改,然后 向我们发送请求以集成您的更改。
新算法。如果你有兴趣为nsl开发新算法, 最好的方法是研究nsl库的实现,并思考 对现有实现(或替代方法)的扩展。如果 您有一个新算法的建议,我们建议您从分段开始 您在
research
目录中的项目,包括一个colab笔记本 展示新功能。如果您在自己的存储库中开发新算法,我们很高兴 使用NSL打开学术出版物和/或报告的功能指针 tensorflow.org/neural_structured_learning。
请务必查看 contribution guidelines 有关编码样式、最佳实践等的指南。
问题和问题
有关问题,请使用GitHub issues 用于跟踪请求和错误。如有疑问,请直接用 "nsl" 标签。