Distributed Deep-learning DID-acts
This repo has been forked from Hyperledger Aries Cloud agent link provided by British Columbia Government.
We have created a set of agents that can be run using docker to experiment with a federated deep learning scenario using didCOMM to pass secure messages between the participants - e.g. the ML model parameters. Furthermore the scenario explores using credentials so that participants can verify that who they are communicating with. In the example this is verifying a hospital is indeed a hospital and a researcher has been accredited by a regulator. However the credentials abnd issuers within this use case could be adapted to any ecosystem.
The agents connect, by default, to the BC government development instance of Hyperledger Indy ledger link.
To run the scenario:
git clone [email protected]:diffusioncon/Distributed-Deep-Learning-Sovrin.git
cd demo
- Start the NHS Trusted agent.
./run_demo nhsheadoffice
- Start one of the hospitals.
./run_demo hospital1
-
Use NHS's invitation URL to connect the hospital to it.
-
Trust requests proof of hospitals name (Self attested)
-
NHS Trust issue verified hospital credential to the Hospital.
- Start the Coordinator.
./run_demo coordinator
- Start the regulator.
./run_demo regulator
-
Follow the on-screen menu on the coordinator (4) to input connection url from the regulator.
-
Follow the on-screen menu to Issue a credential from the Regulator to the Coordinator.
The researcher validates the hospital's credential. The hospital validates the researcher's accreditation. The training procedure starts.
-
Follow the on-screen menu on the Coordinator (3) to create New Invitation for the hospital.
-
Follow the on-screen menu in the hospital terminal to accept the new invitation link from the coordinator, and connect to it.
-
Follow the on-screen menu so the coordinator can check the hospital's credentials. If proof is valid, the coordinator adds this hospital to the list of the trusted connections.
-
Follow the on-screen menu to check from the hospital terminal, the coordinator's credentials.
-
After the hospitall has been added to the coordinator's trusted list, can be start the training process by accepting the model from the coordinator, trains the model, and sends back the updated model (updated model parameters) to the coordinator. Afterwards, coordinator sends the new updated model to the next hospital to continue the training until the full training procedure has been completed.
Will Abramson
Adam James Hall
Pavlos Papadopoulos