{"id":19199830,"url":"https://github.com/rose-stl-lab/teleportation-optimization","last_synced_at":"2025-05-09T01:26:04.613Z","repository":{"id":230628046,"uuid":"744158175","full_name":"Rose-STL-Lab/Teleportation-Optimization","owner":"Rose-STL-Lab","description":"[ICLR 2024] Improving Convergence and Generalization Using Parameter Symmetries","archived":false,"fork":false,"pushed_at":"2024-05-29T04:35:43.000Z","size":26,"stargazers_count":21,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-05-29T17:40:10.999Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://arxiv.org/abs/2305.13404","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Rose-STL-Lab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-01-16T18:27:58.000Z","updated_at":"2024-05-29T04:35:47.000Z","dependencies_parsed_at":"2024-03-31T00:33:16.980Z","dependency_job_id":null,"html_url":"https://github.com/Rose-STL-Lab/Teleportation-Optimization","commit_stats":null,"previous_names":["rose-stl-lab/teleportation-optimization"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rose-STL-Lab%2FTeleportation-Optimization","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rose-STL-Lab%2FTeleportation-Optimization/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rose-STL-Lab%2FTeleportation-Optimization/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rose-STL-Lab%2FTeleportation-Optimization/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rose-STL-Lab","download_url":"https://codeload.github.com/Rose-STL-Lab/Teleportation-Optimization/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223826999,"owners_count":17209693,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T12:29:08.111Z","updated_at":"2024-11-09T12:29:08.734Z","avatar_url":"https://github.com/Rose-STL-Lab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Paper\nBo Zhao, Robert M. Gower, Robin Walters, Rose Yu. [Improving Convergence and Generalization Using Parameter Symmetries](https://arxiv.org/abs/2305.13404). *International Conference on Learning Representations (ICLR)*, 2024.\n\n## Abstract\nIn many neural networks, different values of the parameters may result in the same loss value. Parameter space symmetries are loss-invariant transformations that change the model parameters. Teleportation applies such transformations to accelerate optimization. However, the exact mechanism behind this algorithm's success is not well understood. In this paper, we show that teleportation not only speeds up optimization in the short-term, but gives overall faster time to convergence. Additionally, teleporting to minima with different curvatures improves generalization, which suggests a connection between the curvature of the minimum and generalization ability. Finally, we show that integrating teleportation into a wide range of optimization algorithms and optimization-based meta-learning improves convergence. Our results showcase the versatility of teleportation and demonstrate the potential of incorporating symmetry in optimization.\n\n## Requirements \n* [PyTorch](https://pytorch.org/)\n* [Matplotlib](https://matplotlib.org/)\n* [SciPy](https://scipy.org/install/)\n* [Shapely](https://shapely.readthedocs.io/en/stable/)\n\n## Initializing directories\n```\npython init_directory.py\n```\n\n## Reproducing experiments in the paper\nCorrelation between sharpness/curvature and validation loss (Table 1, Figure 9, Figure 10):\n\n```\npython correlation.py\n```\n\nHow curvature influences the expected displacement of minima under distribution shifts (Figure 7):\n\n```\npython displacement_integration.py\n```\n\nTeleportation to change sharpness or curvature (Figure 4):\n\n```\npython teleport_sharpness_curvature.py\n```\n\nIntegrating teleportation with various optimizers (Figure 5, Figure 13):\n\n```\npython teleport_optimization.py\n```\n\nMeta-learning (Figure 6):\n\n```\ncd learn-to-teleport\npython multi_layer_regression.py\n```\nFigures are saved in directories `figures/` and `learn-to-teleport/figures/`.\n\n## Cite\n```\n@article{zhao2024improving,\n  title={Improving Convergence and Generalization Using Parameter Symmetries},\n  author={Bo Zhao and Robert M. Gower and Robin Walters and Rose Yu},\n  journal={International Conference on Learning Representations},\n  year={2024}\n}\n``` ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frose-stl-lab%2Fteleportation-optimization","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frose-stl-lab%2Fteleportation-optimization","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frose-stl-lab%2Fteleportation-optimization/lists"}