f-dangel/backpack
BackPACK - a backpropagation package built on top of PyTorch which efficiently computes quantities other than the gradient.
解决的问题
BackPACK 简化了从神经网络训练过程中提取额外信息的过程。虽然计算梯度是标准操作,但研究人员经常需要其他指标——例如来自小批量的单个样本梯度或梯度方差——这些在标准 PyTorch 中实现起来非常困难,且会带来显著的开销或需要大量手动工作。
工作原理
作为 PyTorch 的扩展,BackPACK 修改了训练过程的反向传播。它重用已反向传播的信息,高效地计算超出标准梯度的量,例如二阶信息(对角线和 Kronecker 近似)以及二阶矩。
适用人群
需要深入理解其 PyTorch 模型梯度流动和训练动态的机器学习研究人员和开发者,以实现高级优化或分析工具。
主要亮点
- 高效计算:重用现有反向传播数据,最大限度减少开销。
- 扩展指标:提供小批量中每个样本的独立梯度。
- 详细分析:计算梯度方差和二阶矩的估计值。
- 二阶信息:支持对角线和 Kronecker 近似,用于近似二阶信息。
相关
- 项目
- 项目
- 项目
- 项目
- 项目