google-deepmind/kfac-jax

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

何を解決するか

KFAC-JAX は K-FAC(Kronecker-factored Approximate Curvature)最適化子と曲率推定器の使いやすい実装を提供します。第二階微分最適化は通常、第一階微分法よりも計算コストが高いですが、このライブラリは曲率行列のスケーラブルな近似を提供することで、その課題に対処します。

動作方法

JAX の上に構築されたこのライブラリは、研究者がモデルに K-FAC 最適化を統合できるようにします。ユーザーは特定の損失関数(例:register_softmax_cross_entropy_loss を使用)を登録する必要があります。これにより、ライブラリは曲率行列を正しく近似できます。最適化子は内部的にステージング(jax.jit または jax.pmap を使用)を処理するため、ユーザーは最適化子のステップ関数や損失関数に対して手動でこれらの関数を適用すべきではありません。

対象ユーザー

JAX と Haiku を使用してニューラルネットワークを訓練している AI 研究者で、訓練の効率や収束を改善するために第二階微分最適化技術を活用したい方。

特徴

  • JAXネイティブ:Haiku と統合された、ライブラリのエコシステムに特化した実装。
  • スケーラブルな曲率:効率的な第二階微分最適化のための K-FAC を実装。
  • 自動ステージング:jit と pmap を内部で管理し、ユーザー体験を簡素化。
  • 適応的パラメータ:適応的学習率、モーメンタム、ダミングをサポート。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト