From 2dab60acc67d6c9f00d42cdb0ee7fc1a8342542a Mon Sep 17 00:00:00 2001 From: mollyk Date: Mon, 11 Dec 2023 15:00:10 +0200 Subject: [PATCH] Create FederatedAveraging.md (#471) * Create FederatedAveraging.md --- .../algorithms/FederatedAveraging.md | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 documentation/algorithms/FederatedAveraging.md diff --git a/documentation/algorithms/FederatedAveraging.md b/documentation/algorithms/FederatedAveraging.md new file mode 100644 index 000000000..c1af1fe41 --- /dev/null +++ b/documentation/algorithms/FederatedAveraging.md @@ -0,0 +1,23 @@ +## Federated Averaging + +#### Some General Remarks + +The general architecture of Exareme 2 follows a Master/Worker paradigm where many Workers +, operating in multiple locations, are coordinated by one Master. Only Workers +are allowed access to the anonymized data in each location and the Master only +sees aggregate data, derived from the full data and sent to him by the Workers. + +Our naming convention is that procedures run on Workers are given the adjective _local_ +whereas those running on Master are called _global_. + +In this premise, we implement federated averaging by building the models locally, using +state-of-the-art Python libraries, such as scikit learn and then averaging the parameters +on the global node. + +#### Algorithm Description + +This algorithm aggregates the parameters of the local models and returns their average. + +

Algorithm Implementation

+ +[FedAvg](../../exareme2/algorithms/in_database/fedaverage.py)