一、论文信息
1 标题
Block Neural Autoregressive Flow
2 作者
Nicola De Cao, Wilker Aziz, Ivan Titov
3 研究机构
University of Edinburgh, University of Amsterdam
二、主要内容
本文提出了一种新型的归一化流(Normalizing Flows, NFs),称为块神经自回归流(Block Neural Autoregressive Flow, B-NAF),这是一种用于密度函数的通用逼近器。B-NAF通过直接使用单个前馈网络来建模双密度函数之间的可逆变换,并通过精心设计的仿射变换来确保流的自回归性和(严格)单调性。与神经自回归流(Neural Autoregressive Flow, NAF)相比,B-NAF在参数数量上大幅减少,同时保持了竞争力。
三、相关研究
相关研究包括归一化流(NFs)的设计,特别是自回归流(AFs)和逆自回归流(IAFs)。此外,还有神经自回归流(NAF)的研究,它通过学习双射来实现AFs的变换。其他相关工作还包括用于密度估计的MADE网络,以及用于变分推断的连续归一化流(CNF)和FFJORD。
四、解决方案
B-NAF通过使用块矩阵来组织密集层的权重矩阵,独立地转换变量子集,并约束这些块以保证自回归性和单调性。这种方法使得B-NAF在保持通用逼近器特性的同时,大大减少了参数数量。
第四段中提到的解决方案主要涉及了块神经自回归流(B-NAF)的设计和实现。B-NAF的核心思想是通过构建一个自回归的神经网络来逼近复杂的密度函数,同时保持模型的可逆性和参数的高效性。具体方法和公式如下:
-
自回归性(Autoregressive):为了确保流的自回归性,B-NAF使用了一个特殊的权重矩阵W,它是一个下三角块矩阵。这个矩阵的构造方式是,对于每个变量xi,都有一个对应的权重块Bii,这些块通过一个元素级的函数g(例如指数函数exp)映射到正实数空间。这样,每个变量xi的变换只依赖于它之前的变量xj(j < i),从而实现了自回归性。
权重矩阵W的构造公式如下:
W = [ g ( B 11 ) 0 ⋯ 0 B 21 g ( B 22 ) ⋯ 0 ⋮ ⋮ ⋱ ⋮ B d 1 B d 2 ⋯ g ( B d d ) ] W = \begin{bmatrix} g(B_{11}) & 0 & \cdots & 0 \\ B_{21} & g(B_{22}) & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ B_{d1} & B_{d2} & \cdots & g(B_{dd}) \end{bmatrix} W= g(B11)B21⋮Bd10g(B22)⋮Bd2⋯⋯⋱⋯00⋮g(Bdd) 其中,Bij是权重块,i和j是变量的索引,g(·)是应用到每个权重块上的元素级函数。
-
单调性(Monotonicity):为了确保每个变换 f ( i ) θ f(i)θ f(i)θ关于 x i x_i xi是严格单调递增的,B-NAF在权重矩阵W的对角块 B i i B_{ii} Bii上施加了正性约束。这意味着对于每个 i i i,变换 f ( i ) θ f(i)_θ f(i)θ在处理xi时是严格单调递增的,而对于 x j ( j > i ) x_j(j > i) xj(j>i)则没有这种约束。
-
参数化(Parameterization):在实践中,为了更方便地参数化W,作者使用了全矩阵KaTeX parse error: Unexpected end of input in a macro argument, expected '}' at end of input: \hat{W】,然后通过两个掩码操作来选择和转换元素。一个掩码 M d M_d Md选择对角块,另一个掩码 M o M_o Mo选择非对角和下三角块。这样,每一层的权重矩阵 W ( ℓ ) W(ℓ) W(ℓ)可以通过以下公式得到:
W ( ℓ ) = g ( W ^ ( ℓ ) ) ⊙ M ( ℓ ) d + W ^ ( ℓ ) ⊙ M ( ℓ ) o W(ℓ) = g(\hat{W}(ℓ)) \odot M(ℓ)_d + \hat{W}(ℓ) \odot M(ℓ)_o W(ℓ)=g(W^(ℓ))⊙M(ℓ)d+W^(ℓ)⊙M(ℓ)o其中, ⊙ ⊙ ⊙表示元素级乘积, M ( ℓ ) d M(ℓ)_d M(ℓ)d和 M ( ℓ ) o M(ℓ)_o M(ℓ)o分别是选择对角块和非对角块的掩码。
-
雅可比矩阵的计算(Jacobian Computation):为了高效计算雅可比矩阵的行列式,B-NAF利用了自回归性,使得雅可比矩阵是下三角块矩阵。这样,只需要计算对角块的元素,从而简化了计算过程。
雅可比矩阵$J fθ(x)¥的对角元素的对数可以通过以下公式计算:
log ∣ J f θ ( x ) ∣ = ∑ i = 1 d log ( J f θ ( x ) i i ) \log |Jfθ(x)| = \sum_{i=1}^{d} \log \left( Jfθ(x)_{ii} \right) log∣Jfθ(x)∣=∑i=1dlog(Jfθ(x)ii)其中, J f θ ( x ) i i Jfθ(x)_{ii} Jfθ(x)ii是雅可比矩阵对角块的元素。
通过这些方法,B-NAF能够在保持模型表达能力的同时,显著减少参数数量,提高了模型的效率和可扩展性。
五、实验环节
实验包括在玩具数据集上的密度估计和密度匹配,以及在真实数据集上的密度估计。此外,还在变分自编码器(VAE)设置中测试了B-NAF的性能。实验结果表明,B-NAF在多个数据集上与现有的NFs相比具有竞争力,同时使用了更少的参数。
六、进一步探索点:
- 获取B-NAF流的逆的闭式形式。
- 在自然语言处理等应用中,探索具有大型解码器的深度生成模型。
七、总结
本文提出了B-NAF,这是一种新型的归一化流,用于有效和高效地逼近复杂密度函数。B-NAF通过直接参数化变换来确保自回归性和单调性,同时显著减少了参数数量。实验结果表明,B-NAF在多个任务上与现有的NFs相比具有竞争力,为未来的研究提供了新的方向。