Incremental Learning is a key feature when dealing with tiny and embedded devices. Many have claimed that only inference can be performed on embedded devices. At Ekkono, we have built a library that can train and run machine learning algorithms not only on big machines efficiently but also on tiny microcontrollers. All of this directly on the device, with no need for an internet connection, through incremental learning.
Incremental learning consists of training a machine learning model from streaming data to continuously learn over time as more data and insights are being gathered. The model is being built and updated as the data arrives, and predictions are made at any point in time. Traditional machine learning algorithms in an IoT setting would collect data from many different devices to build a generic algorithm that is representative of all devices. However, this requires extra processing on the device to send the data to the cloud or a specific machine. When there is a change in the environment, which can occur frequently, or when some sort of maintenance needs to be performed, data needs to be gathered again, incurring in energy and power consumption costs.
Incremental learning builds a personalized model for each device, without the need to send any data to the cloud. Since the algorithm runs directly on the device, the model is adaptive to the changing environment in real-time.
While the algorithm might be less general, since it is learning from only that device, it is also more accurate since not all devices operate under the same conditions.