Developing Artificial Intelligence Applications (Online)

Overview

A brand new fully online course for those wanting to transition their career towards Artificial Intelligence through development in Python and TensorFlow
 

Developing Artificial Intelligence Applications using Python and TensorFlow is for developers who know Python or coding and want to enhance their skills in Artificial Intelligence and learn about developing applications based on deep learning.

This course is oriented to learning deep learning algorithms that can be used for most practical business problems today.

Led by Ajit Jaokar and supported by a number of other AI and coding specialists, the course is based on the book Deep Learning with TensorFlow 2 and Keras: Regression, ConvNets, GANs, RNNs, NLP, and more with TensorFlow 2 and the Keras API (Packt Publishing, 2019).

A free e-copy of this book is included in the course fees.

After completing the course, you should be able to understand the workings of the algorithms explored in the course and how they can solve specific business problems.

Course Delivery

You should allow for around 8 - 12 hours study time per week.

The taught course will run over six weeks, from 24 October - 28 November 2020. 

Tutorials will be delivered live on Saturdays via Microsoft Teams as two x 1.5 hour sessions on: 24 and 31 October and 7, 14, 21 and 28 November 2020 (Saturdays)

Course times: 10:00 - 11:30 (one-hour break 11:30 - 12:30) and 12:30 - 14:00 (UK time)

A world clock, and time zone converter can be found here: https://bit.ly/3bSPu6D

The tutorials will be recorded and published on the VLE (virtual learning environment), where you can also view and download the course materials and submit assignments.

Hands-on coding exercises, to demonstrate and reinforce learning, will be set during the week via Microsoft Teams, with full support provided by the tutors. These will be both individual and group projects.

Dedicated channels within MS Teams will be used for discussion forums, peer support and collaborative/group projects.

The course remains open and the materials are available to you for six additional weeks after the end of the taught course.

Assignment deadlines may be up to four weeks after the end date of the taught course. 

Programme details

Foundations

  • Introduction to machine learning, deep learning and AI
  • Introduction to neural networks, TensorFlow and Keras
  • Important changes in TensorFlow 2.0
  • Introduction to neural networks
  • Introduction to Artificial Intelligence applications

Classification – our first example of TensorFlow 2.0

  • Multi-layer perceptron (MLP) – our first example of a network
  • Problems in training the perceptron and their solutions
  • Activation functions – sigmoid, tanh, ReLU and others

Improving the baseline

  • Establishing a baseline
  • Improving the baseline using various strategies such as
    • hidden layers
    • dropout
    • optimisers
    • epochs
    • controlling the optimizer learning rate
    • increasing the number of internal hidden neurons,
    • increasing the size of batch computation, etc
  • Regularization to avoid overfitting

Regression

  • What is regression?
  • Prediction using linear regression
  • Simple linear regression, multiple linear regression and multivariate linear regression
  • Predicting house price using linear regression
  • Logistic regression
  • Logistic regression on the MNIST (Modified National Institute of Standards and Technology) dataset

Convolutional Neural Networks

  • Deep Convolutional Neural Network (DCNN)
  • Local receptive fields
  • Shared weights and bias
  • Pooling layers, max pooling, average pooling
  • LeNet code in TensorFlow 2.0

Natural Language Processing

  • Word embedding

Recurrent Neural Networks

  • The basic RNN cell
  • Backpropagation through time (BPTT)
  • Vanishing and exploding gradients
  • Long short-term memory (LSTM)
  • Gated recurrent unit (GRU)

Autoencoders

  • Introduction to autoencoders
  • Vanilla autoencoders
  • Sparse autoencoder
  • Denoising autoencoders
  • Clearing images using a denoising autoencoder
  • Stacked autoencoder
  • Convolutional autoencoder for removing noise from images

Unsupervised Learning

  • Principal component analysis
  • PCA on the MNIST dataset
  • K-means clustering
  • Restricted Boltzmann machines
  • Reconstructing images using RBM
  • Deep belief networks
  • Variational Autoencoders

TensorFlow and Cloud

  • Deep Learning on Cloud
  • Microsoft Azure, Amazon Web Services (AWS), Google Cloud Platform (GCP)
  • Virtual machines on Cloud
  • TensorFlow Extended for production

Working with real life applications – processes

  • Working with real life applications – added Agile, Cloud, etc.

The course will remain open, with the materials still available to you for six additional weeks after the end of the course.

Coding Exercises:

Hands-on coding exercises will be set during the week via Microsoft Teams, with full support provided by the tutors. These will be a mix of individual and group projects.

The coding exercises will relate to the areas discussed in the tutorials:

  • Classification – our first example of TensorFlow 2.0: Recognising handwritten digits as a classification example
  • Improving the baseline: regularization
  • Regression: logistic regression
  • Convolutional Neural Networks: CIFAR-10
    • Recognizing CIFAR-10 images with deep learning
    • Improving the CIFAR-10 performance with a deeper network
    • Improving the CIFAR-10 performance with data augmentation
    • Predicting with CIFAR-10
  • Natural Language Processing
    • Using word embeddings for spam detection
    • Using BERT (Bidirectional Encoder Representations from Transformers)
  • Recurrent Neural Networks: Sentiment Analysis
  • Autoencoders: Reconstructing handwritten digits using an autoencoder
  • Unsupervised Learning: PCA and K-means

Certification

Participants who satisfy the course requirements will receive a University of Oxford electronic certificate of attendance. To receive a certificate at the end of the course you will need to:

  1. Achieve a minimum attendance of 75% of the online sessions.
  2. Submit the required practical assignments to demonstrate learning. These involve coding / hands-on exercises (individually and also in groups).
  3. Participants are expected to actively participate in the online discussions.

The certificate will show your name, the course title and the dates of the course you attended.

Fees

Tutors

Ajit Jaokar

Course Director and Tutor

Based in London, Ajit's work work spans research, entrepreneurship and academia relating to artificial intelligence (AI) and the internet of things (IoT). 

He is the course director of the course: Artificial Intelligence: Cloud and Edge Implementations. Besides this, he also conducts the University of Oxford courses: AI for Cybersecurity and Computer Vision.

Ajit works as a Data Scientist through his company feynlabs - focusing on building innovative early stage AI prototypes for domains such as cybersecurity, robotics and healthcare.

Besides the University of Oxford, Ajit has also conducted AI courses in the London School of Economics (LSE), Universidad Politécnica de Madrid (UPM) and as part of the The Future Society at the Harvard Kennedy School of Government.

He is also currently working on a book to teach AI using mathematical foundations at high school level. 

Ajit was listed in the top 30 influencers for IoT for 2017 along with Amazon, Bosch, Cisco, Forrester and Gartner by the German insurance company Munich Re.

Ajit publishes extensively on KDnuggets and Data Science Central.

He was recently included in top 16 influencers (Data Science Central), Top 100 blogs (KDnuggets), Top 50 (IoT central), and 19th among the top 50 twitter IoT influencers (IoT Institute). 

His PhD research is based on AI and Affective Computing (how AI interprets emotion).

Marina Fernandez

Mentor

Marina is a CTRM Analyst Developer at Anglo American Plc. She has over 15 years experience in  Software Engineering, Business Analysis,  Agile, project management and full software life cycle in a variety of business domains including Commodity trading and Finance, Machine Learning and AI, e-commerce, e-learning, web-development.

Marina holds an MSc in Software Engineering from University of Oxford and Applied Mathematics degree from Lomonosov Moscow State University. 

In February 2020, Marina completed the course "Data science for internet of things" from the University of Oxford.

Dr Amita Kapoor

Tutor

Amita Kapoor is an Associate Professor in the Department of Electronics, SRCASW, University of Delhi, and has been actively teaching neural networks and artificial intelligence for over twenty years, and she is an active member of ACM, AAAI, IEEE, and INNS.

Amita completed her masters in Electronics in 1996 and her Ph.D. in 2011.
During her Ph.D she was awarded a prestigious DAAD fellowship to pursue a part of her research work in Karlsruhe Institute of Technology, Karlsruhe, Germany. Amita was awarded the Best Presentation Award at the Photonics 2008 international conference.

Amita has more than 50 research publications in international journals and conferences, and has co-authored four books, including the best-selling “Deep learning with TensorFlow2 and Keras” with Packt Publications.

Passionate about using her skills for the betterment of society and humankind, Amita spends her spare time in various AI-related IoT and healthcare open source projects. She was recently awarded the Intel AI Spotlight Award 2019 for her work on the early detection of Acute Myeloid Leukemia using AI.

Amita’s present research areas include Machine Learning, Artificial Intelligence, IoT, Deep Reinforcement Learning, and Robotics.

Anjali Jain

Mentor

Anjali is a Digital Solutions Architect at Metrobank, where she helps to deliver advanced technology driven business solutions around diverse themes of Internet Banking, Mobile App, Business banking, and Open banking/PSD2, using agile methodology.

She has over 16 years of IT experience and worked across Banking, Telecom and logistics domains, from inception to the delivery of complex projects.

Anjali is passionate about AI and Machine learning and completed the course "Data science for internet of things" in February 2019 from the University of Oxford.

Ms Ayşe Mutlu

Tutor

Ayşe Mutlu is a data scientist working on Azure AI and devops technologies. Based in London, Ayşe’s work involves building and deploying Machine Learning and Deep Learning models using the Microsoft Azure framework (Azure DevOps and Azure Pipelines).

She enjoys coding in Python and contributing to Open Source Initiatives in Python.

Application

How to apply for this course

1. Please complete the application questionnaire to give us a sense of your knowledge and experience.

Important: We do not expect you to have knowledge or experience in all of the areas on this questionnaire!

2. If, after the academic panel have reviewed your questionnaire, you are invited to apply for the course, we will contact you regarding payment of the course fee.

Payment

Note that we accept applicants on a rolling basis and expect this course to be oversubscribed. Places will only be confirmed upon receipt of payment.

Fees include all course materials, tuition and a copy of the course textbook in eBook format.

Course fees are VAT exempt.

IT requirements

This course is delivered online; to participate you will need regular access to the Internet and a computer meeting our recommended Minimum computer specification.

You will not be required to purchase any specific software to take part in this course.