Embedded Learning Systems
Class abstract: Embedded Systems are the core of state-of-the-art technologies like -but not limited to- smart cars, robotics, space applications, smart homes, biomedical devices, supplychains and many industries. Intelligent systems are becoming crucial and a key tool relying on deep learning methods. This course aims at combining both aspects together to offer edge and end-user reliable real-time solutions. The class will focus on system design top-down approach rather than a bottom up approach typically followed in introductory embedded system classes. Intelligence in systems relies heavily on cloud servers for providing deep learning solutions. However, with security and privacy concerns as well as real-time expectations for many applications, systems would require localizing the process of learning towards end user device or at the edge. State-of-the-art algorithms for applications like face recognition, object identification, and tracking utilize deep learning-based models for learning and inference. The main deciding factors for edge and end-user devices are power, performance, and cost. These devices possess limited bandwidth, have limited latency tolerance, very constrained and require intense privacy most of the time. The technological challenge is further complicated by the fact that deep learning algorithms require computation of the order of tera-operations to train and finally get to the final inference model. Such high computational processing is not practical for edge devices. Since deep learning is necessary to bring intelligence and autonomy to the edge, this class will focus on solutions and methods to bring it to the embedded level domain.
This course would follow these four phases:
Phase I: Introducing different platforms for embedded hardware and how to program them.
Phase II: Introducing Machine Learning with its types and some famous examples
Phase III: Building Embedded Learning Systems
Phase IV: Advanced issues towards a reliable, power efficient and real