A mixture of confusion and curiosity led me to begin exploring Machine Learning. I was left unsatisfied by the brief explanation of Artificial Intelligence and Neural Nets given in the Cognitive Science course that I took in college. In the tech community on Twitter and elsewhere, Machine Learning is something of a buzzword. But what exactly is the difference between Artificial Intelligence, Neural Networks, Machine, and Deep Learning, are the terms interchangeable, and will A.I. take over the world?
This post will attempt to answer those questions - well, maybe not the last one.
Artificial Intelligence (A.I.) sounds mysterious and sci-fi, but it's really not. Artificial Intelligence can be something as simple as a computer program that plays chess. It's anything where a computer performs a task that's traditionally carried out by human intelligence. To get it to do a task, a programmer defines a set of algorithms (rules), which the computer follows to produce a certain result.
The kind of A.I. that we have now is weak or narrow A.I. - that means that the computer program carries out only one narrowly defined task - like playing chess. The computer performs the task extremely well, and often even better than humans. General or strong A.I. is machine intelligence that is capable of learning and performing a variety of tasks, and thus mimics human intelligence. That's your sci-fi A.I., and we haven't really achieved that yet.
Machine Learning is a subset of Artificial Intelligence. What distinguishes Machine Learning within the field of A.I. is that the machine is the one figuring out the rules, based on a pool of data, rather than the programmer giving the rules to the machine.
Data plays a huge role in Machine Learning, because without it the machine has nothing to use to build its rules. The machine is given input data, and an expected outcome, and generates the best rules to account for reaching that outcome with the input data. It uses this data to make future predictions (usually not with 100% accuracy - computers will occasionally make mistakes, just like humans do).
In Machine Learning the input is called features: it is the information we use to predict something. The output is called labels: it is the thing we are trying to predict. In the learning phase, the machine is given training data to help it recognize patterns between sets of features and labels. The end goal is to give the machine some features without labels. Then the machine will use the rules it's come up with to give a pretty good prediction of output for those features. The bigger the data set, the more accurate the machine's learning will be.
Deep Learning, also called Neural Networks/Nets, in turn is a subset of Machine Learning. Very basically, Deep Learning uses many layers of data representation, instead of the two layers that Machine Learning uses. Machine learning has an input layer, and an output layer. Deep Learning has an input layer and an output layer, and between those layers has many more layers, that all have connections with one other. If that was a little confusing, it's because I don't know much more about Deep Learning than that at this point!
One more thing: since they're called Neural Networks, you might think that they're modeled after the way the brain works (with its neurons being connected through synapses). Well, that's not entirely true - Since we don't actually fully understand how the brain works, it's more accurate to say that Neural Nets are inspired by the human brain. However, in the field of Cognitive Science, Neural Networks are actually considered by some to be a very promising model for understanding how the human brain (and/or mind) works.
If you've read this far, I hope you have gained a better understanding of the differences between Artificial Intelligence, Machine Learning, and Deep Learning. This is the first in a series of posts I will write, summing up what I discover in my studies. Thus, I do plan to write more on Deep Learning once I find out about it.