增长分类器的四种方式,以及其中一种为何无法学习
Four Ways to Grow a Classifier and Why One of Them Cannot Learn
精选理由
揭示构造式分类器扩展中的零梯度陷阱,并给出扰动修复与可执行测试准则。
AI 摘要
arXiv:2610.00180v1 公告类型:新 摘要:构造式分类器在训练过程中不断添加结构:向树中增加一个层级、向隐藏层中增加一个单元、在叶节点处分裂。本文在树结构模型和构造式模型中采用统一的固定协议进行测量,考察这四种增长决策分别实际带来了什么,并对其中一种毫无收益的决策给出精确诊断及修复方法。诊断针对的是加深软决策树最自然的方式:将每个叶节点变成一个门,其两个子节点继承父节点的类别分布,从而保持函数不变。我证明,这会使每个新门的梯度恒等于零;当门值为 1/2 时,还会使两个子节点的梯度完全相同,因此新增层级永远无法学习。不同于 Net2Net 通过噪声打破的对称性,也不同于分裂时最速下降法借助二阶信息逃离的鞍点,这里的一阶信息不是微弱,而是根本不存在。在三个随机种子的五折交叉验证中,与从头训练相同深度的模型相比,该构造在 Iris 上损失 19.6 个准确率点,在 Wine 上损失 19.1 个,在 Digits 上损失 55.6 个。修复方法是对两个子节点施加小幅随机扰动,其幅度几乎无关紧要。实践规则可以在测试代码中用一行实现:添加参数后,断言这些参数的梯度非零。其余三种决策各自带来一种收益。在安装新隐藏单元之前,先让它拟合残差误差,可以在每个数据集上得到更小的网络,但不会得到更高的准确率;在 Digits 上还会显著降低准确率。分裂预期误差最大的叶节点可以提升稀疏性:使用 3.7 次分裂即可达到 0.885,而完整的六层树需要 63 次分裂;但在更难的问题上会损失 4.3 个准确率点。在节点获得表达能力更强的分裂之前要求统计显著性,没有任何收益:树会变得更大且准确率更低。论文中的每一个数字都由测量脚本插入。