blog

Deep Learning

Deep Learning with MATLAB

Why is MATLAB ideal for Artificial Intelligence (AI) workflows?

Firstly, MATLAB follows the mental process an Engineer or a Scientist uses. Engineers essentially, look at a problem by looking at the data to-hand. MATLAB allows you to

  • Access & explore data: Access many data sources (text files, spreadsheets, databases, binary files, data feeds, web and cloud storage, …) and to visualize these simply by clicking on a button
  • Pre-processing – handling missing data, outliers, time alignment, etc,
  • Feature Engineering – MATLAB incorporates many domain specific techniques that allow to you handle data, not only just as data but as physical objects i.e., you can examine a signal as a signal, an image as an image, etc.
  • Model Training of your deep /machine learning models
  • Model Tuning of your deep /machine learning models
  • Integrate Analytics – MATLAB allows you to deploy your AI model into embedded devices, by generating C / C++ Code, HDL Code or GPU code. MATLAB also allows you to scale your application using clusters like Supercomputing systems or Enterprise Systems.

Deep Learning Applications

Across Aerospace & Defence, Automotive and Automation& Robotics industries, MATLAB is being used in:

  • Automated Driving: MATLAB deep learning models are used to detect, classify & track objects and then provide feedback to automated driving and object avoidance algorithms.
  • Radar: MATLAB is also used for automotive and aerospace & defence radars to automatically classify and track objects.
  • Predictive Maintenance: You can use MATLAB to build predictive maintenance models that analyse machine data and can then predict a fault before they occur in a machine.

Across the industries of Energy Production, Mining & Materials and Geographical Sciences, MATLAB deep learning applications are being used in:

  • Image processing & Labelling: used in seismic data analysis & microscopic image analysis, etc.
  • Energy Forecasting: In the Utilities industry, users are using MATLAB & Deep Learning to forecast energy demand and create more efficient energy production
  • Predictive Maintenance: A very hot topic and as in other industries is used to build predictive maintenance models that analyse machine data and can then predict a fault before they occur in a machine.
  • Infrastructure Management: to automatically detect personnel and assets on site (see example from Caterpillar)

In the Medical Devices industry, Scientists are using Deep Learning models with image processing, computer vision to

  • Tumour Detection
  • Artificial Speech – converting thoughts into speech
  • Creating Safer Machines – reducing radiation levels in CT Scanners
  • Diagnosis with Augmented Reality

Machine Learning vs Deep Learning

Before diving into the topic of Deep Learning, we need to understand a bit more about

Machine Learning. Afterall, Deep Learning is a subset of Machine Learning. Machine Learning teaches computers to do what comes naturally to humans or animals i.e. to learn from experience (i.e. data). Machine Learning algorithms use computationalmethods to “learn” information directly from data without relying on a predetermined equation as a model. The algorithms adaptively improve their performance, as the number of samples available for learning increase.

Machine Learning is great for complex problems that involve a lot of variables and these problems do not have an existing formula or equation that describes the system. For example, there is no equation available for speech recognition, so we can train a machine learning model as a black box; input is the audio, output will be the classification of what a person is saying. The Machine Learning algorithm will find network patterns in the data and will help you to make predictions. More data will result in better predictions. Ex.

Common applications of Machine Learning

Fraud detection: to avoid someone using your credit card fraudulently, there is a machine learning algorithm that looks at your behaviour in the past and will make a decision based on your previous behaviour to decipher whether a transaction is fraudulent or not. Automatic trading: high-frequency & FOREX trading decisions in electronic financial markets. Energy forecasting : predicting the amount of energy consumption in a particular city or state at a specific time.

Supervised and Unsupervised Learning

Machine Learning is divided into supervised and unsupervised learning.

  • Supervised learning – develops predictive models based on both input and output data. This requires each example of input data to have a correctly labelled output to develop predictive models
  • Unsupervised learning – groups and interprets data based only on input data. It draws inferences from data sets that don’t have label responses associated with the input data.

The most common form of unsupervised learning is clustering and is commonly used for Data Analysis, Gene sequence analysis, market research & object recognition.

  • Supervised makes predictions based on evidence. To develop a predictive model based both on input & output data. It uses classification and regression techniques to develop predictive models. The Classification technique predict discreet response. Ex of a predictive model: the spam mail filter in your email inbox. It classifies data into categories; a choice between classes (true or false or red, blue, green, or a tumour is cancerous or benign: these are all discreet outputs). The Regression technique predicts continuous responses e.g. changes in temperature or fluctuations in the energy demand (what is the forecast of energy demand for a particular city, based on the temperature trends, levels of humidity)

How to decide which Algorithm to use?

This is not a simple task and choosing the right algorithm can seem overwhelming. There are dozens of supervised and unsupervised machine learning algorithms and each one takes a different approach to learning.

It is a tricky task to decide which algorithm is best to use. Unfortunately, there is no best practice or one-size-fits-all method that can be used to identify the right algorithm. It’s really just a case of trial and error. Even highly experienced data scientists cannot tell you whether an algorithm will work without trying it out. Algorithm selection also depends on the size & type of data you are working with. It is a good practice to go to the documentation of an algorithm and see whether the algorithm is better at analysing text, doing specific types of classification or sorting another type of problem.

Machine Learning Challenges

There are a lot of challenges in Machine Learning and these usually relate to the data and choosing the right model… Data comes in all shapes and sizes. Real-world data sets can be messy, incomplete and can come in a variety of formats. You may have simple numeric data but sometimes you have to combine different data types ex. Sensor signals, text streaming images from a camera.

Pre-processing your data might require specialised knowledge and tools. For example, to select features or train an object detection algorithm requires previous experience in image processing – you need to know what exactly you want to extract from the image to be able to do the pre-processing to extract some features. It takes time to find the best model to fit the data and this can be a balancing act as a highly flexible model can tend to overfeed the data, by modelling minor variations that could be noisy.A simple model may assume too much. It is best to remember that trial and error is at the heart of machine learning. In MATLAB it is very easy to train many algorithms at the same time.

Scroll to Top