谷歌推出新开源框架:添加5行代码,带来更强大的神经网络模型

根据科技网站 Venturebeat 的报道,Google 今天推出了神经结构化学习(Neural Structured Learning,以下简称 NSL)。据悉,这是一个开源框架,它使用神经图它使用神经图学习方法,来训练带有图(Graph)和结构化数据的神经网络,带来强大的模型。

NSL 与 TensorFlow 机器学习平台需要配合使用,新手和高级开发人员都可以使用它来训练具有结构化信号的神经网络,适用于机器学习技术的入门开发者和有一些经验的从业者。NSL 可以为计算机视觉制作模型,执行其框架,使开发人员能够使用图表训练神经网络。图表可以来自多个来源,例如知识图、医疗记录、基因组数据或多模式关系(例如,图像-文本)。NSL 还可以运用到对抗性学习算法中。而在医疗领域中,NSL 可以从医疗记录或知识图等图形数据集运行预测。

简单来说,TensorFlow 中的 NSL 框架为开发人员提供了以下易于使用的 API 和工具,用于训练具有结构化信号的模型:

Keras API 支持使用图形(显式结构)和对抗性扰动(隐式结构)进行训练。

TF 操作和功能,以便在使用较低级别的 TensorFlow API 时启用结构培训

用于构建图形和构建用于培训的图形输入的工具

“在培训期间利用结构化信号可以让开发人员获得更高的模型精度,特别是当标记数据量相对较小时。” TensorFlow 工程师 Da-Cheng Juan 和 Sujith Ravi 在博客中表示,“结构化信号训练也可以带来更强大的模型。这些技术已广泛用于 Google 产品,以提高模型性能,例如 Graph-Regularized Image Semantic Embedding(Graph-RISE)图形规范化图像语义嵌入技术等。”

关于 NSL 是如何工作的,TensorFlow 工程师进行了详细的解释。在 NSL 中,利用结构化信号,无论是明确定义为图形还是隐式学习为对抗性实例,只要可以让开发者获得更高的模型精度,而在用于规范神经网络的训练上受益即可。在执行上,下图中进行了很好的解释,通过示例功能中的选取,转化成结构化信号,用于规范神经网络的训练,进行准确的模型学习预测,与此同时,NSL 也会保持来自同一结构的输入之间的相似性。该技术是通用的,可以应用于任意神经架构,例如前馈 NN,卷积 NN 和循环 NN 中。

使用 NSL,利用结构化信号来构建模型变得简单而直接。给定图形(作为显式结构)和训练样本,NSL 提供了一个工具来处理这些,以下是相关的代码示例截图:

然而,如果显式结构(例如图形)不可用或未作为输入给出,该怎么办?所以,NSL 为开发人员提供了从原始数据构建图形的工具;或 NSL 提供 API 以“诱导”对抗性示例作为隐式结构化信号。构造对抗样本示例,以此作为隐形信号。

NSL 可以通过监督、半监督或无监督学习,来训练使用图形信号进行正规化的模型,在某些情况下,使用少于五行代码,就可以获得了一个神经模型。

新框架还包括帮助开发人员构建数据和 API 的工具,用于创建具有少量代码的对抗性训练示例。

今年 4 月,Google Cloud(谷歌云)在 BigQuery 和 AutoML Tables 中为结构化数据引入了其他解决方案。而在上周,谷歌人工智能团队,也就是 Google Research 团队,发布了开源的 SM3,一个用于优化大规模语言理解模型,如 Google 的 BERT 和 OpenAI 的 GPT2。

关于这项技术的详细内容,已经发表在 Google TensorFlow 官网,感兴趣的开发者可以关注下面的链接看看。