Blog: Artificial Intelligence — 101
What is Artificial Intelligence?
The term “Artificial Intelligence” (AI) was first coined by Prof. John McCarthy, who defined the subject as the “science and engineering of making intelligent machines, especially intelligent computer programs”.
In simple terms, AI is a computer program that tries to mimic what a human being can undertake. Human beings have Perceptual Skills (Sound, Touch, Vision & Smell), Cognitive Skills (Reasoning, Problem Solving) & Motor Skills (Robotics, Autonomous Systems) and the field of AI is dedicated to mimic these skills with better efficiency and increased productivity.
Human beings develop and perfect the above-mentioned skills overtime via constant learning. Humans are one of the best learning machines with an inbuilt & inherent learning model evolved over ages that can be represented as Observe-Process-Decide-Act-Learn. AI derives its decision making prowess using this model.
- Observe through our senses
- Process the information using our cognitive abilities
- Decide on a course of action from a series of choices arrived upon
- Act on the decision taken
- Learn via feedback
From an academic setting, AI is considered to be a sub-field of Computer Science where the research focus is to solve hard computation programs through search, heuristics & probability. It draws its inspiration from varied fields like Mathematics, Psychology, Philosophy, Neuroscience, Linguistics and many others.
What are the different approaches of AI?
There are two types of AI approaches i.e. Symbolic & Non-Symbolic.
Symbolic approach, as the word suggests, uses symbols (e.g. words) to express various concepts, objects and its interrelationships. For Symbolic approach, AI developers needs to create rules, ontologies and draw heavily from the body of knowledge and cognitive work within the specific domain. For this approach to work efficiently, deep knowledge and considerable understanding of the problem domain is needed.
Every industry has its own vocabulary, though they use the same vocabulary/language as per dictionary. Defining domain specific rules and ontologies becomes important since it contains connections between various entities and also carries the meaning of industry-specific terms that a dictionary may not contain.
Symbolic approach can give results that can be readily understood by humans because they use the same cognitive models that a human uses and the results are also depicted using the symbols that human understands.
For e.g. assume that you have a text written in English to be translated into another language, say to Hindi. You hand this text to a person who is a translator. The translator does not know Hindi. However, the translator has a library of books that can be used to find equivalent phrase and translate from English to Hindi. Now the translation can also be done from English to any other languages, provided the library has enough books of that particular language.
There is however a drawback to this approach. The translator will have to iterate and scan through the books to look up and find the appropriate words for translation. The translation is done at a superficial level, where you match with appropriate words without having the real and implicit understanding of the language. This may not be 100% accurate and may be error prone.
Non-Symbolic approach uses inputs and knowledge models as numeric data point e.g. pixels of an image, audio frequency, IoT data etc. This approach requires huge amounts of data right from data acquisition to data curation for the system to make accurate classifications. The output of this approach may also be in symbolic form (80% likely that the audio matches with a dog barking etc).
In simple terms assume (from the earlier example) that you have a text written in English to be translated in Hindi. You hand this text to a person who is a translator. She translates it immediately from her knowledge (acquired) of the language. The big difference here is that the translator was taught the language and understands its context while translating. As in any learning process, it takes time to learn but once learnt, the translation becomes more accurate.
There is however a drawback to this approach. It takes longer time to scale up as learning process is time consuming and requires large amount of data sets.
The one big difference between Symbolic and Non Symbolic approach is that Symbolic approach requires considerable knowledge acquisition of a particular domain, whereas non-symbolic approach requires significant data acquisition and data curating for the system to make accurate predictions and/or classifications.
What is enabling the sudden increase and adoption of AI in many areas?
Increase in adoption of AI can be attributed to three main factors:
- Greater availability of data created over the internet
- Easier collection & storage of data
- Graphical Processing Units (GPU) designed and optimized exclusively for data computations and is 100x faster than a CPU
- Massively parallel and distributed computing (think AWS, Google Cloud, Azure etc)
- Cloud storage
- Drastic reduction in hardware costs
- Improved data handling techniques
- Better data processing models
AI is a concept. How do we bring it to life?
AI comes to life with the computer programming methodology called Machine Learning. Simply put, Machine learning is a “field of study that gives computers the ability to learn without being explicitly programmed” (Arthur Samuel, 1959).
So what does it mean when we say “ability to learn without being explicitly programmed”. Let’s understand this with an example.
Consider that you are trying to teach your kid to recognize a car.
At first the child learns to identify anything with four wheels as a Car. As the time goes by with more and more information (data points) through learning and feedback, the child also starts to identify other aspects of a car like type, color, model, brands etc. The inherent human nature is to learn from our experiences.
This is what we do with machines too. The programs are written in such a way that it learns from every attempt by comparing the outcomes with given inputs and decides for itself how far or how close it is from the desired outcome and rectifies itself (feedback).
What are the different types of ML?
Supervised Learning algorithm is used when the output metric to be predicted is already known based on the labeled input data. The algorithm is fed the right answer (output) for the sample labeled data (input), it finds a function that best fits the relationship between the input data and the output results.
For e.g. if an image is inputted as data to the machine it has to identify whether that image contains Cat or not.
Supervised Learning is used in those scenarios where some categorization (boys & girls) needs to be done or to find a trend (housing prices given certain data points). For these scenarios, the data being inputted has labels/information/metadata attached to it.
If the output prediction is for a list of tags or values we call it classification and if the output prediction is for a number we call it regression.
Note: According to Andrew NG, 99% of the economic value that AI/ML provides today is through Supervised Learning.
Unsupervised Learning algorithm is used when the desired output is not known and/or when inferences needs to be drawn from input data that does not have labels or identification. It is used to identify hidden patterns lurking underneath the unlabelled data sets that can give important and practical insights.
This can further be grouped in to the following:
Reinforced learning refers to a goal oriented learning approach, where the goal of the algorithm is to achieve an objective over many sequential steps. For e.g. in a game of chess the objective is to win the game over many moves with each move depending upon the quality of the previous moves.
These algorithms works on the basis of reward system, where any wrong decisions are penalized and the right ones rewarded, with each step taking it closer to the ultimate goal.
Thank you for reading!