google-deepmind/kfac-jax

Second Order Optimization and Curvature Estimation with K-FAC in JAX.

What it solves

KFAC-JAX 提供了一個易於使用的 K-FAC (Kronecker-factored Approximate Curvature) 優化器和曲率估計器實作。它透過提供曲率矩陣的可擴展近似值,解決了神經網路二階優化通常比一階方法更耗費計算資源的挑戰。

How it works

此函式庫建立在 JAX 之上,允許研究人員透過近似損失函數表面的曲率來優化神經網路。它要求使用者註冊特定的損失函數(例如,透過 register_softmax_cross_entropy_loss),以便函式庫可以正確近似曲率矩陣。優化器會自動處理內部階段化(JIT 和 PMAP),這意味著使用者不應手動對優化器的 step function 或損失函數套用 jax.jitjax.pmap

Who it’s for

使用 JAX 並希望實作二階優化技術以改進其神經網路訓練的 AI 研究人員。

Highlights

  • JAX-native: 專為加速器上的高效能而建。

  • Automatic Staging: 自動處理優化器 step 的 jitpmap

  • Adaptive Parameters: 支援可變學習率、可變動量與可變阻尼。

  • Curvature Estimation: 為神經網路訓練提供可擴展的曲率近似值。

相關

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