This lesson is being piloted (Beta version)
If you teach this lesson, please tell the authors and provide feedback by opening an issue in the source repository

Introduction to artificial neural networks in Python

This lesson gives an introduction to artificial neural networks. We begin by an outlining an important application of machine learning in healthcare: the development of algorithms for classification of chest X-ray images. During the lesson we explore how to prepare and visualise data for algorithm development, and construct a neural net that is able to classify disease.


You need to understand the basics of Python before tackling this lesson. The lesson sometimes references Jupyter Notebook although you can use any Python interpreter mentioned in the Setup.

Getting Started

To get started, follow the directions on the “Setup” page to download data and install a Python interpreter.


Setup Download files required for the lesson
00:00 1. Introduction What kinds of diseases can be observed in chest X-rays?
What is pleural effusion?
00:30 2. Visualisation How does an image with pleural effusion differ from one without?
How is image data represented in a NumPy array?
01:00 3. Data preparation What is the purpose of data augmentation?
What types of transform can be applied in data augmentation?
01:30 4. Neural networks What is a neural network?
What are the characteristics of a dense layer?
What is an activation function?
What is a convolutional neural network?
02:00 5. Training and evaluation How do I train a neural network?
02:30 6. Explainability What is a saliency map?
What aspects of an image contribute to predictions?
03:00 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.