APPLIED MACHINE LEARNING - 2023/4
Module code: EEEM068
Module Overview
Machine/Deep learning has emerged from computer science and artificial intelligence. It draws on methods from a variety of related subjects including statistics, applied mathematics and more specialized fields, such as pattern recognition and neural network computation. This module offers the theory and related applications of advanced deep/machine learning topics and an overview their applications to other fields, such as natural language processing, medical imaging, health, audio, and fintech etc. The deep learning algorithms which will be studied are used widely in industry by AI start-ups to AI tech giants, like, Google, Meta, Microsoft, Amazon, Tesla etc. It provides a background and related theory of deep/machine learning to manipulate data from various domains like image, video, text, audio etc. This is done by various machine learning algorithms that are discussed, implemented, and demonstrated within the module.
Module provider
Computer Science and Electronic Eng
Module Leader
RANA Muhammad (CS & EE)
Number of Credits: 15
ECTS Credits: 7.5
Framework: FHEQ Level 7
Module cap (Maximum number of students): N/A
Overall student workload
Independent Learning Hours: 72
Lecture Hours: 22
Tutorial Hours: 4
Laboratory Hours: 20
Guided Learning: 10
Captured Content: 22
Module Availability
Semester 2
Prerequisites / Co-requisites
None
Module content
Convolutional neural network (basic operations, separable convolution; skip connection)
Graph Convolutional neural network (GCNN)
Attention
Transformers
MLP
Graph attention network
Zero-shot/few-shot learning
Domain generalisation/transfer
Self-supervised learning
Multimodal analysis
Applications:
NLP
Computer vision
Fintech/fintech documents
Audio,
Medical imagaing
Assessment pattern
Assessment type | Unit of assessment | Weighting |
---|---|---|
Coursework | Coursework | 25 |
Examination Online | Examination ONLINE (OPEN BOOK) EXAM WITHIN 4HR WINDOW | 75 |
Alternative Assessment
N/A
Assessment Strategy
The assessment strategy for this module is designed to provide students with the opportunity to demonstrate the skills learned within the module. Knowledge of various machine learning theories and their applications, understanding of the engineering methodologies for design and implementation of software algorithms. Knowledge of state-of-the art solutions to different machine learning and data analysis problems, their limitations and requirements for better solutions. Skills of identifying, classifying and describing the performance of software systems and components through the use of analytical methods and modeling techniques. Programming skills and understanding of software tools, development environments, libraries and reusable components such as Python, numpy, scikit-learn, PyTorch etc libraries. These software tools will be used to perform data processing and analysis, implementation of different machine learning algorithms.
The summative assessment for this module consists of the following:
25% Coursework
75% Exam
The coursework assessments will consist of several questions asking to implement a snippet of code performing different tasks related to data processing and analysis, pattern recognition and classification. The purpose of the coursework is for students to practically apply the theoretical knowledge gained from the lectures on a topic from each of the core themes of this module. The examination will consist of online (open book) exam in a 4-hour window. There will be 5 questions each from different area of the course. Each question consists of several subquestions testing knowledge, analytical, and design skills.
Students will receive formative assessment/feedback during lectures by question and answer session, by means of lab problem sheets, during supervised lab sessions, and via feedback comments on assessed coursework.
Module aims
- The aim of this module is to offer an in depth understanding of modern deep neural networks and associated applications. These modern AI/deep learning algorithms are universal and can be applied to many application areas, like, computer vision, robotocs, natural language processing, security & surveillance, medical image analysis, multimodal analysis, content retrieval of large multimeida archives, fintech etc. The goal is to make students ready to tackle real world problems by applying advanced deep learning/AI algorithms.
- The module also aims to provide opportunities for students to learn about the Surrey Pillars listed below.
Learning outcomes
Attributes Developed | Ref | ||
---|---|---|---|
001 | Be able to demonstrate an understanding of different principles of machine learning and data analysis. | K | M1 |
002 | Be able to choose an appropriate method to a problem of computer vision, medical imaging, natural language processing, fintech etc and predict the outcome of the applied method. | KCPT | M3, M4 |
003 | Be able to come out with a theoretical solution for the computer vision, medical imaging, natural language processing, and fintech problems. | KCT | M3, M6 |
004 | Be able to analyse novel pattern recognition and data analysis problems, establish statistical models for their solution. | KCPT | M2, M16, M17 |
Attributes Developed
C - Cognitive/analytical
K - Subject knowledge
T - Transferable skills
P - Professional/Practical skills
Methods of Teaching / Learning
Methods of learning and teaching include lectures, labs, with exam and coursework assessments.
They are designed to achieve the following aims.
- To introduce advance deep learning concepts and their applications to promote deep understanding of the advanced AI concepts, engineering methodologies for design and implementation of software algorithms. The topics include: convolutional neural network, seperable convolutions, graph CNNs, attention, transformers, MLP, graph attention network, domain transfer/generalisation, zero/few-shot learning, self-supervised learning, multimodal analysis. To introduces engineering principles for software design in advance machine/deep learning, which involves integration of software components related to verification and validation.
- Students learn to identify, classify and describe the performance of software systems and components through the use of analytical methods and modelling techniques. These allow them to employ performance trade-offs and the use of appropriate metrics, to predict and evaluate performance of advance machine/deep learning algorithms. Students learn skills of applying quantitative methods, mathematical and computer-based models, and use computer software (Python, Pytorch) to solve image-processing problems. Skills involve identifying and analyse problems in advance machine/deep learning, and develop software solutions to adress problems in different application areas of machine/deep learning, for example, healthcare, security and entertainment.
- Students learn programming skills and understanding of software tools, development environments, libraries and reusable components such as python, pytorch and other machine/deep learning libraries. They use these to perform classification, segmentation, localisation, regression and other advance machine/deep learning tasks such as self-supervised learning and multimodal analysis. We will finalise the aims after finalising the module contents so that things are in prespective
Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.
Reading list
https://readinglists.surrey.ac.uk
Upon accessing the reading list, please search for the module using the module code: EEEM068
Other information
- Digital capabilities
By introducing students to high performance computing servers needed to complete the coursework; by enriching their programming skills for the AI discipline via Python and the various deep learning libraries
- Employability
By teaching students practical deep learning skills which is the most welcomed skillset in modern AI; by talking through practical computer vision applications, e.g., self-driving; by introducing a practical coursework component that addresses specific industrial problems
- Global and cultural capabilities
By studying ethics-related topics around computer vision; by teaching computer vision techniques around data bias and domain adaptation, which is cornerstone to deploying computer vision solutions across multiple cultures and in global scale.
Programmes this module appears in
Programme | Semester | Classification | Qualifying conditions |
---|---|---|---|
Artificial Intelligence MSc | 2 | Compulsory | A weighted aggregate mark of 50% is required to pass the module |
Computer Vision, Robotics and Machine Learning MSc | 2 | Compulsory | A weighted aggregate mark of 50% is required to pass the module |
Please note that the information detailed within this record is accurate at the time of publishing and may be subject to change. This record contains information for the most up to date version of the programme / module for the 2023/4 academic year.