{"id":24098482,"url":"https://github.com/matlab-deep-learning/physical-concepts-scinet","last_synced_at":"2025-05-07T19:25:39.318Z","repository":{"id":60299267,"uuid":"376031434","full_name":"matlab-deep-learning/Physical-Concepts-Scinet","owner":"matlab-deep-learning","description":"This repository provides implementation of SciNet network described in arXiv:1807.10300v3","archived":false,"fork":false,"pushed_at":"2023-09-29T07:08:22.000Z","size":44113,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-31T13:26:07.641Z","etag":null,"topics":["deeplearning","discovering-physical-concepts","matlab","matlab-deep-learning","scinet","variational-autoencoder"],"latest_commit_sha":null,"homepage":"https://www.mathworks.com/products/deep-learning.html","language":"MATLAB","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matlab-deep-learning.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null}},"created_at":"2021-06-11T13:18:03.000Z","updated_at":"2024-12-29T05:58:14.000Z","dependencies_parsed_at":"2022-09-27T20:00:32.906Z","dependency_job_id":null,"html_url":"https://github.com/matlab-deep-learning/Physical-Concepts-Scinet","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matlab-deep-learning%2FPhysical-Concepts-Scinet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matlab-deep-learning%2FPhysical-Concepts-Scinet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matlab-deep-learning%2FPhysical-Concepts-Scinet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matlab-deep-learning%2FPhysical-Concepts-Scinet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matlab-deep-learning","download_url":"https://codeload.github.com/matlab-deep-learning/Physical-Concepts-Scinet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252942453,"owners_count":21829078,"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":["deeplearning","discovering-physical-concepts","matlab","matlab-deep-learning","scinet","variational-autoencoder"],"created_at":"2025-01-10T14:46:13.355Z","updated_at":"2025-05-07T19:25:39.292Z","avatar_url":"https://github.com/matlab-deep-learning.png","language":"MATLAB","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Discovering physical concepts with neural networks (SciNet) \n\n[![View \u003cFile Exchange Title\u003e on File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://www.mathworks.com/matlabcentral/fileexchange/93955-physical-concepts-scinet)\n\n[![Open in MATLAB Online](https://www.mathworks.com/images/responsive/global/open-in-matlab-online.svg)](https://matlab.mathworks.com/open/github/v1?repo=matlab-deep-learning/Physical-Concepts-Scinet\u0026project=Scinet.prj\u0026file=src/Instructions.mlx)\n\nIn this repository, we implemented and trained the SciNet network described in: [Iten, R., Metger, T., Wilming, H., Rio, L., \u0026 Renner, R. (2020). Discovering Physical Concepts with Neural Networks. Phys. Rev. Lett., 124, 010508.](https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.124.010508)\n[[arXiv:1807.10300v3](https://arxiv.org/abs/1807.10300v3)].\nSciNet attempts to formalize a simplified view of physical modelling thinking process and translate it into a neural network architecture.\n\n![](scinet.png)\n\nUnlike other deep-learning approaches to the description of physical systems, in addition to the \ninput-output mapping SciNet automatically provides information on the number of independent underlying physical parameters given\nthe data at hand.\n\nThe network architecture is that of modified variational autoencoder that allows the user to provide\ndata and ask questions about the physical problem at hand.\nThe code provided allows the user to train a deep neural network on time series describing the damped \noscillations of a linear oscillator. Training is performed by providing to the network:\n- A set of observations of the oscillator positions for different values of the key physical parameters (namely, the damping and stiffness coefficients)\n- A set of questions, i.e. the time instant at which the amplitude of the oscillation should be predicted\n- A corresponding set of answers, i.e. the actual values of the amplitude\n\nOnce trained, the network is used as follows:\n- A time series for the same oscillator is provided as an input to the encoder, to compute the latent space variables \n- A question is fed to the decoder, together with these latent variables, to predict the answer\n\n\n## Setup\nThe repository contains MATLAB® implementation code as well as MATLAB trained models. \nThe demo is implemented as a MATLAB project. The project will manage all paths and shortcuts you need.\nTo Run:\n1. Open the MATLAB project Scinet.prj\n2. (optional) run \"Read instructions\" from project shortcuts panel\n\n![](shortcuts_screenshot.png)\n\n### MathWorks Products (http://www.mathworks.com)\n\nRequires MATLAB release R2019b or newer\n- [Deep Learning Toolbox™](https://www.mathworks.com/products/deep-learning.html)\n\n\n## Getting Started \n- Run \"1-trainAndTestScinetPendulum\" from project shortcuts panel or use trainAndTestScinetPendulum.mlx livescript to train and test the SciNet network for a damped linear oscillator. \n- Run \"2-postProcess\" from project shortcuts panel or use the livescript postProcess.mlx to load trainings results, test the model prediction on new data and compare the latent neuron activations with the findings of the paper (https://arxiv.org/abs/1807.10300v3) (page 12).\n- Optionally, for a complete list of all files and additional instructions you can run \"Read instructions\" from project shortcuts panel or open Instructions.mlx livescript.\n\n## License\nThe license for Discovering physical concepts with neural networks is available in the LICENSE.txt file in this GitHub repository.\n\n## Community Support\n[MATLAB Central](https://www.mathworks.com/matlabcentral)\n\nCopyright 2021 The MathWorks, Inc.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatlab-deep-learning%2Fphysical-concepts-scinet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatlab-deep-learning%2Fphysical-concepts-scinet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatlab-deep-learning%2Fphysical-concepts-scinet/lists"}