A federated learning solution by your friends at the Center for Translational Research in Neuroimaging and Data Science (TReNDS).
For more extensive documentation for Researchers, Computation Authors and Developers our documentation wiki can be found here
COINSTAC is software to foster collaborative research, removing large barriers to traditional data-centric collaboration approaches. It enables groups of users to run common analyses on their own machines over their own datasets with ease. The results of these analyses are synchronized to the cloud, and undergo aggregate analyses processes using all contributor data. Federated (decentralized) pipelines allow for distributed, iterative, and feature rich analyses to be run, opening new and exciting capabilities for collaborative computation. It also offers data anonymity through differentially private algorithms, so members do not need to fear PHI traceback.
Let's do research!
📖 For a deep dive, you can read the project’s paper, COINSTAC: A Privacy Enabled Model and Prototype for Leveraging and Processing Decentralized Brain Imaging Data on Frontiers in Neuroscience.
We also curate a list of conference and journal papers on methods and studies related to federated learning and COINSTAC.
-
If you want to run COINSTAC as an end user
- Download the latest release for your operating system.
- You can download sample data of volumes of regions of interest in the brain, in a format typically produced by FreeSurfer, which can be used in a federated regression.
- You can also download sample neuroimages (structural MRI preprocessed with voxel-based morphometry (VBM)), which can be used in a federated regression.
-
For more guidance, please see these detailed instructions on how to install and run COINSTAC.
You want to do research, and you want to include data from around the world. Unfortunately, orchestrating such an event is anything but trivial.
-
Coordinating data-driven research can be difficult. Who's going to collect all of the files? Who is going to actually "run" all of the data?
-
Ensuring privacy can be difficult. Can I trust other people or institutions with my research participants' data? Am I even allowed to share it?
-
Large datasets can be expensive to transfer. When file sets are in the GB and TB range, network transfers are not immediately trivial or even practical.
-
Valuable research data may often not be shared due to privacy or IRB constraints.
-
"Smart bullies" have demonstrated ability to extract personal information from various aggregated, anonymized datasets. How can we share data without revealing confidential information?
Bottom line--collaborative group research requires a great deal of coordination. Human and business factors can hamper research from happening at a pace that we are able to handle! Constraints may even forbid group research to occur at all.
Let's remove these barriers. The best usage of research data is to apply it everywhere it can be useful. Our strategy enables otherwise "locked-down data" to become useful again.
COINSTAC removes the barriers to collaborative analysis by:
- decentralizing analyses and computation
- each user performs analyses/pipelines/etc all on their own computers. Bits and pieces of each users' output may be sent to a central compute node
- a central compute node performs a complimentary component of the group analysis, generally a Machine Learning algorithm. This node may trigger adjusted computations on users' machines, generally in effort to improve a model, which the research is trying to predict!
- not synchronizing full datasets. instead, synchronizing only resultant analysis metrics
- as previously discussed, central compute nodes aggregate these metrics, and attempt to draw conclusions from the contributor swarm
- because machine learning algorithms can be designed to model outcomes via artifacts of your analysis Pipelines, we keep your data safely and conveniently on your own machine, untouched.
- applying differential privacy strategies to truly anonymize private data, whilst still permitting collaboration.
You may wonder why we haven't been doing this before! Us too. Let's get started!
-
If you are a developer or scientist and want to design a decentralized computation, please see:
- The algorithm development guide for how to build and test your own
Decentralized Computation
.
- The algorithm development guide for how to build and test your own
-
If you would like to run your own COINSTAC remote server or contribute to development, please see the setup instructions.
- Reminder: if you just want to use COINSTAC, please see the Quick Start Guide.
-
We would love for you to contribute to development. Please see our contribution guidelines.
-
Developer documentation and system design information may be found over in our technical docs.
- If you have questions regarding security, please read our security overview.
Binary releases for several platforms can be found here, under each version's assets tab.
COINSTAC is supported by the following grants:
- NSF 1631838/1631819, 1453432, 1539067
- NIH 1R01DA040487, R01MH121246, R01MH121246-02S1, R01DA049238, R01MH120482
MIT. See LICENSE for details.