{"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/kernelized-wasserstein-natural-gradient-1","title":"Kernelized Wasserstein Natural Gradient","arxiv_id":"1910.09652","date":"2019-10-21","proceeding":"ICLR 2020 1","authors":["Michael Arbel","Arthur Gretton","Wuchen Li","Guido Montufar"],"abstract":"Many machine learning problems can be expressed as the optimization of some cost functional over a parametric family of probability distributions. It is often beneficial to solve such optimization problems using natural gradient methods. These methods are invariant to the parametrization of the family, and thus can yield more effective optimization. Unfortunately, computing the natural gradient is challenging as it requires inverting a high dimensional matrix at each iteration. We propose a general framework to approximate the natural gradient for the Wasserstein metric, by leveraging a dual formulation of the metric restricted to a Reproducing Kernel Hilbert Space. Our approach leads to an estimator for gradient direction that can trade-off accuracy and computational cost, with theoretical guarantees. We verify its accuracy on simple examples, and show the advantage of using such an estimator in classification tasks on Cifar10 and Cifar100 empirically.","url_abs":"https://arxiv.org/abs/1910.09652v4","url_pdf":"https://arxiv.org/pdf/1910.09652v4.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":"kernelized-wasserstein-natural-gradient-1","repo_url":"https://github.com/MichaelArbel/KWNG","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1910.09652","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1910.09652"}},"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/MichaelArbel/KWNG","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"summary":{"unverified":10},"by_repo_kind":{"official":{"samples":10,"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":"73aacf0112eacb61","entry":"CIFAR100Loader","repo":"MichaelArbel/KWNG","repo_kind":"official","path":"data_loader.py","file_url":"https://github.com/MichaelArbel/KWNG/blob/HEAD/data_loader.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"73aacf0112eacb61"}},{"code_sha256_prefix":"1b5206c31c0b5fa4","entry":"CIFARLoader","repo":"MichaelArbel/KWNG","repo_kind":"official","path":"data_loader.py","file_url":"https://github.com/MichaelArbel/KWNG/blob/HEAD/data_loader.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"1b5206c31c0b5fa4"}},{"code_sha256_prefix":"867e412589acbaa2","entry":"ResNet18","repo":"MichaelArbel/KWNG","repo_kind":"official","path":"resnet.py","file_url":"https://github.com/MichaelArbel/KWNG/blob/HEAD/resnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"867e412589acbaa2"}},{"code_sha256_prefix":"e121770fb754fd1d","entry":"ResNet18IllCond","repo":"MichaelArbel/KWNG","repo_kind":"official","path":"resnet.py","file_url":"https://github.com/MichaelArbel/KWNG/blob/HEAD/resnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"e121770fb754fd1d"}},{"code_sha256_prefix":"510df8f7ea7e4567","entry":"ResNetBasic","repo":"MichaelArbel/KWNG","repo_kind":"official","path":"resnet.py","file_url":"https://github.com/MichaelArbel/KWNG/blob/HEAD/resnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"510df8f7ea7e4567"}},{"code_sha256_prefix":"107bc4237b86690b","entry":"assign_device","repo":"MichaelArbel/KWNG","repo_kind":"official","path":"trainer.py","file_url":"https://github.com/MichaelArbel/KWNG/blob/HEAD/trainer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"107bc4237b86690b"}},{"code_sha256_prefix":"df18f76dfe8b50e9","entry":"get_dtype","repo":"MichaelArbel/KWNG","repo_kind":"official","path":"trainer.py","file_url":"https://github.com/MichaelArbel/KWNG/blob/HEAD/trainer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"df18f76dfe8b50e9"}},{"code_sha256_prefix":"5a3198fb6163ec04","entry":"get_flat_grad","repo":"MichaelArbel/KWNG","repo_kind":"official","path":"kwng.py","file_url":"https://github.com/MichaelArbel/KWNG/blob/HEAD/kwng.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"5a3198fb6163ec04"}},{"code_sha256_prefix":"6003dad9cb2db684","entry":"make_log_dir","repo":"MichaelArbel/KWNG","repo_kind":"official","path":"trainer.py","file_url":"https://github.com/MichaelArbel/KWNG/blob/HEAD/trainer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"6003dad9cb2db684"}},{"code_sha256_prefix":"1d7c0666c4fd11a2","entry":"pow_10","repo":"MichaelArbel/KWNG","repo_kind":"official","path":"gaussian.py","file_url":"https://github.com/MichaelArbel/KWNG/blob/HEAD/gaussian.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"1d7c0666c4fd11a2"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}