专栏首页量子位谷歌重磅开源新技术:5行代码打造无限宽神经网络模型,帮助“打开ML黑匣子”

谷歌重磅开源新技术:5行代码打造无限宽神经网络模型,帮助“打开ML黑匣子”

鱼羊 假装发自 凹非寺 量子位 报道 | 公众号 QbitAI

只要网络足够宽,深度学习动态就能大大简化,并且更易于理解。

最近的许多研究结果表明,无限宽度的DNN会收敛成一类更为简单的模型,称为高斯过程(Gaussian processes)。

于是,复杂的现象可以被归结为简单的线性代数方程,以了解AI到底是怎样工作的。

所谓的无限宽度(infinite width),指的是完全连接层中的隐藏单元数,或卷积层中的通道数量有无穷多。

但是,问题来了:推导有限网络的无限宽度限制需要大量的数学知识,并且必须针对不同研究的体系结构分别进行计算。对工程技术水平的要求也很高。

谷歌最新开源的 Neural Tangents,旨在解决这个问题,让研究人员能够轻松建立、训练无限宽神经网络。

甚至只需要5行代码,就能够打造一个无限宽神经网络模型。

这一研究成果已经中了ICLR 2020。戳进文末Colab链接,即可在线试玩。

开箱即用,5行代码打造无限宽神经网络模型

Neural Tangents 是一个高级神经网络 API,可用于指定复杂、分层的神经网络,在 CPU/GPU/TPU 上开箱即用。

该库用 JAX编写,既可以构建有限宽度神经网络,亦可轻松创建和训练无限宽度神经网络。

有什么用呢?举个例子,你需要训练一个完全连接神经网络。通常,神经网络是随机初始化的,然后采用梯度下降进行训练。

研究人员通过对一组神经网络中不同成员的预测取均值,来提升模型的性能。另外,每个成员预测中的方差可以用来估计不确定性。

如此一来,就需要大量的计算预算。

但当神经网络变得无限宽时,网络集合就可以用高斯过程来描述,其均值和方差可以在整个训练过程中进行计算。

而使用 Neural Tangents ,仅需5行代码,就能完成对无限宽网络集合的构造和训练。

from neural_tangents import predict, stax

init_fn, apply_fn, kernel_fn = stax.serial(
    stax.Dense(2048, W_std=1.5, b_std=0.05), stax.Erf(),
    stax.Dense(2048, W_std=1.5, b_std=0.05), stax.Erf(),
    stax.Dense(1, W_std=1.5, b_std=0.05))

y_mean, y_var = predict.gp_inference(kernel_fn, x_train, y_train, x_test, ‘ntk’, diag_reg=1e-4, compute_cov=True)

上图中,左图为训练过程中输出(f)随输入数据(x)的变化;右图为训练过程中的不确定性训练、测试损失。

将有限神经网络的集合训练和相同体系结构的无限宽度神经网络集合进行比较,研究人员发现,使用无限宽模型的精确推理,与使用梯度下降训练整体模型的结果之间,具有良好的一致性。

这说明了无限宽神经网络捕捉训练动态的能力。

不仅如此,常规神经网络可以解决的问题,Neural Tangents 构建的网络亦不在话下。

研究人员在 CIFAR-10 数据集的图像识别任务上比较了 3 种不同架构的无限宽神经网络。

可以看到,无限宽网络模拟有限神经网络,遵循相似的性能层次结构,其全连接网络的性能比卷积网络差,而卷积网络的性能又比宽残余网络差。

但是,与常规训练不同,这些模型的学习动力在封闭形式下是易于控制的,也就是说,可以用前所未有的视角去观察其行为。

对于深入理解机器学习机制来说,该研究也提供了一种新思路。谷歌表示,这将有助于“打开机器学习的黑匣子”。

传送门

论文地址: https://arxiv.org/abs/1912.02803

谷歌博客: https://ai.googleblog.com/2020/03/fast-and-easy-infinitely-wide-networks.html

GitHub地址: https://github.com/google/neural-tangents

Colab地址: https://colab.research.google.com/github/google/neural-tangents/blob/master/notebooks/neural_tangents_cookbook.ipynb

作者系网易新闻·网易号“各有态度”签约作者

本文分享自微信公众号 - 量子位(QbitAI),作者:关注前沿科技

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-03-14

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 零基础入门神经网络:从原理、主要类型到行业应用

    原作 Jay Shah Root 编译自 Jay Shah寄几的博客 量子位 出品 | 公众号 QbitAI 最近,神经网络这个词特别火,吸引不少眼球。但是神经...

    量子位
  • 读取脑磁波,神经网络知道你在「犹豫不定」

    在神经生物学里,这个神经网络可以分类神经元发出的信号,以及检测出脑相关的病理活动,比方说癫痫,还有神经退化性疾病,帕金森和老年痴呆等。

    量子位
  • 在《我的世界》里搭建神经网络,运行过程清晰可见,这位印度小哥开发的新玩法火了

    前有《我的世界》举办毕业典礼,后有《动物森友会》举办AI会议。最近《我的世界》又被大神带来了硬核玩法:

    量子位
  • 如何在终端输入密码时显示星号

    当你在 Web 浏览器或任何 GUI 登录中输入密码时,密码会被标记成星号 ******** 或圆点符号 ••••••••••••• 。这是内置的安全机制,以防...

    前端博客 : alili.tech
  • 干货|蚁群算法求解带时间窗的车辆路径规划问题详解(附Java代码)

    当然,玩耍过后也不能忘记学习。本着~造福人类~的心态,小编又开始干活,为大家带来 有 · 趣 的干货算法内容了!

    短短的路走走停停
  • json转换Excel

    https://segmentfault.com/a/1190000014242385

    前端博客 : alili.tech
  • 机器学习在自动驾驶中的应用-以百度阿波罗平台为例【上】

    自动驾驶是人工智能当前最热门的方向之一,也是未来将对人类生活会产生重大影响的方向。机器学习在自动驾驶中有举足轻重的地位,从环境感知到策略控制,都有它的身影。在本...

    SIGAI学习与实践平台
  • 目标检测最新总结与前沿展望

    从 2006 年以来,在 Hilton、Bengio、LeChun 等人的引领下,大量深度神经网络的论文被发表,尤其是 2012 年,Hinton课题组首次参加...

    SIGAI学习与实践平台
  • 微信网页扫码登录和公众号网页授权登录的比较

    两者的授权流程一样,需要授权获取code换取token和openid再去请求用户信息

    薛定喵君
  • 【Flutter 专题】39 图解 iOS 打包 IPA 文件

    和尚前两天学习了一下如何打包 Android APK 文件,作为一个 Android 开发,对 iOS 完全不懂,所以特意请教了一下朋友,学习一下如...

    阿策

扫码关注云+社区

领取腾讯云代金券