Friday, April 22, 2016

AI Machine Learning

I have been thinking to write on this for few months. This is very fast evolving science. Just puting down collected thoughts on this topic.


AI is a computer program that does something smart. It can be a pile of if-then statements or a complex statistical model. Usually, when a computer program designed by AI researchers actually succeeds at something -- like winning at chess -- many people say it's "not really intelligent", because the algorithms internals are well understood. So you could say that true AI is whatever computers can't do yet. ;)

Machine learning, as others here have said, is a subset of AI. That is, all machine learning counts as AI, but not all AI counts as machine learning. For example, symbolic logic (rules engines, expert systems and knowledge graphs) as well as evolutionary algorithms and Baysian statistics could all be described as AI, and none of them are machine learning.

The "learning" part of machine learning means that ML algorithms attempt to optimize along a certain dimension; i.e. they usually try to minimize error or maximize the likelihood of their predictions being true. How does one minimize error? Well, one way is to build a framework that multiplies inputs in order to make guesses as to the inputs' nature. Different outputs/guesses are the product of the inputs and the algorithm. Usually, the initial guesses are quite wrong, and if you are lucky enough to have ground-truth labels pertaining to the input, you can measure how wrong your guesses are by contrasting them with the truth, and then use that error to modify your algorithm. That's what neural networks do. They keep on measuring the error and modifying their parameters until they can't achieve any less error.

They are, in short, an optimization algorithm. If you tune them right, they minimize their error by guessing and guessing and guessing again.
Machine Learning is a technology within the sphere of 'Artificial Intelligence'.
Artificial intelligence is a complex topic, but a beautiful one. Its basis are very profound since it asks What is intelligence? The question have bothered many disciplines in science for decades. But I think that artificial intelligence research is a very good candidate answering it. It is not that AI tries to mimic human or animal intelligence; it goes deeper. It tries to formulate a theory of intelligence, in order to build intelligent machines.

Machine learning is just an umbrella term of different algorithms and technologies what is used to automate learning from new information. It is part of theory of intelligence research because every intelligent system needs a way to learn the rules of its environment. We don't know how humans or animals really do it. Machine learning models some concepts from these worlds but it also implements statistical analysis methods from mathematics. Many today's artificial intelligence implementations are holistic, so they are relying heavily on machine learning to learn patterns from vast data sets. This makes them kind of mimics that mimic human or other behavior described in data sets.

The pioneering technology within Machine Learning is the neural network (NN), which mimics (to a very rudimentary level) the pattern recognition abilities of the human brain by processing thousands or even millions of data points. Pattern recognition is pivotal in terms of intelligence.

It is worth keeping in mind that a lot of people assume that through Machine Learning we are developing general AI rather than applied AI
Machine learning is a science that involves development of self-learning algorithms. These algorithms are more generic in nature that it can be applied to various domain related problems. Machine learning uses statistics (mostly inferential statistics) to develop self learning algorithms.

Artificial Intelligence is a science to develop a system or software to mimic human to respond and behave in a circumstance. As field with extremely broad scope, AI has defined its goal into multiple chunks. Later each chuck has become a separate field of study to solve its problem.

Here is a major list of AI goals

1. Reasoning
2. Knowledge representation
3. Automated planning and scheduling
4. Machine learning
5. Natural language processing
6. Computer vision
7. Robotics
8. General intelligence, or strong AI

As mentioned in the list Machine learning is field emerged from one the AI goal to help machine or software to learn on it own to solve problems it’s can come across.
On a bird’s eye view, Machine Learning is the only kind of AI there is.

AI is changing. We are now recognizing that most things called "AI" in the past are nothing more than advanced programming tricks. As long as the programmer is the one supplying all the intelligence to the system by programming it in as a World Model, the system is not really an Artificial Intelligence. It's "just a program".

Don't model the World; Model the Mind.

When you Model the Mind you can create systems capable of Learning everything about the world. It is a much smaller task, since the world is very large and changes behind your back, which means World Models will become obsolete the moment they are made. The only hope to create intelligent systems is to have the system itself create and maintain its own World Models. Continuously, in response to sensory input.

Following this line of reasoning, Machine Learning is NOT a subset of AI. It really is the ONLY kind of AI there is.

And this is now proving to be true, and in a big way. Since 2012, a specific Machine Learning technique called Deep Learning is taking the AI world by storm. Researchers are abandoning the classical "Programming Tricks" style of AI in droves and switching to Deep Learning... based mainly on the fact that it actually works. We've made more progress in three years since 2012 than we've done in the preceding 25 years on several key AI problems, including Image Understanding (a really hard one), Signal Processing, Voice Understanding, and Text Understanding.

Another clue that we are now on the right track: Old style AI projects like CYC ran to millions of propositions or millions of lines of code. Systems that (successfully) Model the Mind can be as small as 600 lines of code; several recent Deep Learning projects clock in somewhere in that range. And these programs can move from one problem domain to another with very few changes to the core; this means these methods are GENERAL intelligences, not specific to any one problem domain. This is why it is called Artificial General Intelligence. And we've never had any AI programs that could do this in the past. As an example, the language understanding programs we are creating using DL will work equally well in any language, not just English. It just takes a re-training to switch to Japanese... another indication that Deep Learning is closer to true intelligence than traditional NLP systems.

Google is currently using Machine Learning a lot - in my estimate, over a hundred places in their systems have been replaced by Deep Learning and other ML techniques in the past few years. even their patented "PageRank" algorithm which was the initial key to their success is being replaced, even as I write this, with a new algorithm called "RankBrain" which is based on Deep Learning. In the shareholder's call last week, the CEO of Google said that they were looking at using ML (probably Deep Learning) *everywhere* in all their products. More generally, I expect a deluge of apps and systems that understand languages and images in the next several years, all based on Deep Learning.

I really shouldn't confuse things but strictly speaking, Deep Learning is not AI either. We are currently using Supervised Deep Learning, which is another (but less critical) programmer's cheat since the "supervision" is a kind of World Model. Real AI requires Unsupervised Deep Learning. Many people including myself are working on this; it is possibly thousands of times more difficult that Supervised Learning. But this is where we have to go.

Deep Learning isn't AI but it's the only thing we have that's on the path to True AI.
In books sense Machine Learning is basically a subset of Artificial Intelligence. Since machine learning is a subset, I will first talk about artificial intelligence. There are many definitions for what an AI is. John McCarthy's (person who coined this term) defines it "As the Science and Engineering of making Intelligent Machines." The ultimate goal is to create software and hardware that is capable of intelligent behavior.

Traditional algorithms generate unique answers (not considering the NP classes) for particular set of inputs. One already knows what output will be generated, or at least of what kind. They don't show non deterministic kind of behavior. AI on the other hand would be more like humans. We take decisions that could be unpredictable. We often deal with the same kind of problem in different ways. The whole fuss to provide this kind of capability to machines.
Learning by experience, reasoning, planning, natural language processing are different aspects of this field. Since this field is so fast and diverse, it has been divided into several fields. One of them is Machine learning.

Origin of machine learning can be traced back to the study of pattern recognition and computational learning theory. This field is more centralized towards data (Data Mining and Statistics). Main focus is to form algorithms that can process chunks of data provided to them and provide us with predictions accordingly. Instead of following particular set of instructions (like traditional algorithms do), it builds model from example inputs provided in order to make predictions or take decisions.
Today machine learning is being used in many websites, like Youtube, Amazon, etc to provide options to their viewers according to their previous searches.