Shortly, every human will be served by hundreds or thousands of sensing, decision making, and actuating machines. These smart things will be connected to each other, and the rest of the world, but for the many that operate on battery power, communication will impose severe energy consumption penalties. Local computation will need to convert sparse data to dense information and many decisions will be made locally. This implies new approaches to the design of machine learning algorithms and hardware, in which energy efficiency joins accuracy as a central optimization objective, and the communication and computation implications of partitioning machine learning algorithm components among embedded systems and higher-performance servers must be explicitly considered.
This tutorial will cover recent developments in IoT machine learning systems including new applications and methods of constructing and using system models. These developments span the network, from edge to cloud. In addition, we will describe specific algorithmic and hardware developments enabling advances at each level: from edge, to network, to cloud. For example, we will describe neural network compression techniques appropriate for operation in resource-constrained environments near the edge of the network. Custom and semi-custom hardware architecture designed specifically for deeply embedded machine learning will be described, and the differences between architectures appropriate for edge and cloud will be contrasted. Each speaker has published novel research in the area or developed commercial products that overcame the challenges peculiar to the embedded machine learning domain.