Federated Learning on FacialExpression Recognition

Project Overview
Facial expression recognition has amajor impact on areas such as mental health, and security monitoring.•However, the sensitivity of facialdata raises privacy problem.•Solution: Federatedlearning.
Technologies
Python, Federated Learning
Everydevice has some data that cannot be shared.••Eachdevice locally trains the model with its own data, generating model updates.••Thesedevices send updates to the model (rather than raw data) to a central server.••Theserver collects all model update information and uses this information toupdate the global model.
Datasets:
Challenges in Representation Learning:Facial Expression Recognition Challenge.•48x48 pixel grayscale image of theface•7 label: 0=Angry, 1=Disgust, 2=Fear,3=Happy, 4=Sad, 5=Surprise, 6=Neutral.
data preprocessing:
Assume each client has 5 images to trainand Train 3 times for each image.
TRAIN_DATA_PER_CLIENT = 5
TRAINING_EPOCHS = 3•Preparetraining data for each client. Make sure Each client has same number of images    x_client_1 = x_train[0 : TRAIN_DATA_PER_CLIENT]
    y_client_1 = y_train[0 : TRAIN_DATA_PER_CLIENT]
    x_client_2 = x_train[TRAIN_DATA_PER_CLIENT : TRAIN_DATA_PER_CLIENT * 2]
    y_client_2 = y_train[TRAIN_DATA_PER_CLIENT : TRAIN_DATA_PER_CLIENT * 2]
    ...
Createdfederated data for each client's data
Model Build:
Deep Convolutional Neural Network Model
TensorFlow Federated Learning
•Convert model to federated model
•Build federated averate process
•Start training
•Test our model with test dataset
Introduction