Week 7 – Convolutional Neural Networks (CNNs)

https://opencourse.inf.ed.ac.uk/MLP

 

Week 7

Teaching week commencing: 02-Nov-2026

Key topics: Convolutional Neural Networks (CNNs)

 

Reading guide

Goodfellow et al, chapter 9

Michael Nielsen, Neural Networks and Deep Learning (ch 6)

Yann LeCun et al, “Gradient-Based Learning Applied to Document Recognition”, Proc IEEE, 1998.

Optional Reading on CNNs: 

 

Lecture materials

Scripted recording: Convolutional Neural Networks (1),  Convolutional Neural Networks (2)

This recording was produced in a previous year. The corresponding lecture content has since changed significantly, so the recording should be treated as supplementary material. References to course logistics are out of date.

 

Slides: MLP 26-26 Convolutional Neural Networks + MLP 25-26 Handcrafting a CNN + [Add-on] Comparing a CNN and FNN & Logic Operations (see below).

 

Practical materials

Labs: Lab6 (the branch for Lab6 also updates the files for Lab5  so that they include the solutions)

 

 

Milestones: Getting to craft some Neural Nets in-class :)

Expected Effort Estimate: 7 hours

  • Attendance/Timed Events
  • Lab - 1 hour
  • Recordings - 1 hour
  • Discussion/Lecture - 1 hour
  • Study - 3 hours ( +1 hour for PyTorch Lab component)

"Study" can include extra time working on labs, suggested reading, and Piazza. The Labs (from Week 2 and on) are generally a good starting point as they also test your understanding of the material.

(Semester 1 Total Expected Effort <= 82 hours = 67 hours studying + max 15 hours coursework) [The standard guidelines are 10 credits = 100 hours, so we plan for less to allow for a range of needs].

 

Extra [Thinking like an Engineer] - What is Artificial Intelligence?

 

Slides: What is Artificial Intelligence? (see below)

 

In studying Machine Learning (ML) and Artificial Intelligence (AI), it’s easy to get lost in the details—the theory, mathematics, and programming. To help you see the forest instead of just the trees, let’s simplify AI to its core idea:

AI is fundamentally about automating information processing.

Think of it this way:

  1. Specified information comes in—this input must be consistently defined.
  2. Processing happens—imagine this as a “black box” that transforms the input.
  3. Specified information comes out—again, consistently defined.

Often, this processing step might repeat or feed into another process (like in Reinforcement Learning). By adopting this simple, structured view of ML/AI, you can better analyse both the literature and the problems you encounter, focusing on what processing is taking place or needed.

A problem might call for a single ML task, like an end-to-end solution (e.g., image classification), or it might require breaking down the problem into a system involving several ML tasks and other processes. For instance, imagine designing a chat-bot that also runs a separate AI profanity filter or a control system that runs a different process depending on a classifier over user input.

Once you identify these sub-tasks, you can start proposing and critiquing solutions. Each sub-process could influence the design requirements of other parts of your system. By understanding the parts, it’s easier to question assumptions and refine design choices.

Let’s put this thinking into practice.

Consider the following:

  • When faced with a new problem, is your first instinct to Google a paper that solves the exact same problem?
  • That’s useful, but start instead by breaking down your problem. Identify its components, and think of similar problems you know of.
  • Then look for solutions to these smaller parts. Can you build a solution from pieces that already exist?

Practice Scenario (hypothetical, remember real-life ethical and legal considerations apply):

Imagine you live in a shared space, and someone has been stealing milk. You have access to a camera feed pointed at the fridge. You want an alarm to sound when someone takes milk that doesn’t belong to them.

Challenge: Design an AI system to solve this.

This problem is certainly different from what you might easily encounter in the published literature, but you can break it down into sub-processes. Identify these parts and find existing technology to handle each one. What approach could work?

License
All rights reserved