Paper Reading: TabM: Advancing Tabular Deep Learning with Parameter-Efficient Ensembling
Paper Reading 是从个人角度进行的一些总结分享,受到个人关注点的侧重和实力所限,可能有理解不到位的地方。具体的细节还需要以原文的内容为准,博客中的图表若未另外说明则均来自原文。
| 论文概况 | 详细 |
|---|---|
| 标题 | 《TabM: Advancing Tabular Deep Learning with Parameter-Efficient Ensembling》 |
| 作者 | Yury Gorishniy, Akim Kotelnikov, Artem Babenko |
| 发表会议 | The Thirteenth International Conference on Learning Representations(ICLR 2025) |
| 发表年份 | 2025 |
| 会议等级 | CCF-A |
| 论文代码 | https://github.com/yandex-research/tabm |
作者单位:
- Yandex
- HSE University
研究动机
表格数据的监督学习是普遍的机器学习场景,其中 GBDT 是经典、强大的非深度学习基线。近年来表格深度学习模型(DL)取得了进展,然而从实践角度看,目前尚不清楚是否存在一个明确的、超越简单 MLP 的、可被广泛采用的表格深度学习基线。这主要是由于三个问题:
- 新方法相对于简单 MLP 基线的性能提升规模和一致性在文献中并不总是被明确分析,导致进展难以评估。
- 训练时间和推理吞吐量等效率属性有时较少被关注,许多方法在小型数据集上可行,但在大型数据集上的适用性不确定。
- 学术基准的进步可能无法很好迁移到现实任务。
目前存在一个被忽视且高效的表格 DL 模型方法——参数共享,例如 BatchEnsemble 能使简单的 MLP 超越流行的基于注意力的模型(如 FT-Transformer),同时保持更简单、更高效。
文章贡献
本文将参数高效集成范式引入深度表格学习,提出一种简单且性能好的新基线模型 TabM。TabM 的本质是一个能模拟多层感知机(MLP)集成的单一神经网络,它通过 BatchEnsemble 机制实现权重共享,即在共享骨干网络的同时,为每个隐式子模型引入轻量的、独有的适配器参数。TabM 的预测输出是其所有隐式子模型预测的平均值,这些子模型在训练时被并行优化,并根据整体集成性能决定早停时机。实验表明,尽管 TabM 的单个子模型表现弱且易过拟合,但它们的集体预测却能实现强大的泛化能力。同时,TabM 在计算效率和模型性能之间取得了优异平衡,其参数量与单 MLP 相近,推理速度远快于基于注意力或检索的复杂架构。
预备知识
传统深度集成
对于一个给定的神经网络架构,考虑其中任意一个线性层 \(l\):
其中 \(x \in \mathbb{R}^d\), \(W \in \mathbb{R}^{d \times d}\), \(b \in \mathbb{R}^d\)。在传统深度集成中,集成模型的第 \(i\) 个成员都拥有自己独立的全套权重 \(W_i\) 和 \(b_i\):
这导致训练和存储 \(k\) 个模型的开销约为单个模型的 \(k\) 倍。
BatchEnsemble
BatchEnsemble 通过共享大部分权重,并用轻量级的成员特定参数来引入成员间的多样性,从而大幅降低开销。在 BatchEnsemble 中,上述线性层被修改为:
其中,该公式涉及到的符号含义如下。这等价于为第 \(i\) 个成员定义了一个特定的权重矩阵 \(W_i = W \odot (s_i r_i^T)\),这种分解使大部分参数(\(W\))得以共享,只有少量参数(\(r_i, s_i, b_i\))是成员独有的。
| 符号 | 说明 |
|---|---|
| \(W \in \mathbb{R}^{d \times d}\) | 该层在所有集成成员间共享的核心权重矩阵。 |
| \(r_i, s_i, b_i \in \mathbb{R}^{d}\) | 每个成员独有、不共享的向量,称为适配器。 |
| \(\odot\) | 逐元素乘法。 |

为了确保集成成员的多样性,所有成员的 \(r_i\) 和 \(s_i\) 都用 \(\pm 1\) 随机初始化,BatchEnsemble 中的所有其他层(如激活函数、Dropout 等)在成员间完全共享。该参数化方式能够了将所有集成成员打包进一个模型的效果,实现高效并行前向传播:
其中,该公式涉及到的符号含义如下:
| 符号 | 说明 |
|---|---|
| \(X \in \mathbb{R}^{k \times d}\) | 存储了 \(k\) 个对象(每个成员一个)的表示。 |
| \(R, S, B \in \mathbb{R}^{k \times d}\) | 存储所有成员适配器 \(r_i, s_i, b_i\) 的矩阵。 |
在参数量开销方面,当增加一个新成员时,只需为每一层在 \(R, S, B\) 矩阵中分别增加一行,即增加 \(3d\) 个参数。相比于原始层的 \(d^2 + d\) 个参数,这个开销非常小。由于硬件性能提升、大量权重共享以及 \(k\) 次前向传播的并行执行,BatchEnsemble 的运行时开销低于传统集成的 \(k\) 倍。直观上,如果原始模型的运算未充分利用硬件,并行计算多个输入可以获得更高的效率收益。
BatchEnsemble 计算样例
例如假设我们有一个简单的全连接层,其输入维度 m=3,输出维度 n=2。那么该层的共享权重矩阵 (W) 可以是一个 3x2 的矩阵。例如:
这个权重被所有集成成员共用。接着定义成员的快速权重,即每个集成成员 \(i\) 有两个独立的、可训练的参数向量:
| 参数向量 | 说明 |
|---|---|
| \(r_i\) | 长度与输入维度 \(m\) 相同(本例中为 3) |
| \(s_i\) | 长度与输出维度 \(n\) 相同(本例中为 2) |
向量 \(r_i\) 和 \(s_i\) 通过外积 \((r_i s_i^\top\)\) 生成一个与 \(W\) 同维度(3x2)的秩 -1 矩阵 \(F_i\),这就是每个成员的扰动矩阵。例如对于成员 \(i=1\),假设其快速权重为:
则它的扰动矩阵 (F_1) 为:
对于成员 \(i=2\),假设其快速权重为:
则它的扰动矩阵 (F_2) 为:
然后就可以生成每个成员的最终权重,通过逐元素相乘 \(\circ\)将共享权重 \(W\) 与每个成员的扰动矩阵 \(F_i\) 相乘,得到该成员独有的权重 \(\overline{W}_i\)。成员 1 的权重:
成员 2 的权重:
本文方法
本文提出了一个可产生多个预测的表格深度学习模型 TabM,其核心思想是构建一个能模拟MLP 集成的单一模型。与传统的深度集成不同,TabM 中的 \(k\) 个 MLP 是并行训练的,并且默认情况下共享大部分权重,从而实现了更优的性能和更高的效率。
符号定义
本节研究监督学习在表格数据上的应用,符号定义如下:
| 符号 | 含义 |
|---|---|
| \(x\) | 一个数据对象的特征。 |
| \(y\) | 该数据对象的真实标签。 |
| \(\hat{y}\) | 模型对 \(y\) 的预测值。 |
| \(N \in \mathbb{N}\) | 神经网络的深度,例如块的个数。 |
| \(d \in \mathbb{N}\) | 神经网络的宽度,例如隐层表示的大小。 |
| \(d_y \in \mathbb{N}\) | 输出层的大小,对于回归任务 \(d_y = 1\);对于分类任务,\(d_y\) 等于类别数量。 |
参数高效集成
TabM 的构建从一个简单的多层感知机(MLP)开始,即一个由 \(N\) 个简单块(每个块包含线性层、ReLU 激活和 Dropout)后接一个线性预测头组成的序列结构。
接着通过一系列步骤,逐步从基础 MLP 构建出 TabM:
| TabM 变体 | 思想 | 说明 |
|---|---|---|
| MLP | 单个基础模型 | |
| MLP\(^{\times k}\) | Deep Ensemble | \(k\) 个独立的 MLP,此时为传统深度集成,权重完全不共享。 |
| TabM\(_{\text{packed}}\) | Packed-Ensemble | 将 \(k\) 个独立 MLP 打包进一个模型,实现并行训练,但权重不共享。 |
| TabM\(_{\text{naive}}\) | BatchEnsemble | 在 MLP 上应用 BatchEnsemble,在大部分层中共享权重 \(W\),并引入成员特定的适配器 \(R, S, B\),作为 TabM 的初步版本。 |
| TabM\(_{\text{mini}}\) | MiniEnsemble | TabM\(_{\text{naive}}\) 的一个极简变体,仅在第一层保留适配器 \(R\),其余层移除所有适配器(即完全权重共享)。 |
| TabM | BatchEnsemble + Better initialization | 回归到 TabM\(_{\text{naive}}\) 的全适配器架构,但对除第一个 \(R\) 外的所有乘法适配器 (\(R, S\)) 用 1 进行确定性初始化。 在训练初期,其行为类似 TabM\(_{\text{mini}}\),但允许这些适配器在训练过程中学习以增加表达能力,是最终的、性能最佳的 TabM。 |

本文将参数高效集成(如 BatchEnsemble)中的每个隐含成员称为隐式子模型,或简称为子模型。
TabM 性能趋势
各个变体的性能分析如下:
| TabM 变体性能趋势 | 说明 |
|---|---|
| MLP\(^{\times k}\) (传统集成) | 性能已优于流行的基于注意力的基线(FT-Transformer),更稳定。但存在两个问题:(a)每个 MLP 根据其个体性能早停,对集成可能不是最优;(b)超参数是为单模型调优的,未考虑集成。 |
| TabM\(_{\text{packed}}\) | 通过并行训练解决了问题(a),允许针对整体集成进行早停和调优,性能**显著优于 MLP\(^{\times k}\)。但其模型大小是 \(k\) 倍,参数效率低。 |
| TabM\(_{\text{naive}}\) | 应用 BatchEnsemble 实现权重共享,其性能超过了 TabM\(_{\text{packed}}\)。这表明参数共享作为一种强有效的正则化,对表格任务非常有益。 |
| TabM\(_{\text{mini}}\) | 实验发现,仅保留第一个适配器至关重要。尽管其适配器数量从 \(3N\) 个减到 \(1\) 个,TabM\(_{\text{mini}}\) 性能略优于 TabM\(_{\text{naive}}\),显示了极高的参数效率。 |
| TabM | 在 TabM\(_{\text{naive}}\) 架构上采用改进的初始化,在训练初期,其行为类似TabM\(_{\text{mini}}\)。但保留的适配器可以在训练中学习,是目前性能最好的变体。 |

TabM 相对于 MLP 的新超参数是隐式子模型的数量 \(k\),本文经验性地将其设置为 \(k=32\) 且不进行调优。学习率方面,TabM 的最佳学习率高于普通 MLP,可能是因为其训练时的有效批次大小更大的问题。
TabM 的性能来源于以下因素:
- 隐式集成成员的同步训练:使得训练能够基于整个集成的性能(而非单个成员)来决定何时停止,实现了早停策略。
- 成员间的参数共享:该机制作为一种正则化形式不仅控制了模型大小,还提升了泛化能力,体现为 TabM\(_{\text{naive}}\) 性能优于TabM\(_{\text{packed}}\) 。
但同时,TabM 继承了 BatchEnsemble 的局限性,例如未探索包含归一化层的骨干网络。此外,如果需要一个单一的最终对象嵌入,则需要研究如何将 TabM 输出的 \(k\) 个嵌入有效地组合成一个。
TabM 的实践变体
TabM 有几个实用且重要的技术变体或策略:
| TabM 实践变体 | 英文 | 说明 |
|---|---|---|
| \(\spadesuit\) 共享训练批次 | Shared training batches | 在传统集成中,由于随机种子不同,每个成员的训练批次顺序通常不同。对于 TabM,这意味着输入矩阵 \(X\) 中的 \(k\) 行通常是 \(k\) 个不同的训练样本 \(\{x_i\}_{i=1}^{k}\)。作者发现,在 TabM 的各个子模型间复用相同的训练批次(即 \(X\) 的所有行是同一个样本的 \(k\) 份拷贝),平均而言只会导致轻微的性能损失,具体损失程度因数据集而异。由于实现更简单、效率更高,在训练 TabM 时,共享训练批次是一个合理的起点。 |
| \(\dagger\) 非线性特征嵌入 | Non-linear feature embeddings | \(TabM_{\text{mini}}^{\dagger}\) 表示在 TabM\(_{\text{mini}}\) 上应用了非线性特征嵌入。实验表明,特征嵌入能进一步提升 TabM 的性能,实现时本文作者使用了一个略微修改的分段线性嵌入版本。 |
| \(\times N\) 深度集成 | Deep ensemble | \(TabM_{\text{mini}}^{\dagger \times 5}\) 表示一个由 5 个独立训练的 \(TabM_{\text{mini}}^{\dagger}\) 模型组成的传统深度集成。这说明了 TabM 模型本身也可以通过集成多个 TabM 模型可以进一步提升性能,但这会牺牲训练和推理效率。 |
实验结果
数据集和实验设置
作者建立了一个包含 46 个公开表格数据集的评估基准,主要来源于先前的研究工作,统计概览如下。其中特别关注了 9 个具有领域感知划分的数据集,例如来自 TabReD 基准的 8 个数据集和 Microsoft 数据集。这些数据集保留了真实世界的划分方式(如按时间划分),导致训练集和测试集之间存在分布偏移,对模型泛化能力构成更大挑战。其余 37 个数据集采用随机划分。
| 属性 | 数据集数量 | 训练集规模 (样本数) | 特征数量 | 任务类型 | 划分类型 |
|---|---|---|---|---|---|
| 最小值 | 中位数 | 平均值 | 最大值 | ||
| 总计 | 46 | 1.8K | 12K | 76K | 723K |
对于每个数据集,模型将在验证集上进行调优,然后使用调优后的配置,在不同的随机种子下从头开始训练模型。模型在该数据集上的最终性能是其在多个随机种子上平均后的测试集指标,回归任务为 RMSE,分类任务根据数据集来源使用 ACC 或 ROC-AUC。为了跨任务(分类/回归)统一衡量模型相对于一个简单基线的改进幅度,本文定义了指标“相对于 MLP 的性能提升百分比”,公式如下。对于回归任务,会先将 RMSE 转换为 \(R^2\) 分数与分类任务的指标尺度对齐,使得所有任务的改进百分比具有可比性。
用于对比的基线模型如下:
| 算法类型 | 对比模型 |
|---|---|
| GBDT | XGBoost, LightGBM, CatBoost |
| MLP | 简单多层感知机,以及使用不同非线性特征嵌入的变体 MLP\(^{\dagger}\), MLP\(^{\ddagger}\) |
| 基于注意力的模型 | FT-Transformer(FT-T), SAINT, T2G-Former(T2G), ExcelFormer (Excel) |
| 基于检索的模型 | TabR, ModernNCA(MNCA) |
| TabM | TabM, TabM\(_{\text{mini}}\), TabM\(_{\text{mini}}^{\dagger}\) |
对比实验
在性能排名方面,TabM 是性能最好的 DL 模型,基于注意力和检索的 DL 模型(如FT-T, TabR)的表现不如 TabM。许多 DL 方法在不可忽视数量的数据集上表现不优于甚至差于简单的 MLP,这表明它们作为通用解决方案的可靠性较差。MLP\(^{\dagger}\) 是介于普通 MLP 和 TabM 之间的一个好的选择。

效率评估
在训练时间和推理吞吐量方面,TabM 提供了可接受的训练时间,速度仅次于简单 MLP 的 DL 模型。相比之下,基于注意力和检索的模型的长训练时间成为其应用的另一限制。

接着在两个大型数据集(Maps Routing, Weather)上评估了部分模型,基于注意力和检索的模型训练时间极长,或(如 TabR)因内存不足而无法应用,TabM 和 MLP 则能高效处理这些数据集。

集成分析
子模型的性能
TabM 的预测是其 \(k\) 个隐式子模型预测的平均值,本文对子模型的性能进行分析。实验使用 TabM\(_{\text{mini}}\) 模型(\(k=32\)),并对比一个本质上为单个 MLP 的基线(TabM\(_{\text{mini}}^{k=1}\))。所有模型具有相同结构(3 层,宽度 512),并关闭早停以观察训练过程。
对四个数据集的训练曲线进行可视化,可见在训练早期,子模型集体平均预测的训练损失和测试损失都优于其个体预测的损失。表明从训练一开始,子模型间的集体决策就表现出优势。与基线MLP相比,TabM的各个子模型单独来看是过拟合的(训练损失低,但测试损失高),然而这些子模型的集体平均预测却展现出更好的泛化能力。如果子模型之间不存在多样性,则集体测试性能将与个体测试性能相似。

子模型选择
下图为 TabM 所有子模型中最佳单个子模型(称为 TabM[B])在许多数据集上的性能,课件即使是最好的单个子模型,其性能也不优于一个简单的 MLP。

TabM 允许在训练后根据任何标准(例如在验证集上的表现)选择子集,只需裁剪掉额外的预测头和对应的适配器矩阵行即可。实验中,作者在训练后通过验证集上贪婪地选择了一个最佳性能的子模型子集,并将裁剪后的模型称为 TabM[G]。结果可见 TabM[G] 的性能略低于原始的、包含全部 \(k\) 个子模型的 TabM。在实践中可以进行子模型选择,因为只需要计算一个子集的前向传播,可以提供更快的推理速度。
集成规模
实验探究了不同 \(k\) 值对 TabM 平均性能的影响。结果可见当 TabM 的深度 \(n\) 和宽度 \(d\) 增加时,它似乎能更有效地容纳更多子模型。例如在 \(k=2\) 和 \(k=4\) 时,不同宽度 \(d\) 对应的曲线开始分化。\(k\) 值过大时,性能可能会下降,可能是权重共享限制了能在单一网络中有效“共存”的子模型数量。对于所考虑的中等到大型数据集,过窄(\(d=64\))或过浅(\(n=1\))的 TabM 配置可能导致次优性能。

“死亡神经元”的比例
因为 TabM 用接近一个 MLP 的参数量来实现 \(k\) 种(多样化的)计算,所以直观上 TabM 的设计能提高骨干网络(MLP)权重的利用率。根据设计,TabM\(_{\text{mini}}\) 的每个共享神经元在每次前向传播中被使用 \(k\) 次,而普通 MLP(或 \(k=1\) 的TabM\(_{\text{mini}}\))中的神经元只被使用一次。因此从技术上讲,TabM\(_{\text{mini}}\) 中的神经元有更多机会被激活,这可能导致与 MLP 相比,其“死亡神经元”(在整个训练过程中从未激活,因此对预测无影响的神经元)的比例更低。
通过计算TabM\(_{\text{mini}}\) 在最佳验证检查点上的死亡神经元比例,在46个数据集上平均,对于 \(k=1\) 和 \(k=32\),死亡神经元的比例分别为 \(0.29 \pm 0.17\) 和 \(0.14 \pm 0.09\)。可见更多的子模型(\(k=32\))显著激活了更多的神经元,提高了模型容量利用率。
优点和创新点
个人认为,本文有如下一些优点和创新点可供参考学习:
- 本文将参数高效集成 BatchEnsemble 应用于表格深度学习,成功将简单的 MLP 打包为一个高性能的隐式集成模型 TabM。
- 揭示了并行训练与权重共享在构建高效表格集成模型的作用,前者实现了集成感知的优化,后者则提供了强大的正则化作用。
- 设计了从 MLP 到 TabM 的演进路径(如 TabM_packed, TabM_naive, TabM_mini),并通过消融实验验证了每个设计选择的有效性。
- 进行了大规模、多维度(任务性能排名、分数分布、训练时间、推理吞吐量)的实证评估,验证了 MLP 类模型(尤其是 TabM)作为实用基线的地位。

浙公网安备 33010602011771号