Spring 2022

Brown University

Brown University's Deep Learning course acquaints students with the transformative capabilities of deep neural networks in computer vision, NLP, and reinforcement learning. Using the TensorFlow framework, topics like CNNs, RNNs, deepfakes, and reinforcement learning are addressed, with an emphasis on ethical applications and potential societal impacts.

Over the past few years, Deep Learning has become a popular area, with deep neural network methods obtaining state-of-the-art results on applications in computer vision (Self-Driving Cars), natural language processing (Google Translate), and reinforcement learning (AlphaGo). These technologies are having transformative effects on our society, including some undesirable ones (e.g. deep fakes).

This course is there to give students a practical understanding of how Deep Learning works, how to implement neural networks, and how to apply them ethically. We introduce students to the core concepts of deep neural networks and survey the techniques used to model complex processes within the contexts of computer vision and natural language processing.

Throughout the course, we emphasize and require students to think critically about potential ethical pitfalls that can result from mis-application of these powerful models. The course is taught using the Tensorflow deep learning framework.

- A basic programming course: (CSCI 0150, 0170 or 0190)
- A linear algebra course: (CSCI 0530, MATH 0520 or 0540)
- A stats / probability course: (CSCI 0220, 1450, 0450, MATH 1610, APMA 1650 or 1655)

Exceptions may be possible for those missing one of these prerequisites if (a) the student has taken another course which covers similar material, or if (b) the student will be concurrently taking the prerequisite. If either of these situations applies to you, use the “Request Override” feature in Courses@Brown to request an override code (and explain why you believe your situation merits one).

By the end of this course, you will be able to:

- Learn about the fundamental algorithms that underly all modern deep learning models.
- Implement different types of deep learning models in Tensorflow.
- Think critically about using a deep learning model for a task and its potential societal impact.
- Collaborate with classmates on a team project to apply deep learning models to task of your choice.
- Communicate your findings (both positive and negative results are encouraged) through pre- sentations.

None required. Students are encouraged to refer to the following textbook, which is available online:

- Deep Learning, by Ian Goodfellow, Yoshua Bengio, and Aaron Courville.

Lecture slides available at Lectures

No videos available

Assignments available at Assignments

Labs available at labs

Activation FunctionsActor-Critic MethodsAttention (machine learning)AutoencodersAutomatic differentiationBackpropagationClassificationConvolutional neural network (CNN)Deep Q-learningDeepfakeFeedforward neural networkGated recurrent unit (GRU)Generative adversarial network (GAN)Graph neural network (GNN)Graphics Processor (GPU)Interpretation of Neural NetworksLanguage ModelsLinear regressionLong Short-Term Memory (LSTM)Loss functionMNISTMachine TranslationMatrix representation of Neural NetworksMultilayer perceptronOptimizationOverfittingPerceptronPolicy Gradient MethodsRecurrent neural network (RNN)Regularization (mathematics)Reinforcement learning (RL)Scaling Deep Learning SystemsSupervised learningTensorFlowTraining/Validation/TestingTransformer (machine learning model)Unsupervised learningValue iterationVariational autoencoder (VAE)Word Embeddings