Artificial Intelligence(AI), many people hear the term and are optimistic, others shiver in fear of an uprising of machines, others still are completely overwhelmed by the knowledge necessary to understand such things.
In this set of articles i will try to provide a background and a small amount of knowledge on AI for a beginner, like myself, to grasp a better understanding of.
As humans had lived on earth for a longer time, technology was created, and eventually we had the creation of the computer. Then as home computing grew larger, the base for AI grew, and research on the subject of AI exploded.
So where are we now? Well, there are currently many implementations of AI. By implementation, i mean there are many different methods one can use to perform artificially intelligent calculations. The main implementations i will be discussing in this series will be Knowledge Bases, Hierarchical Temporal Memories (HTMs), Neural Networks, Evolutionary Algorithms, and Genetic Programs. This is subject to increase as my knowledge on this subject also increases.
Artificial Intelligence is really having a computer solve a problem for you. For instance, any time you use a calculator, you are using AI. Lets say you want to find the slope of a curve y=x2+3x-7 at point x=4. You type the equation into the calculator, and you tell it to find y'(4). It outputs 11, which is your answer. This is a simple example of AI. We have given the calculator knowledge of simple math, and when we provide it a problem, it calculates the value of the answer. Now, most people wouldn't consider this true AI, but in theory this is AI.
I just said that we gave the calculator knowledge of how to do simple math. This demonstrates a fundamental concept of AI. A computer must be given knowledge initially before it can start doing calculations. How would a computer decide to randomly turn on a circuit, then another, then another, to consequently perform a calculation. It cant, so all AI must start with some base of knowledge. Related to the idea of how you must provide knowledge, it the "AI ratio" which is essentially, how much knowledge you provided vs. how much intelligence by the computer is put out. Deep Blue, the chess playing computer, was programmed with thousands of possible scenarios that could arise in a game of chess, and then all it really did was found which scenario to use during each game of chess, so Deep Blue would have a very low AI ratio. Whereas, the Numenta Platform, which is the only HTM platform that currently exists, has a relatively few number of algorithms to provide a extremely large output that includes visual and audio recognition systems, which most would agree are alone very much more complicated then the game of chess. So the Numenta platform would have a relatively high AI ratio.
Now we should discuss the types of problems that AI is used to accomplish. Right now, most of the AI implementations are dealing with mathematical problems such as an equation for the amount of thrust to output for the most efficient landing of the Moon-Lander. This is purely mathematical. You may be thinking about vision recognition systems, but those too fall under mathematical calculations because we can represent the picture as a matrix of values corresponding to the color of each pixel. So since a computer is digital, the real problem is getting information digitalized.
This is the biggest problem why we do not have good systems dealing with language recognition. Currently we have systems that look for specific sets of symbols, namely, the little chatbots used by AIM. They look for a specific word and they respond to it. But do they really understand the word?? The answer is no, they dont. They only see symbols that are in a certain order, they dont associate the symbols h-a-p-p-y with a feeling inside a person telling them that they have done good and are proud of themselves or someone else. To try and get a computer to understand language, we need to be able to teach a computer how to digitalize language, and the meaning of words. Right now there is one AI project that is trying to attempt this. Cyc, a knowledge base system, is trying to teach computers how to understand language. They are digitalizing the information using predicate calculus, and performing proofs to determine the relationship between two objects in the human language. This is one example of a knowledge base system, where they are giving the computer a data value for every word in the English language.
We have learned that one must learn to digitalize all information, and once this is done, computers can in theory do anything with that data.
In conclusion, there are many implementations, each with their own benefits. Different platforms will have different AI ratios. Also, currently most AI programs are dealing with mathematical functions and equations rather then language because of a difficulty in digitalized representation of language. This is a brief background to AI. In further articles, expect more detailed information and examples of specific implementations, and even more specific platforms withing each implementation to be discussed.
No comments:
Post a Comment