{"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/adaptive-self-supervision-algorithms-for","title":"Adaptive Self-supervision Algorithms for Physics-informed Neural Networks","arxiv_id":"2207.04084","date":"2022-07-08","proceeding":null,"authors":["Shashank Subramanian","Robert M. Kirby","Michael W. Mahoney","Amir Gholami"],"abstract":"Physics-informed neural networks (PINNs) incorporate physical knowledge from the problem domain as a soft constraint on the loss function, but recent work has shown that this can lead to optimization difficulties. Here, we study the impact of the location of the collocation points on the trainability of these models. We find that the vanilla PINN performance can be significantly boosted by adapting the location of the collocation points as training proceeds. Specifically, we propose a novel adaptive collocation scheme which progressively allocates more collocation points (without increasing their number) to areas where the model is making higher errors (based on the gradient of the loss function in the domain). This, coupled with a judicious restarting of the training during any optimization stalls (by simply resampling the collocation points in order to adjust the loss landscape) leads to better estimates for the prediction error. We present results for several problems, including a 2D Poisson and diffusion-advection system with different forcing functions. We find that training vanilla PINNs for these problems can result in up to 70% prediction error in the solution, especially in the regime of low collocation points. In contrast, our adaptive schemes can achieve up to an order of magnitude smaller error, with similar computational complexity as the baseline. Furthermore, we find that the adaptive methods consistently perform on-par or slightly better than vanilla PINN method, even for large collocation point regimes. The code for all the experiments has been open sourced.","url_abs":"https://arxiv.org/abs/2207.04084v1","url_pdf":"https://arxiv.org/pdf/2207.04084v1.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":"adaptive-self-supervision-algorithms-for","repo_url":"https://github.com/shashanksubramanian/adaptive-selfsupervision-pinns","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2207.04084","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2207.04084"}},"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/shashanksubramanian/adaptive-selfsupervision-pinns","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":9},"by_repo_kind":{"official":{"samples":9,"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":"cbc90fa0d1ca51bd","entry":"create_ic","repo":"shashanksubramanian/adaptive-selfsupervision-pinns","repo_kind":"official","path":"utils/pde_sols.py","file_url":"https://github.com/shashanksubramanian/adaptive-selfsupervision-pinns/blob/HEAD/utils/pde_sols.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cbc90fa0d1ca51bd"}},{"code_sha256_prefix":"bf1049301bf31879","entry":"create_new_training_data","repo":"shashanksubramanian/adaptive-selfsupervision-pinns","repo_kind":"official","path":"utils/data_utils.py","file_url":"https://github.com/shashanksubramanian/adaptive-selfsupervision-pinns/blob/HEAD/utils/data_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bf1049301bf31879"}},{"code_sha256_prefix":"b843cfc6fbc377f1","entry":"fake_mask","repo":"shashanksubramanian/adaptive-selfsupervision-pinns","repo_kind":"official","path":"utils/domains.py","file_url":"https://github.com/shashanksubramanian/adaptive-selfsupervision-pinns/blob/HEAD/utils/domains.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b843cfc6fbc377f1"}},{"code_sha256_prefix":"48df2071a578681a","entry":"fft_coef","repo":"shashanksubramanian/adaptive-selfsupervision-pinns","repo_kind":"official","path":"utils/misc_utils.py","file_url":"https://github.com/shashanksubramanian/adaptive-selfsupervision-pinns/blob/HEAD/utils/misc_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"48df2071a578681a"}},{"code_sha256_prefix":"f0c9ddfca5da08e9","entry":"get_data_loader","repo":"shashanksubramanian/adaptive-selfsupervision-pinns","repo_kind":"official","path":"utils/data_utils.py","file_url":"https://github.com/shashanksubramanian/adaptive-selfsupervision-pinns/blob/HEAD/utils/data_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f0c9ddfca5da08e9"}},{"code_sha256_prefix":"9b5d5ccfb3368d0e","entry":"get_diff_tensor","repo":"shashanksubramanian/adaptive-selfsupervision-pinns","repo_kind":"official","path":"utils/misc_utils.py","file_url":"https://github.com/shashanksubramanian/adaptive-selfsupervision-pinns/blob/HEAD/utils/misc_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9b5d5ccfb3368d0e"}},{"code_sha256_prefix":"0c9b4a2f9ecd0f92","entry":"get_velocity","repo":"shashanksubramanian/adaptive-selfsupervision-pinns","repo_kind":"official","path":"utils/misc_utils.py","file_url":"https://github.com/shashanksubramanian/adaptive-selfsupervision-pinns/blob/HEAD/utils/misc_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0c9b4a2f9ecd0f92"}},{"code_sha256_prefix":"4fcbeb29563cd648","entry":"resample_data_loader","repo":"shashanksubramanian/adaptive-selfsupervision-pinns","repo_kind":"official","path":"utils/data_utils.py","file_url":"https://github.com/shashanksubramanian/adaptive-selfsupervision-pinns/blob/HEAD/utils/data_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4fcbeb29563cd648"}},{"code_sha256_prefix":"8fcad789ad4c0740","entry":"set_scheduler","repo":"shashanksubramanian/adaptive-selfsupervision-pinns","repo_kind":"official","path":"utils/optimizer_utils.py","file_url":"https://github.com/shashanksubramanian/adaptive-selfsupervision-pinns/blob/HEAD/utils/optimizer_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8fcad789ad4c0740"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}