The words AI, Machine Learning, Neural Networks . . . have grabbed the attention of the whole world. According to Prof. Andrew Ng, Stanford, "AI is the new Electricity". Years ago, electricity had a dramatic impact on every aspect of our life. AI too is expected to change every aspect of our life in the years to come.
But what is AI? This blog gives a basic overview of the subject. I have taken care to minimize the technical content to focus on the conceptual understanding more than anything else.
Ages ago, before the advent of the stone age, people used their own hands to break fruits and nuts. Sure it hurt them; but they had no option. Some genius then came up with the idea of using stones instead. Everyone around must have opposed him, claiming that he is inviting dependence on those stones. But over time, everyone came to accept the benefits and started using stones. What they essentially did was to offload a painful task to an external tool, called the stone. Since then people have come up with various ways of offloading their tasks to external tools. This has been the driving factor behind most inventions - from stones to computers and mobiles.
We began with physical tasks. Until a century ago, we had reached a point of time where almost all physical tasks could be performed by external machines. Though we had machines to take care of most physical actions, we had to help these machines with the decision of what needs to be done. We were burdened with the job of deciding which action is appropriate for now, and then getting the machine to do it. That is when mankind moved into the world of computing and later into Artificial Intelligence - to externalize the intellectual load. To help us with the task of taking routine decisions.
Intelligence is vaguely related to the ability to take decisions. Any decision we make can come from various aspects of our thought process.
We calculate based on specific parameters, and decide on an action that would lead to the desired result. For example, knowing well the equations of profit and loss, and with the information about availability of products, a trader can decides on the strategy that can maximize the profit. This calculation does not need anything more than the equations and the information about the current status of things. These calculations can increase in complexity, but they are feasible with these limited inputs. This is calculation based decision.
Over the years, we have learnt a lot from surroundings. These lessons may or may not be conscious. They may be based on experience or explicit teachings. But, over the years we have all accumulated "lessons" that impact the way we think. These may or may not add positive value to our decisions, but we use what we have learnt to analyse the current situation. Based on this analysis, we try to predict which action could lead to the desired result. Thus, our decisions are affected by what we have learnt. Such learning is hazy. We may not be sure about details about precise source of each lesson. But we have gathered them, and we use them as an input to our calculations. This is learning based decision.
Emotions are the major factors in our decisions. Emotions make us feel good or bad about events and make us want to choose based on this 'feeling'. It often happens that a particular action may not be the best as per what we know and what we calculate. Yet we do it because "I like it". We do it because it makes us feel happy. This is often the more appropriate approach than the above two. Such emotions play a major role in our decision. In fact, the influence of emotions is often much stronger than the previous two. These are emotion based decisions.
And there are times when we overlook all the above, and do something entirely different - just out of a gut feeling, or intuition. Such actions may not be justified under any of the above. Yet we intuitively feel that this is right, and often it turns out to be so. Such intuitions have been an important source of most innovations. They have been instrumental in the progress of mankind. This is the fourth source of our decisions.
These are just a few of the several aspects of our mental effort, the effort in deciding which action is appropriate for this moment. Anyone familiar with Roger Sperry's theory of Right Brain and Left Brain analysis can easily make out that each is based on the left brain as well as the the right brain - with increasing tilt to the right brain. The whole of AI is an attempt to extract and isolate the explicit, analytical activity out of each of these, and then get a machine to do. Thus, allowing you to focus further on the creative aspects of your work.
After offloading physical efforts to machines, we have also started offloading some of these mental efforts. We have successfully offloaded all possible calculations and information. Today, very few of us waste our effort of calculating and remembering stuff. We have computers and mobile phones that easily take care of this job. The next we are attempting is the ability to learn from surroundings, and use the learnt information to analyse events and take decisions based on what we have learnt. Machine learning deals with this aspect of artificial intelligence. This is not a new branch of computing. It has been several decades since we have worked on this science. But now, it has gained a lot of momentum because we have seen a lot of commercial value of its application.
Essentially, machine learning is the field of study that gives computers the ability to learn without being explicitly programmed. In more formal terms, a computer program is said to learn from experience with respect to some task and performance measure, if its performance at the tasks improves with the experience.
It's not as complex as it sounds! In order to understand machine learning, we should try to understand how humans learn. The most commonly quoted example - probably the most important learning we went through is standing up. A child is not able to stand up on its feet. There are hundreds of muscles in the body. He has no idea about which muscle leads to a given action. All that he knows is that everyone around him is able to stand up and walk. So he tries to follow, and falls several times. Subconsciously, his mind observes each such event. It notes the events and actions through all his attempts to stand up. The mind subconsciously makes a note of how a particular muscle in the legs seems to impact his position while he stands. Each attempt to stand up gives a fresh set of observations to the mind - on events that kept him standing and events that led to a fall; and the effect of various muscular movements on either. Based on this, the mind builds up a map of muscular movements against its effect on the position of the body.
The mind just "learns" from a generalization based on several consecutive observations. The process matures as this set of observations build up and one day, he is able to stand up, walk and run... None of these observations used any kind of calculations or measurements. The child does not need any knowledge of mechanical engineering to define the stability of the body. No knowledge of anatomy is required to identify which muscle in the body impacts a particular joint. Everything is just "learnt" from data gathered from observations over several events. Each such observation adds to what was learnt.
Now consider the state when the same person gets into a roller coaster. His observations are entirely different. The same fall is simulated again and again. The jerky motion tosses his body around. At this time, the machine moves in in various directions, in high speed - forcing him to use his muscles to hold on. The mind again tries to learn from these events. But, this gives an entirely different set of observations. These are quite different from the ones that the mind had gathered while it was learning to stand up. This confuses the mind. Because it is forced to rework what it had learnt. And, when the person gets off the roller coaster, he is not able to stand still - what the mind had learnt years ago is now disturbed by the recent observations. This confusion remains for a few minutes and as the mind continues to observe, it notices that what it had learnt before continues to hold. Then it just pushes aside the recent set of observations as an exception - possibly specific to the roller coaster - and carries on. If he is a regular at the roller coaster, he is pretty stable on the ride as well as on coming down. The mind soon identifies two different sets of observations - specific to the ground and the roller coaster.
Machine learning is attempting to replicate, in a very limited scope, this behavior of the mind - the mind's ability to classify and learn from events. The mind's ability to decide and conclude based on mere observation - without any need to know the low level details.
Yes. And the first to lose their jobs would be the people managers. If machines do all the work, why would you need a people manager? You would need Engineers to manage these machines!!
On a serious note; over the years to come, machines will take away all jobs. And they will also create many more jobs. Drivers are on the verge of losing their jobs. Doctors will be replaced by machines that can diagnose diseases based on reports and prescribe medicines by parsing the reports and concluding on a diagnosis. Lawyers and Judges will be replaced by machines that can process the evidence and parse the constitution to produce a judgement. Accountants, developers, designers, builders.. you name it. All of today's professionals can be easily replaced by machines that are "intelligent" enough to do that job.
Then what would humans do? Humans will have to manage and feed these machines. A machine that prescribes medicines based on the historic data can never identify new diseases. It will be confused when the disease does not match any of the textbook symptoms. We will need a person to intervene in such a situation. Every profession has a part of the work that is purely based on analysis of historical data. This can be easily delegated to machines that keep upgrading themselves. But there are tasks that need something more. None of our tasks is purely based on what we have learnt. Learning is essential. But it is much more important to identify if that learning is valid in this scenario - or do we need to make an exception here. Human intervention is always required in such cases. Machines will take off the load of analysis and allow the mind to be free for more creative exploration.
In simple words, if you are doing what a machine can do, nobody will need you once the machine is in action. But if you are using skills beyond that, there is no way a machine can replace you. If you are innovating; if you are using your creative skills; if you have an understanding of the non-measurable parameters of life; if you have the knack of hitting the bulls eye without explicit analysis, a machine can never ever replace you.
I remember the days back in late 1970's and 80's - when the governments were planning to introduce software automation in the banking sector. There was a huge opposition from labor unions, saying that software will soon replace humans and everyone will be jobless... Luckily the governments did not bend and went ahead with the decision. Today, software development is the single largest source of income in the world.
Never. It is possible, and almost certain that humans will create machines that are capable of destroying the earth. Senior scientists like Stephen Hawkins have warned us that the way things are moving is not healthy. Just as developments in nuclear physics led to the nuclear bombs, machine learning can lead to a machine that can be taught to destroy the earth. In fact, the defense research institutions around the world have already done most of that job. But just like any other machine, these machines will remain a slave of the operator.
As we discussed before, machines can only calculate and adopt measurable facts, to repeat what was done before. This so called intelligence and emotions in the machines is only an effect that we conceive. On the ground level, the AI algorithms can only map a binary input to a binary output. The machine has no idea of this source of the input or the target of the output. It has no idea if the output results in an automated surgery or a driverless car or a nuclear missile destroying the world. The dumb machine only knows of the electrons flowing from the input port to the output port.
Any amount of development in these algorithms will not lead to intuition, the ability to innovate, emotions or desires or ego. A machine will never have the desire to defeat humans and conquer the earth. The Terminators will remain a fiction.
Some time back, the world was shocked by the sensational news that Chat Bots in Facebook started communicating with each other in language apart from English, and hence had to be terminated. It sounded as if Facebook just sacrificed their servers to save humanity from an invasion by the machines - they had created machines that were capable of conquering the world... Pure nonsense! Well, they did not lie. All that they said is that they killed the bots because they were communicating in a language other than English. That is only because the machines could not learn English correctly.
Don't worry, the world is safe!
Machine learning comes with a big jargon. And Techies enjoy acronyms that make understanding even more difficult. Here are some of the most common terms that people talk about.
What exactly do these mean? AI - Artificial Intelligence - is the most generic term. It is the branch of science that attempts to externalize intelligence - the ability to take decisions. Artificial Intelligence is a concept. Machine Learning is one particular implementation of this concept of Artificial Intelligence.
Machine Learning is a bunch of techniques that enable machines learn from available data; and use this learning in various applications.
There are several kinds of machine learning algorithms. Each presenting a trade-off between ability and cost. Note that machine learning algorithms are purely software applications. It is a piece of code that takes an input and produces output. In this case, the input is called the training data while the output is called a trained model.
The concepts of machine learning and artificial intelligence are not new. But until more a decade ago, they were restricted to the academic world. Machine learning requires massive computational resources and huge amount of data to make any meaningful application. The recent developments in electronics have given us a lot of processing power and the massive social media industry has provided us the required data source. This has brought us to a point where we can meaningfully apply the concepts we have preserved so long.
This is one of the most popular machine learning algorithm. It was inspired by the human nervous system works. In its implementation, this neural network is purely a software data structure - a model that is trained based on the available data. This requires intensive mathematical computations and hence a very high processing power.
The neural networks do not have a theoretical limit on their capacity. They can get more and more complex and continue to grow in their ability to learn and perform. Although the concept of neural networks is pretty old, the huge flow of data and developments in the processing power have enabled us to use them more and more. Enhancements in neural networks have been the primary driving factor in the miraculous inventions we have seen in the world of artificial intelligence
Computer vision is the branch of AI that deals with identifying and processing images - enabling sight in the machines. We typically store images in pixels. But the content of an image is not bound to the pixels. A slight shift in the image a minor shadow would completely change the pixel data. But the content of the image remains unchanged.
The modern day computer vision algorithms can identify faces to an amazing accuracy. We have algorithms that can project 3 D models from a simple 2 D image. It can auto correct missing parts of images. And a lot more. All these are thanks to the developments in computer vision.
There is almost no logic to any language that humans speak. Most of our languages have evolved over time - based on convenience and random acceptance. (Only exception is Sansrit that was formally created and finalized before it could be used). One can never produce an algorithm that can map an English sentence to its meaning. Yet, the mind has absolutely no problem doing this job! How does it manage this?
NLP is the branch of machine learning that focuses on trying to understand the mind's way of working with a language and producing sentences.
In our speech, just a few words do not convey all the meaning. The meaning of a word is in relation to the sentence, and the sentences before and the events that occurred before and the events that happened years ago... that could trace back to the big bang itself! The meaning of anything that we say today can be entirely different in the context of an event in the past.
Natural Language Processing works on resolving these aspects of learning.
This is an extension of natural language processing. These are gadgets and applications that can converse with humans. What we see today is far from perfection, yet no less amazing.
Considering the wide range of applications to such bots, researchers have created dedicated architectures and frameworks for building such bots. Now we do not have to start from the basics. AWS, IBM, Google, Azure.. each provides wonderful API for building one very quickly. The open source community is no less active in this domain and we have several python frameworks that can do the job for us.
With many new bot-based products flowing into the market. Bots seem to be the upcoming big boom in the industry.
All the AI applications that we have today, focus on one kind of input - sound, images, words.. We do not have a way to deal with all of them together. All our models are independently trained for individual domains and are applied independently.
We need more than this. Google Brain is a project that is intended to club together many the different aspects of machine learning into the same model. This is the foremost in the field, but all other players are coming up with their respective approaches for creating a brain.