Practical Deep Learning and Computer Vision with Python

Overview

Deep learning is the dominant machine learning technique underpinning capabilities in robotics, natural language processing, image recognition and video analysis. It enables machines to perform classification tasks at the rates of reliability far greater than those observed in humans. It has been shown to outperform world champions in games such as AlphaGo. The aim of this course is to provide an introduction to programming for deep learning, using the Python programming language and accompanying libraries. The course seeks, first, to introduce the basics of deep learning, from collecting data, pre-processing it (cleaning/correcting it) to modelling, evaluating and optimising neural networks and then tackling real-world problems including computer vision, natural-language processing, image classification and video analysis.

The focus will be on tools, methods and hands-on programming rather than diving into the theoretical basis, in order to be appreciated by participants with a minimal mathematical background.

Experience of using a programming or scripting language will prove beneficial to you, but is not essential for the course. The basic elements of programming using the Python programming language will be introduced and clearly demonstrated in class.

In order to complete the assignment (and in order to get the full benefit from the course) students will need access to a computer capable of running the open source software used in the course and access to the Internet. A limited amount of class time will be allocated to working on the class assignment, so students should ensure that they have access to a computer outside of class.

Programme details

Courses starts: 24 Sept 2022

Week 0:  An Introduction to Teams – Course orientation

Week 1:  Mathematical Preliminaries: Multivariable analysis; Linear Algebra; Mathematical Optimisation

Week 2:  Python Fundamentals: NumPy; SciPy; Matplotlib; Pandas

Week 3:  Perceptron and Adaline: theory and implementation in Python

Week 4:  Feed forward neural networks

Week 5:  Tensorflow with Keras

Week 6:  Convolutional Neural Networks

Week 7:  Recurrent Neural Networks

Week 8:  Generative Adversarial Neural Networks

Week 9:  Computer vision I: Image analysis with OpenCV + Final Assignment

Week 10:  Computer Vision II: Video analysis with OpenCV + Final Assignment

Certification

Students who register for CATS points will receive a Record of CATS points on successful completion of their course assessment.

To earn credit (CATS points) you will need to register and pay an additional £10 fee per course. You can do this by ticking the relevant box at the bottom of the enrolment form or when enrolling online.

Coursework is an integral part of all weekly classes and everyone enrolled will be expected to do coursework in order to benefit fully from the course. Only those who have registered for credit will be awarded CATS points for completing work at the required standard.

Students who do not register for CATS points during the enrolment process can either register for CATS points prior to the start of their course or retrospectively from the January 1st after the current full academic year has been completed. If you are enrolled on the Certificate of Higher Education you need to indicate this on the enrolment form but there is no additional registration fee.

Fees

Description Costs
Course Fee £302.00
Take this course for CATS points £10.00

Tutor

Dr Mcebisi Ntleki

Dr Ntleki obtained his DPhil in Oxford on a topic in computational biolinguistics.  He has taught courses in mathematics, statistics and statistical programming using medium size and large data sets arising in medical research: sequential MCMC, using R, and Deep learning and computer vision using Python.

Course aims

1. To learn the basic aspects of Python programming and the accompanying libraries for deep learning.

2. To learn to tackle real-world problems including computer vision, natural-language processing, image classification,  and video analysis.

Course Objectives:

  • You’ll have a solid understand of what deep learning is, when it’s applicable, and what its limitations are.
  • You’ll be familiar with the standard workflow for approaching and solving machine-learning problems.
  • You’ll know how to address commonly encountered issues.

Teaching methods

Each week's session will consist of lectures and hands-on programming exercises, class discussions and interactive programming demonstrations by the lecturer.

Learning outcomes

At the end of the course the student will be able to write procedural code using the Python programming language and additional libraries to:

  • Import data from remote sources and preprocess it.
  • Extract significant information from the gathered data.
  • Visualise the relevant features extracted from the data.

They will become familiar with the variety of architectures for deep neural networks, including ingredients such as types of nonlinear transforms, pooling, convolutional and recurrent structures, and how neural networks are trained.

Assessment methods

Students will be asked to complete a capstone project for their coursework assignment. Two hours of class time will be allocated to complete the capstone project.

In order to complete the assignment (and in order to get the full benefit from the course) students will need access to a computer capable of running the open source software used in the course and access to the Internet. Only a limited amount of class time will be allocated to working on the assignment, so students should ensure that they have access to a computer outside of class.

Students must submit a completed Declaration of Authorship form at the end of term when submitting your final piece of work. CATS points cannot be awarded without the aforementioned form.

Application

We will close for enrolments 7 days prior to the start date to allow us to complete the course set up. We will email you at that time (7 days before the course begins) with further information and joining instructions. As always, students will want to check spam and junk folders during this period to ensure that these emails are received.

To earn credit (CATS points) for your course you will need to register and pay an additional £10 fee per course. You can do this by ticking the relevant box at the bottom of the enrolment form or when enrolling online.

Please use the 'Book' or 'Apply' button on this page. Alternatively, please complete an application form.

Level and demands

Experience of using a programming or scripting language will prove beneficial to you, but is not essential for the course. The basic elements of programming using the Python programming language will be introduced and clearly demonstrated in class.

Before attending this course, prospective students will know
•    basic IT and common computer software applications such as excel
•    elementary mathematical analysis and linear algebra, such as covered in high school mathematics courses
•    how to solve simple problems using mathematics and computers

Most of the Department's weekly classes have 10 or 20 CATS points assigned to them. 10 CATS points at FHEQ Level 4 usually consist of ten 2-hour sessions. 20 CATS points at FHEQ Level 4 usually consist of twenty 2-hour sessions. It is expected that, for every 2 hours of tuition you are given, you will engage in eight hours of private study.