ROC (Radius of Curvature Optimizer) is a physics-inspired optimization algorithm that dynamically scales the learning rate using a first-order approximation of the radius of curvature of the optimization trajectory.
Unlike Adam or RMSprop, which adapt step sizes based on gradient statistics, ROC adapts based on the geometry of the loss landscape.
View complete report here.
Standard first-order optimizers suffer from a geometric limitation:
- Large learning rates → instability in high-curvature regions
- Small learning rates → slow convergence in flat regions
Second-order methods (e.g., Newton's Method) address this using the Hessian, but incur O(N³) computational cost.
ROC bridges this gap by approximating curvature using only gradient differences, preserving O(N) complexity.
From physics, curvature is defined as the rate of change of the tangent vector with respect to arc length.
We approximate the radius of curvature at iteration t as:
Where:
-
$\theta_t$ = parameters $g_t = \nabla f(\theta_t)$ -
$\epsilon$ = stability constant
- Small radius (high curvature) → reduce step size
- Large radius (low curvature) → increase step size
| Parameter | Description | Default |
|---|---|---|
| Base learning rate | 0.01 | |
| Momentum coefficient | 0.9 | |
| Minimum scaling bound | 0.1 | |
| Maximum scaling bound | 10.0 | |
| Numerical stability | 1e-8 |
All experiments averaged over 5 random seeds.
Iterations to reach
| Optimizer | Iterations |
|---|---|
| ROC | 164 ± 16 |
| SGD+Momentum | 426 ± 106 |
| Adam | 751 ± 279 |
| RMSprop | 6104 ± 4771 |
| Adagrad | Did not converge |
ROC converged 4.5× faster than Adam
Iterations to reach
| Optimizer | Iterations |
|---|---|
| ROC | 279 ± 62 |
| SGD+Momentum | 611 ± 37 |
| Adam | 1906 ± 735 |
| RMSprop | Did not converge |
| Adagrad | Did not converge |
ROC was 6.8× faster than Adam
Iterations to reach
| Optimizer | Iterations |
|---|---|
| ROC | 4632 |
| SGD+Momentum | 9268 |
| Adam | 10346 |
| RMSprop | Did not converge |
| Adagrad | Did not converge |
ROC converged ~2× faster than SGD+Momentum and Adam
| Optimizer | Accuracy |
|---|---|
| ROC (default) | 91.63% ± 0.13% |
| ROC (μ = 0.995) | 95.50% ± 0.14% |
| Adam | 95.47% ± 0.45% |
| Optimizer | Time |
|---|---|
| ROC | 0.17s ± 0.008s |
| Adam | 0.18s ± 0.012s |
Tuned ROC slightly surpassed Adam with lower variance and comparable runtime.
- Curvature-aware without Hessian
- Maintains O(N) computational complexity
- Adapts globally based on geometric signal
- More stable convergence across random seeds
- Works well in ill-conditioned and non-convex landscapes
ROC can be viewed as a quasi-second-order optimizer with first-order efficiency.
- Per-parameter curvature scaling
- Theoretical convergence analysis
- Large-scale deep learning benchmarks
- Integration into PyTorch optimizer API



