当前位置: 主页 > 台州信息网 > 财经 >

谷歌开源NSL框架:利用数据间关系训练神经网络,能生成对抗样

来源:互联网 2020-10-18 05:30:03  阅读:-
导读: 

晓查 只想说 凹非寺

量子位 荣誉出品 | 微信公众号 QbitAI

今日,Google发布了新开源框架——神经系统构造学习培训(NSL),它应用神经系统图学习的方法,来训炼含有图(Graph)和非结构化数据的神经元网络,能够产生更强劲的实体模型。

如今,根据TensorFlow就能获得和应用。

NSL有什么作用?以往大家应用独立的照片来训炼人工智能算法神经元网络,这种训练样本中间相互是独立的,殊不知样版中间包括着丰富多彩的关联信息内容。


Google开源系统NSL架构:运用数据信息间关联训炼神经元网络,能转化成对抗样本


假如用上这种数据信息的结构型信息内容,就能完成高些的实体模型精密度,或是用越来越少的样版来训炼实体模型,尤其是在标识样版总数相对性较少的状况。

此外,NSL也可以用以抵挡抵抗进攻,由于对抗样本通常是在原先样版上做的一种微扰,运用这一层关联,能够提升实体模型在抵抗进攻下的可扩展性。

Google表明,这类NSL技术性是通用性的,能够运用于随意神经系统构架,包含前馈控制神经元网络、CNN和RNN。NSL能够为人工智能算法实体模型、NLP训炼实体模型,并在诊疗纪录或语义网等图形界面数据上开展预测分析。

Google开源系统NSL架构:运用数据信息间关联训炼神经元网络,能转化成对抗样本


Google早已将此项技术性用以科学研究中,在2020年二月发布的一篇学习培训图象词义置入的文章内容中,Google用它来提升实体模型的精密度。

NSL基本原理

NSL采用了训练样本中间的结构型数据信号,它一般 用以表明标识或未标识的试品中间的关联或相似度。

这类结构型数据信号有时候是以象的方法显式地包括在数据信息集中化,有时候是根据人为因素结构出去的,前边说到的用微扰转化成抵抗进攻样版,便是一种隐式表述结构型数据信号的方法。

怎么让结构型数据信号包括在神经元网络当中呢?2018,Google在递交的一篇有关“神经系统图学习培训”的毕业论文中,结构了一种考虑到算法设计关联的损失函数。

这一损失函数不但包括基本的无监督学习损害项,还引进了一项近期邻损害,如下图所显示。根据在训炼中让后一项降到最低,来维持来源于同一构造的键入中间的相似度。


Google开源系统NSL架构:运用数据信息间关联训炼神经元网络,能转化成对抗样本


操作方法

在TensorFlow中应用NSL,最先必须安裝虚拟器,设定完虚拟器后,用pip安装:

pip install --upgrade neural_structured_learning

应用NSL,使我们用结构型数据信号搭建实体模型越来越简易而立即。针对给出图(显式构造)和训练样本的状况,NSL出示了一个专用工具来解决这种样版并将其组成到TFRecords中开展接下去的训炼:

python pack_nbrs.py --max_nbrs=5 \
labeled_data.tfr \
unlabeled_data.tfr \
graph.tsv \
merged_examples.tfr

针对用图表明的构造数据信号的数据信息,启用NSL中的API,只需加上不超过5行编码就可以训炼一个新的神经元网络实体模型。

import neural_structured_learning as nsl
# Create a custom model — sequential, functional, or subclass.
base_model = tf.keras.Sequential(…)
# Wrap the custom model with graph regularization.
graph_config = nsl.configs.GraphRegConfig(
neighbor_config=nsl.configs.GraphNeighborConfig(max_neighbors=1))
graph_model = nsl.keras.GraphRegularization(base_model, graph_config)
# Compile, train, and evaluate.
graph_model.compile(optimizer=’adam’,
loss=tf.keras.losses.SparseCategoricalCrossentropy(), metrics=[‘accuracy’])
graph_model.fit(train_dataset, epochs=5)
graph_model.evaluate(test_dataset)

这类方式 能够应用较少标识的数据信息开展训炼,而不容易损害过多精密度,一般不超过初始监管数据信息的10%乃至1%。

殊不知绝大多数数据信息是沒有图做为显式构造数据信号的,这类状况应当该怎么办?Google在NSL中出示了从原始记录搭建图型的专用工具,NSL根据API结构对抗样本,为此做为隐式构造数据信号。

import neural_structured_learning as nsl
# Create a base model — sequential, functional, or subclass.
model = tf.keras.Sequential(…)
# Wrap the model with adversarial regularization.
adv_config = nsl.configs.make_adv_reg_config(multiplier=0.2, adv_step_size=0.05)
adv_model = nsl.keras.AdversarialRegularization(model, adv_config)
# Compile, train, and evaluate.
adv_model.compile(optimizer=’adam’,
loss=’sparse_categorical_crossentropy’, metrics=[‘accuracy’])
adv_model.fit({‘feature’: x_train, ‘label’: y_train}, epochs=5) adv_model.evaluate({‘feature’: x_test, ‘label’: y_test})

一样加上编码不超过5行!这类根据微扰加上对抗样本的训炼实体模型,已被证实能够抵挡故意进攻。而沒有加上对抗样本的实体模型在进攻下精确度会损害30%。

传送器

TensorFlow详细介绍网页页面:

https://www.tensorflow.org/neural_structured_learning/

编码详细地址:

https://github.com/tensorflow/neural-structured-learning

真挚招骋

量子位已经征募编写/新闻记者,工作中地址在中关村。希望有才华、有激情的同学们加入团队!有关关键点,请在量子位微信公众号(QbitAI)会话页面,回应“招骋”两字。

量子位 QbitAI · 今日头条号签订创作者

վ'ᴗ' ի 跟踪AI技术性和商品最新消息

推荐阅读:四川热线

 

(正文已结束)

(编辑:喜羊羊)

免责声明及提醒:此文内容为本网所转载企业宣传资讯,该相关信息仅为宣传及传递更多信息之目的,不代表本网站观点,文章真实性请浏览者慎重核实!任何投资加盟均有风险,提醒广大民众投资需谨慎!