OK,so a bit about neurons and neural networks,please rectify me if anything's wrong On TV shows or movies like Star Trek and The Matrix, people see artificial intelligence represented by physical beings that are capable of falling in love, and have emotions and feelings. The familiar "Data" is created to look and behave like a human being yet functions entirely as a result of artificial intelligence. The question is, can these abilities be truly constructed through means of neural networks or artificial intelligence (AI), or do they belong only in science fiction movies? Ever since the invention of computers, people's fear of machines replacing humans began to emerge. This is largely due to people's lack of understanding of computers and their ability to do tasks that humans can not accomplish with the same degree of efficiency, accuracy or speed. This report sets out to discuss the current applications of neural networks and explain some of the algorithms associated with them. Capabilities: ============================================== It is often said that people demonize things they do not understand or control. However, the reality, whether connected with race, war or computers, is that this demonization is frequently unfounded. Consider people's fear for their own employment when the first personal computers were developed. This is not dissimilar to the current fear of AI. Even though the neural network is based on the human brain structure and how the brain operates, it's almost impossible to mimic the human brain because of its complexity(Off course i feel this statement will no longer hold true because of Mind uploading techniques etc). Experimental chips that simulate neurons are still far more inferior than human brain cells hence their abilities are limited. An artificial neural network (ANN) can only recognize patterns, solving complex problems and feature recognition. They cannot think like humans do and they certainly can't achieve creative thinking or develop beyond what they are taught. Despite the fact that neural networks cannot think like us, they can still learn and we can use them to analyze data that traditional programs cannot analyze. neural networks can do tasks faster than human experts yet still produce similar results. Compared to traditional programs, the neural network is possibly the best algorithm for programs that can learn. History: ============================================== Although the idea of neural networks seemed relatively new, the first discovery of biological neural networks (BNN) was quite long ago. In 1873, Alexander Bain of the United Kingdom wrote a book regarding the new findings of human brains. At that time, scientists were only able to see the BNN and were not capable of doing experiments. All they could do was to observe and generate theories. The actual study of neural networks dated back to the 1940s when pioneers, such as McCulloch and Pitts and Hebb, tried to learn more about the neurons and the neural network. They also attempted to find a formula for the structure and adaptation laws. In the 1950s, scientists around the world tried to decipher the mystery of the human brain and to create a network that could mimic the biological neural network. Hence, scientists from different branches, such as biologists, psychologists, physiologists, mathematicians and engineers, were required to work together to learn more about neural networks. Even though around that time, they discovered the limitation of the network, some people were still interested and continued to research. It was not until computers like 186 were developed that scientists and programmers began to realize that they could create an actual neural network for daily applications or further research. In the past twenty years, since this development, a lot of studies have been done, but not much progress has been made. It is the improved speed of the processor that has enabled wider application of neural network technologies. Applications: ============================================== Imagine a world where you can control virtually all computers and electronics without touching them. Imagine you can finish your report by simply talking and the computer will write it for you, or even do grammar and spells checking with intelligence. These technologies seem to be very advanced and expensive. However, with the help of fast processing chips and neural networks, scenarios such as those described above are no longer unrealistic. Artificial intelligence is closer than you think it is. To date, programmers and scientists are able to create "expert systems" involving neural networks. It may be that The Pentagon is the only place in the world where artificial intelligence is being pushed to its limits. However, there are lesser yet still valuable examples of its application in the world today. The following is a list of things that are commonly used and are supported by neural network technologies. ))Data analysis - use of expert systems to predict economic growth ))Geographical mapping - using neural network to analyze datas scanned from satellites ))Redirecting phone calls - use neural network to redirect phone calls from all over the world ))Palm Pilot - uses neural network to recognize handwriting ))Image Processing - FBI uses neural network, combined with other programs to enhance pictures taken from the crime scene ))Finger print recognition - uses neural network to recognize patterns in a fingerprint ))Voice Recognition - uses neural network to analyze the sound and to identify the person, or use it for inputting data Recently, Intel has released a new chip, which can process DATA at great speeds. With this kind of processing power, programmers can create neural networks big or sophisticated enough to do visual and audio recognition at the same time. Game producers can also use neural networks to create chess games that learn from their own experiences. Most scanners use neural networks to do optical character recognition. Briefing on Nurons: ============================================== The human brain is a vast communication network in which around 100 billion brain cells called neurons are interconnected to other neurons. Each neuron contains a soma, nucleus, axon, yet they don't play an important role in receiving and outputting electrical impulses. Each neuron has several dendrites which connect to other neurons and when a neuron fires (sending electrical impulse), a positive or negative charge is sent to other neurons. When a neuron receives signals from other neurons, spatial and temporal summation occurs where spatial summation converts several weak signals into a large one, and temporal summation converts a series of weak signals from the same source into a large signal. The electrical impulse is then transmitted through axon to terminal buttons to other neurons. The axon hillock plays an important role because if the signal is not strong enough to pass through it, no signal will be transmitted. Synapse ============================================== The gap between the two neurons is called the synapse. The synapse also determines the "weight" of the signal transmitted. The more often a signal is sent through the synapse, the easier it is for the signal to be sent through. In theory, this is how humans memorize or recognize patterns; which is why when humans practice certain tasks continuously, they become more and more familiar or used to the tasks. Approaches to mimic ============================================== Because the neural network mimics the biological neural network, an ANN has to resemble essential parts of a BNN, such as neuron, axons, hillock and more. Currently, to create an ANN, there are two approaches. The first approach is to use experimental chips that simulate neurons and interconnect them to create a network. However, this approach is inefficient due to the expenses and the technologies behind it. The software solution, on the other hand, is much easier because as the network expands, it is harder to upgrade the network through hardware than through software. SOFTWARE APPROACHES ============================================== To create an ANN through the means of software, object oriented programming is required because a neuron resembles several components, and OOP is the best choice due to its capability of creating objects that contains different variables and methods. The first step is to create an object that simulates the neuron. The object would contain several functions and variables including weight (a random number generated when the neuron is created, similar to the synapse in BNN), a non-linear function (to determine whether to activate the neuron or not), a method that adds up all the inputs, and a bias/offset value (optional) for the characterization of the neuron.The output of each neuron is the sum of all the inputs multiplying the weights plus the offset value and through a non-linear function. The non-linear function acts like a hillock. After the object is created, the next step is to create a network. A typical ANN has three layers: input layer, hidden layer and output layer. The input layer is the only layer that receives signals outside the network. The signals are then sent to the hidden layer, which contains interconnected neurons for pattern recognition and relevant information interpretation. Afterwards, the signals are directed to the final layer for outputs. Usually a more sophisticated neural network would contain several hidden layers and feedback loops to make the network more efficient and to interpret the data more accurately. The diagram on the left is an example of a three layered neural network. Using figure 5 as a model, the network is like a big matrix. However, it would be easier if the three layers were separated into three small matrixes. Each small matrix will contain neurons and when signals are inputted, the neurons will send inputs through the non-linear function to the next neuron. Afterward, the weight of the neuron is increased or decreased. Hence, the more the network is used, the more it will adapt and eventually it will produce results similar to a human expert. The above section mentions the change of weight. The process of changing weight could be referred to as the "learning stage." ANN is like BNN and requires training. The training process is a series of mathematical operations that change the weights, so the user can obtain the output they desire. For example, the first time the network receives inputs; the outputs are some random numbers. The user then has to tell the network what the outputs should be and an algorithm should be applied so the weights are changed to get the outputs wanted. i dont know much about various algorithms in details,about which currently i am searching on,so i"ll keep you guys posted on that. God...this is getting bigger than i expected... check out the next one if you"re interested... bye!