This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
This paper is meant to serve as a high-level overview for the topics of neural network programming and artificial intelligence. Details concerning the history, issues, problems, opportunities, organizations, tools, limitations, challenges, and trends are cited within the text.
Neural Network Programming is simply the programs in which you need to construct how your neural network will communicate to each other component inside of itself. Java, C #, EMERGENT, JOONE, Neural Lab, Neuro Laboratory, Neuroph, Neuro Solutions and Peltarion Synapse programs are used to do this function (Neural Network Software,2009).
"Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded, dynamic language."(Java,1997). Java is based upon a similar language construct such as that of C and C++, but Java does not use pointers and structures. Therefore, you have more time and freedom to work on the functionality of the program. In addition, it is a network savvy language, which allows you to load, and read information through resources called "applets" and has the ability to be run on any type of system via the ability of architecture neutral byte-code format. There are downsides to using Java such as it is not a high performance language due to it being an interpreted language and within its Layout Managers; it places the components in a relative position instead of an absolute coordinate. This can often lead to "funny" results. (Java,1997).
C# is a simple, general purpose and object oriented language that offers strong type checking, array bounds checking and automatic garbage collecting. It is intended to be used in the development of suitable software components that will be deployed in distributed environments. It also can be used in the writing of applications for both hosted and embedded systems (C#,2010). It offers various features such as there are no Global variables or functions, therefore these must be declared. It supports Boolean data types but can freely convert to and from integers.
Emergent is a comprehensive and full featured network simulator that allows for both creations and complex analysis of sophisticated brain models. Essentially, it allows for the simulation of network pathways using advance and graphical information to create 3-D deputations. It has a built in high level drag and drop programming interface that allow full access to all aspects of networks and the software itself (Emergent,2010).
JOONE (Java Object Oriented Neural Network) allows you to create, train, and test artificial neural networks which is also based upon Java technology. This software can be ran on any type of device and it will allow modules to be written and stored around a core framework that will allow for simple to advance algorithms as well as architectures to be distributed with the core engine (JOONE,2010). It features multithreading and distributed processing, which means it can take advantage of multiprocessor computers as well as multiple computers to distribute the processing load (GameLan,2010).
Neural Lab is software used to test and find new possibilities of the artificial neural networks in general, it was originally designed to work on the Hopfield network, which is a recurrent artificial neural network, which was developed by John Hopfield. This type of software will allow content addressed memory systems with binary threshold units. Simply stated it will take an input variable and then it will make a random decision based upon the binary inputs, the outputs are not guaranteed and may appear chaotic in nature (Hopfield Net, 2010).
Neuro Laboratory "is visual modeling and processing any data with the use of neural networks that any type of network application can be built and trained using the environment. Application includes Network Elements Toolbox - component that contains realization of most commonly used neural networks paradigms (simple neuron, RBF cell, Kohonen layer, Hopfield layer and others). Neuro Laboratory also includes components for training neural networks and verification quality of training" (Neuro laboratory Soultion,2010). This simply covers highly interactive and interconnected processing elements that concurrently work to solve situations that it is subject to as such, as our brains do as we learn from experiences within our lifetime.
Neuroph is Java oriented software program that will allow you to create various types of Neural Networks such as Adaline, Perceptron, Multi Layer Perceptron with Backpropagation, Hopfield network, Bidirectional Associative Memory, Kohonen network, Hebbian network, Maxnet, Competitive network, Instar, Outstar, RBF network and Neuro Fuzzy Reasoner. This software will support both supervised and unsupervised learning rules and has a GUI tool for neural network development (Neuroph,2010).
Neuro Solutions is "leading edge software combines a modular, icon-based network design interface with an implementation of advanced learning procedures and genetic optimization. The result is a virtually unconstrained environment for designing neural networks for research and for solving real-world problem" (NeuroSolutions,2009). This program will allow you to solve poorly defined problems, has a second-order learning algorithm that allows for quicker Momentum learning with a smaller lower error rate, Has a higher training rate with a lower (MSE) then the standard back propagation. It is completely parameter less and has a specialized training algorithm, which is imputed from its output to improve on its multi-step predications.
Peltarion Synapses "the most advanced development environment for adaptive systems on the market. It allows you to thoroughly analyze and process your data and then design, train, post-process and deploy adaptive systems to solve your task" (Synapse,2010). This software has the ability to view various types of data sets that include histograms and self-organizing maps, this will allow you to detect if there are possible hidden relations or patterns within your neural network. It will allow you to connect different components to form a common topology and the ability to build custom solutions that will mix adaptive and non-adaptive elements. It will implement everything from static neural networks, support vector machines, neuro-fuzzy systems and Bayesian classifiers to recurrent systems. Finally, it offers the ability to verify the performance of the system with post-adaption analysis functions that will allow you to understand the modifications of the systems inputs and outputs.
Since we now understand that there are an abundant amount of various programs that can be used, modified and essentially implemented to program neural networks let us talk a little about neural networks and how they interact with Artificial Intelligence.
Neural Networks or actually ANN (Artificial Neural Networks) is a process paradigm that was inspired by the actual process in which the brain can process and react to outside variables and to not just imitate but to actually be able to be responsive to those conditions. Neural Networks can offer advantages such as Adaptive learning is the ability to learn how to do tasks based on the data given for training or initial experience. Self-Organization is how it can create its own organization or representation of the information it receives during learning time, Real Time Operation in which computations may be carried out in parallel, that specialized hardware devices are being designed and manufactured which take advantage of this capability. Finally the Fault Tolerance via Redundant Information Coding: Partial destruction of a network leads to the corresponding degradation of performance (Neural Networks,n.d.).
Why use Neural Networks, well the reason we would use a Neural Network is because conventional computers use the approach to solve problems using set instructions, which limit the ability to actually solve the problems. Computers use the foundation of 1's and 0's which means if this is imputed then I do this if I do not receive this information than I wait for the next condition to occur in which I will apply the same logic as stated prior. Example if a computer hosted device or robot using computer based logic approaches a stream of water it will assume that it needs to stop if there is no predefined access to cross over the body of water, if not then it will fall in and get damaged, and by falling in it learns nothing. It essentially has no sense of self-awareness no ability to look for another way around or to devise a way to cross over the body of water; it simply just stops and waits. With the advent of Neural Networks, the robot will have options once it reaches the same scenario, it can look for "creative" ways to get across the body of water. Such as scanning the area to located material to use to cross the water or locate a boat or even, get help from a nearby individual. The same mannerisms we as human beings use once we are faced with the same dilemma.
Neural Networks imply a powerful data-modeling tool that can capture complex and ration input/output relationships. These relationships will acquire knowledge through learning and that knowledge is stored within inter-neuron connection strengths known as synaptic weights.
The most common type of Neural Network is the (MLP) Multilayer Preceptron. This type of neural network is known as a supervised network because it requires a desired output in order to learn. The goal of this type of network is to create a model that correctly maps the input to the output using historical data so that the model can then be used to produce the output when the desired output is unknown. A graphical representation of an MLP is shown below.
Block diagram of a two hidden layer multiplayer perceptron (MLP). The inputs are fed into the input layer and are multiplied by interconnection weights as they are passed from the input layer to the first hidden layer. Within the first hidden layer, they are summed then processed by a nonlinear function (usually the hyperbolic tangent). As the processed data leaves the first hidden layer, again it is multiplied by interconnection weights, then summed and processed by the second hidden layer. Finally, the data is multiplied by interconnection weights then processed one last time within the output layer to produce the neural network output.
This type of MLP uses and essentially learns by using an algorithm called backpropergation, or training. "In which the input data is repeatedly presented to the neural network. With each presentation, the output of the neural network is compared to the desired output and an error is computed. This error is then fed back (backpropagated) to the neural network and used to adjust the weights such that the error decreases with each iteration and the neural model gets closer and closer to producing the desired output" (Neuro Network,2009).
Backpropergation is the process in which the Neural Network is trained and is done by the following process. The Neural Network needs to have a data set consist of various input signals that are assigned to corresponding targets, this is an iterative process in which iteration weights coefficients of nodes are modified using new data from training data sets. This is stating that the process begins with a piece of data, which is then imputed into the process; these data sets are given a weight value, then the output is then created or determined by the Algorithm then that is feed back into the data sets and then recalculated to produce an decision which are nonlinear. This is displayed below.
There are several advantages as well as disadvantages to using neural networks but they still offer better results and is becoming more practical than using basic computing algorithms in the development of Artificial Intelligence in which these types of networks are being designed for.
A neural network can perform tasks that a linear program cannot.
When an element of the neural network fails, it can continue without any problem by their parallel nature.
A neural network learns and does not need to be reprogrammed.
It can be implemented in any application.
It can be implemented without any problem.
The neural network needs training to operate.
The architecture of a neural network is different from the architecture of microprocessors therefore needs to be emulated.
Requires high processing time for large neural networks.
(Artificial Neural Networks,2008)
Despite the disadvantages of using Neural Networks the prospects of using, they simply outweigh the negatives. The process of Artificial Intelligence depends and simply coincides with such a network to be as robust as it needs to be and he process of these networks are dependent upon the ability of each decision it encounters to be the input of the next set of decisions and so on. It is a very demanding study and it truly has the ability to use information to reach conclusions without clearly setout rules, which makes neural network technology superior to other attempts at artificial intelligence.
Several other applications implement Neural Network technology such as Financial, Data Mining, Sales and Marketing, Medical, Industrial, Operational Analysis, HR Management, Science, Energy, Educational, Weather forecasting, Sports betting and Games Development.
Under the Financial categories it is used in Stock Market Prediction, Credit Worthiness, Credit Rating, Bankruptcy Prediction, Property Appraisal, Fraud Detection, Price Forecasts and Economic Indicator Forecasts. Data Mining uses it in Prediction, Classification, Change and Deviation Detection , Knowledge Discovery, Response Modeling and Time Series Analysis. Medical applications are Medical Diagnosis, Detection and Evaluation of Medical Phenomena, Patient's Length of Stay Forecasts and Treatment Cost Estimation. Industrial uses it in Process Control, Quality Control Temperature and Force Prediction. Operational analysis implements it in Retail Inventories Optimization, Scheduling Optimization, Managerial Decision Making and Cash Flow Forecasting. HR Management can use it to determine Employee Selection and Hiring, Employee Retention, Staff Scheduling and Personnel Profiling. For the related Science fields it can be used in Pattern Recognition, Recipes and Chemical Formulation Optimization, Chemical Compound Identification, Physical System Modeling, Ecosystem Evaluation, Polymer Identification, Recognizing Genes, Botanical Classification, Signal Processing: Neural Filtering, Biological Systems Analysis, Ground Level Ozone Prognosis and Odor Analysis and Identification. Energy applications allow doing Electrical Load Forecasting, Energy Demand Forecasting, Short and Long-Term Load Estimation, Predicting Gas/Coal Index Prices, Power Control Systems and Hydro Dam Monitoring. Under the Educational aspects, it is used in Teaching Neural Networks, Neural Network Research, College Application Screening and Predict Student Performance (Alyuda,2010).
In conclusion, Neural Networks are vastly complicated and instrumental in the success of the field Artificial Intelligence it will be able to give the "human" component to the machines of the future as well as give them the ability to learn from their mistakes and comprehend the "what if's" of their own decisions. I am unsure to what level the machines will be able to grow and excel towards but I like to point out there are several science fiction movies that have foretold of such endeavors, that we as human beings are trying to accomplish. Isaac Asimov had wrote several books on how robots had evolved to a state in which they are equals to human beings and lived by they were: (1) A robot may not injure a human being or, through inaction, allow a human being to come to harm. (2) A robot must obey any orders given to it by human beings, except where such orders would conflict with the First Law. (3) A robot must protect its own existence as long as such protection does not conflict with the First or Second Law. If our own technology gives birth to the actual advancement of "self aware" machines, how could we ever look them in the face and ask them to do the duties or acts in which we ourselves are unwilling to do. Would we consider them as second-class individuals and would we subject them to our own prejudices as well? Alternatively, would the self-awareness be that of the movie "Terminator" as the machines become sentient and realized we as human beings were their enemies. Regardless of the outcome the Neural Networks will perpetuate technology from simply being a random yet predictable variable to a complete independent outcome that has not been seen since our own self-awareness as human beings.
Artificial intelligence is the science and engineering of making intelligent machines, especially intelligent computer programs. It is related to the similar task of using computers to understand human intelligence, but AI does not have to confine itself to methods that are biologically observable. The element that the fields of AI have in common is the creation of machines that can "think". In order to classify machines as "thinking", it is necessary to define intelligence. To what degree does intelligence consist of, for example, solving complex problems, or making generalizations and relationships? Research into the areas of learning, of language, and of sensory perception has aided scientists in building intelligent machines. One of the most challenging approaches facing experts is building systems that mimic the behavior of the human brain, made up of billions of neurons, and arguably the most complex matter in the universe. Perhaps the best way to gauge the intelligence of a machine is British computer scientist Alan Turing's test. He stated that a computer would deserve to be called intelligent if it could deceive a human into believing that it was human.
Artificial Intelligence has come a long way from its early roots, driven by dedicated researchers. The beginnings of AI reach back before electronics. Evidence of Artificial Intelligence folklore can be traced back to ancient Egypt. But, with the development of the electronic computer in 1941, the technology finally became available to create machine intelligence. The term artificial intelligence was first coined in 1956, at the Dartmouth conference, and since then Artificial Intelligence has expanded because of the theories and principles developed by its dedicated researchers. Through its short modern history, advancement in the fields of AI have been slower than first estimated, progress continues to be made. From its birth 4 decades ago, there have been a variety of AI programs, and they have impacted other technological advancements although the computer provided the technology necessary for AI, it was not until the early 1950's that the link between human intelligence and machines was really observed. Norbert Wiener was one of the first Americans to make observations on the principle of feedback theory. The most familiar example of feedback theory is the thermostat: It controls the temperature of an environment by gathering the actual temperature of the house, comparing it to the desired temperature, and responding by turning the heat up or down. What was so important about his research into feedback loops was that Wiener theorized that all intelligent behavior was the result of feedback mechanisms. He believed that mechanisms that could possibly be simulated by machines. This discovery influenced much of early development of AI.
In late 1955, Newell and Simon developed The Logic Theorist, considered by many to be the first AI program. The program, representing each problem as a tree model, would attempt to solve it by selecting the branch that would most likely result in the correct conclusion. The impact that the logic theorist made on both the public and the field of AI has made it a crucial stepping stone in developing the AI field. In 1958, John McCarthy, regarded as the father of AI, announced his new development; the LISP language, which is still used today. LISP stands for LISt Processing, and was soon adopted as the language of choice among most AI developers.
Intelligence is the computational part of the ability to achieve goals in the world. Varying kinds and degrees of intelligence occur in people, many animals, and some machines. AI is the area of computer science focusing on creating machines that can engage on behaviors that humans consider intelligent. The ability to create intelligent machines has intrigued humans since ancient times and today with the advent of the computer and 50 years of research into AI programming techniques, the dream of smart machines is to understand speech, and even beat the best human chess player. Intelligence involves mechanisms, and AI research has discovered how to make computers carry out some of them and not others. If doing a task requires only mechanisms that are well understood today, computer programs can give very impressive performances on these tasks. Such programs should be considered ``somewhat intelligent''.
In the quest to create intelligent machines, the field of Artificial Intelligence has split into several different approaches based on the opinions about the most promising methods and theories. Several fields in which AI is applied are:
Common Sense Knowledge and Reasoning
Learning from Experience
With pattern recognition, a program makes observations of some kind. It is often programmed to compare what it sees with a pattern. For example, a vision program may try to match a pattern of eyes and a nose in a scene in order to find a face. More complex patterns, e.g. in a natural language text, in a chess position, or in the history of some event are also studied. These more complex patterns require quite different methods than do the simple patterns that have been studied the most. Neural Networks are necessary to create AI systems. Theorists have proposed different approaches to achieve this goal. Bottom-up theorists believe the best way to achieve artificial intelligence is to build electronic replicas of the human brain's complex network of neurons, while the top-down approach attempts to mimic the brain's behavior with computer programs. Neural networks deal with the bottom-up approach.
The human brain is made up of a web of billions of cells called neurons, and understanding its complexities is seen as one of the last frontiers in scientific research. AI researchers prefer bottom-up approach to construct electronic circuits that act as neurons do in the human brain. Although much of the working of the brain remains unknown, the complex network of neurons is what gives humans intelligent characteristics. By itself, a neuron is not intelligent, but when grouped together, neurons are able to pass electrical signals through networks. A signal received by a neuron travels through the dendrite region, and down the axon. Separating nerve cells is a gap called the synapse. In order for the signal to be transferred to the next neuron, the signal must be converted from electrical to chemical energy. The signal can then be received by the next neuron and processed. Based on experiments with neurons, they can be considered as devices for processing binary numbers. Boole assumed that the human mind works according to his principles, it performs logical operations that could be reasoned. His logic is the basis of neural networks.
The engineering behind AI is a remarkable work. A.L.I.C.E.(Artificial Linguistic Internet Computer Entity) is an artificial intelligence natural language. The A.L.I.C.E. software utilizes AIML (Artificial Intelligence Markup Language), an XML language designed for creating stimulus-response chat robots. Some view A.L.I.C.E. and AIML as a simple extension of the old ELIZA psychiatrist program. The comparison is fair regarding the stimulus-response architecture. But the A.L.I.C.E. has at present more than 40,000 categories of knowledge, whereas the original ELIZA had only about 200. Another innovation was provided by the web, which enabled natural language sample data collection possible on an unprecedented scale. A.L.I.C.E. won the Loebner Prize, an annual Turing Test, in 2000 and 2001. Although no computer has ever ranked higher than the humans in the contest she was ranked "most human computer" by the two panels of judges.
Some have argued that Turing, when he predicted that a machine could play his game in "50 years" after his 1950 paper, envisioned something more like a general purpose learning machine, which does not yet exist. The concept is simple enough: build a robot to grow like a child, able to be taught language the way we are. But even a child does not, or at least should not, go forth into the world, unprotected, to learn language "on the street," without supervision. Automatic generation of chat robot questions and answers appears likely to raise the same trust issues forced upon the abandoned child. People are simply too untrustworthy in the "facts" that they would teach the learning machine. There would still have to be an editor, a supervisor, or teacher to cull the wheat from the chaff.
The brain of A.L.I.C.E. consists of roughly 41,000 elements called categories. Each category combines a question and answer, or stimulus and response, called the "pattern" and "template" respectively. The AIML software stores the patterns in a tree structure managed by an object called the Graphmaster, implementing pattern storage and matching algorithm. The Graphmaster is compact in memory, and permits efficient pattern matching time.
AI Agents are another engineering aspect of intelligent machines. The data from outside is fed to the AI agent through the sensors to two blocks, namely problem representation block and world knowledge block. In problem representation block, a problem is posed according to the data received by the sensors. In world knowledge block, the data is verified with the existing one in the block. If the match is obtained, the solution is fed to the actuators (devices providing power to robots), else the problem is redefined to match with the data in the world knowledge block.
With a better understanding of AI application one can begin to understand how AI can affect our lives today. Here are various applications of AI in different areas:
In the past, very simple artificial intelligence systems on board rovers allowed them to make some simple decisions, but much smarter AI will enable these mobile robots to make many decisions now made by mission controllers. Robotic rovers are now intelligent enough to navigate the Martian landscape without too many detailed instructions from scientists on Earth.
"Human beings make decisions in response to their environment. How do you encapsulate this behavior into a rover, or a robot, sitting on a planet millions of miles away? That's what we are working on," said a computer scientist at NASA. "We want to put software on rovers to give them the capability to be artificially intelligent," he explained.
Large teams of human beings on Earth direct the Mars Exploration Rovers (MER) now rolling across the Martian terrain to look for evidence of water. It now takes the human-robot teams on two worlds several days to achieve each of many individual objectives. A robot equipped with AI, on the other hand, could make an evaluation on the spot, achieve its mission faster and explore more than a robot dependant on decisions made by humans on Earth. Today's technology can make a rover as smart as a cockroach, but the problem is it's an unproven technology.
The development of tactile learning interfaces is a study that investigates how a robotic learning system can learn to mimic the behavior of a human driver. Also, it determines how the system can gradually take control of the steering wheel. A force-feedback control device is used to collect target values for learning, as well as give the user direct tactile feedback on how the learning progresses.
Real Time Strategy in computer games has become one of the most important features of any real time game. With the introduction of artificial intelligence in the computer games, the RTS games have grown and evolved with the development of the AI and technology. These games adopt the techniques and theories adopted in other games as well as have their own techniques and theories that they follow. In RTS games it becomes almost impossible to follow the trends adopted in other games for analyzing the game state due to several factors such as increasing complexity, too many constantly-changing variables, not enough time for real analysis as the responses have to be immediate, ability to make simultaneous moves, and many others. Ever since the beginning of AI, there has been a great fascination in pitting the human expert against the computer. Game playing provided a high-visibility platform for this contest. As the computational speed of modern computers increases, the contest of knowledge vs. speed is tilting more and more in the computers favor, accounting for triumphs like Deep Blue's win over Gary Kasparov.
Artificial Intelligence is now recognized as an important part of the game design process. It is no longer regarded as the backwater of the schedule. Now crafting a game's AI has become every bit as important as the features of the game's graphics engine. Artificial Intelligence makes games more fun, more interactive and more appealing. However, majority of the games imposes a constraint on the application of AI. The AI algorithm to be used in the game must be operative in real time. Some high profile 2D and 3D games like Starcraft, Age of Empires, and Warcraft make use of AI. The main objective of an RTS game is to control units which perform tasks to overcome the opponent's units. Being able to react immediately to opponents and do several things at once are key features to popularity of RTS games. These features, though, are also what make creating an efficient artificial intelligence for this type of game a bit different than others.
One of the major Application of AI in recent times has been in field of defense. The initial goal of defense systems is to know with certainty where enemy and friendly forces are within a given battlefield. Or, know what these forces are doing or will do, not just where they are located. Advanced sensor and information fusion will be expected to provide near-perfect, real time discrimination between targets and non targets on the battlefield of the future. Artificial Intelligence technologies will be the key to solving the awareness/knowledge problem. Vast amounts of digital data will need to be processed, correlated, stored, and displayed. The database of a particular battlefield will have to be continuously updated with real-time information to make it useful to a soldier. At the foundation of any awareness database must be a common weather, terrain, and electromagnetic picture concerning a particular battlefield.
Precise geo-location data is particularly vital so that information can be used for targeting, both to successfully destroy an enemy and to prevent fratricide. After gathering all possible data the AI system will establish information dissemination server(s) that access multiple data sources to include national and theater intelligence, operational, and logistics databases. For the user it will provide a graphical depiction of the current situation which is consistent between echelons and that allows the user to tailor his view of the battlefield by drilling down through the supporting information infrastructure to find the precise information he needs. For example, if the user is looking at an image of a bridge, the data base could be interrogated to yield information on the length, width, height, and condition of the bridge. Another aspect of using these systems is that humans don't see in X-ray or listen to sonar signals, and that is a role for AI in target recognition. The Air Force has vast databases and needs to get useful patterns. The approach is to organize the data into a table in which each column is a different attribute of the target and each row is the target by using AI techniques to reduce the number of columns, the idea is to find the minimum number of features to identify all targets. This estimates the data reduction can cut the 128 candidate attributes to about 25 important attributes for target recognition. Some of the Hi-Tech systems used in defense are High Altitude Endurance Unmanned Aerial Vehicles (HAE UAV) are Global Hawk and Dark Star, Joint Combat Identification (CID) ACTD, Battlefield Awareness and Data Dissemination ACTD etc. The AI simulation systems provide the soldiers with real time illusion of a war conducted in a battlefield provides them a rich hand on experience to plan their strategies.
The computing world has a lot to gain from AI. Their ability to learn by example makes them very flexible and powerful. They are also very well suited for real time systems because of their fast response and computational times. Humans employ the pattern matching technique while associating known facts, images, or other human "data structures" with their real world counterparts. This is how we recognize people's faces and voices, as well as identify common objects. This type of problem is parallel, easily handled by brain's 100 billion or so neurons. Because it is an inherently massively parallel process, this type of analysis is much more difficult for a computer. Computers excel at searching type problems: linear, mathematical type problems which rely on pure computational brute force. In some fields such as forecasting weather or finding bugs in computer software, expert systems are sometimes more accurate than humans. But for other fields, such as medicine, computers aiding doctors will be beneficial, but the human doctor should not be replaced.