美文网首页
乘法交互,以及在哪里找到它们

乘法交互,以及在哪里找到它们

作者: Valar_Morghulis | 来源:发表于2022-06-27 17:05 被阅读0次

Multiplicative Interactions and Where to Find Them

2019.9

ICLR2020

作者:Siddhant M. Jayakumar, Wojciech M. Czarnecki, Jacob Menick, Jonathan Schwarz, Jack Rae, Simon Osindero, Yee Whye Teh, Tim Harley, Razvan Pascanu

论文地址:https://paperswithcode.com/paper/multiplicative-interactions-and-where-to-find

评审意见:https://openreview.net/forum?id=rylnK6VtDH

演讲及PPT:https://iclr.cc/virtual_2020/poster_rylnK6VtDH.html

摘要:我们探讨了乘法交互作为一个统一框架的作用,以描述一系列经典和现代神经网络架构主题,如门控、注意层、超网络和动态卷积等。乘法交互层作为原始操作在文献中已有很长的历史,尽管这一点通常没有得到强调,因此也没有得到充分的重视。我们首先表明,这些层严格地丰富了神经网络的可表示函数类。我们推测,当融合多个信息流或需要条件计算时,乘法相互作用提供了一种特别强大的归纳偏差。因此,我们认为,在许多需要组合多个计算或信息路径的情况下,应该考虑它们,以代替简单且常用的拼接操作。最后,我们支持我们的主张,并通过在大规模复杂RL和序列建模任务中应用它们来证明乘法相互作用的潜力,在这些任务中,乘法相互作用的使用允许我们提供最先进的结果,从而提供新的证据支持乘法相互作用在设计新的神经网络架构时发挥更突出的作用。

Abstract: We explore the role of multiplicative interaction as a unifying framework to describe a range of classical and modern neural network architectural motifs, such as gating, attention layers, hypernetworks, and dynamic convolutions amongst others. Multiplicative interaction layers as primitive operations have a long-established presence in the literature, though this often not emphasized and thus under-appreciated. We begin by showing that such layers strictly enrich the representable function classes of neural networks. We conjecture that multiplicative interactions offer a particularly powerful inductive bias when fusing multiple streams of information or when conditional computation is required. We therefore argue that they should be considered in many situation where multiple compute or information paths need to be combined, in place of the simple and oft-used concatenation operation. Finally, we back up our claims and demonstrate the potential of multiplicative interactions by applying them in large-scale complex RL and sequence modelling tasks, where their use allows us to deliver state-of-the-art results, and thereby provides new evidence in support of multiplicative interactions playing a more prominent role when designing new neural network architectures.

1 引言

为了提高效率、最大化性能或引入理想的归纳偏置,最近人们将注意力转向定制神经网络结构和组件的设计。虽然有过多的新的、复杂的架构被提出,但在这项工作中,我们将目光投向了深度学习工具包的一个老主打:乘法交互。

虽然这个词本身有些失宠,但在一系列现代架构设计中,乘法交互作用又重新出现了。我们从考虑乘法相互作用本身作为研究对象开始这项工作。我们描述了各种公式及其相互关系,并将最近的架构发展(如hypernetworks Ha et al.(2017)、dynamic convolutions Wu et al.(2019))与关于乘法交互的丰富且长期存在的文献联系起来。

我们假设乘法交互适用于表示构建算法操作所需的某些有意义的函数类(classes of functions),如条件语句或相似性度量,更一般地说,乘法交互是以有效概括的方式将上下文信息集成到网络中的一种有效方式(effective way of integrating contextual information in a network in a way that generalizes effectively)。我们在受控合成场景中以经验的方式展示了这一点,并且还展示了当加入概念上简单的乘法交互模块时,在各种具有挑战性的大规模强化学习(RL)和序列建模任务上的显著性能改进。

这种改进与我们的假设一致,即使用适当应用的乘法交互可以对函数类提供更合适的归纳偏差,从而实现更高效的数据学习、更好的泛化和更强的性能。我们认为,这些操作应该在神经网络本身中具有更广泛的特点,尤其是在集成多个信息流(包括内生创建的流,例如分支架构中的流,including endogenously created streams e.g. in branching architectures)的日益重要的环境中。

因此,我们的贡献是:(i)重新探索乘法相互作用及其设计原则;(ii)通过它们帮助社区理解其他模型(超网络、选通、乘法RNN);(iii)显示其代表某些solutions的效力;(iv)将其经验应用于大规模序列建模和强化学习问题,我们将展示最先进的结果。

图1:(左)乘法交互相对于机器学习中其它常用的模型类的维恩图。 与ML中常用的其他模型类有关的乘法相互作用的维恩图。(右)比较乘法交互的不同秩及其与其他方面的关系。Figure 1: (Left) Venn diagrams of multiplicative interactions with respect to other model classes commonly used in ML. (Right) Comparison of various orders of multiplicative interactions and their relation to other perspectives.

2    乘法相互作用

我们从引入符号和形式化乘法相互作用的概念开始。我们试图回答的根本问题是如何将两个不同的信息流结合起来。具体来说,给定\mathbf{x}  \in \mathbb{R}^{n}\mathbf{z}  \in \mathbb{R}^{m},我们的目标是建模未知函数f_{target}(\mathbf{x}, \mathbf{z}) \in \mathbb{R}^{k}以包含两个变量之间的相互作用。在实践中,\mathbf{x} \mathbf{z}可能是任意的隐藏激活、不同的输入模式(例如视觉和语言)或条件化信息和输入。

标准方法是通过神经网络f来近似f_{target}。如果f被限制为使用单层权重,我们通常使用f(\mathbf{x}, \mathbf{z}) =\mathbf{W}[\mathbf{x}; \mathbf{z}]+\mathbf{b},其中[\mathbf{x}; \mathbf{z}]表示\mathbf{x} \mathbf{z} 的拼接,\mathbf{W}  \in \mathbb{R}^{(m+n)\times k}\mathbf{b}  \in \mathbb{R}^{k}为可学习参数。在这个公式中,x和z之间的相互作用只能是加性的。然而,通过堆叠多个相似的层(其间具有按元素非线性,with element-wise nonlinearities inbetween),f可以在给定足够数据(和容量)的情况下近似任何函数目标。

相反,具有乘法交互的单层将施加函数形式:

f(\mathbf{x}, \mathbf{z}) =\mathbf{z}^T\mathbb{W}\mathbf{x}+\mathbf{z}^T\mathbf{U}+\mathbf{V}\mathbf{x}+\mathbf{b}    (1)

其中,\mathbb{W}是三维权重张量,\mathbf{U}\mathbf{V}是常规权重矩阵,\mathbf{b}是向量(注释1)。我们认为,这种特定形式虽然成本更高,但更灵活,提供了正确的归纳偏差,以学习实践中感兴趣的某些函数族。此外,许多现有技术可以显示为依赖于上述双线性形式的变体,如下所述。

注释1:我们有3D张量\mathbb{W}\in \mathbb{R}^{m \times n \times k}{(\mathbf{z}^T\mathbb{W}\mathbf{x} )}_{k} =\sum\nolimits_{ij} {\mathbf{z}}_{i} {\mathbb{W}}_{ijk} {\mathbf{x}}_{j}

作为乘法交互的超网络。    Hypernetwork Ha et al.(2017)是一个神经网络g,用于在给定某些上下文或输入向量\mathbf{z} 的情况下生成另一个神经网络的权重。即f(\mathbf{x} ;\theta )变成f(\mathbf{x} ;g(\mathbf{z} ;\phi  ))。在fg是仿射的情况下(如在原论文中),这样的网络完全等价于上述乘法形式。

具体来说,我们可以分解方程(1)并设置\mathbf{W} ’=\mathbf{z}^T\mathbb{W}+ \mathbf{V}\mathbf{b} ’=\mathbf{z}^T \mathbf{U}+ \mathbf{b}。我们现在可以将\mathbf{W} ’视为从某个超网络生成的2D权重矩阵,\mathbf{b} ’视为生成的偏置。这允许我们有一个输入条件(input-conditional)权重矩阵和偏置向量,然后用于生成输出\mathbf{y}=\mathbf{W}’ \mathbf{x}+ \mathbf{b}’。我们还可以考虑由任意神经网络生成的任何仿射变换的更一般情况,也可以将其视为一种乘法相互作用,其中我们首先嵌入上下文\mathbf{z} ,然后将其用于上述方程中。这为将超网络本身视为乘法交互主题的变体提供了一个基础,潜在地解释了其相当大的功效。

对角形式和门控机制。    让我们考虑投影\mathbf{W} ’的对角线近似值。这是由上述的\mathbf{W} ’=\mathbf{z}^T\mathbb{W}+ \mathbf{V}的特定参数化给出的(见图1右)。用\mathbf{W} ’=diag(a_1,...,a_n)进行乘法可以有效地实现为f=\mathbf{a}  \odot \mathbf{x} ,其中\odot表示元素乘法或Hadamard乘积(偏置项也类似)(elementwise multiplication or the Hadamard product (similarly for the bias))。这种形式现在类似于常用的选通方法,尽管它们通常与其他非线性一起使用(例如,sigmoid units Dauphin et al.(2017)(编者注:这个引用是用gate+CNN做语言建模,被视作是GLU的起源);Van den Oord等人(2016年))。它也可以看作一个超网络,其中\mathbf{z}^T \mathbf{W}表示函数生成参数。

注意力和乘法交互。    虽然不是这项工作的重点,但我们注意到序列建模中的注意系统(Vaswani et al.,2017;Bahdanau et al.,2014)同样使用乘法交互来有效地缩放输入的不同部分。这通常使用上面的对角线形式实现,其中 \mathbf{m} =f(\mathbf{x}  , \mathbf{z} )\mathbf{y} =\mathbf{m}  \odot \mathbf{x} ,其中 \mathbf{m} 通常是有界掩码。注意力系统通常与我们在这里描述的目标不同:它们可以抑制或放大某些输入,并通过跨时间步组合输入来实现长期依赖性(例如,当上面的mask之后是池化层时)。我们利用这些见解假设,虽然成本更高,但考虑高阶相互作用(生成向量mask)可能对此类系统更有利,但我们在本文中没有具体考虑注意事项,并将其留给未来的工作。

缩放和偏置。    此外,我们可以对对角线形式进行另一个低阶近似,并生成一个标量矩阵,即超网络为我们考虑的每个通道或特征向量生成单个标量尺度(和/或偏置)参数,而不是向量。我们可以再次将其写成f=\mathbf{z}^T\mathbb{W}\odot \mathbf{x},其中\mathbf{z}^T\mathbb{W}=\alpha \mathbb{I}。这在 FiLM等方法(Perez et al.,2018;Dumoulin et al.,2018;2017)中很常见。

Scales and Biases.     Further, we can make another low-rank approximation to the diagonal form and generate instead a scalar matrix – i.e. the hypernetwork outputs a single scalar scale (and/or bias) parameter per channel or feature vector we are considering, instead of a vector. We can again write this as f = z TW  o  x where z TW = αI. This is common in methods such as FiLM (Perez et al., 2018; Dumoulin et al., 2018; 2017).

乘法交互和度量学习。    另一个高度相关的活跃研究领域是度量学习领域,人们试图在一些参数化度量空间中找到最合适的度量来度量对象之间的相似性。最常用的类别之一是马氏距离d_{\mathbf{C}}(\mathbf{x}, \mathbf{z})=||\mathbf{x} - \mathbf{z}||_{\mathbf{C}}=(\mathbf{x} - \mathbf{z})^T {\mathbf{C}}^{-1}(\mathbf{x} - \mathbf{z}),它再次映射到乘法交互单元上:d_{\mathbf{C}}(\mathbf{x}, \mathbf{z})=(\mathbf{x} - \mathbf{z})^T {\mathbf{C}}^{-1}(\mathbf{x} - \mathbf{z})={\mathbf{x}}^{T}{\mathbf{C}}^{-1}\mathbf{x}-2{\mathbf{x}}^{T}{\mathbf{C}}^{-1}\mathbf{z}+{\mathbf{z}}^{T}{\mathbf{C}}^{-1}\mathbf{z}。然而,在度量学习中,通常使用直接监督明确定义tuples(或高阶n-tuples)上的损失,而在这里,我们考虑构建块,这些块可以内在地(internally)学习度量,而无需直接监督。

乘法交互的归类。    最后,我们在图1中总结了这些关系。我们可以从以下两个方面等效地考虑乘法相互作用:(a)对三维张量的近似;(b) 超网络对“投影”上下文的输出;或(c)用于组合生成的权重/上下文和输入的操作。例如,一般双线性形式相当于一个普通的超网络,它为矩阵乘法生成一个权重矩阵。类似地,对角线3D张量等效于生成向量并与hadamard积相结合的超网络。

The Taxonomy of Multiplicative Interactions    Finally, we summarise these relationships in figure 1. We can think of multiplicative interactions equivalently in terms of either: (a) the approximation to the 3D tensor made; (b) the output of the “projected” context by the hypernetwork; or (c) the operation used to combine the generated weights/context and the input. For example, the general bilinear form is equivalent to a vanilla hypernetwork that generates a weight matrix for a matrix multiplication. Similarly, a diagonal 3D tensor is equivalent to a hypernetwork that generates a vector and is combined with a hadamard product.

3    模型的表示能力

普通MLP是通用近似器–也就是说,对于每个连续函数[0,1]^d \rightarrow \mathbb{R}(考虑到我们的目标)和每个近似误差\epsilon >0,存在隐藏单元H和相应的参数值θ,使得MLP输出和目标函数之间的函数空间距离小于\epsilon 。因此,添加新模块/构建块不会影响神经网络的近似能力,然而,这样的修改可能会改变假设空间 hypotheses space——可以精确表示(represented exactly)的函数集(误差为0),以及好的估计量的紧凑性(需要多少个参数),以及可学习性。

我们首先表明,乘法交互严格地(strictly)扩大了普通MLP的假设空间,也就是说,我们添加了多层乘法模型现在可以完美表示的新函数,同时也保留了vanilla MLPs建模能够完美表示的现有函数集合的能力(附录A中有充分证明)。

We first show that multiplicative interactions strictly enlarge the hypotheses space of vanilla MLPs – that is, we add new functions which multi-layer multiplicative models can now represent perfectly,while also preserving our ability to represent those in the existing set modeled perfectly by vanilla MLPs (full proof in appendix A).

定理1。 \mathcal{H}_{mlp} 表示带ReLU激活函数的标准MLP的假设空间,让 \mathcal{H}_{mu} 表示类似网络的假设空间,但每个线性层都替换为一个乘法层,那么我们就有 \mathcal{H}_{mlp} \subsetneq   \mathcal{H}_{mu}

注释:这个符号来自:https://blog.csdn.net/qq_30981697/article/details/70147560

虽然有价值,但通过添加一些奇异的激活函数也可以很容易地获得这样的结果(例如Weierstrass函数\sigma (x)=\sum\nolimits_{n=0}^{∞} 0.5^n\text{cos}(7^n\pi x),这是个连续函数,但处处不可微(Weierstrass,1895);参见附录中的证明)到典型使用的池( to the pool of typically used ones)。虽然增加假设空间本身并不重要,但这里的关键点是,集合  \mathcal{H}_{mu}   \setminus \mathcal{H}_{mlp}有助于将我们的覆盖范围扩展到基本函数集合,人们可以期望这些函数集合能够构成模拟感兴趣系统的解决方案,如逻辑、物理或生物系统。

图2显示了一些简单的两个输入函数相对于所需参数数量的可学习性(在一定误差范围内)。我们考虑求和、选通和点积,它们是操作的基本构建块,如条件语句(conditional statements)或相似性度量,也是在组合不同信息源时实现丰富行为的基础。对于门函数和点积函数类,学习它们所需的MLP的复杂性似乎呈指数增长,而乘法模型的增长是二次的。另一方面,求和对于MLP来说要简单得多。因此,我们并不认为乘法相互作用是一颗银弹,但这种交互为假设集添加了一类重要的函数,这些函数通常是许多问题的正确归纳偏置或算法构建块。在随后的部分中,我们以经验的方式展示了将它们用作上下文集成层可以在一系列任务中获得良好的性能增益。

Figure 2 shows the learnability (up to a certain error) of some simple two input functions against the number of parameters needed. We consider summation, gating, and dot products – which are basic buildings blocks of operations such as conditional statements or similarity metrics, and fundamental for implementing rich behaviours when combining different sources of information. For the gating and dot-product function classes, the complexity of MLPs required to learn them seems to grow exponentially, while the growth for multiplicative models is quadratic. On the other hand summation is trivially easier for an MLP. Thus we do not argue that multiplicative interactions are a silver bullet – but that such interactions add an important class of functions to the hypothesis set that are often the right inductive bias, or algorithmic building block, for many kinds of problems. In subsequent sections we show empirically that using them as context-integration layers leads to good performance gains across a range of tasks

4    相关工作

围绕乘法相互作用有大量文献,这些思想有着悠久的历史,例如在连接主义的基础时代就有讨论(Rumelhart等人,1986)。下面,我们重点介绍社区在过去几十年中开发的一些关键作品,旨在展示这些作品是如何相互关联的。

利用乘法相互作用的一些最早模型是高阶Boltzmann机器或自动编码器(Sejnowski,1986;Memisevic&Hinton,2007;Taylor&Hinton,2009)。目前,在广泛采用的模型中,乘法交互最常见的用法是通过必要的三维权重张量的因式分解或对角线表示(编者注)。LSTM cell(Hochreiter&Schmidhuber,1997)(及其后代,如GRU(Cho et al.,2014))在门控单元中采用这种形式的乘法相互作用,这对记忆的长期稳定性至关重要。还制定了LSTM的增强乘法版本(Sutskever et al.,2011;Wu et al.,2016;Krause et al.,2016):这些方法基本上通过投影表示之间的元素或hadamard乘积将先前的隐藏状态和当前输入结合起来。

Some of the earliest models leveraging multiplicative interactions were higher-order Boltzmann machines or autoencoders (Sejnowski, 1986; Memisevic & Hinton, 2007; Taylor & Hinton, 2009). Currently, the most common usage of multiplicative interactions seen in models that enjoy widespread adoption is via a factorised or diagonal representation of the necessary 3D weight tensor. The LSTM cell (Hochreiter & Schmidhuber, 1997) (and its descendents such as the GRU (Cho et al., 2014)) employ multiplicative interactions of this form in the gating units that are crucial for the long-term stability of memories. Enhanced multiplicative versions of LSTMs have also been formulated (Sutskever et al., 2011; Wu et al., 2016; Krause et al., 2016): these approaches essentially combine the previous hidden state and current input via an element-wise or hadamard product between projected representations.

类似地,双线性层(通常是低阶因子分解, low-rank factorizations)广泛出现在计算机视觉文献中(Gao等人,2016;Kim等人,2016)及其后(Dumoulin等人,2018)。例如,挤压和激励网络可以视为这一想法的一个实例(Hu等人,2018年)。特别是在视觉问答系统中,FiLM(Perez et al.,2018)或class-conditional batch norm(Brock et al.,2019;Perez et al.,2017)等模型使用这种对角线形式来生成每个通道的尺度和偏差,作为某些上下文的函数。这在捕获两种不同模式(文本和视觉)之间的关系方面是有效的,并且提供了一种强大的机制,允许单个网络有条件地专门处理多个不同的任务(conditionally specialize on multiple different tasks)。此外,VQA等多模态领域也出现了与注意力系统结合使用的双线性模型(Yu等人,2017年;Lu等人,2016年;Xu&Saenko,2016年;Schwartz等人,2017年)。

此外,还有许多使用选通机制的额外工作,可以将其视为与其他point-wise非线性或软最大值结合使用的对角线近似。最近的例子包括pixelCNNs(Van den Oord et al.,2016)和Highway Networks(Srivastava et al.,2015;Zilly et al.,2017),以及其他(Dauphin et al.,2017),早期的例子可以在混合专家(Jacobs et al.,1991)和继任者的作品中看到。

Further, there are many additional works using gating mechanisms which can be thought of as such diagonal approximations used in conjunction with additional point-wise non-linearities or softmaxes. Recent examples of such include pixelCNNs (Van den Oord et al., 2016) and Highway Networks (Srivastava et al., 2015; Zilly et al., 2017), among others (Dauphin et al., 2017), and earlier examples can be seen in works such as Mixtures of Experts (Jacobs et al., 1991) and successors.

非因式分解意义上的乘法相互作用也可以被视为一类受限的超网络(Ha et al.,2017):从一个网络生成另一个网络的权重的模型。虽然最初的演示文稿(Ha等人,2017)考虑了它们在前馈网络中用于模型压缩(即使用层ID生成权重),但他们也研究了HyperLSTM,在HyperLSTM中,每个时间步都会产生乘法偏差。类似的方法也适用于通过“动态卷积”在卷积网络中生成参数,其中生成的参数的大小由捆绑滤波器(tying filters)控制(Wu et al.,2019)。此外,这些想法已扩展到贝叶斯形式(Krueger et al.,2017),并用于架构搜索(Brock et al.,2017)。

最后,用于衡量不同位置/时刻成分贡献的乘法相互作用在注意机制中起着关键作用(Bahdanau等人,2014年;Vaswani等人,2017年)。它们还被用于一些RL工程中,以更好地调节信息,例如在Feudal网络中(Vezhnevets et al.,2017),作为manager和worker单位互动的一种方式,以及更好的行动调节(Oh et al.,2015)。

5    实验装置

我们的目的是证明使用乘法交互可以提高广泛的问题和领域的性能,我们推测这是因为它们有效地允许更好地路由和整合不同类型的信息。具体而言,我们将证明乘法交互可以更好地整合(a)解码器模型中的潜在变量,(b)多任务学习中的任务或上下文信息,(c)序列模型中的循环状态(recurrent state)。我们使用神经过程回归、多任务RL和语言建模作为示例的领域。有关架构和超参数的更多详细信息,请参阅附录。

关于实施和术语的说明。在下文中我们使用  \mathcal{M}_{(\mathbf{x},  \ \mathbf{z})}来表示函数f(\mathbf{x}, \mathbf{z}) =\mathbf{z}^T\mathbb{W}\mathbf{x}+\mathbf{z}^T\mathbf{U}+\mathbf{V}\mathbf{x}+\mathbf{b}(或在图例中称为MI)。在所有情况下,我们都使用一系列标准线性层来实现这一点,在这些层之间进行reshape操作,以形成中间矩阵(等效地,这可以使用einsum或张量积表示法tensor product notation来实现;我们在附录中提供了一个简单的实现)。量f_1(\mathbf{z}) =\mathbf{z}^T\mathbb{W}+\mathbf{B}表示投影上下文信息的2D输出,其中,如上所述,\mathbb{W}是3D,\mathbf{B}是2D偏置。我们使用hypernet术语将其称为2D上下文投影或“生成的权重”。类似地,“生成的偏置”是上下文\mathbf{z}的1D投影,即f_2(\mathbf{z}) =\mathbf{z}^T\mathbf{U}+\mathbf{b}(因此f(\mathbf{x}; \mathbf{z}) =f_1(\mathbf{z}) \mathbf{x}+f_2(\mathbf{z}))。

虽然我们要与上述文献中的其他模型建立联系或相似性,但我们的目标不是宣传一种特定的实例化或近似值胜过另一种。因此,我们在所有实验中使用上述相同的形式(除非另有规定),并通过控制\mathbf{z}的size来控制参数量( parameter count)。毫无疑问,实践者会发现,在给出正确的近似值的情况下(given the right approximations),上述形式的任务特定微调(task-specific tuning)可能会在更少的参数下产生可比或更好的结果。

6    在多任务学习中学习上下文相关层 Context Dependent Layers

我们首先考虑多任务学习的一般范式,其目标是训练一个模型来解决K个不同的任务。我们表明,我们可以通过使用乘法交互来学习上下文相关或任务相关的层来提升性能。通常,在从类似任务迁移到具有非常不同解决方案的任务之间存在一种权衡。因此,我们的主张是,上下文条件层提供了一种两全其美的方法,具有一种允许迁移的归纳偏置(与多头架构相反),同时也限制了干扰。

There is generally a trade-off between the transfer from similar tasks and the negative interference between those with very different solutions. Our claim is thus that context-conditional layers provide a best-of-both-worlds approach, with an inductive bias that allows transfer (as opposed to a multiheaded architecture) while also limiting interference.

我们首先用一个玩具示例来演示这一点,我们试图用一个模型回归两类不同的函数,仿射函数和正弦函数。具体来说,y=a_ix+b_iy=a_i \sin(10x)+b_i,其中a_ib_i是从均匀分布中对每个任务进行采样的。在图3中,我们显示了随着我们改变任务数量,多次运行的平均结果。我们训练了一个具有多个头部的标准MLP和一个具有给定任务ID作为额外输入的MLP(one with that is given task ID as additional input),可以看出两者都不能使用任务信息来做得更好。另一方面,结果表明, task-conditioned的  \mathcal{M}_{(x,  \ \mathbf{t})}层允许模型以较少的干扰更好地学习这两个任务,并提高了数据效率。我们看到,随着任务数量的增加,使用  \mathcal{M}层的好处更加明显。更多详情见附录D。

图3:toy多任务回归域中不同任务数时不同模型的平均学习曲线。阴影区域表示均值估计的标准差。 Figure 3: Averaged learning curves for different models while varying the number of tasks in the toy multitask regression domain. Shaded regions represent standard error of mean estimation.

6.1    DMLAB-30上的多任务RL

接下来,我们考虑一个更大规模的问题:DeepMind Lab-30域上的多任务RL(Beattie et al.,2016)。这是一套在部分可观察的第一人称透视3D环境中执行的30项任务,包括一系列激光标签、导航和记忆级别(laser-tag, navigation, and memory levels)。我们在Espeholt et al.(2018)的Impala框架内使用了一个典型的actor-critic RL设置,有多个actors和一个学习者进行off-policy纠正(更多详细信息请参见附录E)。我们使用的架构与原著中的架构一模一样(Espeholt et al.,2018;Hessel et al.,2019):一组卷积层,然后是一个LSTM,在每个时间步输出\mathbf{h}_t。通常,这些将被投影到所有任务共享的policiesπ和值函数V。在测试时,通常不允许agents访问真值任务ID(例如,这意味着训练时的值函数可以使用此信息)。

多头策略和值层    Multi-head Policy and Value Layers

我们首先展示了多头agent架构,其中每个level都有一个policy和value head,实际上可以提高性能。虽然这确实使用了特权(privileged)信息(任务ID),但这确实表明共享策略层和值层在level之间存在一定程度的干扰。

We first show that a multi-headed agent architecture with one policy and value head per level does in fact boost performance. While this does use privileged information (task ID), this does show that there is some degree of interference between levels from sharing policy and value layers.

乘法策略和值层    Multiplicative Policy and Value Layers

相反,我们可以考虑在这里使用乘法层来集成任务信息(one-hot task ID \mathbf{I}_i)以调整(modulate)计算路径。我们学习了一个任务嵌入,如下所示,并在一个乘法层中使用它来投影策略和值函数(policy and value functions)。也就是说,我们现在有\mathbf{c} = \text{relu}(\text{MLP}(\mathbf{I}_i))作为上下文,并且有π_t,V_t=  \mathcal{M}_{(\mathbf{h}_t,  \ \mathbf{c})}

我们在同一个图(编者注:哪个图?文中似乎没有表示)中显示了结果,并发现这样一个层可以进一步提高性能。这可以被看作是从一些学习到的任务ID嵌入中生成策略层。我们的假设是,虽然多头架构减少了干扰,但它们也消除了不同层之间的策略迁移能力。此外,每个头只获得梯度更新次数的1/K(当训练K个任务时)。

学习上下文的乘法策略

我们发现(有些令人惊讶的是),我们可以在不使用任何任务信息的情况下获得类似或更大的性能增益,用学习到的LSTM输出的非线性投影代替任务ID Ii。我们现在有,c=relu(MLP(ht))和πt,Vt=M(ht,c)。

我们在图4中显示了LSTM状态的2D投影的t-SNE图。这是按级别名称着色的,透明度值表示时间步长。我们看到,在时间步0,所有权重都是相同的,随着级别的提高,我们发现它可以自然地检测或聚类任务信息,表明该模型可以很容易地检测当前任务类型。然而,我们假设仿射策略值解码器可能没有正确的归纳偏差来很好地使用此信息。我们推测,通过学习到的嵌入c,乘法交互提供了正确的归纳偏差:允许模型集成信息,并提供额外的密集门控条件计算路径,在适当情况下利用任务相似性,同时防止任务不同时的干扰,从而更有效地学习任务条件行为。

我们注意到,我们用一种更简单的方法来匹配之前使用PopArt方法(Hessel et al.,2019)(两者均达到73%的标准化人类得分)的这一领域的最新表现。PopArt包括具有特定于任务的值函数和使用自适应梯度归一化(以限制不同奖励尺度之间的干扰)。我们的方法还将所需的额外超参数数量减少到零。因此,波帕特解决了一个与此处所考虑的正交问题,我们假设这些方法可以在未来的工作中结合使用。我们还将分析这种超值函数是否能够隐式学习在PopArt等方法中明确参数化的不同奖励尺度作为未来的工作。

7个带乘法解码器的潜变量模型

我们之前演示了乘法交互提取和有效组合上下文信息的能力。接下来,我们将探讨组合的两个信息流所指的语义不同的特征的范例。具体而言,我们研究了如何将上下文潜在变量更好地集成到神经解码器中。我们考虑少镜头回归的神经过程。简而言之,神经过程(Garnelo et al.,2018b;a)是高斯过程的神经模拟物。对于少镜头回归,它们通过预测函数值y来工作∗ 在新观测点x∗ 观察相同函数的先前值(xi,yi)(称为上下文)。与在(xi,yi)上训练单一预测因子相反,神经过程学习推断函数的分布,这与迄今为止收集的观察结果一致。

这是通过使用编码器网络分别嵌入上下文点(xi,yi),然后取这些嵌入的平均值来实现的。这就给出了潜在变量z,它是将x映射到y的函数的表示,即y=f(x,z)。新数据点x∗ 映射到y∗ 通过【z;x】∗ ] 通过解码器网络。

我们的目标是通过改进z上的条件来提高解码器的表现力。标准方法是将x和z(表示为MLP([x;z])串联起来,从而形成纯粹的相加关系

相反,我们将MLP解码器的最后一层替换为乘法形式M(x,z)。作为额外的基线,我们考虑潜在变量和解码器每一层之间的跳过连接(表示为跳过MLP([x;z])Dieng等人(2018)),作为避免潜在变量崩溃的一种手段。我们将所有方法应用于GP Prerior Garnelo等人(2018b)的函数绘制回归任务,并在图5 a)中总结结果。结果表明,与基线MLP相比,乘法形式能够更好地处理潜在信息。附录F中提供了进一步的实验细节。

8语言建模的乘法嵌入

最后,我们考虑使用递归模型进行单词级语言建模。在每个时间步,网络输出关于序列中下一个单词的预测,给定当前生成的单词(训练时的基本事实)及其循环状态。标准体系结构是将一个热字向量xt投影到输入嵌入z i t=Wxt,然后是一个带输出ht的LSTM。然后,我们生成我们的预测输出嵌入z o t+1=W2htxt+b和输出yt+1=softmax(z o t+1WT+b2),其中嵌入权重W是并列的。

我们假设,计算具有乘法交互的嵌入将允许模型更好地考虑其循环上下文。因此,我们计算输出嵌入如下:c=relu(W3ht+b)和z o t+1=M(c t,ht)。我们使用上面定义的上下文向量c,而不是直接在ht中使用二次向量。这有两个目的:首先,我们在网络中引入了额外的线性路径,其次,我们有dim(c)o dim(ht),这允许我们大幅减少参数计数(例如,我们的LSTM输出大小为2048,但上下文大小仅为32)。这是对角线近似的替代方法。

同样,我们也可以将乘法输入嵌入到LSTM中,这样z i t也可以集成来自ht的循环信息−我们可以定义类似于上述的z i t:z 0 t+1=M(z i t,ht−1) =z i t TW00ht−1+z T U+Vht−1+b。该方程实际上与用于生成LSTM的门和候选单元的表达式非常相似:最后三项是相同的。在乘法RNN和LSTM中使用了第一项的对角线形式(Sutskever等人,2011;Krause等人,2016)。

我们报告了在Wikitext-103上运行此模型的结果(见表1)。对于乘法输出嵌入,我们使用3D形式(如上所述的低秩瓶颈),在组合这些方法时,我们使用对角线形式作为输入嵌入。附录中报告了其余的体系结构选择和超参数。我们发现,添加乘法解码器(输出)嵌入可以提高性能,进一步添加输入嵌入可以增加这些增益。我们将这归因于嵌入现在能够被上下文显著改变,并允许通过这些交互中的归纳偏差更好地整合信息。

我们注意到,我们仅使用单层LSTM作为基础模型,并且总体参数少得多,因此获得了有竞争力的结果。我们的直觉是,使用这种嵌入与大多数最近提出的其他进展是正交的,因此可以叠加在它们之上。我们将这些想法与基于Transformer的模型集成作为未来的工作。

9结论和未来工作

在这项工作中,我们考虑了乘法相互作用及其各种公式,将它们与各种体系结构联系起来,包括旧的和现代的,如超网络、多应用LSTM或选通方法。我们假设,这种网络能够更好地表示更广泛的算法原语(例如,条件语句或内积),从而能够更好地集成上下文或任务条件信息,以融合多个数据流。我们首先在两个受控环境下对这一假设进行了实证检验,以尽量减少混杂因素的影响。我们进一步证明,我们可以在多个域上仅使用LSTM和乘法单元匹配最先进的方法。虽然我们不一定提倡上述方法的具体实例,但我们希望这项工作能够使从业者对此类方法有更广泛的理解和考虑,并在某些情况下,在使用条件、上下文输入或其他信息源时,取代串联的标准做法。

我们认为,有许多方法可以更广泛地探索这一思想空间,例如:研究各种近似方法的作用;提高实施效率的方法;并将其应用于较新的域。最后,虽然注意模型使用了其中一些乘法交互,但我们希望应用这项工作中的一些经验教训(例如高阶交互)将允许在注意系统中实现更大的信息集成。确认书

作者要感谢Karen Simonyan和Sander Dieleman对实验和论文初稿的投入和评论。我们还要感谢Ali Razavi、Pablo Sprechmann、Alex Pritzel和Erich Elsen围绕此类乘法模型及其应用进行了深入的讨论。

模型的表现力

定理1。

让Hmlp用ReLU激活函数表示标准MLP的假设空间,让Hmu表示类似网络的假设空间,但用乘法层替换每个线性层,则得到Hmlp(Hmu)。

证据包含直接来自这样一个事实,即如果我们将输入拆分为任意部分[x;z],我们会得到:

这证明了Hmlp⊂ Hmu。因此,该理论唯一需要证明的方面是,包含是严格的。让我们考虑一维函数x→ 为简单起见,设x=z(上下文等于输入的域)。通过使用A=0和W=I,具有单个乘法单元的单层MLP可以准确表示此函数,然后我们得到x T W x=x T x=kxk 2。由于我们的函数是正的,它不会影响乘法网络输出。对于常规MLP,让我们首先注意,我们至少需要一个隐藏层,否则MLP是线性函数,而f不是。让我们分别用第二层和第一层的V、c和w、b权重和偏差表示。那么我们必须满足

其中,g是由MLP的所有更高层表示的变换(特别是如果只有2层,则g(x)=x)。注意,RHS处处可微,而LHS对于每个i和每个x是可微的iff,我们有wix+bi 6=0(或者f独立于x,x 2不满足)。然而,这是不可能的,因为如果wi 6=0,那么我们总是可以选择x=−bi/wi,如果所有wi=0,则f(x)=g(c)6=x 2,导致矛盾。

定理2。

设Hσ表示具有σ激活函数的标准mlp的假设空间,以及Hw类似集,其中一些激活被Weiestrass函数fw替换。然后我们有Hrelu(Hw)和Hσ(Hw),对于任何处处可微的σ。

证据

包含直接来自这样一个事实,即只有一些激活被替换,特别是我们总是可以不替换任何激活,从而导致假设类的相等。为了证明包含是严格的,让我们考虑Weierstrass函数本身f(x)=σw(x)。我们肯定有f∈ 我们可以定义一个隐藏层网络,其中一个隐藏神经元,所有权重设置为1,所有偏差设置为0。现在,relu网络是分段线性的,而Weierstrass函数是不可微的Weierstrass(1895),因此不是分段线性的。类似地,激活处处可微的网络(如sigmoid或tanh)也是处处可微的wrt。输入,而Weierstrass函数–无Weierstrass(1895)。

B MI层的简单实现

我们将Tensorflow和Sonnet Reynolds等人(2017)用于所有模型实施。下面的示例是一个简单的代码片段,用于向任何模型添加乘法层,以Sonnet框架为例

C简单函数实验的详细信息

对于简单的两个输入函数的建模实验,我们考虑了MLP和MI模型,并根据输入隐藏大小绘制参数数量。这两种模型是

•MLP:线性(大小)、relu、线性(output\U大小)

•MI网络:MI(大小)、线性(输出大小)。

这里,size是最大的值,因此网络的变量不超过N个,我们扫过[1、2、5、10、15、20、30、40、50、60、80、100、120、140、160、180、200]。我们扫描学习率0.1、0.001、0.0001,并选择最佳结果。使用Adam Optimizer对模型进行6000个步骤的训练,使用标准高斯分布中的100个小批次的均方误差损失(MSE)。报告的误差基于来自相同分布的10000个样本,以最小化估计方差。

玩具回归实验的D细节

在多任务玩具回归中,我们共同考虑了MLP、MI和多头模型。对于x∈ R(任务输入)和z(表示为任务ID的一个热编码)我们使用:

•条件MLP:concat(x,linear(20)(z)),linear(30),relu,linear(20),relu,linear(1)

•条件MI:MI([线性(30),relu,线性(20),relu](x),线性(20)(z))

•多头MLP:线性(20)、relu、线性(30)、relu、线性(1);其中,每个任务的最后一个线性

这些模型中的每一个都是在多任务设置中训练的,我们首先对T个任务(20、40或60)进行采样。其中一半的任务涉及拟合仿射函数ax+b,其中a和b都是从[0,1]上的均匀分布中采样的;一半代表比例正弦波,正弦(10x)+b,a和b以相同的方式采样。使用Adam Optimizer进行培训(学习率3e− 3) ,每个任务的小批量大小为50(因此总批量大小为50T)。使用均方误差损失(MSE)对模型进行10000步的训练,并报告训练MSE的对数以供分析。每次训练重复60次,以最小化随机性带来的方差。

E多任务DEEPMIND实验室培训详情

我们在30个DeepMind实验室级别上培训多任务Beattie et al.(2016),同时每个任务使用5个参与者,一个多gpu学习者使用4个gpu。我们严格遵循Impala架构Espeholt等人(2018)中使用的模型和超参数。我们的模型都是通过基于人群的培训(PBT)Jaderberg等人(2017)进行培训的,我们在三个人群中显示了低于平均水平的基线和我们的最佳方法,每个群体有24名独立学习者。我们为所有级别的100亿帧数据训练所有模型。每个级别的人类标准化得分均独立计算,上限为100(即得分=最小(得分,100))。架构如下

F神经过程实验的细节

受Garnelo等人(2018b)实验的启发,我们将神经过程应用于高斯过程绘制的函数,该函数之前具有指数二次核k(x,x0)=σ2 f exp(− 1 2(x− x 0)2/l2),固定σf=1.0,重要的是,随机l∼ 每次绘制U[0.1,10.0],导致功能广泛分布。我们还添加了高斯观测噪声,即y∼ N(f,σ2 N)并设置σN=0.02。在所有实验中,除了潜在变量z之外,我们还提供了上下文的确定性转换h,并为每个上下文使用单独的编码器网络。对于SKIP MLP和提议的MI,我们首先连接h和z,即使用SKIP MLP[x;concat(z,h)]和MI(x,concat(z,h))写入concat()来表示连接。Kim等人(2019)提供了关于在中添加额外确定性路径的好处的更详细讨论。

用于获取h的determinsitic编码器是一个具有6层128个单元的深MLP。用于z的潜在编码器由3个128个单元的隐藏层组成,用于参数化64维高斯分布潜在变量的平均值和标准偏差。用于预测新目标输入x的解码器网络∗ 由4层128个单元组成。我们在网络的所有组件中使用relu活动。使用0.0001的学习率和阈值为10.0的绝对值梯度剪裁,对网络进行训练,直到与Adam收敛。

G语言建模

我们训练一个隐藏大小为2048个隐藏单元的单层LSTM。LSTM的输入是一个大小为256的嵌入,然后输出LSTM向下投影到256,基线为一个线性层。输入和输出嵌入单词矩阵是并列的。我们使用的训练序列长度为128。对于乘法模型,使用MI层计算输出嵌入,MI层的上下文输入c由输出大小为32的线性层生成,然后是relu。对于所有模型,我们使用0.3的辍学率和0.001的学习率。所有型号都经过Adam Optimizer培训。

对于乘法编码器,我们使用M(.)对于乘法除数,我们使用完整的M(.)表单(具有上述瓶颈)。这相当于添加了大约2000万个参数,这与添加1000个隐藏单元相同。我们在性能上得到了6个困惑的改进,而天真地添加1000个隐藏单元只会给我们带来1个困惑的改进。此外,通过考虑对角线或低秩近似值,可以大幅减少参数计数,但我们在这项工作中没有专门对此进行优化。


简书给我推荐了另一篇简书文章:

https://www.jianshu.com/p/ed39ae7dc4c2

论文阅读“Bilinear Graph Neural Network with Neighbor Interactions”

Zhu H, Feng F, He X, et al. Bilinear graph neural network with neighbor interactions[C]//Proceedings of the Twenty-Ninth International Conference on International Joint Conferences on Artificial Intelligence. 2021: 1452-1458.

作者:掉了西红柿皮_Kee

链接:https://www.jianshu.com/p/ed39ae7dc4c2

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

摘要梳理

(1)多视图聚类用于挖掘多个视图时间的共同语义,已经获得了广泛的关注。

(2)现有的方法在同一个特征空间中优化多个目标,忽略了学习一致性通用语义和构建不一致的视图特有信息之间的冲突。

(3)因此,本文提出multi-level feature learning framework用于contrastive multi-view clustering 。

(4)提出的方法在不融合的前提下从原始特征中学习low-level, high-level以及semantic labels/features,因此可以实现在不同的特征空间中优化重构目标和一致性目标。

(5)具体来说,重构损失是以low-level特征构建的,两个一致性目标则对应于high-level和semantic labels/features,分别用于探索通用的语义信息和实现多视图聚类。提出的方法可以减少视图特有特征的不利影响。

贡献点

在不同的特征空间优化不同的目标,解决了重构和一致性目标之间的冲突

这样可以有效的学习通用的语义同时避免无意义的视图特有信息的影响

使用灵活的多视图对比框架同时实现了high-level features and the semantic labels的一致性学习

作者:掉了西红柿皮_Kee

链接:https://www.jianshu.com/p/1694e706f6fb

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

并指出两个向量之间的乘法是建模交互作用的一种有效方法——强调共同属性和稀释差异信息。

相关文章

网友评论

      本文标题:乘法交互,以及在哪里找到它们

      本文链接:https://www.haomeiwen.com/subject/ieqovrtx.html