DeepMind 两篇新论文探讨神经网络新可能性

近日 DeepMind 连发两篇论文,其都注重于开发一种更加高效、可解释的模型或算法。其中机器之心重点关注了 DeepMind 使用深度学习构造高效、可解释的最近邻分类树,初步了解了边界树及其变换构造深度最近邻表征。其次 DeepMind 发表了合成梯度 (SG) 与解耦神经接口 (DNI) 深入研究,并表明了 SG 的并入并不会影响神经网络学习系统的表征强度。


  • 论文:Learning Deep Nearest Neighbor Representations Using Differentiable Boundary Trees

  • 论文地址:https://arxiv.org/abs/1702.08833


4-1.jpg


摘要


随着计算机硬件水平的进步和算法效率的提升,K 近邻(K-Nearest neighbor/kNN)法近年来已经越来越受到欢迎。如今机器学习模型有很多算法可以选择,每一种都有其自身的长处与短处。其中所有基于 K 近邻(kNN)的方法都要求在样本间有一个优良的表征(representation)和距离度量(distance measure)。


我们引进了可微分界树(differentiable boundary tree)这一新方法,该方法能学习深度 K 近邻的表征(Deep kNN representations)。我们的方法建立在最近提出来的边界树(boundary tree)算法之上,该算法能进行高效的最近邻分类、回归和检索。通过将树中的遍历建模作为随机事件(stochastic events),我们能构建与树预测(tree's predictions)相关联的可微分成本函数。通过使用深度神经网络转换(transform)数据还有沿树进行反向传播,模型就能学习 K 近邻法的优良表征。


我们证明了该方法能学习合适的表征,并通过清晰的可解释架构提供一个非常高效的树。


4-2.jpg

图 1:边界树以在线的方式(online manner),一个接一个样本构建。从左到右:给定当前树(左图中描绘)从根节点开始。对于每一个查询(query),我们采用递归的方式遍历整棵树,每一步选择离询问节点(query node)局部最近的节点。一旦遍历停止,我们就会使用最后节点的类做预测(中间那幅图)。如果预测是错误的(如这个案例),我们就会将查询节点作为子节点(child)添加到最终节点中,从而构建一颗新树(最右边那幅),同时丢弃查询结点。因为树的边界根据定义和样本将倾向于靠近分类边界,所以也就有了「边界树(Boundary Tree)」这一名字。


4-3.jpg

图 2:方程式 6 中的成本函数在构建中涉及到不同近邻和变换(transitions)的可视化。树在这里是以任意二维空间展示的(为了可视化)。给定询问节点并通过 f_theta 转换所有样本后,我们可以遍历树中节点以下的所有路径(图中标红)。每一个变换(transitions)的概率都进行了计算,直到最后节点的近邻才停止。


在这里我们聚集了节点的类标签,并通过它们各自的变换概率(transition probability)加权,从而构建出类的预测作为输出。可以参见图 3,用于计算成本函数的关联神经网络(associated neural net)可视化。


4-4.jpg

图 3:需要为每个查询节点(query point)动态地构建神经网络。对于每一个变换(transition),通过树模块输出的转换样本(transformed samples)是共享的。每一个模块都会提取转换样本(transformed samples),并计算它们和转换询问点之间的距离,然后转为对数概率(log probabilities)。数据变换(Transitions)是基于转换样本的。这些转换样本与最终的节点预测相结合以生成类预测,同时损失也通过构建的网络进行传播。可以参见图 2,相似树结构和路径(corresponding tree structure and path)的可视化。


4-5.jpg

图 4:使用 MNIST 手写数字数据库中 1000 个已训练的表征样本所构建的树。样本在这里是以原始像素空间(original pixel space)表达的,但是学到的表征(learned representation)是用来构建树的。注意其简单且可解释结构—节点是原型样本(prototypical examples)或边界情况(boundary cases)。值得注意的是,这棵树仍然在测试集上获得了 2% 的错误降低率。


  • 论文:Understanding Synthetic Gradients and Decoupled Neural Interfaces

  • 论文地址:https://arxiv.org/abs/1703.00522


4-6.jpg


摘要


当使用合成梯度(Synthetic Gradients /SG)训练神经网络时,可以在不使用更新锁定(update locking)的情况下训练层级或模块,这样就不需要等待误差真值梯度(true error gradient)沿反向传播,也就导致一种退耦合神经接口(Decoupled Neural Interfaces/DNIs)。这种更新解锁的能力(unlocked ability)可以使用异步的方式更新部分神经网络,并且 Jaderberg 等人(2016)也证明了只有局部信息(local information)能以经验为主地工作(work empirically)。然而,很少有证据表明是什么改变了从函数(functional)、表征(representational)和视角学习动力点(learning dynamics point)实施的 DNI 和 SG。在本论文中,我们通过使用前馈网络上的合成梯度(Synthetic Gradients)来研究 DNI,并期望能更好地理解它们的行为和阐明其对优化算法的影响。我们的研究表明 SG 的并入并不会影响神经网络学习系统的表征强度(representational strength),并证明了线性和深线性(deep linear)模型的学习系统收敛性。在实际操作问题上,我们调查了使用合成梯度估计量逼近损失真值(true loss)的机制,并很惊讶地发现其是如何导致完全不同的层级表征。最后,我们还揭示了合成梯度和其他误差逼近技术(error approximation techniques)的关系,并发现可以使用同一的语言进行讨论和比较。

入门Deepmind神经网络k近邻算法谷歌论文理论合成梯度
1
Magitec・CTO
合成梯度看来也不错