by on February 1, 2016
Computers are very fast. Yet, not that smart. That is, each time a machine performs a task, it must be given instructions on how to accomplish the task. This is true regardless of how many times it has performed the same task in the past. Each repetition requires a full set of instructions. This is because machines do not learn.
Artificial Intelligence is not necessarily about creating machines that learn. It is more about creating software that enables the machine to assign itself new tasks based on the task it has been given. Instead of inputs, calculations, result - as is the case with traditional computing. The AI system has inputs, calculations, new calculations, result, and repeat if necessary.
Consider a spreadsheet program like Excel. A person enters numbers into the cells and then assigns those values as variables inside a function. As the assigned fields are changed, the program updates the result. If no user is present to change the values, the result never changes.
The Artificial Intelligence spreadsheet may take the values and perform the calculations like traditional computing. However, it is not necessarily finished. Based on the desired result, it may continue to improve the function that was given it and produce new results based upon ever improving inputs. Then continue the process until it has reached the objective.
However, at its core, the AI system is still just running an algorithm. The term for a detailed set of instructions given to accomplish a specific task. This algorithm is just given additional freedoms that traditional applications do not have. Specifically more user like freedoms where the program can make changes to the instructions as needed or create the instructions to accomplish its goal.
In a word, this freedom is perception. The difference between a smart algorithm and a dumb application is the ability to become aware of the desired outcome and make interpretations. That is knowledge about what the results mean. For example, instead of just asking the machine to solve 5+2, an AI system can first build the problem from less stringent requirements. Think elementary word problems.
Does this mean a computer can learn? That is up for debate and not really the point. What is important is creating methods to help computers create their own instructions on an as-needed basis. In short, the algorithm must be data driven. Thus the data given is used to determine the method to solve.
This leads to the two big AI classifications of supervised and unsupervised learning. In the supervised model, data is pre-labeled and given as an example. A common use case is SPAM filtering. Where a dataset of SPAM and non-SPAM messages are used to teach the software the difference so it can block the SPAM ones.
An unsupervised model relies upon the software to categorize the data into the groups needed to solve the problem. The goal is for the computer to determine how to do something we do not tell it how to do. Similar to how animals are trained, a reward system is used to reinforce the desired behavior. Thus the system learns what instructions are desired and execute more of those actions and less of the non-rewarded ones until it creates a set of concrete instructions to solve the problem.
However, regardless of algorithm, the computer never really learns. It must be told each time how to access the data, what to do with the data, and how to present the results. Even if it is learning how to do a task, once that task is performed it will need to tell itself how to do it over and over again.