No biggie, this is just your average desktop PC connecting to a super computer via the cloud for the sole purpose of more quickly iterating through the data processing needed for the machine to LEARN implied human emotions based on their written business/product reviews. Yes, I did say machine learning.
If you’ve had dreams of training you’re computer to learn a new trick or two, I have great news. You’re only a couple of YouTube videos and a neural network away from the actualization of that dream. Oh, and don’t worry about the whole “neural network” complication…. You can get one of those 100% free of charge thanks to google’s open sourced Machine Learning Library – Tensor Flow. Easy Peasy…at least for machine learning in 2017.
In all seriousness, technology has amazed me more than ever lately. Actually being able to apply this type of data analysis is incredible – and even somewhat scary. For example, this simple machine learning program, if given enough time to learn, is able to detect sarcasm….how weird is that!?
Sarcasm seems so human, something machines haven’t been traditionally capable of.
Let’s take, for example, your average sarcastic sentence. Humans will use voice inflection or hyperbole to directly contradict the actual words being used in that sentence. Luckily, we as humans, have intuition and semantic reasoning skills to help us determine sarcasm, and we still mess up from time to time…how does a computer replicate intuition or reasoning computationally?
Sarcasm can be learned by the machine by analyzing enough already labeled reviews and comparing that already labeled review against what it guessed for that same review before knowing the answer already provided – similar to test taking. If the machine answers correctly, it is rewarded. If it guesses incorrectly, it is punished. This punishment or reward is carried out in the form of changing the “error/loss function” of the neural network.
The Math Of Neural Networks
In a lot of cases, the neural network will find the local minimum of the gradient of
z = f(x,y) . That local minimum represents the lowest error optimization point. Check out this awesome 3-D video explaining the math needed for machine learning. 3D Math Video
Basically, by using Gradient Descent and Linear Regression, the machine is able to minimize the error function over time by altering it based on its reward and punishment system(Think Pavlov’s Theory). This is a mathematical way to learn.
Semantic and Abstracted Natural Language Processing
One of the biggest goals of machine learning is to process natural language on an abstracted level allowing understanding languages semantically. Semantic memory consist of general facts and knowledge. For example, knowing that baseball is a sport.
How To Give Language Meaning Computationally
One plausible way to give language meaning in a computational way would be to give every word a vector. This would mean each word is represented by a magnitude and a direction. By defining words numerically in vector space, machine learning neural networks would be able to make mathematical connections.
For example King, Prince, Queen, and Princess may all be encompassed as part of the same cluster of points based on similar numerical values. To continue that example, let’s say Man had a magnitude of 10 and a direction of 3. So, vector Man[10,3]. Then, lets say woman has a magnitude of 4.5 and a direction of 4. Finally let’s say queen has a magnitude of 14.5, and a direction of 7. So, we have the following. Man[10, 3] Woman[4.5, 4] Queen[14.5, 7].
Notice: Man + Woman = Queen.
We can now derive meaning through the numerical patterns provided in vector space.
What does this mean for machine learning?
This allows us to analyze clusters, multiply words, subtract words, add words, etc… We now have a way to give meaning to the words, if only based on clusters and vector space connections found via linear algebra. All of this is really cool and everything, but it does lead to a big question? How did we get here in machine learning? After all, we’ve understood Calculus and Linear Algebra for a long time, so what’s changed so much that it’s now a big deal?
The three reasons Machine Learning and Artificial Intelligence Have Exploded
1. Increase In Big Data
To train a machine takes A LOT of data.
Recent history has had an incredible spike in world data. At the end of 2016, 90% OF THE WORLDS DATA was created within the preceding 2 years of that time. This trend of increasing data percentage is new to the last 5 – to roughly 10 years. Due to this spike in data, we now have a much larger amount of data to train machines with, thus making them smarter.
2. An Increase In Processing Power And Cloud Computing Access
To Process A Lot of data you need a lot of computing power is needed to analyze A LOT of data.
Luckily, processing power has also increased. Processing Power Is Better For 2 Main Reasons.
1. Naturally increases over time(See Moore’s Law).
2. Cloud Computing. We now have easy access to extremely powerful computer processing via the cloud. Due to the increase in data and processing power, machine learning made big improvements in a relatively short amount of time.
Google, Amazon, IBM, and Microsoft Investing In Artificial Intelligence
These improvements lead to a 3rd reason for the new surge in machine learning/AI technologies – Capitalism. Google, Amazon, Microsoft, and IBM saw an opportunity to make big money through artificial intelligence. Thus, they each invested their enormous budgets accordingly. Over the last few years, billions of dollars have been invested, the best engineers in the world have been hired to create open source libraries to stimulate the market, and machines are advancing and learning in a way never seen before.