{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/exact-tractable-gauss-newton-optimization-in","title":"Exact, Tractable Gauss-Newton Optimization in Deep Reversible Architectures Reveal Poor Generalization","arxiv_id":"2411.07979","date":"2024-11-12","proceeding":null,"authors":["Davide Buffelli","Jamie McGowan","Wangkun Xu","Alexandru Cioba","Da-Shan Shiu","Guillaume Hennequin","Alberto Bernacchia"],"abstract":"Second-order optimization has been shown to accelerate the training of deep neural networks in many applications, often yielding faster progress per iteration on the training loss compared to first-order optimizers. However, the generalization properties of second-order methods are still being debated. Theoretical investigations have proved difficult to carry out outside the tractable settings of heavily simplified model classes -- thus, the relevance of existing theories to practical deep learning applications remains unclear. Similarly, empirical studies in large-scale models and real datasets are significantly confounded by the necessity to approximate second-order updates in practice. It is often unclear whether the observed generalization behaviour arises specifically from the second-order nature of the parameter updates, or instead reflects the specific structured (e.g.\\ Kronecker) approximations used or any damping-based interpolation towards first-order updates. Here, we show for the first time that exact Gauss-Newton (GN) updates take on a tractable form in a class of deep reversible architectures that are sufficiently expressive to be meaningfully applied to common benchmark datasets. We exploit this novel setting to study the training and generalization properties of the GN optimizer. We find that exact GN generalizes poorly. In the mini-batch training setting, this manifests as rapidly saturating progress even on the \\emph{training} loss, with parameter updates found to overfit each mini-batchatch without producing the features that would support generalization to other mini-batches. We show that our experiments run in the ``lazy'' regime, in which the neural tangent kernel (NTK) changes very little during the course of training. This behaviour is associated with having no significant changes in neural representations, explaining the lack of generalization.","url_abs":"https://arxiv.org/abs/2411.07979v2","url_pdf":"https://arxiv.org/pdf/2411.07979v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"exact-tractable-gauss-newton-optimization-in","repo_url":"https://github.com/mtkresearch/exact_GN_revNN","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"second-order-methods","task_name":"Second-order methods"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2411.07979","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2411.07979"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mtkresearch/exact_GN_revNN","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":3},"by_repo_kind":{"official":{"samples":3,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"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"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"32455d018491dc70","entry":"compute_accuracy","repo":"mtkresearch/exact_GN_revNN","repo_kind":"official","path":"fastbreak/losses/accuracy.py","file_url":"https://github.com/mtkresearch/exact_GN_revNN/blob/HEAD/fastbreak/losses/accuracy.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"32455d018491dc70"}},{"code_sha256_prefix":"cfe1ed02d335fe1f","entry":"get_configs_from_file","repo":"mtkresearch/exact_GN_revNN","repo_kind":"official","path":"fastbreak/utils/cmd_utils.py","file_url":"https://github.com/mtkresearch/exact_GN_revNN/blob/HEAD/fastbreak/utils/cmd_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"cfe1ed02d335fe1f"}},{"code_sha256_prefix":"81fa412d5330be3a","entry":"to_yaml_interface","repo":"mtkresearch/exact_GN_revNN","repo_kind":"official","path":"fastbreak/utils/cmd_utils.py","file_url":"https://github.com/mtkresearch/exact_GN_revNN/blob/HEAD/fastbreak/utils/cmd_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"81fa412d5330be3a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}