动态 | 谷歌发布TensorFlow Lattice:得益于先验知识,提升模型泛化能力

AI科技评论消息:近日,谷歌科学家发布TensorFlow Lattice,这是一套预建的TensorFlow Estimators,易于使用,它相当于是TensorFlow运算符,用来构建点阵模型(lattice model)。点阵是多维插值查找表(look-up table),与几何教材背面近似于正弦函数的查找表类似。

AI科技评论编译整理如下:

我们利用查找表的结构(它可以通过多个输入进行键控),来估计比较随意及灵活的关系,并满足于指定的单调关系,以便更好地泛化。也就是说,训练查找表值使得训练样例的损失最小化。另外,查找表中的相邻值被约束为在输入空间的给定方向上增长,因此模型的输出值也是在这些方向上增长。重要的是,因为是在查找表值之间进行插入,所以点阵模型很平滑,预测也是有界的,这有助于避免测试阶段出现有较大偏差的杂散预测。

点阵模型的作用

设想一下,你正在设计一个向用户推荐附近咖啡店的系统,你需要让模型学习:“如果两家咖啡店是一样的,那就选择更近一点的。”

下图中我们展示了一个灵活的模型(粉色曲线),它可以精确地与来自东京用户的训练数据(紫色圆点)相匹配,在用户附近有很多咖啡店。

由于训练样例比较嘈杂,可以看到粉色曲线模型产生了过拟合,并且模型还忽略了总的趋势——越近的咖啡店越好。如果用这条粉色曲线模型排列来自德克萨斯州(蓝色)的测试样本,在德克萨斯州咖啡店的分布更加分散,你会发现模型的表现变得很奇怪,有时甚至会认为更远的咖啡店更好!

对比起来,运用东京相同的样本训练的点阵模型能被约束为满足单调关系,最终得到一个灵活的单调函数(绿色曲线)。这个函数能与东京的训练样例精准匹配,但是也能泛化到德克萨斯州的样例上,不会出现更远的咖啡店更好的情况。

一般说来,输入会有每个咖啡店的咖啡质量、价格等等。灵活模型很难捕捉到这种形式的整体关系,特别是在一些特征空间中,训练数据非常稀疏和杂乱。“如果其他所有输入占的权重一样,那么更近就更好。”能捕捉到先验知识(例如输入是怎么对预测值产生影响的)的机器学习模型在实际中取得的效果更好,更易于调试并更具有解释性。

预建 Estimators

我们提供一系列点阵模型架构作为TensorFlow Estimators。我们提供的最简单的estimator是校准线性模型(calibrated linear model),它能利用1-d点阵,学习到每个特征的最佳1-d转化,然后线性地将所有校准特征结合起来。如果训练数据集很小或没有复杂的非线性输入交互,模型将非常有效。

另外一个estimator是校准点阵模型(calibrated lattice model),这个模型能利用两层单一点阵模型非线性地将校准特征结合起来,能在数据集中表示复杂的非线性交互。如果有2-10个特征,那么校准点阵模型会是很好的选择,但对于10个或10个以上的特征,我们认为利用一组校准点阵将会得到最佳结果,这时候你能利用预建的一组架构来进行训练。比起随机森林,单调点阵集合(Monotonic lattice ensembles)能增加0.3% -- 0.5%的准确度。另外,比起之前顶尖的单调性学习模型,这些新的TensorFlow点阵estimator 能增加0.1% -- 0.4%的准确度。

动手建立模型

你或许想要用更深的点阵网络进行实验,或者利用部分单调函数(作为深度神经网络或其他TensorFlow架构的一部分)来进行研究。我们提供构件:TensorFlow校准运算符、点阵插入和单调性投影(monotonicity projections)。下图是一个9层深度点阵网络:

在TensorFlow Lattice中,除了模型的灵活选择以及标准的L1、L2正则化,我们还提供新的正则化矩阵:

  • 如上面描述的那样,在输入上进行单调性约束。
  • 在点阵上进行拉普拉斯正则化,以便让学习到的函数更平滑。
  • 对扭曲进行正则化(Torsion regularization),来抑止不必要的非线性特征交互。

大家可以在如下地址看到详细信息并开始进行实验:

GitHub地址:https://github.com/tensorflow/lattice

tutorials地址:https://github.com/tensorflow/lattice/blob/master/g3doc/tutorial/index.md

参考文献:

[1] Lattice Regression, Eric Garcia, Maya Gupta, Advances in Neural Information Processing Systems (NIPS), 2009

[2] Optimized Regression for Efficient Function Evaluation, Eric Garcia, Raman Arora, Maya R. Gupta, IEEE Transactions on Image Processing, 2012

[3] Monotonic Calibrated Interpolated Look-Up Tables, Maya Gupta, Andrew Cotter, Jan Pfeifer, Konstantin Voevodski, Kevin Canini, Alexander Mangylov, Wojciech Moczydlowski, Alexander van Esbroeck, Journal of Machine Learning Research (JMLR), 2016

[4] Fast and Flexible Monotonic Functions with Ensembles of Lattices, Mahdi Milani Fard, Kevin Canini, Andrew Cotter, Jan Pfeifer, Maya Gupta, Advances in Neural Information Processing Systems (NIPS), 2016

[5] Deep Lattice Networks and Partial Monotonic Functions, Seungil You, David Ding, Kevin Canini, Jan Pfeifer, Maya R. Gupta, Advances in Neural Information Processing Systems (NIPS), 2017

via:Google Research Blog

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-10-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能头条

基于Kaggle数据的词袋模型文本分类教程

16720
来自专栏大数据挖掘DT机器学习

Python的开源人脸识别库:离线识别率高达99.38%

以往的人脸识别主要是包括人脸图像采集、人脸识别预处理、身份确认、身份查找等技术和系统。现在人脸识别已经慢慢延伸到了ADAS中的驾驶员检测、行人跟踪、甚至到了动态...

94890
来自专栏AI科技评论

大会 | CVPR2017精彩论文解读:结合序列学习和交叉形态卷积的3D生物医学图像分割 | CVPR 2017

AI科技评论按:虽然CVPR 2017已经落下帷幕,但对精彩论文的解读还在继续。下文是宜远智能的首席科学家刘凯对此次大会收录的《结合序列学习和交叉形态卷积的3D...

39740
来自专栏BestSDK

5年时间,目标跟踪算法的进化史

第一部分:目标跟踪速览 先跟几个SOTA的tracker混个脸熟,大概了解一下目标跟踪这个方向都有些什么。一切要从2013年的那个数据库说起。。如果你问别人近几...

76760
来自专栏闪电gogogo的专栏

莫凡《机器学习》笔记

机器学习方法 1.1 机器学习 通常来说, 机器学习的方法包括: 监督学习 supervised learning:(有数据有标签)在学习过程中,不断的向计算...

57740
来自专栏数据科学与人工智能

【数据挖掘】详细解释数据挖掘中的 10 大算法(上)

在一份调查问卷中,三个独立专家小组投票选出的十大最有影响力的数据挖掘算法,今天我打算用简单的语言来解释一下。 一旦你知道了这些算法是什么、怎么工作、能做什么、在...

26450
来自专栏大数据挖掘DT机器学习

基于VGG19的识别中国人、韩国人、日本人分类器

这是本学期机器学习课程的项目。通过这个项目了解了不少东西,希望通过博客记录下整个项目过程。 ---- 国外有一个网站 http://www.alllooksam...

59460
来自专栏人工智能头条

如何让神经网络把熊猫识别为秃鹫

21690
来自专栏CVer

[计算机视觉论文速递] ECCV 2018 专场5

Amusi 将日常整理的论文都会同步发布到 daily-paper-computer-vision 上。名字有点露骨,还请见谅。喜欢的童鞋,欢迎star、for...

20100
来自专栏专知

【深度干货】专知主题链路知识推荐#5-机器学习中似懂非懂的马尔科夫链蒙特卡洛采样(MCMC)入门教程01

【导读】主题链路知识是我们专知的核心功能之一,为用户提供AI领域系统性的知识学习服务,一站式学习人工智能的知识,包含人工智能( 机器学习、自然语言处理、计算机视...

45170

扫码关注云+社区

领取腾讯云代金券