Machine Learning, Artificial Intelligence, and Neural Networks. What it is, why it’s important, and how to utilize it.
- Posted by Pek Pongpaet
- On July 18, 2017
- 0 Comments
- ai, artificial intelligence, big data, deep learning, machine learning, neural network
The modern computer is often compared to the human anatomy. The central processing unit, CPU, is explained as the “brain” of the computer, but in reality, the similarities are very miniscule. The computer was designed to handle large and complicated computations that would often take a human a long time to compute.
If I were to ask you, “what is 12345 times 54321,” it would probably be very difficult for you to calculate the answer in your head. A computer, on the other hand, can determine an answer almost instantly. What happens if I give you a picture of an apple and asked you, “is this an apple?” It’d be very easy for you to determine that it is an apple with barely any thought, but a computer, on the other hand, would have a difficult time answering the question.
What engineers and data scientists realized is that a computer can compute problems that humans find hard, but they have difficulty computing problems that humans can easily determine. This is because the modern processor was designed to handle computations that require no experience, whereas determining whether an image is an apple or not requires knowledge about apples. For a computer to solve this problem, you would have to teach the computer everything you knew about apples. This is where machine learning, or deep learning, comes in.
What is machine learning, neural network, and artificial intelligence?
Machine learning is the process of giving computers the ability to learn and improve itself over time. What that means is the computer is able to input data to solve a problem and formulate its own process to solve a problem. For example, if we wanted to hard code a computer to tell if the input is an apple, we could tell the computer that red, circular objects with stems are apples. What happens if the apple is a granny smith? What happens if the color is black and white?
To accommodate every possible scenario, a large amount of input data is needed to train a neural network. A neural network is essentially a computer model with connected data nodes modeled after the human brain. Data moves from input nodes and travel through transfer functions that determine a solution to a problem. It is very similar to a human neural network where the neuron accepts an input, the cell body performs a transfer function, and the axons carry the output.
The neural network is designed to produce an output based on each factor it notices. For example, let’s say a node asks “does the image have red?” If it does, it will go through the axon and travel to the node that asks “does the image have a circle?” The network originally has none of these questions, but over time, questions are produced and improved based on tests that are done. This is an simplified, practical, explanation of how a neural network works in our scenario.
A machine learning algorithm trains itself over time by taking large sums of inputs and determining outputs. If an output is close to the actual answer expected, the neural network that produced the output is kept. The algorithm continues to improve itself by generating improved versions of every iteration, keeping the good and dropping the bad. This process is known as neuroevolution, and it is very similar to the theory of evolution. If a specific neural network produces a good output, additional nodes (questions) are created and tested.
Eventually, the machine learning algorithm will reach a point where its improvements are miniscule. If trained properly, the algorithm should now be able to determine whether a picture is an apple or not. It was able to create a neural network based on large sums of input images that improved throughout time. This is an example of artificial intelligence, the process of human tasks being done by computers that require experience.
Why is it important?
Okay, why would I never need a computer to tell me whether something is an apple or not? I have two, perfectly good eyes. Well this example is a small application of the possibilities of machine learning. What if we expanded on the algorithm to determine if there is a human in the image? What if we expanded that algorithm to determine whether someone was sick? Or happy? Or Vietnamese?
In this day and age, there is an abundance of available data. This data can fuel countless machine learning algorithms to create artificial intelligence in many different ways. You can use stock data to determine whether you should sell or buy a certain stock. You can use audio data to transcribe voice to text. There are countless possibilities, and a lot of companies are starting to utilize it.
I’m sure you’ve noticed that ads you encounter on the internet today are far more personalized for you than they were 10 years ago. You’ve also noticed that when you enter something into a search engine, the search engine will predict what you will type next. Maybe you’ve uploaded images to Facebook and noticed that it suggested who to tag in your pictures.
These are common artificial intelligence examples that you probably encounter often. Data is inputted into a machine learning algorithm to produce a better user experience for you. The data can be your browsing history, your search history, or even your Facebook friends. More often than not, you are utilizing some tool that has been improved with machine learning.
How do I get started?
To create your own machine learning algorithm would most likely take an extremely long time. Engineers and scientists spend years and years to create and publish machine learning algorithms. Fortunately, many algorithms are public and free to use.
Scikit-learn (when I wrote ‘Scikit-learn’, Google Docs suggested me to create a hyperlink to the website; that’s good machine learning!), contains many machine learning algorithms for Python developers to play with. Once you have Scikit-learn imported, all you need is data and you’re ready to go! There are countless tutorials online for you to get started with much more in-depth explanations. Python Programming provides quality tutorials for all sorts of scenarios using Python and Scikit-learn.
If you want to avoid creating your own neural network, there are a handful of completed neural networks that you can access without getting your hands dirty with input data! Google’s Vision API allows you to input images into it and it outputs everything that it sees in the image. It will tell you the items in the pictures as well as whether someone is happy or sad. This can be integrated into apps very easily; imagine if Instagram used this and people can search for pictures of apples rather than pictures that contain the hashtag apple.
This article is meant to provide an explanation of these technologies and why its popularity is growing exponentially. Whether you decide to incorporate it or not in your applications, it’s important to understand how it works and why it’s growing. It is evident that we are in the Age of Big Data, and there’s no doubt that it will continue to grow exponentially.