Lecture 10 - Convolutional Networks

This lecture gives an overview of convolutional layers, including the basic premises of convolutions and how they are incorporated into deep networks, plus a discussion of many of the practical elements involved with convolutions. We then discuss how to compute derivatives of convolutional layers, so as to incorporate them into automatic differentiation tools. Sign up for the course for free at https://dlsyscourse.org. Outline: 00:00:00 - Introduction 00:01:49 - The problem with fully connected layers 00:05:01 - How convolutions "simplify" deep networks 00:07:13 - Advantages of convolution 00:10:02 - Convolutions in detail 00:13:47 - Convolutions in image processing 00:18:37 - Convolutions in deep networks 00:21:47 - Multi-channel convolutions in matrix-vector form 00:27:15 - Padding 00:28:48 - Strided convolutions / padding 00:33:30 - Grouped convolutions 00:35:52 - Dilations 00:41:16 - What is needed to differentiate convolutions? 00:43:37 - Refresher on differentiating matrix multiplication 00:46:48 - Convolutions as matrix multiplication: Version 1 00:54:30 - The adjoint of a convolution 01:00:00 - Convolutions as matrix multiplication: Version 2