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)

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI研习社

如何用TensorFlow快速搭建神经网络?来看看DeepMind新开源工具Sonnet!

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

3399
来自专栏钱塘大数据

【思维导图】机器学习基础之「统计篇」

本文用一系列「思维导图」由浅入深的总结了「统计学」领域的基础知识,是对之前系列文章做的一次完整的梳理,也是我至今为止所有与统计有关的学习笔记。众所周知,「统计学...

34213
来自专栏difcareer的技术笔记

相机应用中的角度问题0x01:0x02:0x03:

在使用相机时,最自然的效果是不管你的手机如何旋转,手机上的成像始终是向上的,也就是说,相机内容不会随着相机的旋转和旋转。

682
来自专栏全栈数据化营销

产品功能分析模型:KANO模型,市场告诉你产品要具备的功能

首先,我要说的是,我是很看重分析模型的,也会在工作中经常运用分析模型,一定会起到事半功倍的作用,分析模型是做好分析工作非常重要的工具,也是分析师必须要掌握的基本...

3558
来自专栏MixLab科技+设计实验室

人工智能设计师之智能排版的另一种实现方式

Flipboard的自动排版系统Duplo 最近在整理算法驱动设计的案例,翻到Flipboard的自动排版系统,再次研究了下,把相关的技术思路整理了下: Fli...

3127
来自专栏python成长之路

类实例:搬家具

1756
来自专栏量子位

手机输入法不好用?谷歌要用AI让你打字更快

陈桦 编译整理 量子位 报道 | 公众号 QbitAI 现在,大部分人的日常生活,都离不开手机上的虚拟键盘,而这其中的大部分人都会觉得虚拟键盘不好用。数据显示,...

3377
来自专栏钱塘大数据

数据挖掘:用可视化效果展现你的数据

对于数据挖掘,我们可以通过文中对数据可视化的案例找到分析数据、展现数据的方法和思路。 Data visualization 是一件很有趣的事情。最近在尝试处理数...

2895
来自专栏华章科技

【思维导图】机器学习基础之「统计篇」

投稿和反馈请发邮件至hzzy@hzbook.com。转载大数据公众号文章,请向原文作者申请授权,否则产生的任何版权纠纷与大数据无关。

603
来自专栏ATYUN订阅号

不用担心拍摄照片时光照不足,AI转换技术可以提升照片清晰度

在光照不足的情况下拍摄照片时,低ISO长时曝光照片需要稳定的照相机,并且要在模糊框架中移动,而高ISO短时曝光照片可能会受到噪音和质量的影响。现在,人工智能可以...

1074

扫码关注云+社区