Course Description
In this module, learners will become acquainted with artificial intelligence, with a focus on the modern topics of machine learning and deep learning. The historical developments motivating the development of artificial intelligence will be discussed, and neural networks will be understood as being one subfield of artificial intelligence, albeit a very relevant one. A range of deep learning architectures and training strategies will be introduced, and learners will gain first-hand experience designing, building and training their own neural networks using Python and popular deep learning libraries. Finally, the role of artificial intelligence in the realm of cyber security is discussed.
Course Objectives
In this module, learners will become acquainted with artificial intelligence, with a focus on the modern topics of machine learning and deep learning. The historical developments motivating the development of artificial intelligence will be discussed, and neural networks will be understood as being one subfield of artificial intelligence, albeit a very relevant one. A range of deep learning architectures and training strategies will be introduced, and learners will gain first-hand experience designing, building and training their own neural networks using Python and popular deep learning libraries. Finally, the role of artificial intelligence in the realm of cyber security is discussed.
Key Topics
- LO1: Understand the principles of artificial intelligence and data-driven learning.
- LO2: Understand the principles underlying neural network training.
- LO3: Be able to build and train neural networks.
- LO4: Understand a range of generative modelling architectures and techniques in deep learning.
- LO5: Understand how AI can be used for both offence and defence in the realm of Cyber Security.
Course Outline
| Week | Topics |
|---|
| 1 | History of AI (Babbage, the Turing test), symbolic AI vs. machine learning |
| 2 | Machine learning approaches: linear and logistic regression, SVMs, kernel methods, random forests and ensembles |
| 3 | Neural network preliminaries: biological inspiration, universal approximation, layers, activation functions and GPU matrix computation |
| 4 | Training neural networks: loss functions, SGD, learning rates, Adam and RMSprop, dropout and schedulers |
| 5 | Neural network architectures: dense, convolutional, transformer and graph layers, ResNet and U-Net and their use cases |
| 6 | Building networks in PyTorch or TensorFlow/Keras; training on MNIST or CIFAR-10 |
| 7 | Evaluating trained models: train vs. test performance, overfitting and underfitting, proposing improvements |
| Midterm | Midterm evaluation |
| 9 | Deep generative models: variational autoencoders, normalising flows, GANs and diffusion models compared |
| 10 | CLIP and image/video generation |
| 11 | AI in cyber security: traffic scanning and email filtering |
| 12 | Applying Artificial Intelligence in practice: case studies |
| 13 | Assignment workshop: research, planning and referencing |
| 14 | Assignment workshop: drafting, feedback and improvement |
| 15 | Review and coursework completion |
| Final | Final assessment and submission |
Learning Outcomes
- LO1 Understand the principles of artificial intelligence and data-driven learning.
- 1.1 Define artificial intelligence and describe the different approaches to learning.
- 1.2 Describe a range of simple and complex machine learning strategies.
- 1.3 Explain the difference between supervised, unsupervised, and reinforcement learning.
- 1.4 Analyse the significance of the bias-variance trade-off in machine learning.
- LO2 Understand the principles underlying neural network training.
- 2.1 Describe how backpropagation is used to update neural network parameters to achieve a desired goal.
- 2.2 Explain the bias-variance trade-off in machine learning.
- 2.3 Explain the importance of loss functions in providing an objective for the training of neural networks.
- 2.4 Analyse and compare common optimisation strategies for neural network training.
- 2.5 Evaluate the advantages and disadvantages of deep and shallow neural network architectures.
- LO3 Be able to build and train neural networks.
- 3.1 Describe a range of neural network layer architectures and their use cases.
- 3.2 Use popular neural network libraries to implement neural network architectures.
- 3.3 Implement training strategies to fit model parameters.
- 3.4 Evaluate the performance of trained neural network models with reference to the training-test gap.
- LO4 Understand a range of generative modelling architectures and techniques in deep learning.
- 4.1 Describe a range of generative model architectures.
- 4.2 Compare deep generative modelling approaches along several dimensions.
- 4.3 Explain the method of contrastive language-image pretraining and its importance in learning mappings to meaningful representations for images and text.
- 4.4 Analyse the principal training methods of large language models.
- 4.5 Evaluate the importance of the transformer architecture in the success of large language models.
- LO5 Understand how AI can be used for both offence and defence in the realm of Cyber Security.
- 5.1 Identify scenarios in which artificial intelligence can be applied as a preventative security measure.
- 5.2 Explain the ways in which AI can be used to enhance existing cyber-attacks and provide new opportunities for attackers.
- 5.3 Evaluate the benefits provided and risks posed by AI in the field of security.