Racing Lounge

Best practices and teamwork for student competitions

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the Original version of the page.

Deep Learning for Student Competitions

Posted by Christoph Hahn,

In today’s post, Neha Goel is going to share an overview about how you can use MATLAB and Simulink for Developing Artificial Intelligent components in your competitions. Neha joined the team recently and focuses on deep learning and data science competitions. Also find a section in this post where Neha reveals what projects she is currently working on.

Competitions and students in different application areas are adding AI components to their projects. The major areas include Autonomous Vehicle Competitions, Aerospace, Robotics, Data Science etc.  Refer to link here to know about all competitions MathWorks sponsors.

Artificial Intelligence (AI), Machine Learning (ML), and Deep Learning (DL) are some of the hottest topics right now. In this post we will give you a high-level overview of how you can implement these in your projects depending on the type of data you are working with. We will also be directing you to resources for learning how to implement AI in MATLAB.

Source: Legal Executive Institute

Technology and Terminology

The first step towards understanding Deep Learning and how it works is to grasp the differences between important terms.

Source: Difference between AI, Machine Learning & Deep Learning

Artificial Intelligence – the replication of human intelligence in computers.

In the words of the person who coined the term artificial intelligence, John McCarthy, “It is the science and engineering of making intelligent machines”.

A common application of AI is Search Engine Algorithm. It is a way to exhaustively check through many (or even all) possible outcomes using a model of the environment. There’s no learning component since you don’t need any experience/data to do this!

Machine Learning – referring to the ability of a machine to learn using  data sets instead of hard coded rules.

Machine Learning allows computers to learn by themselves. This type of learning takes advantage of the processing power of modern computers, which can easily process large data sets.

Source: Next-Gen Talk by Sebastian Raschka

Unsupervised Learning – the task of machine learning using data sets with no specified structure.

When training an algorithm using unsupervised learning, the algorithm will classify itself automatically.

An example of unsupervised learning is a behavior-predicting AI for an e-commerce website. The algorithm won’t learn by using a labelled data set of inputs and outputs. It will recommend related items based on the historical data. The grouping is strictly based on what the algorithm has learned.

Supervised Learning– involves using labelled data sets that have inputs and expected outputs.

When you train using supervised learning,  an input and an expected output are provided for the algorithm in advance. If the output generated by the program is wrong, it will readjust its calculations. This process is done iteratively over the data set, until the algorithm is optimized.

An example of supervised learning is a weather-predicting AI. It learns to predict weather using historical data. That training data has inputs (humidity, wind speed, temperature) and outputs (chance of rain).

Reinforcement Learning (RL) –  an area of machine learning concerned with how software agents ought to take actions in an environment to maximize

It differs from supervised learning in that labelled input/output pairs need not be presented, and sub-optimal actions need not be explicitly corrected. Instead the focus is finding a balance between exploration (of uncharted territory) and exploitation (of current knowledge) to try learning optimal behavior.

Source: Wikipedia – Reinforcement Learning

Reinforcement Learning is best explained with the above diagram. An agent takes actions in an environment, which is interpreted into a reward and a representation of the state, which are fed back into the agent.

Reinforcement learning is used in operations research, Operations research, control theory, multi-agent systems, information theory, game theory, simulation-based optimization, and more.

Check out the below links to know more about MATLAB Reinforcement Learning Toolbox and examples

Deep Learning – subset of machine learning based on artificial neural networks.

Neural Networks can be used in unsupervised, supervised, or reinforcement learning. For example, reinforcement learning that uses neural networks as function approximators can be referred to as “deep reinforcement learning

Source: Intro to Deep Learning by Dhanoop Karunakaram

‘Deep’ is a technical term. It refers to the number of layers in a neural network. A shallow network has one hidden layer, and a deep network has more than one. Multiple hidden layers allow deep neural networks to learn features of the data in a feature hierarchy, because simple features (e.g. two pixels) recombine from one layer to the next, to form more complex features (e.g. a line). Networks with many layers pass input data (features) through more mathematical operations than nets with few layers and are therefore more computationally intensive to train.

Check out the links below to learn more about MATLAB Deep Learning capabilities in detail and get started with Deep Learning Courses.

Applications of AI


Image Analysis

Autonomous driving, robotics and aerospace competitions often employ a computer vision system. Here we give an overview of different techniques for working on the image datasets.

The basic use case required in all these competitions is classifying images or detecting obstacles that the program has never seen before. Below are the different approaches used to solve such types of problems.                     

Image Classification: It is a technique where an algorithm looks at an entire image and classifies it. Image classification has a wide variety of applications, ranging from face detection on social networks to cancer detection in medicine. Such problems are typically modeled using Convolutional Neural Nets (CNNs).

Object detection and object recognition are similar techniques for identifying objects, but they vary in their execution.

  • Object detection is the process of locating an object of interest in an images. This allows for multiple objects to be identified and located within the same image. Check out the link to know more about “Designing Object Detectors in MATLAB”.
  • Object recognition is a combination of classification and detection. The object is classified and also located in an image. Object recognition is a key technology behind driverless cars, enabling them to recognize a stop sign or to distinguish a pedestrian from a lamppost. It is also useful in a variety of applications such as disease identification in bio-imaging, industrial inspection, and robotic vision.

Semantic segmentation : It is a deep learning algorithm that associates a label or category with every pixel in an image. It is used to recognize a collection of pixels that form distinct categories. For example, an autonomous vehicle needs to identify vehicles, pedestrians, traffic signs, pavement, and other road features.

Audio & Signal Processing

Audio & signal processing is another area where we work with deep neural networks for solving problems with real-time signal datasets. The many applications where we can use the deep learning approach include audio classification, beat tracking, music recommendation, selective noise cancelling, speech processing etc.

There are even some signal processing competitions supported by MathWorks such as AES Student Competition: MATLAB Plugin, China Graduate Electronics Design Contest and Signal Processing Cup

To get to know more about audio & signal processing using deep learning in MATLAB check out this link: Deep Learning for Signal Processing Applications

Robotics and Autonomous Systems

The powerful combination of robotics and AI or machine learning is opening the door to entirely new automation possibilities. The scope of AI in robotics includes:

  • Vision – AI is helping robots detect items they’ve never seen before, recognize objects with far greater detail and extract complex information to better understand their surrounding environment. Above section of Image Analysis speaks about the detailed techniques used for this process.
  • Grasping – robots are also grasping items they’ve never seen before with AI and machine learning helping them determine the best position and orientation to grasp an object.
  • Motion Control – machine learning helps robots with dynamic interaction and obstacle avoidance to maintain productivity.
  • Data – AI and machine learning both help robots understand physical and logistical data patterns to be proactive and act accordingly.
  • Speech Recognition – Natural Language Processing tasks including text-to-speech, speech tagging, named entity recognition etc. helps in improving interaction between robots & human (natural) languages.

Check out the MATLAB & Simulink Robotics Arena to learn more about how you can implement these in your projects.  MathWorks supports many robotics competitions that use AI such as RoboCup and  RoboNation.

Hi, I am Neha

#Software #DeepLearning #DataScience #HardwareWorldNewbie #GetUpDressUpShowUp&NeverGiveUp

What is your role in the student competitions team? What competitions are you focusing on?

I am the technical Lead for Deep Learning Competitions. I am focused on launching new Data Science MathWorks sponsored competitions and helping teammates who work on other competitions to build Deep learning content.

What big project are you currently working on?

My big project this year is to increase usage of MATLAB in data science competitions. To do this, I am currently working on hosting an online data science competition on the DrivenData platform. The other project I’m working on is building Deep Learning Content, where I am working to create a video series for Object Detection. This series will show how to build neural networks using Deep Learning Toolbox for object detection and further deploy it using code generation.

Which recommendation would you give students thinking about student competitions and career paths?

Student competitions provide real-world experience– a chance to perform under pressure, work with a team and overcome the fear of failure. Being the winner of a Startup hackathon during my Masters, my team founded a Medical startup in just 48 hours, which helped me in learning not only the technical aspects but the business, marketing and finance model of an industry. It also gave me an opportunity to decide my career path by analyzing which areas of the industry I enjoy the most.

Why do you like working in education and collaborating with student teams?

I love learning new things, getting updated about the latest technology and giving it back to the community. Working in education helps me to pursue all these interests. I feel inspired and motivated while working with the future engineers.

Fun Facts:

  • I played Archery and Basketball at a district level in school and undergrad college
  • I love to buy Mugs & Shoes (today’s count estimate for each 40+)
  • I only like chocolate desserts; my fav is dark chocolate (100% dark please!!)