From Artificial Intelligence to Deep Learning
Artificial intelligence or AI for short is the field of making computer think like humans by creating an artificial brain. Whatever the human can do intelligently is required to be moved into machines. The machine will just do what the human tells it and no more. For example, the human can sort numbers in an intelligent manner and so machines should be intelligent by sorting numbers like humans. To do this, there are a number of algorithms like bubble sort that allows the machine to think like a human. The machine will just follow several lines of codes that are to be executed each time with no changes. Just follow the instructions that the human told the machine about to do the task. The machine in this case is tied to the human and can`t work on its own. This is like a master and slave relationship. The human is the master and the machine is the slave that just follow the human orders and no more. A program embedding intelligent behavior tells the machine what to do.
But the idea of embedding intelligent behavior inside chunks of code can`t handle all intelligent behaviors of the humans. Some simple tasks like sorting numbers can be handled with 100% of human intelligence. Such code will work with all numbers even if they are small or large, real or integer, positive or negative. But some complex tasks can`t be solved by just code. It is impossible to write code to classify objects in images like cats, humans, cars, and so on. Such intelligent behavior of classifying objects can`t be simply solved using just code because there is no single rule for classifying objects. There is no rule to discriminate two classes like dogs and cats due to the varying appearance of these objects and the different environments for them. If a rule was successfully created to classify dogs and cats in one environment it can`t work in another. But how to make machines robust in such tasks? This is machine learning.
Many tasks can`t be solved using just code to teach the machine how to do it and data is required. To make the machine able to classify different objects data is required.
In machine learning, the human was responsible to do many tasks and one of the most complex tasks was feature selection. What are the most robust features to use for a specific task? This is the question that researchers tried to answer for different applications like detection, tracking, recognition, etc. Also the human is who analyze the data to find the best features that fits all different classes of data. For example, to discriminate objects like humans, dogs, cats, cars, planes, trees, and many others it is required to have some types of features that are robust in discriminating all of these objects. This is a very challenging task because the larger the data the more complex for the human to find a features working across all of them. But how to find the robust features to use for discriminating different classes? This is solved using deep learning.
If the human ability to find good discriminating features decreases as the number of classes increases, we can avoid depending on the humans and leave that task for the machine. The machine itself will try to explore the data and find the most robust features to discriminate the classes. Just give the machine the data and it will find what features to use in order to make a classifier. But this is very tiresome in its processing and memory requirements and may take weeks for the machine to learn how to discriminate between the different objects.