A few years back, I had a fear of Artificial Intelligence because of it’s human-like capabilities portrayed in movies like The Terminator, The Matrix, and Ex Machina (ironically still some of my favorites). I literally thought that AI and machines would replace humans.
After all, I knew that one of the key features that distinguished me, from everything else in the world was my intelligence; ability to understand, apply knowledge and improve my skills. Not just me, this has played a significant role in the evolution of humans and establishing a human civilization.
I remember reading articles like The Coming Technological Singularity:
How to Survive in the Post-Human Era, and just completely being creeped out by Ai and how it could replace me and my intelligence.
Many people (including Elon Musk) believe that advancement in technology can create superintelligence that can threaten human existence.
Fast forward to a few years later…. and after looking into Machine Learning, a growing sub-field of AI (one that I think will be the most important), I totally think that this is a possible future, but I also believe there will be more good than bad.
Since we are not yet there. We can look into other types of intelligence. Like..
What is possible today?
Most of the AI systems in place today are Weak Artificial Intelligence, which were realistically designed to solve a specific problem. Even AlphaGo, which was able to beat human champions in board game Go is considered to be a narrow AI (Weak AI).
But we are moving away from Weak Artificial Intelligence to something more like AGI (Artificial General Intelligence) using neural networks, which can help us do so much more.
Machine Learning (ML) is coming into its own and will play a key role in this development from WAI to AGI because of it’s wide range of applications, like data mining, natural language processing, image recognition, and much more.
ML will be a pillar of our future civilization.
Instead of being scared by the future and this technology, I think it’s important to understand how it could also revolutionize and disrupt so many industries.
I’ve started to look at:
- How more automation can improve cybersecurity:
-Or how Computer Vision against X-rays can help diagnose and pinpoint diseases:
There are just some of the many examples.
I’ve started to look at the positive future it could create and how I can be involved in creating that. And in order for you to better understand our future, it’s a good idea to better understand things like Machine Learning. Which is why I’ve decided to outline some of the key concepts from ML here:
Soo.. what even is Machine Learning and why is it important?
ML is actually a lot of things. But the overarching idea is best said by Arthur Samuel way back in 1959:
“Machine Learning is the field of study that gives computers the ability to learn without being explicitly programmed.”
Still don’t get it.. think of traffic:
Let’s say you want to predict traffic patterns at a busy intersection (task T), you can run it through a machine learning algorithm with data about past traffic patterns (experience E) and, if it has successfully “learned”, it will then do better at predicting future traffic patterns (performance measure P). It sounds like a pretty simple concept … except there’s actually a lot of math to it. Don’t worry, I won’t be going too deep into it, but I will be covering some of it.
First of all, you have to know the two types of ML tasks (pretty self-explanatory) :
- Supervised machine learning: The program is “trained” on a pre-defined set of “training examples”, and it reaches a decision with this data.
- Unsupervised machine learning: The program is given a bunch of data and must find patterns and relationships itself.
I’ll mostly be going into supervised learning but I will talk a bit about unsupervised learning towards the end of the article.
Supervised Machine Learning
The ultimate goal of most supervised Machine Learning models is to develop a predictor function
h(x) (or “hypothesis”). “Learning” consists of using sophisticated mathematical algorithms to essentially optimize this function so that, given input data
x (e.g. square footage of a house), it will be able to accurately predict some interesting value
h(x) from data previously collected (like market price for the house).
x almost always represents multiple data points. Like housing price predictor might take square-footage (
x1) but it also has to take the number of bedrooms (
x2), the number of bathrooms (
x3), number of floors (
x4 year built (
x5) and so on. Determining which inputs to use is an important part of ML design. For my example though, let’s stick with one input to keep things simple.
So let’s say our simple predictor has this form:
Where the 0’s are constants and we need to find perfect values for them to make our predictor work as well as possible.
Optimizing the predictor
h(x) is done using training examples. For each training example, we have an input value (x_train) and the corresponding output,
y, is known in advance. For each example, we find the difference between the known value
ywhich is correct and our predicted value
h(x_train). With enough training examples, these differences give us a useful way to measure how wrong or how correct
h(x) is. We can then tweak
h(x) by tweaking the values of the 0's.
This process is repeated over and over until the system has the best values for the 0’s.
Once it has, the predictor is trained and can be used for real-world applications.
Machine Learning Regression
The above approach is still very simple, but in reality, most predictors look like this:
This function is taking inputs in four dimensions and has a variety of polynomial terms. It would be very hard to drive a normal equation for this function. Many modern machine learning problems take thousands, sometimes even millions of dimensions of data to build predictions using hundreds of coefficients.
Examples of these are things like:
- Predicting how an organism’s genome will be expressed,
- Or what the climate will be like in fifty years are examples of such complex problems.
Regardless, the iterative strategy in Machine Learning allows for these models to still work in really complex cases.
Gradient Descent — minimizing error
Let’s take a closer look at how this iterative process works. You can make sure that the 0’s are actually getting better at each step by measuring the amount of error.. and a little bit of calculus.
The measure of how wrong it is is known as the cost function (loss function), J(0).
The choice of the cost function is another important piece of an ML program. In different contexts, being “wrong” can mean very different things. The cost function computes an average penalty over all of the training examples.
Let’s take this as an example:
Now our goal is to find the 0’s for our predictor h(x) so that our cost function is as small as possible. We can use a bit of calculus to do this.
We can use the above graph which is a cost function of a certain problem. Essentially what we do is take the gradient of:
which is the pair of derivatives of
(one over the 0's). The gradient will be different for every different value of the 0’s. This will tell us what the “slope of the hill is” and, in particular, “which way is down”, for these particular 0’s.
This get’s really technical but basically what you are doing is calculating the current gradient and updating the 0’s from the result. This process is known as gradient descent.
Introduction to Neural networks
Neural Network is basically a computational model based on the structure and functions of biological neural networks. Very much like the human brain, it’s main functions are receiving, processing, and transmitting information.
The 3 different layers in a neural network are:
- Input Layer (where all inputs are added).
- Hidden Layers (can be more than one hidden layers which are used for processing the inputs received from the input layers).
- Output Layer (data after processing).
I won’t be going into too much detail about how each layer work but Neural networks are really effective where the number of inputs is really large. The computational power of such problems are too much for the types of systems we’ve discussed above. Neural networks can also be effectively tuned using techniques that are very similar to gradient descent in principle.
Check out this article to learn more about Neural Networks.
Unsupervised Machine Learning
Unsupervised machine learning are usually used when trying to find relationships within data. There are no training examples used in this process. But instead, you give the system a given a set of data and it finds patterns or correlations within.
The Machine Learning algorithms used to do this are very different from those used for supervised learning. You have to look into things like clustering algorithms like k-means, and dimensionality reduction systems like principal component analysis.
You can go deeper into this by reading this article.
The Future is Bright
I’ve learned so much about AI in the past few months. One of them being the importance and capabilities of Machine Learning which continue to astound me. Also the importance of learning about these technologies and teaching others because it’s only when we learn more about what AI and ML, we break down stigmas surrounding this tech formulated by movies. Once we learn what the tech actually is, we can get a better understanding of the future, and maybe even invent the future.
I now understand how important this technology really is because it can be used for so much good and positive advancement.
With our current understanding, we can use it for a lot of amazing things. But I’m even more excited to see what we can accomplish in 3–5 years when it becomes more precise.
We could finally see fully autonomous self-driving a car, Ai generating art, getting accurate timely information, processing tons of data, enabling high-quality medical diagnostics.. and soo much more!
I know one of my goals now is to write an article about AI with the help of an AI-enabled system😉
I’m doing a lot of work with VR, Blockchain and Ai. If you want to stay up to date with my progress feel free to follow me on LinkedIn, and Medium!
If you enjoyed reading this article, please press the👏 button, and don’t forget to share!