SLIDE 1
CSCI 5525 Machine Learning Fall 2019
Lecture 11: Neural Networks (Part 3)
March 2nd, 2020 Lecturer: Steven Wu Scribe: Steven Wu
1 Convolutional Neural Networks
We will now study a special type of neural networks–convolutional neural networks (CNN)–that is especially powerful for computer vision. Let us start with the mathematical ideas behind CNN.
1.1 Convolutions
A convolution of two functions f and g is defined as (f ∗ g)(t) =
- f(a) g(t − a)da
The first argument f to the convolution is often referred to as the input, and the second argument g is called the kernel, filter, or receptive field.1 Motivating example from [1]. “Suppose we are tracking the location of a spaceship with a
- sensor. The sensor provides x(t), the position of the spaceship at each time step t. Both x and
t are real valued, that is, we can get a different reading from the lasersensor at any instant in
- time. To obtain a less noisy estimate of the spaceship’s position, we would like to average several
- measurements. Of course, more recent measurements are more relevant, so we will want this to
be a weighted average that gives more weight to recent measurements. We can do this with a weighting function w(a), where a is the age of a measurement.” s(t) =
- x(a) w(t − a)da = (x ∗ w)(t)
In machine learning, we often use discrete convolutions: given two functions (or vectors) f, g: Z → R (f ∗ g)(t) =
∞
- a=−∞
f(a) g(n − a) We often apply convolution over higher dimensional space. In the case of images, we have two-dimensional convolutions: (f ∗ g)(t, r) =
- i
- j
f(i, j) g(t − i, r − j)
1Many things in math and engineering are called kernels.