This is the twenty-fourth article in a series dedicated to the various aspects of machine learning (ML). Today’s article will cover common machine learning problems that neural networks are good at solving.
The mind is a jungle. Or the ocean. Take your pick. Whatever your metaphor of choice, the metaphor is apt: The mind, like a jungle or ocean, is vast, replete with sights seen and unseen, and that which can’t be seen is always more terrifying than that which can, and that which comes into view from previously unseen depths or hiding places will always shock and appall you. And, if you do want to explore it, you’re probably best off doing so with an expensive guide. But, physically, it is a wonder to look at, and the closer you look the more mind-boggling it appears. A truly immeasurable complexity is at work here.
Why are we waxing rather unpoetically, arguably glibly, about the human mind and its nature-setting analogues? Because, just as the beauties and wonders and terrors of the ocean or jungle can be rendered in a painting, so can the “mind”-bogglingly complex physical processes of the grey-pink pile of intricately-connected mush that is the human brain be replicated by computer scientists. That’s right, we’re talking about neural networks.
Here’s your refresher: Neural networks, sometimes called “artificial neural networks” in an effort to differentiate them from their natural template/inspiration, are networks of interconnected nodes that process and create output analyses and predictions based on inputs. They are modeled off of the structuring of neurons in the human brain, where countless neurons are connected to each other and transmit information in response to sensory inputs.
Neural networks are a machine learning staple, and we’ve said before in this series that their use in deep learning—where multiple “hidden” layers of neural networks are used where the outputs of nodes are transformed and inform the ultimate, “visible” output—to create better and more accurate outputs. But it is not just boosting accuracy that neural networks are good for, as they also solve problems. Read on to learn about the specific problems they help solve.
Detecting Errors and Irrelevant Data in Training Data Sets
Erroneous and irrelevant data is referred to as “noise” in the machine learning world, and neural networks are adept at screening out such noise. The wide array of nodes in neural networks offers what could be called “perspectives” on the various datum that pass through it, and thus are able to detect when something is irrelevant, or contradictory, to the rest of the data. So, if a machine learning classifier is tasked with grouping together pictures of animals, and in the process of grouping the lions together sees a picture of a lion with a human baby’s head overlaid over it, then the neural network will recognize this weird picture from the noise that it is and keep it out of the representative group of lion pictures.
Completing Lengthy Tasks
Imagine you are at…wherever you work, when your boss, or someone, hands you a 30-page document in Swahili, printed single-spaced with 0.5 inch margins and in 5 point font, and tells you to have it fully translated by the end of the day, because it’s important. Unfortunately for you, you do not even have a grasp on restaurant Swahili, and oh yeah, you’ll be fired if you don’t translate it in time. *Gulp* Seems like the ladder to success just got a bit more slippery!
So what do you do? You pull up deepl, the internet’s foremost translation machine, and copy-paste that 30-page behemoth into there, wait however many dozens of minutes or couple hours it takes to translate to a semi-broken English, then copy-paste that to a Microsoft Word Document, print it out, and slide it under your boss’ door, behind which can be heard TV voices from what you are quite certain is a rerun of Friends, along with maybe six or seven distinct middle-aged real-life voices talking about how delicious the vending-machine snacks are and how this is the best office-slash-all-day-break-room in the world. You feel left out, and slink back to your desk. Just another day at the office.
This, then, is one of the great benefits of Neural Networks: Yes, they can take quite long on tasks (sometimes even hours to accomplish one goal), but it is done at a fraction of the speed that it would take a human to do so. In the case of machine translation, this is time-crunch outputting is a lifesaver.
Keeping Up With Fast-Paced and Ever-Changing Environments
You jump into the self-driving Uber. It knows your destination, and floors it to Mach Speed the second you buckle up. You scroll through Instagram, liking, scrolling, liking, scrolling, when you look up and to your surprise see that it is raining cats and dogs!!! Oh no! You’re beginning to regret hopping into a self-driving Uber, and believe a crash to be imminent.
But don’t fret! As it turns out, many neural networks “refresh,” meaning they are reapplied, many times a second during the undergoing of a task, especially one as high-stakes as driving a human being. This ensures that it is always on top of data analysis. In reality, there is nothing really to fear if the self-driving car is well-designed, because it will be in a state of perpetual updating in order to best inform its next moves.
Humans Don’t Need to Get It
An AI agent’s output is something a human should be able to understand or benefit from. So, in the case of translating Swahili, the output of translated English sentences is understandable by a human.
Neural networks, in their analysis of input data, often assign “weights” to the hidden (to the human awaiting e.g. a translation), intermediary node outputs, and these weights are difficult to interpret by humans. A weight more or less determines whether any one node’s output is valuable or not, and whether it should be used in creating the ultimate output.
The beautiful thing about the complexity and inscrutability of weight-assignations in neural networks is that a human doesn’t need to understand what is happening in the neural networks to understand the ultimate output. So, a human using a ML agent to translate Swahili to English only needs to focus on whether the output makes sense, rather than know how the neural network makes sense and reasons through its translation.
Neural networks are primarily known for helping create better, more accurate outputs, but they can help with a number of problems encountered in machine learning. Among these problems are error detection in data sets, completing lengthy and complex tasks in a formidable amount of time, quickly updating its reasoning to interpret fast-paced environments, and allowing humans to focus on the important (to a human) aspects of the input-output process of an AI agent.