首页 > 编程知识 正文

tensorflow用什么语言(tensorflow应用场景)

时间:2023-05-04 17:24:38 阅读:91740 作者:3946

晓是从凹非寺发现的

量子出品|公众号QbitAI

今天,谷歌发布了新的开源框架——神经结构学习(NSL )。 这可以使用神经图表学习方法来训练具有图表)和结构化数据的神经网络,从而带来更强大的模型。

现在可以通过TensorFlow获取和使用了。

NSL有什么用? 以前使用不同的图像训练计算机视觉神经网络,这些训练样本之间相互孤立,但样本之间包含了丰富的关系信息。

使用这些数据的结构化信息,可以实现更高的模型精度,也可以用更少的样本训练模型。 特别是在样本数量相对较少的情况下。

此外,NSL还可以用于对抗攻击。 由于对抗样本多在原始样本中进行,因此利用这种关系可以提高模型在对抗攻击中的鲁棒性。

根据谷歌的说法,这种NSL技术是通用的,可以适用于前馈神经网络、CNN、RNN等任意神经架构。 NSL是计算机视觉模型、NLP训练模型,可以在医疗记录和知识地图等图形数据集上进行预测。

谷歌已经在研究中使用了这项技术,在今年2月发表的学习图像含义的文章中,谷歌使用它来提高模型的精度。

NSL原理

NSL用于训练样本之间的结构化信号,并且通常用于表示未标记或未标记的样本之间的关系或相似性。

这样的结构化信号可以如图所示明确包含在数据集中,也可以是人为构建的,如前所述,通过微扰生成对抗攻击样本是隐式表示结构化信号的方式。

如何将结构化信号包含在神经网络中? 2018年,谷歌在提交的关于“神经图表学习”的论文中,构建了考虑数据结构关系的损失函数。

在该损失函数中,不仅引入了通常的监视学习损失项,还引入了如下图所示的最近邻损失。 通过在训练中最小化后者,保持来自同一结构的输入之间的相似性。

使用方法

要在TensorFlow中使用NSL,必须首先安装虚拟环境。 设定虚拟环境后,用pip安装。

pip安装- -升级神经_结构_学习

使用NSL,用结构化信号构建模型变得简单直接吧。 对于的特定图(显式结构)和培训样本,NSL将处理这些样本,并提供与TFRecords一起进行以下培训的工具:

pythonpack_nbrs.py--max_nbrs=5

标签数据. TFR

无标签_数据. TFR

图形电视

合并_表达式. TFR

对图中表示的结构信号的数据,调用NSL中的API,只需要添加不超过五行的代码就可以训练新的神经网络模型。

汇入neural _结构_学习进度

# #创建自定义模型-序列、函数、或子类。

基本模型=TF.keras .序列(…(

# # wrapthecustommodelwithgraphregularization。

graph _ config=nsl.configs.graphregconfig (

neighbor _ config=nsl.configs.graphneighborconfig (最大值=1) )

图形模型=nsl.keras .图形区域化(基本模型,图形配置) ) ) ) )。

# Compile,train,and evaluate

graph _ model.com pile (优化程序=’Adam )、

loss=TF.keras.losses.sparsecategoricalcrossentropy (,公制=[‘安全’]

graph _ model.fit (三重数据组,出口=5) ) ) ) ) )。

图形模型(测试数据集)

通过这种方法,可以使用标记少的数据进行培训,而不会降低精度。 通常在原始监视数据的10%到1%以下。

但是,大部分数据作为显式结构信号没有图,这种情况下该怎么办? 谷歌提供了用NSL从原始数据构建图形的工具,NSL通过API结构对抗样本,将其作为隐式结构信号。

汇入neural _结构_学习进度

# #创建基本模型-序列、函数、或子类。

model=tf.keras.Sequential(…(

# # wrapthemodelwithadversarialregularization。

adv _ config=nsl.configs.make _ adv _ reg _ config (多路径=0. 2,adv _步长_ size=0. 05 ) )

adv _ model=nsl.keras.adversarialregularization (模型,adv_config )。

# Compile,train,and evaluate

adv _ model.com pile (优化程序=’Adam )、

loss=’sparse _ categorical _ cross entropy’,metrics=[‘访问’]

adv _ model.fit {‘feature’: x _ train,‘label’: y _ train,epochs=5} adv _ model.evaluate {‘modete }

相同的附加代码不超过5行。 事实证明,通过这种微扰增加了对抗样本的训练模型可以防止恶意攻击。 未添加对抗样本的模型在攻击中会失去30%的精度。

接送门

传感器流量介绍页面:

3559 www.tensor flow.org/neural _ structured _ learning /

代码地址:

359 github.com/tensor flow/neural-structured-learning

结束了

认真招募

量子在招聘编辑/记者,工作地点在北京中关村。 期待有才华和热情的同学参加! 有关详细信息,请在量子位公众号(QbitAI )的对话界面中返回“招聘”两个字符。

量子比特QbitAI 头条号合同作者

' '跟踪AI技术和产品的新动态

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。