A framework that exploits the potentials of distributed federated learning and double deep Q-networks to minimize joint energy and delay in IoT networks
- train local models
- upload models to aggregation unit (we use FedAvg for aggregation purpose)
- models are aggregated together, and global model is obtained
- all local models would be updated with the parameters of global model
- select a task from task queue
- choose an offloading decision (action) whether randomly or by using online network
- calculate the reward/cost of action by optimizing transmit power (in case of offloading) or local computation resource allocation (if local computation is selected) and feed it as cost funtion to the RL agent
- if the task is processed before its acceptable deadline then the task is successfully processed and is removed from task queue, otherwise task is a failure and remains in the task queue to be processed under another action
- the local training is done when task queue is empty
Pandas, Numpy, Keras, Scipy, Matplotlib