1 Introduction
With the ever-growing computation capability and the extensive adoption of mobile devices (e.g., smartphones, wearable medical devices, sensory equipment) in today's era of Internet-of-Things, an astronomical amount of data are generated daily over the network. According to a recent survey of Cisco, IoT devices will account for 50% (14.7 billion) of all global networked devices by 2023 [1]. Each edge device is producing massive amount of data every year, which can be naturally leveraged by user-interactive applications driven by machine learning techniques. Typically, a machine learning model is trained in a centralized fashion where a datacenter gathers input data from all the participating edge devices. As one might anticipate, this is not a suitable method of model training for edge devices due to privacy sensitivity of user data and communication burden incurred by transferring massive raw data.