专栏首页AI科技评论DeepMind发布Sonnet,帮你用TensorFlow快速搭建神经网络

DeepMind发布Sonnet,帮你用TensorFlow快速搭建神经网络

去年 DeepMind 作出决定,将全部研究搬到 TensorFlow 框架上进行。

近一年时间过去,回头来看,DeepMind 认为这项选择十分正确——许多模型的学习过程大幅加速;TensorFlow 内置的分布式训练功能,还帮助工程师们极大得精简了代码。

在这过程中,DeepMind 发现:TensorFlow 的灵活性和可适性,使得以它为基础、为特定任务开发专用高级框架变得十分可行。

DeepMind 就开发了一个能在 TensorFlow 上快速创建神经网络模块的高级框架,名为 Sonnet。

两天前,其代码被上传到 GitHub。昨夜,DeepMind 在官方博客宣布了这一消息:Sonnet 正式开源。

对于 TensorFlow 而言,自从其在 2015 年末开源,一个由众多高级算法库组成的多样生态系统,便已围绕着它迅速发展起来。这些高级工具,允许常用任务以更简便、更快的方式完成,极大节省了开发者的时间精力。

作为该生态的新成员,Sonnet 也是如此。它与现有的神经网络算法库有许多共同点,但部分功能专为 DeepMind 的研究需要而设计。

这并不是 Sonnet 的源代码头一回被公开——几个月前 DeepMind 开源的算法库 “Learning to learn”,以及去年 6月发表的论文 《Learning to learn by gradient descent by gradient descent》,就包含了早期的 Sonnet 代码。现在,该算法库的完全版本以 “Sonnet” 新名称重新包装。

DeepMind 在博客上表示:

“我们仍在不断开发这一代码库,但当前版本已经对我们的研究贡献巨大。接下来的代码发布,将以今日发布的版本为基础。 向公众开源 Sonnet,能方便 DeepMind 与深度学习社区分享我们的算法模型。当然,我们也殷切希望,Sonnet 能够帮助社区同仁将研究更进一步。最近几个月,我们已经开源了公司的旗舰平台 DeepMind Lab,并正在和动视暴雪合作,针对《星际争霸 2 》的AI 研究开发开源 API 。更多工具的发布正在路上,我们将会在官网开源页面与大家分享,敬请期待。”

技术特点

Sonnet 走的是面向对象(object-oriented)的路子,与 Torch/NN 类似,使得定义某些运算前馈通路(forward pass)的模块能够被创建出来。模块使用输入 Tensor 来调用,这向计算图(Graph)添加任务,并返回输出 Tensor。其中一项设计目标,是确保以透明的方式进行变量分享。这是通过对同个模块接下来的调用,自动重复使用变量来实现。

DeepMind 认为,许多深度学习文献中的模型,可被看做是一个等级结构(hierarchy)。比方说,一个 Differentiable Neural Computer (可微分神经计算机)包含一个控制器,这有可能是一个 LSTM,后者可按照包含标准线性层的形式来执行。DeepMind 发现,编写明确代表了子模块的代码,使得代码重复使用变得更容易,试验变得更快。因此,对于能在内部 declare 其他子模块的模块,Sonnet 支持鼓励其编写;或者在模型创建期间传递给其他模块。

DeepMind 认为十分有用的另外一项技术,是允许特定模块在随机聚集的 Tensor 群组上运行。RNN 的状态,最适合于以异构 Tensor 集合来表示,用扁平列表来表示它们很容易会导致错误。Sonnet 提供了处理这些随机等级结构的功能,所以改变你的试验,使用另一种 RNN,并不需要繁冗地修改代码。DeepMind 已经对核心 TensorFlow 做了修改,以更好地支持这一使用情况。

Sonnet 专为 TensorFlow 而设计,因此并不会导致用户无法访问底层细节,比如 Tensors 和 variable_scopes。在 Sonnet 中编写的模型,可与原始 TensorFlow 代码自由地混在一起,和其他高级算法库也可以。

最后,DeepMind 在博客上表示将会不断更新 Sonnet,使开源版本与公司内部使用版本相吻合。

via deepmind

本文分享自微信公众号 - AI科技评论(aitechtalk),作者:三川

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

原始发表时间:2017-04-08

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 业界丨从 AlphaGo 说起, DeepMind 官方回顾 2016 年大事记

    AI 科技评论按:“我们正处在最好的时代,我们正处在最坏的时代。”《双城记》的开篇同样适用于今天。 这个时代变化多端,复杂多样,我们正在经历气候变迁,也曾忍受新...

    AI科技评论
  • 动态 | DeepMind与NHS陷“隐私门”,剑桥学者列举三大问题质疑数据安全

    从 AlphaGo 开始步入人们视线,人工智能公司 DeepMind 的一举一动总是饱受关注,而在去年,DeepMind 与英国国家医疗服务体系 NHS 旗下基...

    AI科技评论
  • 学界 | 机器人走路未必笨拙,DeepMind新方法训练的人工智能就走得很飘逸

    AI 科技评论按:无论是在树木间乱窜的猴子,还是躲避对手和进击目标的足球运动员,他们灵活敏捷的速度,都让人十分惊叹。掌握这种复杂的电机控制是物理智能研究的方向,...

    AI科技评论
  • 如何用TensorFlow快速搭建神经网络?来看看DeepMind新开源工具Sonnet!

    去年 DeepMind 作出决定,将全部研究搬到 TensorFlow 框架上进行。 近一年时间过去,回头来看,DeepMind 认为这项选择十分正确——许多模...

    AI研习社
  • DeepMind开源面向对象的神经网络库Sonnet

    信息技术新闻网站techcrunch发布消息称,谷歌旗下的DeepMind科技公司公开了Sonnet的源代码,使得人们可以更快地在人工智能系统TensorFlo...

    人工智能快报
  • DeepMind盈利时间或再延后:新报告质疑其医疗数据垄断

    新智元
  • 软件工程期末考试复习(十) 简答题汇总:

    1、能力成熟度的5个等级从低到高依次是:初始级(又称为1级),可重复级(又称为2级),已定义级(又称为3级),已管理级(又称为4级)和优化级(又称为5级)。

    用户2417870
  • 如何在 ASP.NET MVC 中集成 AngularJS(1)

    介绍 当涉及到计算机软件的开发时,我想运用所有的最新技术。例如,前端使用最新的 JavaScript 技术,服务器端使用最新的基于 REST 的 Web API...

    葡萄城控件
  • 梅宏院士:软件定义的未来,万物皆可互联,一切均可编程

    大数据文摘
  • 我的第一个 60k+ Star开源项目—JavaGuide

    人生总有各种各样的巧合发生。在 1 年多前,换句话说就是我还是大三的一名学生的时候。我开源了 JavaGuide ,直接到今天 JavaGuide 已经达到现在...

    macrozheng

扫码关注云+社区

领取腾讯云代金券