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.jit 或 jax.pmap。
Who it’s for
使用 JAX 并希望实现二阶优化技术以改进其神经网络训练的 AI 研究人员。
Highlights
JAX-native: 专为加速器上的高性能性能。
Automatic Staging: 自动处理优化器 step 的
jitandpmap。Adaptive Parameters: 支持自适应学习率、自适应动量和自适应阻尼。
nCurvature Estimation: 提供神经网络训练的可扩展曲率近似值。
相关
- 项目
- 项目
- 项目
- 项目
- 项目