Course Description


Embedded or “edge” devices with sensors generate a tremendous amount of data every second. Sending these data to the cloud for intelligent decision making by machine learning models consumes energy and imposes undesired latency and cost. Processing the data locally on the edge lowers latency, energy, and cost. This course introduces deep neural network architectures, such as dense, convolutional, and recurrent networks, and their respective applications and training in the cloud. Students then learn to downsize their trained models so they can deploy them for inferencing on microcontrollers running on the edge with power and computation constraints. Students are encouraged to create their own projects drawing from such fields as agriculture, environment, conservation, health, manufacturing, or home automation. Students are expected to have embedded systems knowledge equivalent to 18-349 (Introduction to Embedded Systems). This course is cross-listed as 18-448 and 18-848C.

Instructor


Ziad Youssfi, PhD
Associate Teaching Professor,
Electrical & Computer Engineering,
Carnegie Mellon University
(zyoussfi@andrew.cmu.edu)

Teaching Assistants


  • Chao-Peng Liu
    Master Program,
    Electrical & Computer Engineering
    Carnegie Mellon University
    (chaopenl@andrew.cmu.edu)
  • Yen-Shuo Su
    Master Program,
    Electrical & Computer Engineering
    Carnegie Mellon University
    (yenshuos@andrew.cmu.edu)

Topics


  • Motivation for TinyML or Embedded Machine Learning and its applications
  • Fundamental of Deep Neural Networks for dense and convolutional architectures
  • Machine learning pipeline for embedded systems
    • Data collection, preprocessing, and data engineering
    • Designing and training a model
    • Model conversion concepts for embedded and mobile devices:
      post training and training aware quantization
    • Model deployment to embedded systems
  • Real-time embedded systems optimization
  • Ethics of ML and embedded ML
  • Applications of machine learning pipeline to the following domains:
    • Motion detection using an IMU (inertial management unit) sensor
    • Audio classification using a microphone sensor
    • Computer vision using a camera sensor
    • Anomaly detection using a combination of sensors
  • Sensor fusion

Projects


This course engages students with group driven projects and presentations
Please visit the project summary listing for Spring 2023

Acknowledgment


We acknowledge Edge Impuluse for their donations of Arduino Nano 33 BLE ML kits and the free access to their Design Studio