Introduction to Artificial Intelligence 
Introduction to Artificial Intelligence 
Unknown 
Jul 04, 2004, 11:00 AM
Post
#1

Unregistered 
Introduction to Artificial Intelligence Artificial intelligence is defined as intelligence exhibited by anything manufactured (i.e. artificial) by humans or other sentient beings or systems (should such things ever exist on Earth or elsewhere). Structure Most researchers today would agree that artificial neural networks are quite different from the brain in terms of structure. Like the brain, however, a neural net is a massively parallel collection of small and simple processing units where the interconnections form a large part of the network's intelligence; however, in terms of scale, a brain is massively larger than a neural network, and the units used in a neural network are typically far simpler than neurons. Nevertheless, certain functions that seem exclusive to the brain such as dreaming and learning, have been replicated on a simpler scale, with neural networks. Models A typical feedforward neural network will consist of a set of nodes. Some of these are designated input nodes, some output nodes, and those in between hidden nodes. There are also connections between the neurons, with a number referred to as a weight associated with each connection. When the network is in operation, a value will be applied to each input node  the values being fed in by a human operator, or from environmental sensors, or perhaps from some other program. Each node then passes its given value to the connections leading out from it, and on each connection the value is multiplied by the weight associated with that connection. Each node in the next layer then receives a value which is the sum of the values produced by the connections leading into it, and in each node a simple computation is performed on the value  a sigmoid function is typical. This process is then repeated, with the results being passed through subsequent layers of nodes until the output nodes are reached. Early models (circa 1970) had a fixed number of layers. More recently, genetic algorithms are used to evolve the neural structure. See: Neuroevolution. Calculations Alternative calculation models in neural networks include models with loops, where some kind of time delay process must be used, and "winner takes all" models, where the neuron with the highest value from the calculation fires and takes a value 1, and all other neurons take the value 0. It should be noted that the sigmoid curve is used as a transfer function because it has the effect of "squashing" the inputs into the range [0,1]. Other functions with similar features can be used, most commonly tanh which has an output range of [1,1]. The sigmoid function has the additional benefit of having an extremely simple derivative function for backpropagating errors through a feedforward neural network. Typically the weights in a neural network are initially set to small random values; this represents the network knowing nothing. As the training process proceeds, these weights will converge to values allowing them to perform a useful computation. Thus it can be said that the neural network commences knowing nothing and moves on to gain some real knowledge. Usefulness Neural networks are particularly useful for dealing with bounded realvalued data, where a realvalued output is desired; in this way neural networks will perform classification by degrees, and are capable of expressing values equivalent to "not sure". If the neural network is trained using the crossentropy error function (see Bishop's book) and if the neural network output has a sigmoidal nonlinear, then the outputs will be estimates of the true posterior probability of a class. Real life applications In real life applications, neural networks perform particularly well on the following common tasks: Function approximation Time series prediction Classification Pattern recognition Other kinds of neural networks, in particular ContinuousTime Recurrent Neural Networks (CTRNN), are used in conjunction with genetic algorithms(GAs) to produce robot controllers. The genome is then constitued of the networks parameters and the fitness of a network is the adequacy of the behaviour exhibited by the controlled robot (or often by a simulation of this behaviour). Types of neural networks Single layer perceptron The earliest kind of neural network is a singlelayer perceptron network, which consists of a single layer of output nodes; the inputs are fed directly to the outputs via a series of weights. In this way it can be considered the simplest kind of feedforward network. The sum of the products of the weights and the inputs is calculated in each node, and if the value is above some threshold (typically 0) the neuron fires and takes the value 1; otherwise it takes the value 1. Neurons with this kind of activation function are also called McCullochPitts neurons or threshold neurons. In the literature the term perceptron often refers to networks consisting of just one of these units. They were described by Warren McCulloch and Walter Pitts in the 1940s. Perceptrons can be trained by a simple learning algorithm that is usually called the deltarule. It calculates the errors between calculated output and sample output data, and uses this to create an adjustment to the weights, thus implementing a form of gradient descent. Singleunit perceptrons are only capable of learning linearly separable patterns; in 1969 in a famous monograph entitled Perceptrons by Marvin Minsky and Seymour Papert showed that it was impossible for a single layer perceptron network to learn an XOR function. They conjectured (incorrectly) that a similar result would hold for a multilayer perceptron network. Although a single threshold unit is quite limited in its computational power, it has been shown that networks of parallel threshold units can approximate any continuous function from a compact interval of the real numbers into the interval [1, 1]. This very recent result can be found in [Auer, Burgsteiner, Maass: The pdelta learning rule for parallel perceptrons, 2001 (state Jan 2003: submitted for publication)]. A singlelayer neural network can compute a continuous output instead of a step function. A common choice is the socalled logistic function, 1/(1+exp(x)). With this choice, the singlelayer network is identical to the logistic regression model, widely used in statistical modeling. Multilayer perceptron This class of networks consists of multiple layers of computational units, usually interconnected in a feedforward way. This means that each neuron in one layer has directed connections to the neurons of the subsequent layer. In many applications the units of these networks apply a sigmoid function as an activation function. The universal approximation theorem for neural networks states that every continuous function that maps intervals of real numbers to some output interval of real numbers can be approximated arbitrarily closely by a multilayer perceptron with just one hidden layer. This result holds only for restricted classes of activation functions, e.g. for the sigmoidal functions. Multilayer networks use a variety of learning techniques, the most popular being backpropagation. Here the output values are compared with the correct answer to compute the value of some predefined errorfunction. By various techniques the error is then fed back through the network. Using this information, the algorithm adjusts the weights of each connection in order to reduce the value of the errorfunction by some small amount. After repeating this process for a sufficiently large number of training cycles the network will usually converge to some state where the error of the calculations is small. In this case one says that the network has learned a certain target function. To adjust weights properly one applies a general method for nonlinear optimization task that is called gradient descent. For this the derivation of the errorfunction with respect to the network weights is calculated and the weights are then changed such that the error decreases (thus going downhill on the surface of the error function). For this reason backpropagation can only be applied on networks with differentiable activation function. In general the problem of reaching a network that performs well, even on examples that were not used as training examples, is a quite subtle issue that requires additional techniques. This is especially important for cases where only very limited numbers of training examples are available. The danger is that the network overfits the training data and fails to capture the true statistical process generating the data. Statistical learning theory is concerned with training classifiers on a limited amount of data. In the context of neural networks a simple heuristic, called early stopping, often ensures that the network will generalize well to examples not in the training set. Other typical problems of the backpropagation algorithm are the speed of convergence and the possibility to end up in a local minimum of the error function. Today there are practical solutions that make backpropagation in multilayer perceptrons the solution of choice for many machine learning tasks. Simple recurrent network A simple recurrent network (SRN) is a variation on the multilayer perceptron, sometimes called an "Elman network" due to its invention by Professor Jeff Elman. A threelayer network is used, with the addition of a set of "context units" in the input layer. There are connections from the middle ("hidden") layer to these context units fixed with weight 1. At each time step, the input is propagated in a standard feedforward fashion, and then a learning rule (usually backpropagation) is applied. The fixed back connections result in the context units always maintaining a copy of the previous values of the hidden units (since they propagate over the connections before the learning rule is applied). Thus the network can maintain a sort of state, allowing it to perform such tasks as sequenceprediction that are beyond the power of a standard multilayer perceptron. Hopfield network The Hopfield net is a recurrent neural network in which all connections are symmetric. Invented by John Hopfield (1982), this network has the property that its dynamics are guaranteed to converge. If the connections are trained using Hebbian learning then the Hopfield network can perform robust contentaddressable memory, robust to connection alteration. Boltzmann machine The Boltzmann machine can be thought of as a noisy Hopfield network. Invented by Geoff Hinton and Terry Sejnowski (1985), the Boltzmann machine was important because it was one of the first neural networks in which learning of latent variables (hidden units) was demonstrated. Boltzmann machine learning was slow to simulate, but the Contrastive Divergence algorithm of Geoff Hinton (introduced about 2000) allows models including Boltzmann machines and Product of Experts to be trained much faster. Support vector machine A support vector machine (SVM) is a recently developed form of machine learning algorithm. The training of SVMs is based on quadratic programming, a form of optimization that (usually) has only one global minimum. Therefore, and because SVMs have means to reduce the danger of overfitting, some practitioners prefer SVM training to neural network training. Committee of machines A committee of machines (CoM) is a collection of different neural networks that together vote on a given example. It has been seen that this gives a much better result. In fact in many cases, starting with the same architecture and training but different initial random weights give vastly different networks. A CoM tends to stabilize the result. Selforganizing map The Selforganizing map (SOM), sometimes referred to as "Kohonen map" due to its invention by Professor Teuvo Kohonen, is an unsupervised learning technique that reduces the dimensionality of data through the use of a selforganizing neural network. A probabilistic version of SOM is the Generative Topographic Map (GTM) of Bishop, Svensen and Williams. Instantaneously trained networks Instantaneously trained neural networks (ITNN) are also called "Kak networks" after their inventor Subhash Kak. They were inspired by the phenomenon of shortterm learning that seems to occur instantaneously. In these networks the weights of the hidden and the output layers are mapped directly from the training vector data. Ordinarily, they work on binary data but versions for continuous data that require small additional processing are also available. Data representation (Some notes on statistics and other representation problems in here) Relation to optimization techniques Analysis of many neural network techniques reveals a close relationship to mathematical optimization techniques. For instance, multilayer perceptron backpropagation can be substituted with more general global optimization techniques. The objective in training a ANN is, given some set of pairs of data and output, { (d0, o0) , (d1,o1), ... } to minimize some error function E2, where E(xi) = F(w,xi)  oi. Here F is the neural network function which given a vector of weights w and an input vector produces an output vector for the network. Thus as well as using backpropagation to train the network, it's also possible to use global optimization techniques to produce a weight vector w. For very large data sets, using more advanced optimization techniques is often slower than using gradient descent, if the weights of the network are updated by gradient descent after each training example. This is because one sweep of gradient descent through the training set can make a large amount of progress, while the same amount of computational effort can only compute a true gradient at one setting of the parameter vector. 
Unknown 
Aug 13, 2005, 06:55 PM
Post
#2

Unregistered 
is it true? that any advanced artificial intellegence must reboot its entire system every six months or go insane? my source that theorized it was man vs kzin wars the series, i would like to find out. 
Unknown 
Aug 13, 2005, 07:04 PM
Post
#3

Unregistered 
It's not theoretically true because AI machines also have an option to 'hibernate'.
Whilst in that state they can review or modify their software and disarm all virii and trojans they may have picked up on their travails. They then just reboot and send a report to Microsoft! 
vacognition 
Sep 19, 2007, 04:23 PM
Post
#4

Newbie Group: Basic Member Posts: 3 Joined: Jun 20, 2007 Member No.: 12025 
is it true? that any advanced artificial intellegence must reboot its entire system every six months or go insane? my source that theorized it was man vs kzin wars the series, i would like to find out. No, it's probably not true. Why would this be the case? Put it this way, given advanced enough technology, we could build a human brain. This would then be AI, but it would not need to reboot, since it would work the same way a human brain does. There might be some particular architectures for which this would be true, but I doubt there are any mathematical proofs of it. In fact, I'm certain there aren't, since it would require knowledge about consciousness that we just don't have. 
coglanglab2 
Sep 19, 2007, 04:26 PM
Post
#5

Newbie Group: Basic Member Posts: 13 Joined: Aug 10, 2007 Member No.: 12179 
agreed.

Rick 
Sep 19, 2007, 05:11 PM
Post
#6

Supreme God Group: Basic Member Posts: 5916 Joined: Jul 23, 2004 From: Sunny Southern California Member No.: 3068 
"Absence of insanity" should probably be in the software specification for any AI.

Orbz 
Sep 19, 2007, 11:34 PM
Post
#7

Overlord Group: Basic Member Posts: 301 Joined: Jan 04, 2007 From: Australia Member No.: 6770 

lucid_dream 
Sep 20, 2007, 02:57 AM
Post
#8

God Group: Admin Posts: 1713 Joined: Jan 20, 2004 Member No.: 956 
isn't the brain "rebooting" every time you sleep and wake up? How long can you stay awake? After 24 weeks of chronic wakefulness, rats will die, which would suggest the periodic rebooting of the brain is necessary for survival.

Orbz 
Sep 20, 2007, 03:24 AM
Post
#9

Overlord Group: Basic Member Posts: 301 Joined: Jan 04, 2007 From: Australia Member No.: 6770 
Perhaps it would need to defrag, remove adware and clean its registry each night as well as update its programs to incorporate the new information it gained that day?

D.R 
Oct 22, 2007, 06:36 PM
Post
#10

Newbie Group: Basic Member Posts: 12 Joined: Oct 22, 2007 Member No.: 13704 
QUOTE So it would sleep instead? Would it dream? An AI is an emulated system, there are more than neurons and genetic that gives LIFE the fact of being ALIVE is more than scientifics speculations , so if you emulate the term dreaming the machine will dream, but you must undestand why living dreams and science cant reach and will never reach to that places 
LoFi Version  Time is now: 21st September 2018  07:03 PM 