新智元报道
编辑:元子
许多经典机器学习专注于利用可用数据来进行更准确的预测。最近,研究人员已经考虑了其他重要目标,例如如何设计小巧,高效和稳健的算法。
考虑到这些目标,自然研究目标是在神经网络之上设计一个系统,有效地存储在其中编码的信息。换句话说,就是使用一种机制来计算复杂深度的简洁摘要(称之为“草图”)网络,来处理其输入。
草图是一个丰富的研究领域,可以追溯到Alon,Matias和Szegedy的基础工作,它可以使神经网络有效地总结有关其输入的信息。
在最近在ICML 2019上发表的“模块化深度学习的递归草图”中,谷歌研究人员探讨了如何简洁地总结机器学习模型“如何理解其输入”。通过增加现有的(已经训练的)机器学习模型来实现这一目标,其中包含计算的“草图”,使用它们有效地回答基于记忆的问题。
通常,草图算法采用向量x并生成输出草图向量,其行为类似于x,但其存储成本要小得多,从而允许人们简洁地存储关于网络的信息,这对于有效地回答基于存储器的问题是至关重要的。
在最简单的情况下,线性草图x由矩阵向量乘积Ax给出,其中A是宽矩阵,即列数等于x的原始维数,行数等于新的减少的行数尺寸。
这些方法已经为大规模数据集的基本任务提供了各种有效的算法,例如估计基本统计(直方图,分位数和四分位数范围),查找热门项目(称为频繁元素),以及估计数量。不同的元素(称为支持大小)和规范和熵估计的相关任务。
这种基本方法在线性回归的相对简单的情况下运行良好,其中可以简单地通过权重的大小来识别重要的数据维度(在它们具有均匀方差的共同假设下)。
然而,许多现代机器学习模型实际上是深度神经网络并且基于高维嵌入(例如Word2Vec,图像嵌入,Glove,DeepWalk和BERT),这使得在输入上总结模型的操作的任务更加困难。不过这些更复杂的网络的大部分是模块化的,允许我们生成准确的行为草图。
模块化深度网络由几个独立的神经网络(模块)组成,这些神经网络仅通过一个输出作为另一个输入进行通信。这个概念启发了几个实用的架构,包括神经模块网络,胶囊神经网络和PathNet。
也可以将其他规范体系结构拆分为模块化网络并应用我们的方法。例如,卷积神经网络(CNN)传统上被理解为以模块化方式运行;它们检测较低层中的基本概念和属性,并构建为检测更高层中更复杂的对象。在此视图中,卷积内核对应于模块。给出了模块化网络的卡通描述。
草图要求
为了优化对这些模块化网络的方法,研究人员确定了网络草图应满足的几个所需属性:
草图到草图的相似性:两个不相关的网络操作的草图(无论是根据当前模块还是根据属性向量)应该是非常不同的;另一方面,两个类似网络操作的草图应该非常接近。
属性恢复:属性向量,例如,图的任何节点的激活可以近似地从顶级草图中恢复。
摘要统计:如果有多个类似对象,我们可以恢复有关它们的摘要统计信息。例如,如果图像有多只猫,我们可以计算它们的数量。请注意,我们希望在不事先了解问题的情况下执行此操作。
优雅擦除:擦除顶级草图的后缀可保持上述属性(但会平滑地增加错误)。
网络恢复:给定足够多(输入,草图)对,可以近似恢复网络边缘和草图功能的布线。
谷歌提出的草图绘制机制可以应用于预先训练的模块化网络。它生成一个单一的顶级草图,总结了该网络的运行,同时满足上述所有需要的属性。要了解它是如何做到这一点的,首先考虑单层网络是有帮助的。
在这种情况下,我们确保将与特定节点有关的所有信息“打包”到两个独立的子空间中,一个子节点对应于节点本身,另一个子节点对应于其关联的模块。
使用合适的映射,第一个子空间让我们恢复节点的属性,而第二个子空间便于快速估计汇总统计。两个子空间都有助于强制执行上述草图到草图的相似性属性。如果所有涉及的子空间都是随机独立选择的,就证明这些属性成立。
当然,在将这个想法扩展到具有多个层的网络时,必须格外小心 - 这会导向我们的递归草图机制。
由于它们的递归性质,这些草图可以“展开”以识别子组件,甚至捕获复杂的网络结构。最后,我们利用设置定制的字典学习算法来证明构成草图机制的随机子空间与网络架构一起可以从足够大量的(输入,草图)对中恢复。
简明扼要地总结网络运作的问题似乎与模型可解释性密切相关。调查草图文献中的想法是否可以应用于这个领域将是有趣的。草图也可以在存储库中组织,以隐式形成“知识图”,允许识别和快速检索模式。
此外,谷歌的草图绘制机制允许将新模块无缝添加到草图存储库中 - 探索此功能是否可以应用于体系结构搜索和不断发展的网络拓扑结构将会很有趣。
最后,谷歌的草图可被视为在存储器中组织先前遇到的信息的方式,例如,共享相同模块或属性的图像将共享其草图的子组件。
这在很高的层次上类似于人类使用先验知识识别物体并概括为未遇到的情况的方式。