Getting started with Machine Learning

Schedule

Monday, 30th September 2019

AI, and in particular Machine Learning (ML), is hot right now and is disrupting many industries through technologies such as simple AI-based APIs to Bots, Machine Learning and Deep Neural Network software. In recent years, AI and ML has started to disrupt software development and testing, providing newer ways of working and problem some organisations with a competitive advantage.

In this 2-day course we will take you through a range of talks, discussions and hands on exercises designed introduce you to the practicalities of teaching machines to learn. We will focus on Deep Neural Networks and introduce participants to the popular and production-ready TensorFlow framework as they build, train and test their models to solve a range of problems in Image Classification, Text Processing and Data Clustering.

This course is aimed at those who have some familiarity with programming and a desire to understand how they might be able to use Machine Learning (ML) in their context. Aside from the practical development of ML systems this course will cover the limitations of ML, how we approach problems using ML and the challenges around validating and testing ML systems.

This is a highly practical course and at the end of this course, you will have working knowledge of ML and your own set of samples for how to build Deep Neural Networks to solve problems.

What you will learn on this course

This course provides a hands-on introduction to building, training and testing Machine Learning (ML) Systems; in particular we will focus on using Deep Learning models to solve problems in Image Classification, Text Processing and Data Clustering.

The course will cover:

  • Understanding what we mean by Machine Learning and how machines learn
  • The general approach to solving using Machine Learning including Data Preparation, Model Architecture, Training, validating and tuning models
  • Introduction to TensorFlow2 and Keras and using these frameworks to build, train and test models
  • Solving practical problems in Image Classification and Text Processing using modern ML architectures
  • Exploring possible uses of Machine Learning in your context
  • Validating and Testing Models

By the end of the course, participants will:

  • Understand the terminology of Machine Learning to enable you to explore more advanced topics after the course
  • Be able to identify uses of Machine Learning in their current context
  • Have a general approach to solving problems using Deep Learning Algorithms so that you can tackle your own problems
  • Be able to build models using TensorFlow and Keras
  • Understand the technical risks with Machine Learning
  • Thinking Critically about how we testing and validated Deep Learning Models

What do you need to bring?

Please bring an internet enabled laptop (any Operating System).
We will be using Google Colab to build our Machine Learning Models so you will need a Google Account and a recent Chrome browser installed.

Is this course for you?

I've heard Machine Learning is very Maths heavy and I'm not very good at maths, should I attend?
Absolutely, this course doesn't go into the inner working of Machine Learning so no maths is needed to take this course. We focus on developing intuition about concepts rather than providing formal mathematical proofs.

I’m an automation engineer, how will this help me?
The use of AI and Machine Learning is increasingly being used to support test activities in various ways such as, scheduling and prioritising tests, predicting areas most likely to contain issues based on commits, historical issues and code quality and triaging issues.

This course will introduce you to the foundational skills that will enable you to build such automated support in your context and to take AI in Testing in new directions.

I’m a manager/lead, can I benefit from this course?
If you are not to interested in the hands-on building you will benefit from the wider range of topics that introduce the terminology, the development process, how AI/ML can be used, how we validate models and how we test AI/ML systems. With this knowledge you can lead your team into AI/ML adoption and better prepare them for testing new AI/ML systems.

I don't have any programming skills; can I still attend?
We have deliberately kept the level of programming skills needed to a minimum so that participants can focus on building, training and validating Machine Learning Models so it should be accessible to most people. We expect some familiarity with the Python programming language to the level that you can read and understand simply Python Code.

We will make some preparatory material available before the course start to those that need this.

What languages and tools will we be using?
We will be building and training our models in Google Colab (https://colab.research.google.com) so there is nothing to set-up on your laptop.

The primary language used will be Python (specifically Python 3) but you don't need to be a Python programmer to benefit this course (the ability to read and understand Python is about all that is required).

We will be building our models using Google Tensorflow (https://www.tensorflow.org/) and Keras (https://keras.io/); these provide high level APIs that simplifies building Machine Learning systems. We will cover everything you need to know about these during the course.

Bill Matthews

Bill Matthews has been a freelance test consultant for over 20 years working mainly on complex integration and migration as a Test Architect and as a Technical Lead. He champions the use of modern and effective approaches to development and testing.

He is a regular contributor to the testing community at both local and international levels through conference speaking, coaching/mentoring and delivering workshops and training focusing on automation, performance, reliability, security testing and more recently artificial intelligence.