Teaching
Deep Learning for Healthcare AI
Deep learning for medical images, electronic health records, clinical text and genomics, with multimodal and generative models, interpretability, ethics and privacy. I thank Professor Serena Yeung (Stanford) for many of the course materials.
- Lec 1Introduction
- Lec 2Medical Images Classification
- Lec 3Classification and Segmentation
- Lec 4Advanced Vision Model for Medical Imaging
- Lec 5Electronic Health Record Intro
- Lec 6EHR: RNN, LSTM
- Lec 7Text Representation: Transformer and BERT
- Lec 8Multimodal Model and Contrastive Learning
- Lec 9More on Transformer: GPT & CLIP
- Lec 10Genomics
- Lec 11Unsupervised & Reinforcement Learning
- Lec 12Interpretability and AI Ethics
- Lec 13Federated Learning & Privacy
Cloud Computing
Modern AI cloud systems: AI data centers, networks and software. The course is taught with AI-assisted tools; see Learning with AI: Strengthening Computing Education in an AI-Shaped World.
Convex Optimization and its Applications in Computer Science
Theory, algorithms and software of convex optimization: cone programming (linear, quadratic and semidefinite programming) and geometric programming; decomposition, convex relaxation and proximal algorithms for large-scale and non-convex problems. Applications are drawn from graphs, Internet and wireless networks, social networks, machine learning and artificial intelligence. Textbook: S. Boyd and L. Vandenberghe, Convex Optimization, Cambridge University Press, 2004. Software: CVXPY (Stanford).
I thank Professors Stephen Boyd (Stanford), Mung Chiang (Princeton) and Steven Low (Caltech) for many of the course materials.
- Lec 1Introduction
- Lec 2Convex Functions and Sets; Solving Inequalities
- Lec 3Convex Optimization and Lagrange Duality; Disciplined Convex Programming and CVX (slides from Boyd's EE364a)
- Lec 4Linear and Quadratic Programming; CVXPY Software Demo
- Lec 5Applications of Least-Squares
Reading: S. Teng, Scalable Algorithms for Data and Network Analysis, FnT TCS, 2016.
- Lec 6Unconstrained Optimization Algorithms
- Lec 7Primal and Dual Decomposition: Theory and Distributed Algorithms
- Lec 8Internet Network Utility Maximization
Reading: S. Shakkottai and R. Srikant, Network Optimization and Control, FnT Networking, 2007; S. Low, FAST TCP and Layering as Optimization Decomposition, Cambridge tutorial 2011 (video 1, video 2).
- Lec 9Constrained Optimization Algorithms; Open-Source Optimization Solvers
Reading: A. Forsgren, P. Gill and M. H. Wright, Interior Methods for Nonlinear Optimization, SIAM Review, 2002; S. Boyd, Domain-specific Languages for Convex Optimization, 2017 (video).
- Lec 10Geometric Programming; Disciplined GP
Reading: M. Chiang, Geometric Programming for Communication Systems, FnT Communications and Information Theory, 2005.
- Lec 11Wireless Network Optimization
Reading: C. W. Tan, Wireless Network Optimization by Perron-Frobenius Theory, FnT Networking, 2015.
- Lec 12Semidefinite Programming
Reading: L. Vandenberghe and S. Boyd, Semidefinite Programming, SIAM Review, 1996.
- Lec 13Proximal Algorithms; Applications by ADMM
Reading: N. Parikh and S. Boyd, Proximal Algorithms, FnT Optimization, 2014; S. Boyd et al., Distributed Optimization and Statistical Learning via ADMM, FnT Machine Learning, 2010.
- Lec 14Optimization Methods for Nonconvex Problems
Reading: Y. LeCun, Y. Bengio and G. Hinton, Deep Learning, Nature, 2015; F. Bach et al., Optimization with Sparsity-inducing Penalties, FnT Machine Learning, 2011.
- ReviewRevision Lecture and project demo
Artificial Intelligence: Past, Present, Future
A general-audience course on the history and ideas of AI, from logic to machine learning and chatbots.
- IntroCourse Introduction
- Lec 1Birth of AI
- Lec 2Mathematical Logic in AI
- Lec 3AI Games
- Lec 4AI Games and Search
- Lec 5Maze-Solving and Retros
- Lec 6Human-assisted Computation
- Lec 7Robots
- Lec 8AI Chatbots
- Lec 9Neural Network Applications
- Lec 10Automated Reasoning
- Lec 11Machine Learning
- Lec 12Deep Learning
Digital Logic and Computer Organization
Data Structures
- IntroIntroduction
- Lec 1Complexity
- Lec 2Recursion and Binary Search
- Lec 3Linked List, Stack, Queue
- Lec 4Bubble and Insertion Sort
- Lec 5Divide and Conquer, Merge Sort
- Lec 6Quick Sort
- Lec 7Heap and Radix Sort
- Lec 8Hash Map
- Lec 9Binary Search Tree
- Lec 10AVL Tree, Stern–Brocot Tree
- Lec 11Permutations, Disjoint Sets, Kruskal's Algorithm
- Lec 12Revision