Papers › Navigating Potholes with Geometry-Aware Sharpness Minimization

Navigating Potholes with Geometry-Aware Sharpness Minimization

15 May 2026arXiv:2605.16134added by Syntology

Simon Dufort-Labbé, Mehrab Hamidi, Razvan Pascanu, Ioannis Mitliagkas, Damien Scieur, Aristide Baratin

Title, abstract, authors and date from arXiv's metadata (CC0); this paper is not in the Papers with Code archive (frozen 2025-07-28).

Sharpness-aware minimization (SAM) encourages flat minima by perturbing parameters along directions of high loss curvature, but treats all parameter directions uniformly, ignoring the underlying loss geometry. We introduce LLQR+SAM, which combines SAM with a learned preconditioner obtained from the recently proposed LLQR framework, a second-order method that recasts steepest descent as a layerwise linear-quadratic regulator problem. The preconditioner is updated sparsely and maintained as a slow exponential moving average, so it captures a smoothed, low-resolution picture of the loss landscape geometry. The SAM perturbation then operates on top of this learned geometry, probing curvature at a faster timescale. We show that this two-timescale structure is not merely a computational convenience: theoretically, the preconditioner amplifies the SAM escape signal in directions that are flat under the average geometry but locally sharp (potholes). Wide, flat basins, by contrast, remain stable. Empirically, LLQR+SAM gives consistent gains over both SAM and LLQR alone across standard vision and sequence modeling benchmarks, supporting the view that slow learned geometry and fast sharpness correction are genuinely complementary.

PaperPDFCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2605.16134")

Code

Syntology Ran 15 of 35 code samples harvested from 1 repository linked to this paper; 20 have no recorded run. Of those that ran: 1 ran · honoured contract; 1 ran · violated contract; 8 ran · our draft was wrong; 1 ran · fixture could not drive it; 4 ran with no contract checked.

By repository: found in paper text by Syntology: 35 samples from 1 repository, 15 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

SimonDufLab/LLQR found in paper text by Syntology report

Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

35 samples harvested; 15 ran; 1 honoured the contract we drafted; 20 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

1ran · honoured contract
1ran · violated contract
8ran · our draft was wrong
1ran · fixture could not drive it
4ran
20unverified

Licence: 35 of the 35 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from SimonDufLab/LLQR. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

_build_asam_scale_tree SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology ran · our draft was wrong no licence file found · pointer only · 064259ff87df6bd9 · report
_build_asam_train_step SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology ran · our draft was wrong no licence file found · pointer only · 47c60aad5a300843 · report
_build_fisher_sam_train_step SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology ran no licence file found · pointer only · e61c0931590c95e6 · report
_build_no_sam_train_step SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology ran · our draft was wrong no licence file found · pointer only · c1b448f16c6b6b98 · report
_collect_main_optimizer_momentum_candidates SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology ran no licence file found · pointer only · c182489843068099 · report
_from_top_level_items_like SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology ran no licence file found · pointer only · e94de51a386f295c · report
_normalize_sam_mode SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology ran · our draft was wrong fingerprinted no licence file found · pointer only · 80be15c1feee4f02 · report
_resolve_sam_outer_update_apply_fn SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology ran · our draft was wrong no licence file found · pointer only · 2142210c9cc45eaa · report
_resolve_start_sam_after_step SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology ran · honoured contract no licence file found · pointer only · 382590faaebbc9be · report
_restore_tree_container_like SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology ran · our draft was wrong no licence file found · pointer only · bd4d8b8464d8c18e · report
_sam_outer_update_uses_preconditioner SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology ran · violated contract no licence file found · pointer only · a56388f3b556674e · report
_sample_gaussian_tree_like SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology ran · our draft was wrong no licence file found · pointer only · f67748ed9b649b23 · report
apply_sam_perturb_sign SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology ran · our draft was wrong no licence file found · pointer only · 9b2df4966684d55d · report
extract_main_optimizer_momentum_vector SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology ran · fixture could not drive it no licence file found · pointer only · a43d6b18bb3c9d1f · report
resolve_sam_ablation_perturbation_vector SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology ran no licence file found · pointer only · ffb65ce23db6b686 · report
_build_base_fsam_train_step SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology unverified no licence file found · pointer only · fe2d7bb3cf2e5cc6 · report
_build_base_sam_train_step SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology unverified no licence file found · pointer only · 99f6c52ae8a3f43a · report
_build_past_fsam_train_step SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology unverified no licence file found · pointer only · 18231158d566108b · report
build_train_step_jit SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology unverified no licence file found · pointer only · f121676ae6bd8b0e · report
make_asam_perturbation_from_grad SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology unverified no licence file found · pointer only · 8963e7f94c658491 · report
make_fisher_sam_perturbation_from_grad SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology unverified no licence file found · pointer only · 91a6a0554cc365ad · report
make_perturbation_from_noise SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology unverified no licence file found · pointer only · dbb358498250d029 · report
make_perturbation_from_vector SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology unverified no licence file found · pointer only · d82220921f799361 · report
resolve_sam_state_buffers SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology unverified no licence file found · pointer only · 317e57d1674a87ae · report
tree_add SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology unverified no licence file found · pointer only · e39582516bc26276 · report
tree_add_scalar SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology unverified no licence file found · pointer only · 2fa19d578b5d09bf · report
tree_divide_by_layer_scalars SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology unverified no licence file found · pointer only · a6b006f71d09e94e · report
tree_dot SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology unverified no licence file found · pointer only · ae446dc76a68136b · report
tree_dot_per_layer SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology unverified no licence file found · pointer only · dcd44a2e4d1b7ab9 · report
tree_dot_subtree SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology unverified no licence file found · pointer only · 44fe00e8e7a75884 · report
tree_l2_norm SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology unverified no licence file found · pointer only · 28eead75f55c8de1 · report
tree_mul_scalar SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology unverified no licence file found · pointer only · 320faa70d9bcc2f8 · report
tree_normalize SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology unverified no licence file found · pointer only · 9454c244fdcc9a9a · report
tree_sub SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology unverified no licence file found · pointer only · 2f87dc2fedcb2c12 · report
update_gbar SimonDufLab/LLQR/lqr_optimizer/_src/utils/sam_mode_handlers.py found in paper text by Syntology unverified no licence file found · pointer only · cec53974a2017e97 · report

Results from the paper

The Papers with Code archive ends with its 2025-07-28 snapshot. This paper's arXiv identifier, 2605.16134, was issued in May 2026, after that date, so the archive has no leaderboard rows for it.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections