2. BACK PROPAGATION PRESENTED BY Karthika.T Nithya.G Revathy.R
3. INTRODUCTION <ul><li> Back Propagation described by Arthur E. Bryson and Yu-Chi Ho in 1969, but it wasn't until 1986, through the work of David E. Rumelhart, Geoffrey E. Hinton and Ronald J. Williams , that it gained recognition, and it led to a “renaissance” in the field of artificial neural network research. </li></ul><ul><li>The term is an abbreviation for &quot;backwards propagation of errors&quot;. </li></ul>
4. BACK PROPAGATION <ul><li>As the algorithm's name implies, the errors (and therefore the learning) propagate backwards from the output nodes to the inner nodes. </li></ul><ul><li>So technically speaking, backpropagation is used to calculate the gradient of the error of the network with respect to the network's modifiable weights. </li></ul><ul><li>This gradient is almost always then used in a simple stochastic gradient descent algorithm to find weights that minimize the error. “ </li></ul><ul><li>“ B ackpropagation &quot; is used in a more general sense, to refer to the entire procedure encompassing both the calculation of the gradient and its use in stochastic gradient descent. </li></ul><ul><li>Backpropagation usually allows quick convergence on satisfactory local minima for error in the kind of networks to which it is suited. </li></ul>
5. FEED FORWARD NETWORK Network activation flows in one direction only: from the input layer to the output layer, passing through the hidden layer. Each unit in a layer is connected in the forward direction to every unit in the next layer.
6. ARCHITECTURE <ul><li>Back propagation is a multilayer feed forward network with one layer of z-hidden units. </li></ul><ul><li>The y output units has b(i) bias and Z-hidden unit has b(h) as bias. It is found that both the output and hidden units have bias. The bias acts like weights on connection from units whose output is always 1. </li></ul><ul><li>The input layer is connected to the hidden layer and output layer is connected to the output layer by means of interconnection weights. </li></ul><ul><li>The architecture of back propagation resembles a multi-layered feed forward network. </li></ul><ul><li>The increasing the number of hidden layers results in the computational complexity of the network. </li></ul><ul><li>As a result, the time taken for convergence and to minimize the error may be very high. </li></ul><ul><li>The bias is provided for both the hidden and the output layer,to act upon the net input to be calculated. </li></ul>
7. TRAINING ALGORITHM <ul><li>The training algorithm of back propagation involves four stages. </li></ul><ul><li>Initialization of weights- some small random values are assigned. </li></ul><ul><li>Feed forward- each input unit (X) receives an input signal and transmits this signal to each of the hidden units Z 1 ,Z 2 ,……Z n . Each hidden unit then calculates the activation function and sends its signal Z i to each output unit. The output unit calculates the activation function to form the response of the given input pattern. </li></ul><ul><li>Back propagation of errors- each output unit compares activation Y k with its target value T K to determine the associated error for that unit. Based on the error, the factor δ K (k=1,……,m) is computed and is used to distribute the error at output unit Y k back to all units in the previous layer. Similarly, the factor δ j (j=1,….,p) is compared for each hidden unit Z j. </li></ul><ul><li>Updation of the weights and biases. </li></ul>
8. INITIALIZATION OF WEIGHTS <ul><li>STEP 1: Initialize weight to small random values. </li></ul><ul><li>STEP 2: While stopping condition is false, do steps 3-10. </li></ul><ul><li>STEP 3: For each training pair do steps 4-9. </li></ul>
9. FEED FORWARD <ul><li>STEP 4: Each input unit receives the input signal x i and transmits this signal all units in the above i.e. hidden layer. </li></ul><ul><li>STEP 5: Each hidden unit (z h ,h=1,….p) sums its input signals. </li></ul><ul><li>Z inj = V oj +∑x i v ij </li></ul><ul><li>Applying activation function </li></ul><ul><li>Z j =f(Z inj ) </li></ul><ul><li>And send this signal to all units in the layer above i.e output units. </li></ul><ul><li>STEP 6: Each output unit (Y k, k=1,….m) sums its weighted input signals. </li></ul><ul><li>Y ink =W ok +∑Z j W ij </li></ul><ul><li>And supplies its activation function to calculate the output signals. </li></ul><ul><li>Y k =f(Y ink ) </li></ul>
10. BACK PROPAGATION OF ERRORS <ul><li>STEP 7: Each output unit (Y k ,k=1,…m) receives a target pattern corresponding to an input pattern,error information term is calculated as </li></ul><ul><li>δ k =(t k -Y k )f(Y ink ) </li></ul><ul><li>STEP 8:Each hidden unit (Z j, j=1,….n) sums its delta inputs from units in the layer above </li></ul><ul><li>δ inj =∑δ j W jk </li></ul><ul><li>the error information term is calculated as </li></ul><ul><li>δ j = δ inj f(Z inj ) </li></ul><ul><li> </li></ul>
11. UPDATION OF WEIGHTS AND BIASES <ul><li>STEP 9: Each output unit (Y k ,k=1,…,m) updates its bias and weights (j=0,…,n) </li></ul><ul><li>The weight correctiom term is given by </li></ul><ul><li>∆ W jk =αδ k Zj </li></ul><ul><li>And the bias correction term is given by </li></ul><ul><li>∆ W ok =αδ k </li></ul><ul><li>Therefore, </li></ul><ul><li>W jk(new) =W jk(old) + ∆W jk </li></ul><ul><li>W ok(new) =W ok(old) + ∆W ok </li></ul><ul><li>Each hidden unit(Z i ,j=1,….,p) updates its bias and weights (i=0,…..n) </li></ul><ul><li>The weight correction term </li></ul><ul><li>∆ V jk =αδ j x i </li></ul><ul><li>The bias correction term </li></ul><ul><li>∆ V oj =αδ j </li></ul><ul><li>Therefore, V ij(new) =V ij(old) +∆V ij , </li></ul><ul><li>V oj(new) =V oj(old) +∆V oj </li></ul><ul><li>STEP 10: Test the stopping condition. </li></ul><ul><li>The stopping condition may be minimization of the errors,number epochs etc. </li></ul><ul><li> </li></ul>
12. APPLICATION ALGORITHM <ul><li>The application algorithm for BPN is shown below: </li></ul><ul><li>STEP 1: Initialize weights (from training algorithm). </li></ul><ul><li>STEP 2: For each input vector do steps 3-5. </li></ul><ul><li>STEP 3: For i=1,…,n; set activation of input unit, X i ; </li></ul><ul><li>STEP 4: For j=1,….,p; </li></ul><ul><li>Z inj =V oj +∑X i V ij </li></ul><ul><li>STEP 5: For k=1,…,m </li></ul><ul><li>Y ink =W ok +∑Z j W jk </li></ul><ul><li>Y k =f(Y ink ) </li></ul>
13. MERITS OF BACK PROPAGATION <ul><ul><li>Relatively simple implementation. </li></ul></ul><ul><ul><li>Standard method and generally works well. </li></ul></ul><ul><ul><li>Mathematical Formula used in algorithm can be applied to any network. </li></ul></ul><ul><ul><li>It does not require any special mention of the features of the function to be learnt. </li></ul></ul><ul><ul><li>Computing time is reduced if the weights chosen are small at the beginning. </li></ul></ul><ul><ul><li>Batch update of weights exist,which provides a smoothing effect on the weight correction terms. </li></ul></ul>
14. DEMERITS OF BACK PROPAGATION <ul><li>Slow and inefficient. </li></ul><ul><li>Can get stuck in local minima resulting in sub- optimal solutions . </li></ul><ul><li>A large amount of input/output data is available, but you're not sure how to relate it to the output. </li></ul><ul><li>The problem appears to have overwhelming complexity, but there is clearly a solution. </li></ul><ul><li>It is easy to create a number of examples of the correct behaviour. </li></ul><ul><li>The solution to the problem may change over time, within the bounds of the given input and output parameters (i.e., today 2+2=4, but in the future we may find that 2+2=3.8). </li></ul><ul><li>Outputs can be &quot;fuzzy&quot;, or non-numeric. </li></ul>
15. ROBOTICS <ul><li>The Lego Mindstorms Robotics Invention System (RIS) is a kit for building and programming Lego robots. </li></ul><ul><li>It consists of 718 Lego bricks including two motors, two touch sensors, one light sensor, an infrared tower, and a robot brain called the RCX. </li></ul><ul><li>The RCX is a large brick that contains a microcontroller and an infrared port. You can attach the kit's two motors (as well as a third motor) and three sensors by snapping wire bricks on the RCX. </li></ul><ul><li>The infrared port allows the RCX to communicate with your desktop computer through the infrared tower. </li></ul><ul><li>A Roverbot , constructed in the Lego Mindstorms Constructopedia,has been used as the guide for constructing robots. </li></ul><ul><li>This Roverbot, as shown in Figure 1, has been configured to use all three sensors and two motors included in Lego Mindstorms RIS 2.0. </li></ul>
16. BACK PROPAGATION NETWORK <ul><li>A backpropagation network has to be modeled for our Roverbot </li></ul><ul><li>The robot has three inputs (two touch sensors and one light sensor) and two outputs (the two motors). </li></ul><ul><li>So, a three-layer backpropagation network has been used , where we change the unit index to begin with 0;. </li></ul>
17. BEHAVIOR RULES <ul><li>Moving forward: If Sensor 1 is off, and Sensor 2 is over a white floor, and Sensor 3 is off, then Motor A and Motor C go forward (Roverbot goes forward) </li></ul><ul><li>Moving right: If Sensor 1 is on, then Motor A goes forward, and Motor C goes backward (Roverbot turns right) </li></ul><ul><li>Moving left: If Sensor 3 is on, then Motor A goes backward, and Motor C goes forward (Roverbot turns left) </li></ul><ul><li>Moving backward: If Sensor 2 is over a black floor, then Motor A and Motor C go backward (Roverbot goes backward) </li></ul>
18. Lego Mindstorms robots are cool toys used by hobbyists all around the world. They prove suitable for building mobile robots and programming them with artificial intelligence.
19. SPACE ROBOT <ul><li>It is a fully-self-contained planar laboratory-prototype of an autonomous free-Lying space robot complete with on-board gas, thrusters, electrical power, multi-Processor computer system, camera, wireless Ether- net data/communications link, and two cooperating manipulators. It exhibits nearly frictionless motion as it oats above a granite surface plate on a 50 micron thick cushion of air. Accelerometers and an angular-rate sensor sense base motions. </li></ul><ul><li>The diffIcult aspects of a neural-network control application are the decisions about how to structure the control system and which components are to be neural-network-based.-rate sensor sense base motions. </li></ul>
20. TRAINING NETWORK <ul><li>Training a neural network to produce a thruster map- </li></ul><ul><li>ping based upon a model of the robot can be thought </li></ul><ul><li>of as learning the inverse model of the robot-thruster </li></ul><ul><li>System </li></ul><ul><li>This is a common approach and would be relatively Straightforward if not for the discrete-valued functions that represent the on-thrusters. </li></ul><ul><li>Some modication to the learning algorithm is required to allow gradient-based optimizationto be used with these non-dierentiable functions. </li></ul><ul><li>The method relies on approximation of the discrete-valued functions with
oisy sigmoids&quot; during training. This is a broadly-applicable algorithm that applies to any gradient-based optimization involving discrete-valued functions. </li></ul>
21. <ul><li>The robot thruster layout in nominal and failed congurations. The magnitude and </li></ul><ul><li>di-rection of each thruster is shown. Nominally, each Thruster produces 1 Newton of force, directed as shown. The failures were produced by mechanically changing the thrusters. Failures include: half strength, plugged completely, angled at 45, and angled at 90. The 90 failure mode places high demands on the control reconguration system, since It destabilizes the robot. </li></ul>
22. <ul><li>Very rapid learning is possible due first to the FCA,and due second to the growing of the network. With few hidden neurons, quick learning takes place since fewer computations are required, and fewer training </li></ul><ul><li>patterns are required (to avoid overting). The netWork begins with 3 inputs, 8 hidden neurons, and 8 outputs, and gradually grows to 30 or more hidden neurons as training progresses. New hidden neurons are added when performance begins to plateau. </li></ul><ul><li>To prevent overtting, the training-set size is grown proportionally with the number of hidden neurons.With this arrangement, a mapping with about 30% error above optimal results in 30 seconds, 20% above optimal within 60 seconds, and 10% above optimal1 </li></ul>
23. NUMBER RECOGNITION SYSTEM <ul><li>In the handwritten writing recognition, we proposed an of the isolated </li></ul><ul><li>handwritten digits. this system is divided in three phases: </li></ul><ul><li>Acquisition and preprocessing. </li></ul><ul><li>Features extraction. </li></ul><ul><li>Recognition. </li></ul>
24. ACQUISITION AND PREPROCESSING <ul><li>T he acquisition is done with a numeric scanner of resolution 300 dpi with 8 bits/pixels, the used samples are all possible classes of the handwritten digits (0,1,2,3,4,5,6,7,8,9) with variable sizes and variable thickness, and with 100 samples for every class. </li></ul><ul><li>Images of our database are formed only by two gray levels: the black for the object and the white for the bottom. The figure 2 shows some samples of the used database. </li></ul><ul><li>The preprocessing attempts to eliminate some variability related to the writing process and that are not very significant under the point of view of the recognition, such as the variability due to the writing environment, writing style, acquisition and digitizing of image. </li></ul>
25. FEATURE EXTRACTION & RECOGNITION <ul><li>Features extraction method limits or dictates the nature and output of the preprocessing step and the decision to use gray-scale versus binary image, filled representation or contour, thinned skeletons versus full-stroke images depends on the nature of the features to be extracted. </li></ul><ul><li>For training the neural network, back propagation with momentum training method is followed. This method was selected because of its simplicity and because it has been previously used on a number of pattern recognition problems. </li></ul><ul><li>The recognition of the isolated handwritten digits, but also to the recognition of the handwritten numeric chains constituted of a variable number of digits. </li></ul>
26. RECOGNITION <ul><li>Every obtained digit by segmentation is presented separately to the entry of the system achieved in the first part (recognition system of the isolated handwritten digits) and will undergo the following processing: Normalization, features extraction </li></ul><ul><li>and finally the recognition. </li></ul><ul><li>Finally and after the presentation of all segments, the system displays the </li></ul><ul><li>result of the recognition of the presented handwritten numeric chain. </li></ul><ul><li>The obtained recognition rate for the database used attain 91.30% </li></ul>
27. FACE RECOGNITION SYSTEM <ul><li>A special advantage of this technique is that there is no extra learning process included here, only by saving the face information of the person and appending the person’s name in the learned database completes the learning process. </li></ul><ul><li>Recognition System (FRS) can be subdivided into two main parts. </li></ul><ul><li>1. image processing scanning, Image </li></ul><ul><li>enhancement, Image clipping, Filtering, Edge detection and Feature extraction.and </li></ul><ul><li>2.recognition techniques Genetic Algorithm and Back Propagation Neural Network. </li></ul><ul><li>As the recognition machine of the system; a three layer neural network has been used that was trained with Error Back-propagation learning technique with an error tolerance of 0.001. </li></ul>
28. A. Face Image Acquisition To collect the face images, a scanner has been used. After scanning, the image can be saved into various formats such as Bitmap, JPEG, GIF and TIFF. This FRS can process face images of any format. B.Filtering and Clipping The input face of the system may contain noise and garbage data that must be removed. Filter has been used for fixing these problems. For this purpose median filtering technique has been used. After filtering, the image is clipped to obtain the necessary data that is required for removing the unnecessary background that surrounded the image.
29. <ul><li>C. Edge detection </li></ul><ul><li>Then the edges are detected using high-pass filter, high-boost filter, median filter </li></ul><ul><li>procedure for determining edges of an image is similar everywhere but only </li></ul><ul><li>difference is the use of masks. quick mask has been used in only one direction </li></ul><ul><li>for an image; on the other hand others are applied in eight direction of an </li></ul><ul><li>image. So, the quick mask is eight times faster than other masks. </li></ul>E. Features Extraction To extract features of a face at first the image is converted into a binary. From this binary image the centroid (X,Y) of the face image is calculated using equation 1and 2 Where x, y is the co-ordinate values and m=f(x,y)=0 or 1. Then from the centroid, only face has been cropped and converted into the gray level and the features have been collected. F. Recognition Extracted features of the face images have been fed in to the Genetic algorithm and Back-propagation Neural Network for recognition. The unknown input face image has been recognized by Genetic Algorithm and Back-propagation Neural Network Recognition phase
30. RECOGNIZE FACE BY BPN <ul><li>No. of Face </li></ul><ul><li>Image Face Successfully </li></ul><ul><li>Recognized Image UnrecognizedFace Image Efficiency </li></ul><ul><li>(%) </li></ul><ul><li>5 3 2 60% </li></ul><ul><li>13 12 1 92.31% </li></ul><ul><li>20 19 1 95% </li></ul><ul><li>22 19 3 86.36% </li></ul><ul><li>25 24 1 96% </li></ul><ul><li>30 28 2 93.33% </li></ul><ul><li>Therefore the efficiency of the Face Recognition System by </li></ul><ul><li>using Back-propagation Algorithm is 91.30% </li></ul>
31. FACE RECOGNITION SYSTEM <ul><li>Face recognition has the benefit of being a passive, non-intrusive system for verifying personal identity. The 1Physiological or behavioral characteristics which uniquely identify us.techniques used in the best face recognition systems may depend on the application of the system. We can identify at least two broad categories of face recognition systems: </li></ul>1. We want to find a person within a large database of faces (e.g. in a police database). These systems typically return a list of the most likely people in the database . Often only one image is available per person. It is usually not necessary for recognition to be done in real-time. 2. We want to identify particular people in real-time (e.g. in a security monitoring system, location tracking system, etc.), or we want to allow access to a group of people and deny access to all others (e.g. access to a building, computer, etc.) . Multiple images per person are often available for training and real-time recognition is required.
32. <ul><li>Many people have explored geometrical feature based methods for face recognition. It presented an automatic feature extraction method based on ratios of distances and reported a recognition rate of between 45-75% with a database of 20 people. Geometrical features such as nose width and length, mouth position, and chin shape. They report a 90% recognition rate on a database of 47 people. However, they show that a simple template matching scheme provides 100% recognition </li></ul><ul><li>High-level recognition tasks are typically modeled with many stages of processing as in the Marr paradigm of progressing from images to surfaces to three-dimensional models to matched models. However, it is likely that there is also a recognition process based on low-level, twodimensional image processing </li></ul><ul><li>A hierarchical neural network which is grown automatically and not trained with gradient-descent was used for face recognition.They report good results for discrimination of ten distinctive subjects. </li></ul>
33. FINGERPRINT RECOGNITION SYSTEM
35. HARDWARE & SOFTWARE
36. LICENSE PLATE RECOGNITION <ul><li>In Persian number plates are used a set of characters and words in Farsi and Latin alphabet.Therefore we need several optical character recognition (OCR) for identify numbers, letters and words in both languages of Farsi and Latin. </li></ul><ul><li>This can be easily done through back propagation network. </li></ul><ul><li>The license plate candidates determined in the locating stage are examined in the license character identification step. There are two major tasks involved in the identification step, </li></ul><ul><li>1.Character separation accomplished by connected components and blob coloring. </li></ul><ul><li>2.Character recognition implemented with artificial </li></ul><ul><li>neural network with back propagation learning algorithm. </li></ul>
37. RECOGNITION WITH NEURAL NETWORK <ul><li>With multiple layers neural network learning is done with back propagation algorithm on the several of sample image license plate. </li></ul><ul><li>When learning of neural network complete, we can used that for recognize place of license plate. </li></ul><ul><li>In this method image scans with N row distance.In the scanning image algorithm count edge of image which they are located in specify distance from each other. </li></ul><ul><li>If number of edge greater than a threshold that is location of license plate in image. </li></ul><ul><li>If in the first scanning program didn't find place, repeated algorithms between lines of previous with reduce threshold for counting edges. This algorithm repeated until place of license is finding. </li></ul>
38. CITY WORD RECOGNITION <ul><li>Farsi script word recognition presents challenges because all orthography is cursive and letter shape is context sensitive. </li></ul><ul><li>The Holistic paradigm in word recognition treats the word as a single, indivisible entity and attempts to recognize words from their overall shape, as opposed to their character contents. this paper present new method for word recognition with holistic approaches. </li></ul><ul><li>In the analytical approaches a word decomposed into sequence of smaller subunits or character letters, the problems of these approaches are </li></ul><ul><li>1) segmentation ambiguity for deciding where to segment the Farsi word image and </li></ul><ul><li>2) variability of segment word shape. </li></ul><ul><li>In the plates, number of word limiting to number of important city of country, then it is better we recognize these city name with holistic method. </li></ul><ul><li>For holistic word recognition in LPR system, we use a neural network with back propagation algorithm learning, that number of input layer equal than number of features from word of city name and number of output layer equal than number of city in IRAN. </li></ul>
39. LEAF RECOGNITION SYSTEM <ul><li>” Leaves Recognition using Back Propagation Neural Networks” is aimed to develop a java program to recognize the images of leaves by using previously trained Neural Network. The outer frame (edge) of the leaf and a back propagation neural network is enough to give a reasonable statement about the species it belongs to. The system is user friendly. The user can scan the leaf and click the recognition button to get the solution. </li></ul><ul><li> </li></ul>Another main part of this work is the integration of a feed-forward back propagation neuronal network. The inputs for this neuronal network are the individual tokens of a leaf image, and as a token normally consists of a cosines and sinus angle, the amount of input layers for this network are the amount of tokens multiplied by two. The image on the left should give you an idea of the neuronal network that takes place in the Leaves Recognition application.
40. LEAF RECOGNITION SYSTEM <ul><li>Green line: The shape of the leaf image after successful edge detection &thinning. </li></ul><ul><li>Red Square: This Square represents a point on the shape of the leaf imagefrom which we are going to draw a line to the next square. </li></ul><ul><li>Blue line: The compound of the center of two squares from which we are going to calculate the cosines and sinus angle. Such a blue line is a representation of a leaf token. </li></ul><ul><li>If you now take a deeper view on the small triangle zoom on this image you should recognize that it shows a right-angled triangle. This and the summary of all triangles of a leaf image are the representation of the tokens of a leaf from which we can start the neural network calculations. </li></ul>In order to understand the algorithm consider the figure and details shown below.
41. LEAF RECOGNITION SYSTEM <ul><li>Training () </li></ul><ul><li>This trains the full training set by calling the back propagation algorithm., EPOCH number of times. Initially it assigns array wt1 and wt2 with random weights and initializes inp(0) and out(0) to 1.After opening appropriate file it calls procedure on this file. This is continued for EPOCH number of times. These final adjusted weights are stored in the output file for use during recognition phase. </li></ul><ul><li>Recognition (): </li></ul><ul><li>This reads the input leaf to be recognized by calling image processing unit. For each value of matrix (I, J) the corresponding weights are read from that file. With the help of weights out1 and out2 are calculated. </li></ul><ul><li>Back propagation (): </li></ul><ul><li>This procedure is used to train the training set. This takes the training patterns from the data input, calculates the corresponding node output values. It measures the error between actual value and desired value, and then used those values for adjusting the weights. So that the network is trained. </li></ul>
42. RECOGNITION 1.Screen to display the selected leaf1. 2.Screen to display the edge and tokens of the selected Leaf1 3.Screen to display the Leaf Image1. 4.Screen to display the results of the Recognition module. 5.Screen to display the leaf image for finding pest recognition. 6.Screen to display the Pest Percentage of the given leaf and also the damage part.
43. NAVIGATION OF CAR <ul><li>The network takes inputs from a 34 X 36 video image and a 7 X 36 range fi nder. Output units represent “ drive straight ” , “ turn left ” or “ turn right ”. After training about 40 times on 1200 road images, the car drove around CMU campus at 5 km/h (using a small workstation on th e car). This was almost twice the speed of any other non-NN algorithm at the time. </li></ul>