一种用于深度神经网络的小块 Fisher 方法
机器学习
2022-10-28 v4 人工智能
摘要
深度神经网络(DNN)目前主要使用一阶方法进行训练。其中一些方法(例如 Adam、AdaGrad、RMSprop 及其变体)通过使用对角矩阵对随机梯度进行预处理,融入了少量曲率信息。近来,有效的二阶方法如 KFAC、K-BFGS、Shampoo 和 TNT 已被开发用于训练 DNN,通过按层块对角矩阵对随机梯度进行预处理。这里我们提出一种“小块 Fisher(MBF)”预处理梯度方法,位于这两类方法之间。具体而言,我们的方法使用经验 Fisher 矩阵的块对角近似,其中对于 DNN 中的每一层,无论是卷积层还是前馈全连接层,其关联的对角块本身也是块对角的,并由大量适中尺寸的小块组成。我们的新方法利用 GPU 的并行性来高效处理每层中的大量矩阵。因此,MBF 的每次迭代计算成本仅比一阶方法略高。将我们提出的方法的性能与几种基线方法在自编码器和 CNN 问题上进行比较,以验证其在时间效率和泛化能力方面的有效性。最后,证明了 MBF 的理想化版本具有线性收敛性。
引用
@article{arxiv.2202.04124,
title = {A Mini-Block Fisher Method for Deep Neural Networks},
author = {Achraf Bahamou and Donald Goldfarb and Yi Ren},
journal= {arXiv preprint arXiv:2202.04124},
year = {2022}
}