Paper Reading: Oblique Decision Trees from Derivatives of ReLU Networks
Paper Reading 是从个人角度进行的一些总结分享,受到个人关注点的侧重和实力所限,可能有理解不到位的地方。具体的细节还需要以原文的内容为准,博客中的图表若未另外说明则均来自原文。
| 论文概况 | 详细 |
|---|---|
| 标题 | 《Oblique Decision Trees from Derivatives of ReLU Networks》 |
| 作者 | Guang-He Lee, Tommi S. Jaakkola |
| 发表会议 | 8th International Conference on Learning Representations(ICLR 2020) |
| 发表年份 | 2020 |
| 会议等级 | CCF-A |
| 论文代码 | https://github.com/guanghelee/iclr20-locally-constant-nets |
作者单位:
- Computer Science and Artificial Intelligence Lab, MIT
研究动机
决策树是通过树状结构清晰地展示决策路径,从功能上说,决策树实现的是分段常数函数。在许多表格数据任务中,基于树的模型(如随机森林)仍是性能最优的模型。然而传统的决策树通常仅限于坐标轴划分,表达能力受限。斜决策树通过允许决策节点使用加权线性分类(即 \(w^Tx + b \ge 0\))来泛化经典决策树,从而获得更强的表达能力。然而,因为需要在每个决策点上优化线性参数,这种泛化存在非可微、组合优化的难题,使得训练比轴对齐决策树困难得多。深度神经网络具有高度的灵活性和强大的实践性能,但通常缺乏透明度和可解释性。根据研究现状,本文的研究问题是:如何融合神经网络和决策树这两种看似对立的模型,以一种有效且可微分的方式来隐式地学习和表示斜决策树。
文章贡献
本文将神经网络的优化能力和决策树的结构化、可解释性联系起来,提出了一种名为局部常数网络 LCN 的神经网络架构,主要利用 ReLU 神经网络分段线性的,其关于输入的梯度是局部常数的性质。具体来说,通过设计一个以 ReLU 网络的梯度为输入的可微分函数,使 LCN 自身实现为一个分段常数函数。在理论上本文证明了 LCN 与斜决策树是等价的。为了能够用梯度下降优化,作者设计了标准架构的 LCN,并引入了激活函数退火和 DropConnect 等技术来稳定训练。在分子性质预测任务上验证了 LCN 是训练斜决策树的先进方法,其集成版本能够与随机森林等经典集成方法竞争,展现了有效性和实用性。
预备知识
由于任何不平衡树都可以通过添加虚拟决策节点(如 \(0^{\top}x \ge -1\))变为平衡树,因此可以定义深度为 \(T\) 的平衡斜决策树函数类如下:
- 根节点决策:\(r_1 \triangleq I[\omega_{\varnothing}^{\top}x + \beta_{\varnothing} \geq 0]\),其中 \(\omega_{\varnothing} \in \mathbb{R}^D, \beta_{\varnothing} \in \mathbb{R}\) 是根节点的权重和偏置。
- 递归决策:对于 \(i \in \{2,3,\ldots,T\}\),定义 \(r_i \triangleq I[\omega_{r_{1:i-1}}^{\top}x + \beta_{r_{1:i-1}} \geq 0]\)。其中 \(\omega_{r_{1:i-1}}, \beta_{r_{1:i-1}}\) 是决策模式 \(r_{1:i-1}\) 所对应的决策节点的权重和偏置。
- 叶子输出:函数 \(v: \{0,1\}^{T} \rightarrow \mathbb{R}^{L}\) 将决策模式 \(r_{1:T}\) 映射到对应的叶子节点输出值 \(v(r_{1:T})\)。
本文方法
基础定义
所提局部常数网络 (LCN)方法建立在实现分段线性映射的前馈网络上。网络采用密集连接架构,每个隐藏层接收所有之前层的输出作为输入。该架构涵盖了残差网络等其他前馈架构。和网络相关的符号定义如下:
| 符号 | 含义 |
|---|---|
| \(f_{\theta}: \mathbb{R}^{D} \rightarrow \mathbb{R}^{L}\) | 网络函数 |
| \(\theta\) | 参数集 |
| \(M\) | 网络隐藏层数量 |
| \(N_i\) | 第 \(i\) 层的神经元数量 |
| \(z^{i} \in \mathbb{R}^{N_i}\) | 第 \(i\) 层神经元的激活前值 |
| \(a^{i} \in \mathbb{R}^{N_i}\) | 第 \(i\) 层神经元的激活后值 |
| \(a^{0} \in \mathbb{R}^{N_0}\),其中 \(N_0 \triangleq D\) | 输入实例 \(x\) |
| \(\tilde{a}^{i}\) | 向量 \((a^0, a^1, \ldots, a^i)\) 的拼接 |
| \(\tilde{N}_i \triangleq \sum_{j=0}^{i} N_j\) | \(\tilde{a}^{i}\) 的维度 |
| \(W^{i} \in \mathbb{R}^{N_i \times \tilde{N}_{i-1}}\) | 第 \(i\) 层 (\(i \in [M] \triangleq \{1,2,\ldots,M\}\)) 的权重矩阵 |
| \(b^{i} \in \mathbb{R}^{N_i}\) | 第 \(i\) 层的偏置向量 |
| \(\sigma(\cdot)\) | 逐元素的激活函数 |
| \(\mathcal{I}\):\(\left\{(i, j) \mid j \in [N_{i}], i \in [M] \right\}\) | 网络中所有神经元的索引集合 |
神经元值通过以下公式计算:
本文以ReLU作为激活函数的典型示例,结果可推广到其他分段线性激活函数(如 Leaky ReLU)。
整个网络的输出 \(f_{\theta}(x)\) 是所有隐藏层 \(\tilde{a}^{M}\) 的仿射变换,其中 \(W^{M+1} \in \mathbb{R}^{L \times \tilde{N}_{M}}\),\(b^{M+1} \in \mathbb{R}^{L}\)。
局部线性
ReLU 网络 \(f_{\theta}(\cdot)\) 是分段线性 的。激活模式是网络中每个 ReLU 神经元激活状态(开或关)的集合,编码了每个神经元的线性分段是哪个被激活。每个神经元 \((i, j)\) 的激活指示函数定义为:
其中 \(I[\cdot]\) 是指示函数。当 \(z_{j}^{i} = 0\) 时,文中定义 \(\partial a_{j}^{i} / \partial z_{j}^{i} = 1\)(但也可定义为0,不影响主要结论)。
接着给定一个固定的激活模式 \(\bar{o}_{j}^{i} \in \{0,1\}\),可以在输入空间 \(\mathbb{R}^{D}\) 中定义一个可行集:
在这个可行集内,由于每个神经元的激活状态固定,原本非线性的 ReLU 函数(\(a_j^i = \max(0, z_j^i)\))可以被重写为一个线性函数。例如,若 \(\bar{o}_j^i = 0\),则 \(a_j^i = 0 \times z_j^i\))。因此在整个可行集上,网络 \(f_{\theta}(x)\) 展现出端到端线性行为。
在几何意义方面,所有可能的激活模式对应的可行集,将整个输入空间 \(\mathbb{R}^{D}\) 划分为若干个互不相交的凸多面体。每个这样的凸多面体就是网络的一个局部线性区域。在每个区域内,网络退化为一个单纯的线性模型。
规范的局部常数网络
LCN 的核心思想是利用 ReLU 网络 \(f_{\theta}(x)\) 的分段线性性质,其关于输入 \(x\) 的雅可比矩阵 \(J_{x} f_{\theta}(x)\) 是分段常数的。任何以这个分段常数的雅可比矩阵为输入的函数,其输出本身也将是分段常数,因此可以通过复合函数来构建各种局部常数网络。在每个局部线性区域内,激活模式 \(\tilde{o}^{M}\) 也是局部不变的。更广泛地说,任何在局部线性区域内不变的量都可以用来构建局部常数网络。
本文定义局部常数网络是指任何利用分段线性网络的局部不变量而构建的复合函数。定义 \(\tilde{o}^{M} \in \{0,1\}^{\tilde{N}_{M}}\) 为所有隐藏层激活指示函数 \((o^{1}, ..., o^{M})\) 的拼接。将复合函数 \(g(\tilde{o}^{M})\) 定义为规范架构的局部常数网络,其中 \(g: \{0,1\}^{\tilde{N}_{M}} \rightarrow \mathbb{R}^{L}\) 本质上是一个查找表,它将每个激活模式映射到一个输出值。
规范架构通过一个简单的例子直观地展示了其与斜决策树的对应关系:
- \(M=1\) 时:一个神经元 \(z^1 = w^T x + b\),对应激活模式 \(o^1 = I[z^1 \ge 0]\)。局部常数网络 \(g(o^1)\) 等价于一个深度为 1 的斜决策树,决策条件是 \(w^T x + b \ge 0\),根据 \(o^1\) 是 0 还是 1 输出两个不同的常数值。
- \(M=2\) 时:如果 \(o^1=0\),则 \(z^2\) 是一个线性函数(如 \(-4x_1 + x_2 + 4\)),如果 \(o^1=1\),则 \(z^2\) 是另一个线性函数(如 \(-3x_2 + 8\))。这可以解释为一个决策树,即在根节点根据 \(z^1 \ge 0\) 做决策,然后在每个子节点根据相应的 \(z^2 \ge 0\) 做进一步决策,最终映射到一个输出值。
- \(M>1\) 时:前一层的激活状态控制着后一层神经元关于输入的线性行为,从而实现了一个层次化结构,等价于一个深度为 \(M\) 的斜决策树。

标准的 LCN 与扩展
为了解决规范架构因离散激活模式导致梯度无法回传的问题,本文进一步提出一个功能等价但可微的标准架构,并介绍两种模型扩展。标准架构的形式定义为:假设 \(N_i = 1, \forall i \in [M]\)。定义所有激活后神经元的雅可比矩阵 \(J_x \tilde{a}^M \in \mathbb{R}^{M \times D}\),并将其向量化记为 \(\vec{J}_x \tilde{a}^M\)。标准架构被定义为:
其中 \(g_{\phi}: \mathbb{R}^{(M \times D)} \rightarrow \mathbb{R}^{L}\) 是一个可微的全连接神经网络。对于标准 LCN 的定义,由于每个 \(a_1^i\) 是局部线性的,其雅可比矩阵 \(J_x \tilde{a}^M\) 是局部常数的。该雅可比矩阵(连续值向量)替换离散的激活模式 \(\tilde{o}^M\) 作为局部不变表示,并用可微函数 \(g_{\phi}\) 替换离散的查找表 \(g\)。
标准架构具有学习未观测节点的新特性。在经典的斜决策树中,如果没有任何训练数据被路由到某个决策或叶子节点,叶节点的参数就无法获得学习信号。然而由于共享参数化,即使某些决策节点在训练中未被激活,它们隐含的权重(即神经网络的参数)依然在训练中被更新。由于使用了参数化的输出函数 \(g_{\phi}\),标准架构甚至可以学习所有叶子节点的值,包括那些训练数据从未到达的叶子。这是通过 \(g_{\phi}\) 对梯度向量 \(\vec{J}_x \tilde{a}^M\) 的泛化映射实现的。
LCN 的神经架构和决策树解释的灵活性,自然地支持多种扩展:
- 近似局部常数网络 ALCN:在保持模型架构不变的前提下替换激活函数,例如将 ReLU \(\max(0, x)\) 替换为 softplus \(\log(1+\exp(x))\)。当输入的绝对值很大时,softplus 函数的导数近似为常数,从而使整个网络成为近似局部常数。但是规范架构(基于查找表 \(g\))不兼容这种扩展。
- 集成局部常数网络 ELCN:单个 LCN 只能输出 \(2^M\) 个不同的值,这对于复杂任务(如回归)来说容量可能不足。使用多个 LCN 或 ALCN 的加性集成 来增加模型容量。令 \(E\) 为基模型的数量,集成模型表示为:
LCN 的训练
尽管 LCN 是次可微的,但当 \(o_1^i = 0\) 时,\(\nabla_x a_1^i = 0\),关于模型参数的梯度信息消失,导致对应的局部常数表示 \(\nabla_x a_1^i\) 无法得到有效的学习信号。解决方案是采用激活函数退火,使用可微的 softplus 函数来近似 ReLU,以在整个训练过程中获得有意义的梯度:
其中 \(\lambda_t\) 是依赖于迭代次数的退火参数,LCN 在训练结束时令 \(\lambda_t = 1\)(纯 ReLU),ALCN 全程设置 \(\lambda_t = 0\)(纯softplus)。在训练 LCN 时,通常从 softplus(\(\lambda_t=0\))开始逐渐退火到 ReLU,例如 \(\lambda_t\) 从 0 线性增加到 1。可以在权重矩阵 \(W^i\) 上应用 DropConnect 进行正则化,其随机性有助于探索参数空间。通过将某些神经元的激活状态从 0 翻转为 1,从而为其梯度路径建立有效的学习信号。
由于 ELCN 的每个集成组件都是可微的,理论上可以直接通过梯度下降训练整个集成,但这会带来巨大的内存压力。更好的方法是以 Boosting 风格进行训练:首先训练一个初始的局部常数网络,对于每次迭代 \(e' \in \{2,3,\ldots,E\}\) 增量式地优化整个部分集成:
这样每一步只优化最新的基模型,前面的模型可以只存储其预测结果而不必加载到内存中。整个部分集成可以直接通过梯度下降学习,无需依赖复杂的元算法(如 AdaBoost 或梯度提升)。
理论分析
表示等价性
本文在数学上证明了 LCN 的函数类与斜决策树的函数类是等价的。
定理 2
该定理内容为任何斜决策树都可以表示为一个规范架构的局部常数网络 \(g(\tilde{o}^M)\)。证明:对于一个深度为 \(T\) 的斜决策树,它有 \(2^T - 1\) 个决策权重和偏置。我们可以构造一个 LCN,其 \(M=1\)(仅一层),但该层有 \(N_1 = 2^T - 1\) 个神经元。将决策树中每个决策节点的 \((\omega, \beta)\) 对赋值给 LCN 中不同的神经元参数 \((W_{k,:}^1, b_k^1)\)。然后,构造查找表 \(g(\cdot)\),使得对于任何输入 \(x\),如果其激活模式 \(o^1\) 与到达某个叶子节点所需的决策模式 \(r_{1:T}\) 一致,则 \(g(o^1)\) 输出该叶子节点的值 \(y\)。这样即可实现相同的映射。
定理 3:
该定理的内容为任何(规范架构的)局部常数网络 \(g(\tilde{o}^M)\) 都可以表示为一棵斜决策树。证明:任何 LCN 都可以将多层神经元拆分成无连接的多个单神经元层,被重写为每层只有一个神经元的形式。然后基于这个转换后的网络,显式地构造一棵深度 \(T=M\) 的斜决策树:
- 根节点:直接使用第一个神经元的参数:\(\omega_{\varnothing} = W_{1,:}^1, \beta_{\varnothing} = b_1^1\),于是 \(r_1 = I[z_1^1 \ge 0] = o_1^1\)。
- 后续节点:对于 \(i \in \{2,\ldots,M\}\),决策节点 \(r_i\) 的参数由 \(z_1^i\) 在当前激活模式下的梯度和偏置唯一确定:\(\omega_{r_{1:i-1}} = \nabla_x z_1^i\) 和 \(\beta_{r_{1:i-1}} = z_1^i - (\nabla_x z_1^i)^{\top} x\)。可以证明,给定前 \(i-1\) 个决策 \(r_{1:i-1}\)(即固定的激活模式 \(o_1^1, ..., o_1^{i-1}\)),\(z_1^i\) 是一个固定的仿射函数,因此其梯度和偏置是唯一确定的。于是 \(r_i = I[z_1^i \ge 0] = o_1^i\)。
- 叶子输出:叶子函数 \(v\) 直接等于 LCN 的查找表 \(g\)。
由于 \(r_{1:M} = \tilde{o}^{M}\) 且 \(v = g\),因此构造出的决策树与原始LCN的映射完全相同。
推论
- 可解释性:可以先训练一个具有 \(M\) 个神经元的 LCN,然后将其转换为一棵深度为 \(M\) 的斜决策树,以获得模型的透明解释。
- 最小表示:给定固定的神经元数量 \(M\),从表示能力的角度考虑,只关注每层只有一个神经元的 LCN 即可。
结构化的共享参数化
虽然 LCN 与斜决策树在函数类层面等价,但当限制 LCN 的深度 \(M\) 时,它不能表示所有深度为 \(M\) 的斜决策树。这是因为一个 LCN 只使用了 \(M\) 对(权重,偏置)参数,却隐式地表示了其对应斜决策树中 \(2^M - 1\) 对决策参数。表示上的指数级参数压缩在模型能力上存在降维,即参数是结构化的、跨节点共享的。
递推关系
考虑由定理 3 证明所诱导出的斜决策树及其参数,从一个递推关系开始:
其中 \(\omega_{r_{1:0}} \triangleq \omega_{\varnothing}\)。公式表明,决策树中深度为 \(i\) 的所有决策节点的权重 \(\omega_{r_{1:i}}\),都被限制为是一个固定基底 \(W_{1,1:D}^{i+1}\) 和其所有前驱权重 \(\omega_{r_{1:0}}, ..., \omega_{r_{1:i-1}}\) 的线性组合。
引理 6
共享参数化导致决策树的权重之间具有很强的结构约束。本文的引理 6 说明在深度 \(T>1\) 的树中,对于任意 \(i\) 和两个仅在某个位置 \(j\) 不同的决策模式 \(r_{1:i}\) 与 \(r'_{1:i}\)(即 \(r_k = r'_k\) 对 \(k \ne j\),且 \(r_j \ne r'_j\)),它们的对应决策权重满足:
即两个决策节点权重的差异,与导致它们路径分支的那个决策节点的权重成比例,即决策模式中的分支直接体现在了权重的差异上。
命题 7
引理 6 的结果可推广到在 \(n\) 个坐标上不同的任意两个决策模式 \(r_{1:i}\) 与 \(r'_{1:i}\):
这说明权重的差异是导致它们分支的所有前驱决策节点权重的线性组合。可见共享的本质在于,局部常数网络 (LCN) 使用线性(\(O(M)\))数量的权重,隐式地建模了具有指数(\(O(2^M)\))数量决策节点的斜决策树。在诱导出的决策树中,每个决策节点的权重都是整个层共享的一个权重和其所有前驱权重的线性组合。这种设计带来两个实际影响:
- 强正则化:结构化的参数共享避免了过拟合,因为模型不能自由地为每个决策节点独立分配任意权重,必须遵循上述约束。
- 降低计算消耗:在表示上,它指数级地减少了对权重参数的内存消耗。
标准的 LCN
定理 8
对于任何固定的 \(f_{\theta}\),任何规范架构的 LCN \(g(\tilde{o}^{M})\) 都可以等价地表示为一个标准架构的LCN \(g_{\phi}(\vec{J}_{x}\tilde{a}^{M})\),反之亦然。该定理证明了两种架构在表示能力上是完全等价的,同时标准架构的 LCN 也与斜决策树类等价。因为该分析只依赖于决策节点部分 \(f_{\theta}\),关于参数共享的分析也同样适用于标准架构。证明思路如下:
- 可以在激活模式 \(\tilde{o}^{M}\) 和雅可比矩阵 \(\vec{J}_{x}\tilde{a}^{M}\) 之间建立对应关系。
- 前馈网络 \(g_{\phi}\) 可以将有限多个不同的 \(\vec{J}_{x}\tilde{a}^{M}\) 映射到任意期望的输出值,其灵活性相当于一个查找表。
复杂度分析
假设输出函数 \(g_{\phi}\) 是一个线性模型。LCN 的空间复杂度为 \(\Theta(MD)\) 用于表示决策节点,以及 \(\Theta(MDL)\) 用于表示叶子节点(即 \(g_{\phi}\) 的参数)。相比之下,经典斜决策树的空间复杂度为 \(\Theta((2^M - 1)D)\) 用于决策节点,以及 \(\Theta(2^M L)\) 用于叶子节点。LCN 的表示在空间上实现了相对于经典斜决策树的指数级改进。
LCN 和 ALCN 都需要计算所有神经元的梯度 \(\vec{J}_x \tilde{a}^M = [\nabla_x a_1^M, ..., \nabla_x a_1^1]\)。为了高效计算,作者提出一个动态规划算法,只需一次前向传播:
- \(\nabla_x a_1^1 = o_1^1 \times W^1\)
- \(\forall i \in \{2,\ldots,M\}\),\(\nabla_x a_1^i = o_1^i \times (W_{1,1:D}^{i} + \sum_{k=1}^{i-1} W_{1,D+k}^{i} \nabla_x a_1^k)\)
因为内层有求和,动态规划的串行时间复杂度为 \(\Theta(M^2)\)。直接的自动微分会重复计算部分结果,复杂度为 \(\Theta(M^3)\)。在 GPU 上并行化内层求和后,动态规划算法的复杂度可降至 \(\Theta(M)\),直接反向传播可降至 \(\Theta(M^2)\),与一次典型网络前向传播的 GPU 复杂度 \(\Theta(M)\) 相当。使用(随机)梯度下降学习 LCN 的时间复杂度为 \(\Theta(M\tau)\),其中 \(\tau\) 是迭代次数。
实验结果
数据集和实验设置
使用在 MoleculeNet 的化学性质预测数据集上进行评估,使用了 4 个多标签二分类数据集 Bace, HIV, SIDER, Tox21,以及 1 个回归数据集 PDBbind。
分类任务使用标准的摩根指纹,即 2048 维的化学子结构二元指示器生成特征;回归任务使用网格特征,即配体与蛋白质对的指纹。指标方面,分类采用 ROC 曲线下面积 AUC;回归采用均方根误差 RMSE。

实验使用的基线模型如下:
| 算法类型 | 对比模型 |
|---|---|
| (斜)决策树类 | CART、HHCART、TAO |
| 决策树集成类 | RF、GBDT |
| 图神经网络 | GCN |
| 本文提出的模型 | LCN, LLN, ALCN, ELCN |
实验的调参细节如下:
| 算法类型 | 调参策略 |
|---|---|
| 树深度 | \(M \in \{2,3,...,12\}\) |
| DropConnect | DropConnect 概率 \(\in \{0, 0.25, 0.5, 0.75\}\) |
| 回归任务 | 调整输出网络 \(g_{\phi}\) 的隐藏层数(0-4 层,每层 256) |
| ELCN | 以 ALCN 为基模型,分类任务调整集成大小 \(E \in \{2^0, ..., 2^6\}\),回归任务 \(E \in \{2^0, ..., 2^9\}\) |
对比实验
在所有方法中,LCN 始终以大幅优势超越其他训练斜决策树的方法,成为该领域的 SOTA。ALCN 能提升 LCN 的实证性能,输出线性函数的分段线性网络 LLN 在分类任务上表现不如 LCN/ALCN,但在 SIDER 和 Tox21 等多标签任务上表现不错。ELCN 优于经典的 GBDT,并且有时能超越 RF,整体上与主流树集成方法相比具有竞争力。GCN 的结果是从原论文复制的,其中 SIDER 和 Tox21 的结果由于缺乏标准划分而不可直接比较。

在大型 HIV 数据集上与基线模型的对比,仅有 TAO 具有与 LCN 相当的训练性能,所有对比算法都表现不佳且快速过拟合。LCN 超越了所有对比算法,且随着深度增加,准确率持续提升。这归因于 LCN 将线性数量的有效权重用于构造指数数量决策节点,带来了强正则化效应。

消融实验
在 HIV 数据集上进行了消融研究实验。从结果可见直接训练 LCN(无退火)无法成功学习,提出的退火策略成功实现了优化。DropConnect 能带来更好的优化和泛化性能,验证了其探索效应和正则化作用。

优点和创新点
个人认为,本文有如下一些优点和创新点可供参考学习:
- 本文一种新型神经网络架构 LCN,其利用了 ReLU 网络的局部常数梯度来隐式表示分段常数函数,为训练斜决策树提供了一个可微分的神经网络框架。
- 设计了配套的基于梯度下降的训练框架,包括可微分的标准架构、动态规划的高效梯度计算、以及结合激活函数退火与 DropConnect 的训练策略,解决了斜决策树难以直接优化的难题。
- 证明了 LCN 与斜决策树在函数类层面是等价的,并揭示其中蕴含着指数级的结构化参数共享,为模型强大的正则化能力奠定理论基础。

浙公网安备 33010602011771号