ML 101: An Overview of Machine Learning

August 31, 2020

Introduction

Thanks to many widely reported successes across multiple domains, the field of Artificial Intelligence (AI) is currently booming. Some call this the Golden Age of AI, and it’s easy to see why: problems once thought intractable are now being solved by AI systems, billions are being invested into AI research by governments and businesses alike, and the race between China and the U.S. to develop advanced AI is being compared to last century’s Space Race.

When you dig deeper, you find that one big reason for AI’s success lies in one of its main subfields: Machine Learning (ML), which has undergone a renaissance and surge in popularity all its own. In this blog post, we’ll define what ML is, discuss how ML works (with a Deep Learning example) and where ML systems are used, then briefly discuss why ML is important. We’ll also touch on some potential concerns.

What Is ML?

Machine Learning could be defined as the development of programs that learn to perform intelligent tasks, without having been told (programmed) how to do these tasks with specific steps or rules.

In other words, ML programs learn on their own to “do AI” (perform tasks that are considered intelligent, like recognizing faces), instead of being “taught” (by being given a specific set of instructions or steps on how to do an intelligent task).

How Does ML Work?

To use a cooking analogy, traditional AI systems would bake a cake by using a specific recipe that is given to them by human programmers. The program then bakes the cake, using that recipe to turn initial inputs (the ingredients) into the desired output (a cake), and the recipe does not change over time.

In contrast, ML systems are given the same ingredients (inputs), but learn on their own (create their own recipe) to find a method to make the cake (output).

In other words, an ML program learns an optimal way to map given inputs to a desired output that is correct or accurate, within some acceptable error. Note that this learned recipe may seem unusual or unorthodox, and may not even resemble a typical recipe, but nevertheless achieves the same result (the finished cake).

Since ML programs learn to achieve one or more goals by themselves, these systems typically start in a state that exhibits relatively poor performance, but then improve over time. In general, the faster the ML program can improve, and the better its final performance is, the more useful that program is.

ML Example: Deep Learning with Neural Networks

One subfield of ML, called Deep Learning, uses Neural Networks (NNs) to achieve useful results by mimicking the general architecture and processes of the brain. NNs were developed as a kind of reverse engineering of the human brain, attempting to tease out the computational principles underlying the brain’s operation in order to replicate how it learns to perform intelligent tasks.

NNs typically consist of these main elements:

  • Input Layer (a set of input nodes)

  • Hidden Layers (a set of middle nodes between input and output layers)

  • Output Layer (a set of output nodes)

  • Links (connecting input nodes to middle nodes to output nodes)

  • Weights (assigned to each link, changeable over time).

The input nodes link to nodes in the hidden layers, which in turn link to nodes in the output layer. All of these nodes are designed to act in a manner analogous to neurons in the brain: each node can decide to “fire” (pass on an activation signal to one or more other nodes) after processing its inputs (combining the weights and activation signals of all incoming links according to an activation function).

Now here’s the crucial design feature: the weights associated with all these links between nodes can and do change over time. Repeated adjustments to these link weights affect how and when nodes “fire” — and these adjustments are where the learning takes place.

Training and Testing

For supervised ML systems such as NNs, there are typically two phases required in order to learn how to perform an intelligent task: training, and testing. This type of ML is called supervised because, for each answer given during training, a human tells the system if it is right or wrong. This provides feedback the system then uses to adjust itself and improve over time. The more exposure to training data, the more adjustments can be made and hence the better the system should perform in the testing phase.

Let’s say the task is to determine if an image is a cat or not. During the training phase, the NN is repeatedly fed test data (a series of images). Every time the NN receives new training data (one image), this becomes a new set of inputs; the input layer of nodes gets activated and those activation levels propagate through all the hidden layers, and finally to the output layer. If the program’s output does not match the desired output (the NN says an image is a cat when it is not, or vice versa), weights on node links are adjusted, and the process starts all over again with the next set of inputs (the next training data).  Once the NN goes through all of its training data, and all corresponding weight adjustments, training is done.

The next phase is testing, in which a different set of data (a new set of images) is presented to the NN, and its accuracy (how well it classifies images as being a cat or not) is measured.

In general, if testing goes well (the ML system’s answers are correct with a high enough percentage, or small enough error), the learning process has been completed, and you have built a useful ML system. If correct answers were not given at a high enough frequency, or low enough error, the ML system would require more training (more runs on training data) to improve its performance.

Where Are ML Systems Used?

Some domains in which ML systems have achieved much success and media attention include speech recognition, image recognition (especially facial recognition), and medical diagnosis (such as tumor detection).

In the case of image recognition, if the inputs are faces, then each input layer node might represent a pixel in an image of a face, and the output could be the age of the face (age estimation) or the name of the person.  Or there could be a more general goal of recognizing what kinds of objects are in each image (cat, dog, human, car, etc).

Why ML?

To better understand why machine learning is such a useful tool, let’s consider a human baby.

Imagine if every time you had a child, you had to explicitly tell your bundle of joy how to do everything it needs to do to survive. It would be impossible: there are simply too many things a child must learn. Fortunately, babies have an innate ability to learn a vast number of skills on their own, while parents fill in the gaps by teaching rules and skills in areas that babies have a hard time learning on their own.

Also, every child learns in their own way – the general skills and rules they learn may be similar, but the paths to get there differ from child to child.

Using this analogy, ML programs may start out performing more like children, but eventually learn to perform like adults, using a variety of techniques (such as the NNs we discussed earlier). This frees the programmer (parent) from having to explicitly code every detail of how to perform a task – and frees the program to get to the final state (expert-level performance of that task) in its own unique way.

Potential Concerns

If a programmer could just code an AI system to perform an intelligent task, why take the time and effort to have the program learn its own way to do it? Couldn’t that cause problems or errors, since the learned algorithm (recipe for performing its task, like baking a cake) might not be 100 percent accurate in the end (since it might not learn every rule that seems to us to be crucial for a successful recipe)?

In other words, what if the ML system does not learn one or more crucial steps for a successful recipe, and winds up always baking a subpar cake?

In addition, isn’t there a problem if we don’t fully understand the ML system’s (potentially strange, convoluted) learned recipe?

The answer is mixed.

For relatively simple tasks, it may indeed be quicker to just explicitly program a system to do that task. But, in general, as the problems we want an AI system to solve become more complex, ML becomes more and more useful. In fact, if the problem complexity grows past a certain point, one could argue that ML could be the only method for solving (or approximating a solution for) that problem.

And yes, there is some concern over the so-called “black box” problem, where an ML system cannot fully explain the method it learned to solve a problem, or humans cannot understand how the system performs by examining its post-learning inner state. Explainable AI is one effort to alleviate this concern.

But in general, the benefits of ML far outweigh any potential concerns, at least at this point in the development of the field.

Need ML Contractors? Flashii Finds Top Tech Talent Fast

Flashii is the solution more and more companies are turning to in order to get the vetted, tested ML contractors they need. While many of Silicon Valley’s leading tech organizations have benefited from its recruiting solution, Flashii can bring any sized company into today’s new world of remote contract work.

Based in Silicon Valley, we’ve worked with leading companies like Apple, Calix, OpenTable, HP, Versa Networks, Deloitte, PwC, and Samsung. Our team has a combined 20+ years of experience in hand-selecting elite contract talent.

Placing the Perfect Person: A Passion for Providing Proven ML Talent

We are experts at finding ML contract talent for companies worldwide.

Imagine you have an urgent ML project to tackle, but you haven’t found the right members for the team. In the current job market, there may be plenty of good ML candidates to choose from. However, selecting and vetting the most competent ones with the right attitude can be quite a challenge.

That’s where Flashii really shines.

With our rigorous selection and vetting process, we can find you the top ML contractors — engineers, developers, and scientists — for projects of all sizes. Our proven online tool assesses the candidate’s coding skills, while our associates evaluate their soft skills — since clients demand talents who not only have the best technical skills, but also possess a positive attitude.

The Flashii Difference

No other recruiting solution comes remotely close to what Flashii offers:

  • Introduction to a pool of fully vetted ML candidates

  • Talent pre-assessed

  • Predictable cost-per-contractor

  • Accelerated time-to-productivity

  • You choose the candidates that best fit your opportunity

  • Contractors are productive fast, and cost effectively, all remote.

Bottom Line: Flashii Finds Top ML Contractors, Fast

Companies that properly utilize remote resources on a contract basis will be the ones most likely to win in the new era of work.

To find these resources, Flashii does the heavy lifting, taking care of multiple pain points to bring you ideal candidates in a remote, contractor-centric world.

Our mission is simple: to provide the perfect candidate for the role you must fill, quickly and efficiently, with the best fit to the job.

There is no better recruiting partner to help you navigate today’s new normal.

By: Don Rose

Submit a Comment

Your email address will not be published. Required fields are marked *

Pin It on Pinterest

Share This