Machine Learning in Science – Part 1
This module will provide an introduction to the main concepts and methods of machine learning. It introduces the basics of supervised, unsupervised and reinforcement learning as applied to regression, classification, density estimation, data generation, clustering and optimal control. It will be taught via two sessions per week through a combination of fundamental concepts and hands-on applications.
Machine Learning in Science – Part 2
This module will cover more advanced topics following from Machine Learning in Science Part 1, specifically the concepts and methods of modern deep learning. Topics include deep neural networks, CNNs, RNNs, GANs, RBMs and deep RBMs, autoencoders, transfer learning, reinforcement learning and Markov decision processes, cleaning data and handling large data sets. The main project for the module is the self-driving PiCar, as seen in this video.
Machine Learning in Science – Project
You will carry out a substantial investigation in the form of a research project on the application of the machine learning techniques learned as part of the course to a scientific problem.
The study will be largely self-directed, with oversight and input provided by a supervisor from the School of Physics and Astronomy, School of Computer Science or School of Mathematical Sciences. The topic will be chosen from a list of potential projects provided by the schools in the Faculty of Science. The topic could be based on a theoretical and/or computational investigation, a review of research literature, and/or a combination of the two.
Big Data and Cloud Computing
This module will begin by introducing a number of approaches to handling very large datasets, eg databases, indexing, chunking, parallelism, and map-reduce. You will look at some widely-used software tools which implement these methods.You will be introduced to the concept of cloud computing and give examples of the facilities provided by popular vendors. The module will also look at how big data algorithms can be implemented using cloud-based hardware, and finish with you deploying your own big data solutions in the cloud.
Designing Intelligent Agents
In this module, you will be given a basic introduction to the analysis and design of intelligent agents, software systems which perceive their environment and act in that environment in pursuit of their goals. You will cover topics including task environments, reactive, deliberative and hybrid architectures for individual agents, and architectures and coordination mechanisms for multi-agent systems.
You will examine current techniques for the extraction of useful information about a physical situation from individual and sets of images. You will learn a range of methods and applications, with particular emphasis being placed on the detection and identification of objects, image segmentation, pose estimation, recovery of three-dimensional shape and analysis of motion. These problems will be approached with both traditional and modern computer vision approaches, including deep learning.
Professional Ethics in Computing
This module looks broadly into professional ethics within the scope of the computing discipline. It covers a range of professional, ethical, social and legal issues in order to study the impact that computer systems have in society and the implications of this from the perspective of the computing profession. In particular, the module covers topics such as introduction to ethics, critical thinking, professionalism, privacy, intellectual and intangible property, cyber-behaviour, safety, reliability and accountability, all within the context of computer systems development.
Introduction to Practical Quantum Computing
The purpose of this module is to provide an introduction to quantum computing with an emphasis on being able to run quantum circuits on existing and near-term quantum computers. It will introduce essential elementary concepts from quantum mechanics and quantum information, as well as exploring how quantum computers may be utilised in the context of machine learning.
It will introduce the language of quantum computing – qubits, unitary quantum gates, and quantum circuits – and will consider how quantum parallelism may provide an advantage over existing numerical methods. It will additionally cover the use of basic quantum programming languages with the goal of running simple quantum circuits on simulated and real quantum computers. The module will be accessible to all students of the MLiS MSc irrespective of whether they have any background in quantum mechanics.
The aim of this module is to teach you how neural processes can be understood in computational terms and how they can be analysed using mathematical and computational methods.
- biophysical and reduced models of neurons
- models of networks (eg Hopfield networks, ring-attractors and rate networks)
- models of synaptic plasticity and memory
- unsupervised learning
- neural coding
- visual system
- model fitting