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 deep-learning

Looking for Beta Testers!

We are currently looking for volunteers to test this lesson! If you would like to teach this lesson in a pilot workshop, please let the lesson developers know by opening a new issue on the lesson repository or posting to the #machine_learning Slack channel on The Carpentries Slack. We would love to help you prepare to teach the lesson and receive feedback on how it could be further improved, based on your experience in the workshop.

This is an hands-on introduction to the first steps in Deep Learning, intended for researchers who are familiar with (non-deep) Machine Learning.

The use of Deep Learning has seen a sharp increase of popularity and applicability over the last decade. While Deep Learning can be a useful tool for researchers from a wide range of domains, taking the first steps in the world of Deep Learning can be somewhat intimidating. This introduction aims to cover the basics of Deep Learning in a practical and hands-on manner, so that upon completion, you will be able to train your first neural network and understand what next steps to take to improve the model.

We start with explaining the basic concepts of neural networks, and then go through the different steps of a Deep Learning workflow. Learners will learn how to prepare data for deep learning, how to implement a basic Deep Learning model in Python with Keras, how to monitor and troubleshoot the training process and how to implement different layer types such as convolutional layers.

Computer Applications in Archaeology Workshops 2023

In April 2023 the Computer Applications and Quantitative Methods in Archaeology (CAA) Conference was held in Amsterdam. In the context of this conference the introduction to deeplearing workshop was held twice.

The workshop is based on this training material and has been adapted for and archaeological audience. The data that has been used for this workshop has been derived from the excavation activities that were performed between 2003 and 2012 for the construction of Rokin metrostation for the North/South metro line. These activties produced a datasets of more than 135.000 records of more than 700.000 artefacts at can be downloaded here. An interactive (and very fancy) website where a subset of the artefacts can be browsed through can be found here.

Please note that the main aim of our workshop is to teach the basics of deep learning. We therefore made a couple arbitrary of choices to simplify the data and the analysis.

Prerequisites

Learners are expected to have the following knowledge:

  • Basic Python programming skills and familiarity with the Pandas package.
  • Basic knowledge on Machine learning, including the following concepts: Data cleaning, train & test split, type of problems (regression, classification), overfitting & underfitting, metrics (accuracy, recall, etc.).

Schedule

Setup Download files required for the lesson
00:00 1. Introduction What is Deep Learning?
When does it make sense to use and not use Deep Learning?
When is it successful?
What are the tools involved?
What is the workflow for Deep Learning?
Why did we choose to use Keras in this lesson?
00:55 2. Classification by a Neural Network using Keras What is a neural network?
How do I compose a Neural Network using Keras?
How do I train this network on a dataset?
How do I get insight into learning process?
How do I measure the performance of the network?
02:05 3. Monitor the training process How do I create a neural network for a regression task?
How do I monitor the training process?
How do I detect (and avoid) overfitting?
What are common options to improve the model performance?
05:40 4. Advanced layer types Why do we need different types of layers?
What are good network designs for image data?
What is a convolutional layer?
How can we use different types of layers to prevent overfitting?
07:20 Finish

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