INTRODUCTION TO DEEP LEARNING FOR BIOLOGISTS
28th September - 1st October 2020
Due to the COVID-19 outbreak, this course will be held online
This course will introduce the theoretical framework and the building blocks behind the development of deep learning models for biological data. The course will focus on the application of Convolutional Neural Network (CNN) architectures to real-world data classification, regression and image segmentation problems. The course will also cover statistical learning in general terms, i.e. how to measure prediction performance, the use of cross-validation, the danger of overfitting and model generalizability.
The course is structured in modules over four days. Each day will include introductory lectures with class discussions of key concepts. The remainder of each day will consist of practical hands-on sessions. These sessions will involve a combination of both mirroring exercises with the instructor to demonstrate a skill as well as applying these skills on your own to complete individual exercises. After and during each exercise, results will be interpreted and discussed in groups.
Target audience and assumed background
The course is aimed at advanced students, researchers and professionals interested in learning what deep learning is and how to develop a deep learning model for applications in biology. It will include information useful for both absolute beginners and more advanced users willing to delve into some aspects of the implementation of deep learning. We will start by introducing general concepts of deep learning presenting a functioning model and then we will progressively describe the main building blocks of a deep learning model and how the internal machinery works. Attendees are expected to have a background in biology and the research problems involving prediction, inference, pattern discovery; previous exposure to predictive experiments would be beneficial. There will be a mix of lectures and hands-on practical exercises using mainly Python, Jupyter Notebooks and the Linux command line. Some basic understanding of Python programming and the Linux environment will be advantageous, but is not required.
At the end of the course the student will have an understanding of:
● the basic theoretical background of deep learning, both in terms of basic building blocks and of commonly used, state-of-the-art architectures
● differences between classification, regression, segmentation, and how to frame a real-world problem in terms of these classes
● the main steps involved in building a deep learning model for prediction problems in biology, comprising how to evaluate prediction accuracy and how to compare and choose different models
● how to use real-world data for statistical learning, comprising data preparation and data augmentation
Presenting Deep Learning (DL): the general picture and a little history
Introducing a working DL model for image recognition
Deconstructing the DL model for image recognition: the building blocks
Input data preparation: preprocessing and augmentation
Cross-validation and performance measures
Building a DL model for biological classification
Meet the assignment data
Build your own DL model on the assignment data
Fine-tuning a deep learning model: impact of Learning Rate and Number of Epochs
Beyond classification: regression and segmentation
What didn’t fit in the course: current state of the art and cool applications
Discussing your own research problems with DL