| In recent years,with more and more attention to user data privacy,relevant regulations and laws have been issued,which brings great challenges to the implementation of data-driven machine learning applications.Federated learning has the important feature of protecting data privacy,so it has been widely studied by scholars at home and abroad.However,the high communication cost hinders the implementation of federated learning applications.Focusing on this problem,the main work of this thesis includes the following three aspects:1.Aiming at the high communication cost in federated learning,a federated learning algorithm based on generative model and deep transfer learning called FedGT(Federated Generated Transfer)is proposed,which reduces the number of communication rounds of federated learning to one.The algorithm mainly includes the following three steps: 1)The client uses the generative model to build the simulated dataset,and then sends the simulated dataset to the server;2)The server combines the simulated datasets from each client,then uses the combined dataset to build a global predict model,and then sends the global predict model to each client;3)After receiving the global predict model,each client uses local data to fine tune the model to get the final personalized model.When the number of clients is 10,comparative experiments with multiple baseline algorithms are carried out on MNIST,FMNIST and CIFAR-10 datasets.The results show that FedGT can reduce the amount of communication data to 1 / 10 to 1 / 100 of the baseline algorithm.2.Aiming at the problem of reducing the accuracy of FedGT in the case of a large number of clients,a federated learning algorithm called FedGA(Federated Gradient Accumulate)is proposed,which needs multiple rounds of communication.The algorithm overcomes the disadvantage of FedGT and reduces the communication cost by reducing the number of communication rounds.The algorithm consists of the following three steps: 1)The client updates the model parameters with the local data,and then sends the updated model parameters to the server;2)The server receives the model parameters from each client and aggregates them to obtain the global model parameters,and then sends the global model parameters back to each client;3)Repeat step 1 and step 2 until the iteration is completed,and then the client uses the local data to fine tune the global model to obtain the final personalized model.When the number of clients is 100,comparative experiments with multiple baseline algorithms are carried out on MNIST,FMNIST and CIFAR-10 datasets.The results show that the number of communication rounds required by FedGA is 1 / 3 to 1 /4 of that of the baseline algorithm.3.Aiming at the difficulty of image classification and retrieval on mobile devices,and in order to verify the performance of the proposed algorithm in the real federated learning application,a mobile federated learning application is designed and developed,which uses federated learning technology to overcome the problems of too little local data and insufficient computing resources of mobile devices.The application uses FedGA as the model training framework,which can automatically classify the pictures on mobile devices.The overall architecture is the client-server architecture.The client program is developed based on the Android system,and TensorFlow.js is used for model training and inference.The server program uses the Flask framework to provide HTTP services.By showing the usage of each main interface,it is verified that the application can realize automatic image classification through federated learning technology. |