higher is a specialized library designed to extend PyTorch’s capabilities by enabling higher-order differentiation and meta-learning through differentiable optimization loops. It allows developers and researchers to compute gradients through entire optimization processes, which is essential for tasks like meta-learning, hyperparameter optimization, and model adaptation. The library introduces utilities that convert standard torch.nn.Module instances into “stateless” functional forms, so parameter updates can be treated as differentiable operations. It also provides differentiable implementations of common optimizers like SGD and Adam, making it possible to backpropagate through an arbitrary number of inner-loop optimization steps. By offering a clear and flexible interface, higher simplifies building complex learning algorithms that require gradient tracking across multiple update levels. Its design ensures compatibility with existing PyTorch models.
Features
- Enables differentiable inner-loop optimization and gradient tracking through updates
- Converts torch.nn.Module models into functional, stateless forms for meta-learning
- Provides differentiable versions of standard optimizers such as Adam and SGD
- Allows unrolled optimization for higher-order gradient computation
- Easily integrates into existing PyTorch workflows with minimal modification
- Supports custom differentiable optimizers via registration and subclassing