Learning core techniques for Ambient AI (Edge AI)
Learning how to implement deep neural networks using TensorFlow 2
Learning how to lighten deep neural networks and doing it using TensorFlow Lite
Learning how to use Ambient AI platforms, such as Google Coral AI and NVIDIA Jetson Nano
Applying these techniques through a group project
A resource-constrained edge computer (e.g., smartphone, coral dev board) used to obtain local information via its sensors, perform simple pre-processing, and deliver the information to the cloud for more serious analysis. However, recent development of lightening techniques for deep neural networks (DNN) and low-cost AI accelerators, such as edge TPU and mobile GPU, results in a new paradigm "Ambient AI." Under Ambient AI paradigm, the edge computer does not have to rely on the cloud anymore but performs "AI computing" locally (e.g., inference through a DNN model by itself). This new paradigm has the potential to enable a variety of AI applications by improving latency, privacy, and network bandwidth.
This course introduces important techniques which enable this paradigm (including those provided by TensorFlow Lite). Students will learn these techniques both through lectures and hands-on experiences. To this end, this course guides students to get familiar with TensorFlow 2 and TensorFlow Lite, teaching them how to implement various DNNs on TensorFlow 2, from MLP and CNN to object detection frameworks. Then students will run TensorFlow 2 and TensorFlow Lite on not only their own computers but also Ambient AI platforms (just smaller Linux computers), such as Coral dev boards and Jetson Nano. In terms of application, this course will introduce computer vision but project topics do not have to be limited to this.
Grading
Attendance 10%, Assignments 50%, Final project: 40%
Location
Offline and Video
Prerequisite
Basic knowledge on machine/deep learning
Intermediate level of Python programming
Warm/active heart to collaborate with peers
01. Quick review - Machine learning, Deep learning, and CNN
02. Platforms (1) - Introduction to TensorFlow and Implementation of an MLP
03. Platforms (2) - Implementation of a basic CNN on TensorFlow
04. Lightweight 2D object classification
05. Platforms (3) - Implementation of a complex CNN on TensorFlow
06. Model adaptation - Transfer learning
07. Platforms (4) - Implementation of transfer learning
08. 2D object detection
09. Platforms (5) - Implementation of an object detection model on TensorFlow
10. DNN Lightening - Quantization, Pruning, and Knowledge distillation
11. Platforms (5) - Lightening a DNN on TensorFlow Lite
12. Edge-included AI Systems
13. Platforms (6) - 2D object detection on Google Coral boards
14. On-device learning - Federated learning
15. Platforms (7) - Federated learning on edge devices
There will be 8 classes for hands-on experience and corresponding 7 programming assignments. Along with the hands-on classes, these assignments are designed for GSDS students to step beyond mathematical understanding of DNN: playing with and manipulating DNN models more freely!
Free topics with edge devices! This course is mainly for data science students who have various academic backgrounds. Ideally, each project group is expected to have members from diverse backgrounds (e.g., math, computer, and psychology). I believe that having experience on interdisciplinary collaboration can help students to be useful data scientists in practice.