Artificial Intelligence for Aerospace Engineers

Module aims

This course introduces the most popular Machine Learning and AI algorithms used in the Aerospace research and industry. Building on basic knowledge of MATLAB and Python as well as Linear Algebra, students gain both theoretical and practical understanding of AI models such as Deep Neural Networks or Unsupervised Learning algorithms. Course assignments give students familiarity with programming in TensorFlow Keras and proficiency in designing, training and optimization of their own AI models. 

Learning outcomes

On successfully completing this module you should be able to: 1. appraise a variety of Machine Learning and AI algorithms and match their properties to applications 2. synthesize the principles of design and training of Deep Neural Networks; 3. formulate principles of linear and logistic regression and translate them into algorithms suitable for programming implementation in MATLAB; 4. optimise Neural Networks based on reasoning stemming from theory  5. construct, train and validate a Deep Neural Network for application in solution of engineering problems using the TensorFlow platform; 6. critically discuss limitations of AI and importance of data quality; AHEP Learning Outcomes: SM7M, SM9M, EA6M, EA5m, EA7M, EL8M, EL9M, P9m, G1 

Module syllabus

Introduction to Machine Learning and AI: ML flow, applications in Aeronautics Linear regression: cost and gradient functions, gradient descent, regularisation, feature scaling, vectorisation, learning rate Logistic regression: sigmoid function, logistic regularisation, one-vs.-all, cross-validation, other classification algortihms and optimisers Neural Network: layers, activations, forward and backward propagation, stochastic and mini-batch gradient descent, Deep Learning in MATLAB Introduction to TensorFlow: NN syntax, data import, diagnostic and optimisation tools, validation Deep Learning: Convolutional Neural Networks, transfer learning Unsupervised Learning: K-means, Anomaly detection, autoencoders  Sequential data: Recurrent NN and Long-Short Term Memory networks Efficient model design: data augmentation, map reduce, online learning, text tokenization, sequential data. 

Teaching methods

The module will be delivered in weekly lectures accompanied by online materials and interactive programming notebooks.The instruction of programming will be carried out using live coding during lectures with support provided both during and outside of classes.Each lecture will include a mixture of theoretical material and practical coding. You will be encouraged to interact with in-lecture programming examples and use them to complete weekly assignments. You will be able to test all your assignments before submission. 

Assessments

The module offers extensive opportunities for formative assessment, through both the in-session quizzes and programming excercises. 
Summative assessment will be split between weekly programming assignments, a multiple choice test and a computing project. 
 
Assessment type Assessment description Weighting Pass mark
Coursework Weekly pass/fail assignments in MATLAB and Python 30% 70%
Examination MCQ test on theory and algorithms 70% 50%

You will be offered opportunities to receive both structured and opportunistic feedback. Through the weekly programming assignments with immediate feedback, you will be able to self-assess your progress and understanding, as well as ask for feedback from the class tutors. 

Written feedback will be provided for your submission for the project and your in-class test submission. 

Further individual feedback is available on request via this module’s online feedback forum and staff office hours.

Module leaders

Dr Luca Magri