DS4440 // practical neural networks // spring 2019
Course details
Byron Wallace
Office: 923 177 Huntington
Office hours: Thursdays 1:30--2:30 (after class) or by appointment.
Jay DeYoung deyoung.j@husky.neu.edu Office hours: Wednesdays 3:30-5:30 177 Huntington 9th conf room (905)

MR 11:45-1:25 / Hastings Suite 118 RY (Ryder Hall) 159

Here is a link to the course Piazza site.
Books & Resources

Dive into Deep Learning
This is the main book that we will rely on for readings. It is online and free.

Other books of interest:
Deep Learning with Python
Francois Chollet
ISBN-10 1617294438f

Neural Network Methods for Natural Language Processing
Yoav Goldberg
ISBN-10 1627052984

Course description

This course is a hands-on introduction to modern neural network ("deep learning") tools and methods. The course will cover the fundamentals of neural networks, and introduce standard and new architectures: from simple feed forward networks to recurrent neural networks. We will cover stochastic gradient descent and backpropagation, along with related fitting techniques.

The course will have a particular emphasis on using these technologies in practice, via modern toolkits. We will specifically be introducing (1) Keras (together with TensorFlow) and (2) PyTorch, which are illustrative of static and dynamic network implementations, respectively. Applications of these models to various types of data will be reviewed, including images and text. This iteration will have a bit of a bias toward the latter, reflecting instructor biases.

We will use a collection of (mostly online) resources for references and readings. Many of the course readings are from the very nice (and quite recent) Dive into Deep Learning" online book. A note here is that this book presents code in the mxnet framework, which we will not `officially' be covering. However, a key objective in this class is to provide sufficient familiarity with the methods and programming paradigms such that switching to new frameworks is no great obstacle. This is particularly important given the rapid pace of development in the deep learning toolkit space.

5%In class exercises
40%Final project

Prior exposure to machine learning is recommended, and enforced through a co-req with ML. Working knowledge of Python required (or you must be willing to pick up rapidly as we go). Familiarity with linear algebra, (basic) calculus and probability will be assumed throughout.


Homeworks will consist of both written and programming components. The latter will be completed in Python, using the Keras/TensorFlow and PyTorch frameworks.

Late Policy. Homeworks that are one day late will be subject to a 20% penalty; two days incurs 50%. Homeworks more than two days late will not be accepted.


The mid-term will be given in class, and will be testing for understanding of the core material presented in the course regarding the fundamentals of neural networks, including backpropagation, as well as differences between and applicability of the architectures introduced.


A big component of this course will be your project, which will involve picking a particular dataset on which to implement, train and evaluate neural models. Collaboration is allowed (team sizes should be <= 3, however). This project will be broken down into several graded deliverables, and culminate in a report and final presentation in class to your peers.

Here is an outline of the project expectations, etc.

Academic integrity policy

A commitment to the principles of academic integrity is essential to the mission of Northeastern University. The promotion of independent and original scholarship ensures that students derive the most from their educational experience and their pursuit of knowledge. Academic dishonesty violates the most fundamental values of an intellectual community and undermines the achievements of the entire University. For more information, please refer to the Academic Integrity Web page.

More specific to this class: It is fine to consult online resources for programming assignments (of course), but lifting a solution/implementation in its entirety is completely inappropriate. Moreover, you must list all sources (websites/URLs) consulted for every homework; failing to do so will constitute a violation of academic integrity.

Shedule outline

MeetingTopic(s)readingsthings duelecture notes
1/7Course aims, expectations, logistics; Review of supervised learning / Perceptron / intro to colab d2l: Introduction / Tensor arithmetic basicsjoin the Piazza site!Intro slide deck; Notes; Notebook
1/10Linear Regression and Estimation via SGDd2l: Linear regressionNotes; Notebook
1/14Beyond Linear Models: The Multi-Layer Perceptrond2l: MLPsNotes; An aside on metrics; Notebook: metrics and evaluation; Notebook: MLPs/non-linear models
1/17Abstractions: Layers and Computation Graphsd2l: Layers and blocksHW 1 Due!Notes; Notebook: Computation graphs
1/21No class (MLK day)
1/24Backpropagation Id2l: Backprop; and a take from Colah's blogNotes; Notebook
1/28Backpropagation IINotes; Notebook
1/31Optimization wrap-up / Embeddingsd2l: Word embeddingsNotes; Notebook on optimizers; Notebook on regularizers (from TF docs)
2/4Embeddings (wrap-up) / Convolutional Neural Networks (CNNs) Id2l: CNNsNotes on embeddings; Intro notes on ConvNets; Notebook: embeddings
2/7Convolutional Neural Networks (CNNs) IId2l: CNNsHW 2 Due!Notes; Notebook
2/11Recurrent Neural Networks (RNNs) IRNNs /The Unreasonable Effectiveness of RNNsNotes; Notebook (modified from TF official docs)
2/14Recurrent Neural Networks (RNNs) IIRNNs /Colah: Understanding LSTMsNotes (from Jay!)
2/18No class (President's day)HW 3 Due! Now by midnight, 2/26!!!
2/21Neural Sequence TaggingCollins on MEMMs and CRFsNotes; Notebook
2/25Mid-Term ReviewReview Q's
Spring break!
3/11Sequence-to-Sequence Models Id2l: Encoder-Decoder (seq2seq)seq2seq notes; Notebook
3/14Sequence-to-Sequence Models II / Attentiond2l: Attention (d2l); and a nice write-upProject proposals due!!Notes; Notebook
3/18Summarization ModelsSlides (from Jered!); and a Notebook
3/21Auto-Encoders/Variational Auto-Encoders (VAEs)Auto-encoders; Intuitive VAEsNotes; Notebook
3/25Generative Adversarial Networks (GANs)Original GAN paper (Goodfellow et al.)HW 4 Due!Notes; Notebook
3/28Deep Reinforcement Learning IIntro to deep RLNotes; Notebook
4/1Deep Reinforcement Learning IIIntro to deep RLNotes; Notebook
4/4Ethics, Fairness, Robustness, and Other ConcernsSlides; Mitigating bias in word embeddings notebook; Intro to fairness notebook; An accidentally racist sentiment classifier
4/8Final project presentations/discussion I
4/11Final project presentations/discussion II
4/15No class -- President's dayFINAL PROJECT WRITE-UPS DUE!

HTML/CSS/JS used (and modified), with permission, courtesy of Prof. Alan Mislove