Learn the most modern techniques for supervised learning, used in common applications such as facial recognition, speech recognition, and self driving cars. This course will also provide students with a linux server with GPU acceleration to run their algorithms. Topics include regression, test classification, convolutional image recognition, and more.
- This course gives students access to professional research grade hardware, including compute servers such as a 16 core server with 128GB RAM, terabytes of fast storage, and research grade graphics processors such as the Titan X Pascal GPU
- This course also teaches students how to use linux tools and the CUDA + GPU accelerated python research environment, using Tensorflow-GPU 1.4, Keras 2.1.4 - tools compiled with lubcudnn 6 and 7
- Course material draws from recent academic research published in the last 2-5 years, including deep networks, single shot detection, convolutional or vectorizated models for language, as well as (time permitting) demo projects featuring AlphaZero Go and GAN inspired sequence to sequence learning.
When students move from CS82 to CS84, their focus shifts to getting the best possible model accuracies on real world data. Half the homework involves using pre-formatted data sets, while the second half involves students finding their own data sets. Students taking CS84 apply neural networks to text, images, and other data. Because the course is applied, much of CS84 involves the practice of parsing data and preparing it for use on research servers. This includes the mastery of linux command line tools, as well gaining a familiarity with different formats for data such as comma separated files, JSON APIs, and all sorts of image file types. Although the models are written in python, the class overall is language agnostic, as students pick up different tools to most effectively deal with different data. Indeed, students are expected to become proficient in the entire research lifecycle, from coming up to a hypothesis to explaining their model results.
This course no longer uses Theano, and students will model primarily with the Keras deep learning library backed by Tensorflow.
Completion of CS01b or AP CS, or permission of instructor. Also requires Algebra II math experience. CS82 highly recommended but not required.
1 project per half semester.
Included for Online Classes
A Virtual Machine is a remote desktop that allows
students to connect to it from anywhere. We provide VMs so that
students use it during classes and to work on homework.
recordings of our classes for if a student misses or needs to
re-listen to a class.
Students will get
personalized progress reports and feedback from the instructor