Let’s get started right away. Would you accept if I say that people have wondered whether the machines might become intelligent, over a hundred years ago until a programmable computer was built(Lovelace, 1842)?
Today, artificial intelligence (AI) is a booming field with numerous practical applications and on-going research topics.
The whole idea of this blog is to demystify the intuition behind artificial intelligence and its sub-domains.
First things first, artificial intelligence is not just if and else statements. You’ll understand the reason behind my statement by the end of this blog.
The way I see artificial intelligence is, Humans are good at Intelligence and machines are good at computations. So, the blend of both human intelligence with machine computation is Artificial Intelligence.
The sub-domains, including machine learning and deep learning, are the ways to teach the machine how to do a task. 🤔🤔 I know it’s still confusing. I’ll walk you through a few examples to get a clear idea.
The high-level view of artificial intelligence, machine learning, and deep learning.
Let us consider the classic problem of predicting whether an employee would leave the company or not? (Also famously referred as Employee Churn Problem) Now, when you say an employee, there will be a lot of information related to him starting from employee id, age, marital status, salary, so on and so forth.
Please go to this sheet to see the data fields https://docs.google.com/spreadsheets/d/1DtSYjm8taTaet7h4pRKte0ezd7BJ2B0Hn2wPUfPTw40/edit?usp=sharing
Now that we have a lot of data fields and we don’t necessarily need all of them to tell whether an employee would leave or not. For example, EmpID or Dept ID might not matter for us but the salary that he’s earning, his increments from past years, his manager might be pretty useful. Even sometimes his marital status when combined with salary has an impact. We humans, by looking at it can say that this data is not needed and this data is needed. But, for a system, it cannot decide on that when it comes to machine learning.
In the case of machine learning, we have to hard code the important features to the system to map the representations among them and give us insights.
The moment I say “we can hard code”, I mean that we can select the features which we feel would be responsible to solve the problem. If you consider the above problem, we can choose marital status, salary, manager, number of job changes, age.
Machine Learning is the ability given to the system to learn(based on the features that we choose) and improve based on experience without being explicitly programmed.
Since we have fewer data fields we can hard code it but when we have a lot of features involved, then it becomes nearly impossible to do it.
Or suppose, we have a problem identifying cars in a photograph. We all know that cars have wheels, so we might like to use the presence of wheels as a feature. Unfortunately, it is difficult to describe exactly what a wheel looks like in terms of pixel values. A wheel has a simple geometric shape, but its image may be complicated by shadows falling on the wheel, the sun glaring off on the metal parts of the wheel, and so on.
You might wonder how machines can do that for us? Don’t you?
Let’s check out how machines can do that.
One solution to this problem is to use machine learning to discover not only the mapping from representations to output but also the representation itself. This approach is known as Representational Learning.
A representational algorithm can discover a good set of features for a simple task in minutes, or complex tasks in hours to months. Manually designing features for a complex task requires a great deal of human time and effort.
When designing features or algorithms for learning features(representational learning), our motive is to segregate the factors of variation that explain our data. Factors simply refer to separate the sources of influence which cannot be directly observed.
2. Using Artificial Intelligence to detect COVID-19
3. Real vs Fake Tweet Detection using a BERT Transformer Model in few lines of code
4. Machine Learning System Design
For instance, when analyzing an image of a car, the factors of variation would include the position of the car, the angle, it’s color, and the brightness of the sun. In real-world applications, these factors influence every single pixel of data we can observe. The individual pixels of the red color car might be very close to black at night and the shape of the car depends on the viewing angle. In such cases, it is nearly as difficult to obtain representation to solve the problem. Representation learning does not, at first glance, seem to help us.
Deep Learning solves this problem of learning representations by introducing representations that are expressed in terms of other, simpler representations. Deep learning allows machines to solve complex problems even when using a data set that is very diverse, unstructured, and inter-connected. The more deep learning algorithms learn, the better they perform.
The below figure shows how a deep learning system can represent the concept of an image of a person by combining simpler concepts, such as edges, corners, etc.
In this post, we have learned what is machine learning and the reason why we couldn’t solve more problems using machine learning, which leads us to representational learning and the problems with representational learning which leads us to deep learning.
Thank you for reading 🙂 Have a good day!
Deep Learning book by Ian Good Fellow.