Olive Branch Technology
  • Services
    • Management Consulting >
      • Professional Developmet
    • Big Data/Analytics
    • Software Engineering
  • Dollar Dashboards
  • News and Information
  • Contact
  • Learning

The Compiler

Technical knowledge for non-technical professionals

Demystifying Artificial Neural Networks

4/25/2018

0 Comments

 
An artificial neural network is a computer system that is modeled after biological nervous systems. As impressive as that may sound, an artificial neural network is, at best, a basic approximation of the biological equivalent. Think if it as being inspired by biological nervous systems, rather than mimicking ... much the same way an airplane was inspired by bird flight.

A little history ...
Artificial neural networks, and the larger field of artificial intelligence, may seem like recent technological accomplishments but they were first proposed in the 1940’s. Work in artificial neural networks has fallen in and out of favor over the last 80 years due to setbacks or advances in computing technology. As recently as the 1990’s they were largely considered impractical for handling complex problems. It was only after recent breakthroughs in large scale computing and data storage that artificial neural networks proved practical. Today, highly complex artificial neural networks are at the heart of systems such as facial recognition, speech processing, and self-driving cars.

But what is an artificial neural network?
A big algorithm.

I'm sorry, were you wanting something more? Essentially an artificial neural network is a highly complex math problem. It is made up of many many much smaller ... and much simpler math problems that when linked together make a wonderfully complex piece of technology. Did you ever see one of those huge Lego sculptures? You know those 15 foot tall replicas of modern architecture build entirely from Legos? If you look close enough, you see that those sculptures are made of up may many simple Lego blocks - not those fancy ones we see in our kids' sets - we're talking simple little bricks. Think of an artificial neural network like that.

We call those little building blocks that make up an artificial neural network neurons.You give a neuron some numbers, the neuron crunches the numbers and then spits out a result. If you hook up enough of these neurons together you can do things such as identifying a person’s face in a photograph.


That's a big leap ... how is that possible?
Time for a simple example. Let's say I want a smart cooking thermometer that will tell me just when my steak is done how I like it. I’m a medium-rare kinda guy so the light should probably go on at about 140 degrees. I made a little picture of how we can do this with one neuron. It takes the temperature as an input and turns on (fires) at 140 degrees
That might be a little too simple and also leaves me at risk of my steak being overcooked.  If I’m not paying attention, I might miss when the light turns on, so my steak heats to 200 degrees and I feel like I’m eating a chunk of charcoal.

I’ll add another neuron, this one fires at 155 degrees. Then I’ll add a third neuron that adds the output of the first two and buy myself a fancy little light that is off when the output is zero, green when it is one, and red when it is two. Now I know when my steak is cooked just how I like it and when it is overdone. I made another little picture. Here you can see my three neurons linked together and a graph of the output.
Ummm... how is that artificial intelligence?
This is a freakishly easy problem that isn’t worthy of using any form of artificial intelligence. But what if there are other considerations? What if I prefer my steak a little more well done in winter, and more rare in summer? What if it changes depending on whether I am cooking on charcoal or gas? Other factors? How about humidity, how much sleep I’ve gotten, cut of met, time of day, who I’m eating with, where I am eating, what I am having on the side, what I'm drinking with the steak, how comfortable my shoes are, and so on.

There may be hundreds of factors that determine what the ideal internal temperature of my steak for any given meal. Once you build an artificial neural network big enough to handle the real complexity of the problem it gets so complex that you could never design one by hand ... it must learn!


And so the machine learns...
That's right. Artificial neural networks can learn. We're anthropomorphizing a bit. What is really happening is an adjustment of the network to best fit a set of sample data. Typically, the machine learning process for an artificial neural network will involve collecting sample data - and a lot of it - to train the network. What we do is feed our sample data into the network, compare the output to reality, and then measure the error. There are algorithms we can use to adjust the guts of the artificial neural network such that the error will be slightly reduced next time we feed in that data. We do this over ... and over ... and over ... and over. Hundreds, maybe thousands, maybe hundreds of thousands of times.
This process leverages a branch of mathematics called optimization theory. I won't go into details of exactly how this works. That would involve calculus and I think we can all agree that now is not the time to delve into calculus 101.

So... now what?
Artificial neural networks are highly versatile and effective for a wide variety of applications. If your organization would like to take advantage of the technology, you no longer need to employ a team of AI researches to make that happen. Cloud based artificial neural network technology is available from providers such as Amazon, Google,  and IBM. There are lots of open source solutions available as well, but those don't run in the cloud and require your own computing power - for smaller projects this is just fine, but for complex problems that can be a challenge. If your teams, colleagues, friends, or relatives need recommendations - give me a shout.

Well that sounds easy!
Yes and no. You no longer need to know the intricacies of an artificial neural network to leverage the technology. Until recently you needed to know all the math, you needed to know the training algorithms (remember ... lots of calculus) and you needed to have the computing power. That is no longer the case. However, you still need to understand how to build the network (size, complexity, etc.)  and the ability to acquire and build the  necessary training data. This requires plenty of know-how. Still ... this is far more attainable than ever before!

Buyer beware
An artificial neural network isn't always necessary to solve a problem. In fact, if not applied correctly or to the right problem an artificial neural network may perform worse than a more traditional solution. With artificial intelligence being such a hot topic lately, and with the technology now available to anyone, it can be easy to throw a neural network into a system just for marketing purposes. Don't let that fool you. Ask questions, make sure that the folks using the technology know what they are doing and why.

Does this help?
I hope so. Any time there is a leap forward in technology, that leap it is accompanied by a lot of buzz. Having a little more knowledge can help you ask the right questions and make the right decisions and not be swayed by a good marketing campaign. If you need help getting started on your own efforts or if you need help in your own purchasing decisions/RFPs feel free to contact me.(yes... I realize that is my own marketing plug).

Tidbits....

Machine Learning

The process used to create algorithms based on large sets of sample data presented repeatedly to an AI program 

Deep Learning

A type of machine learning that leverages enormous data sets (even by today's standards) and a complexity of computation that had previously been impractical to handle more abstract problems such as language translation and broad visual recognition. Because of the computational resources needed, heavyweights such as Google, Microsoft, and IBM dominate the field.

$10 dollar word

Heuristic

A way to score the correctness or strength of a solution so alternative solutions can be quickly compared and ranked. Often used to search for the best answer, solution, or in the case of games, make a move.

0 Comments



Leave a Reply.

    Archives

    June 2018
    May 2018
    April 2018
    February 2018

    Categories

    All

    RSS Feed

Home

Management Consulting

Big Data & Analytics

Software Engineering

Conta​ct

Copyright © 2016, Olive Branch Technology
  • Services
    • Management Consulting >
      • Professional Developmet
    • Big Data/Analytics
    • Software Engineering
  • Dollar Dashboards
  • News and Information
  • Contact
  • Learning