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 近似,用於近似二階資訊。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案