Artificial Intellegence

Size: px
Start display at page:

Download "Artificial Intellegence"

Transcription

1 Artificial Intellegence

2 Neural Net: Based on Nature

3 Perceptron Variations

4 Perceptrons: A Basic Neural Net In machine learning, the perceptron is an algorithm for supervised classification of an input into one of several possible non-binary outputs. It is a type of linear classifier, i.e. a classification algorithm that makes its predictions based on a linear predictor function combining a set of weights with the feature vector. The algorithm allows for online learning, in that it processes elements in the training set one at a time.(wikipedia)

5 Perceptron: Linear Discrimination Introduction to Machine Learning (Adaptive Computation and Machine Learning series) by Ethem Alpaydin ISBN-13: , ISBN-10: X

6 Perceptron: Linear Discrimination

7 Perceptron: Linear Discrimination

8 Perceptron

9 Perceptron

10 Training Examples 1.For each perceptron i, we can use prior data to choose the best W i =[W i,1,w i,2,,w i,d ] W to separate the data into two categories. This can be done statistically or with numerical method to determine the minimum possible error. 2. Base your training on survival of the fittest: Introduce random changes in the W i,j. If a change provides a better survival rate use the keep the changes other wise discard them. 3. Training data can be segmented so that part can be used to train the machine and the rest can be used to test the effectiveness of the training.

11 Inputs: Two inputs, which will be the X and Y components of the vector between the ship and the nearest asteroid. The speed that the two objects are moving together, which is determined by taking the moving velocity of each object and finding the component of velocity that lies along the direct path to the other object. The ship s moving direction, which gives the NN a frame of reference with which to make correlations between the other inputs. Outputs will provide boolean values for the ship's controls. They will determine whether or not the ship should thrust, turn left or right.

12 class NeuralNet public: NeuralNet(int nins,int nouts,int nhiddenlays,int nnodesinhiddenlays); void Init(); //access methods void Use(vector<float> &inputs,vector<float> &outputs); void Train(vector<float> &inputs,vector<float> &outputs); float GetError() return m_error; void WriteWeights(); void ReadWeights(); protected: //internal functions void AddLayer(int nneurons,int ninputs,int type); void SetInputs(vector<float>& inputs); void FindError(vector<float>& outputs); void Propagate(); void BackPropagate(); //data vector<nlayer> m_layers; NLayer* m_inputlayer; NLayer* m_outputlayer; float m_learningrate; float m_momentum; float m_error; int m_ninputs; int m_noutputs; int m_nlayers; int m_nhiddennodesperlayer; int m_acttype; int m_outputacttype; ;

13 The Init() function is the primary set-up function for the network. It builds the internal structure of the net, by iteratively calling AddLayer() to instantiate each layer s neurons. The system is set up to handle simple nets with only an input and output layer (perceptrons) as well as general, multilayer Nns. Propagate() takes the inputs to the net and spreads their influence forward through the network. BackPropagate() effectively reverses this operation by taking the error of the final outputs and finding the correct error gradients throughout the network, from the last layer backward to the first. Train() and Use() are the two main functions for actually using the NN. During training, you call the Train() method with the input-output pair you want to train. It then propagates the inputs through the NN, finds the error from the expected outputs, and backpropagates that error. Use() assumes a trained net. It just takes the inputs and returns the network s outputs. FindError() determines the output error of the network from given outputs during training. Using the derivative of the activation function, it determines the error gradient for each output neuron, which will then be used to back-propagate the necessary changes to the connection weights within the network, to close in on the optimal weights to perform well.

14

15 void NeuralNet::Init() m_inputlayer = NULL; m_outputlayer = NULL; m_acttype = ACT_BIPOLAR; m_outputacttype= ACT_LOGISTIC; m_momentum = 0.9f; m_learningrate = 0.1f; //error check if(m_nlayers<2) return; //clear out the layers, incase you re restarting the net m_layers.clear(); //input layer AddLayer(m_nInputs, 1, NLT_INPUT); if(m_nlayers > 2)//multilayer network //first hidden layer connect back to inputs AddLayer(m_nHiddenNodesperLayer, m_ninputs, NLT_HIDDEN); //any other hidden layers connect to other hidden outputs //-3 since the first layer was the inputs, //the second (connected to inputs) was initialized above, //and the last one (connect to outputs) will be initialized //below for (int i=0; i<m_nlayers-3; ++i) AddLayer(m_nHiddenNodesperLayer, m_nhiddennodesperlayer, NLT_HIDDEN); //the output layer also connects to hidden outputs AddLayer(m_nOutputs, m_nhiddennodesperlayer, NLT_OUTPUT); else//perceptron //output layer connects to inputs AddLayer(m_nOutputs, m_ninputs, NLT_OUTPUT); m_inputlayer = &m_layers[0]; m_outputlayer= &m_layers[m_nlayers-1];

16 void NeuralNet::Propagate() for (int i=0; i<m_nlayers-1; ++i) int type = (m_layers[i+1].m_type == NLT_OUTPUT)? m_outputacttype : m_acttype; m_layers[i].propagate(type,m_layers[i+1]); // void NeuralNet::BackPropagate() //backprop the error for (int i=m_nlayers-1; i>0; --i) m_layers[i].backpropagate (m_acttype,m_layers[i-1]); //adjust the weights for (i=1; i<m_nlayers; i++) m_layers[i].adjustweights(m_layers[i-1], m_learningrate,m_momentum); // void NeuralNet::Train(vector<float> &inputs,vector<float> &outputs) SetInputs(inputs); Propagate(); FindError(outputs); BackPropagate(); // void NeuralNet::Use(vector<float> &inputs,vector<float> &outputs) SetInputs(inputs); Propagate(); outputs.clear(); //return the net outputs for(int i =0;i< m_outputlayer->m_neurons.size();++i) outputs.push_back(m_outputlayer->m_neurons[i]->m_output); // void NeuralNet::SetInputs(vector<float>& inputs) int numneurons = m_inputlayer->m_neurons.size(); for (int i = 0; i<numneurons; ++i) m_inputlayer->m_neurons[i]->m_output = inputs[i];

17 void NeuralNet::FindError(vector<float>& outputs) m_error = 0; int numneurons = m_outputlayer->m_neurons.size(); for (int i=0; i<numneurons; ++i) float outputval = m_outputlayer->m_neurons[i]->m_output; float error = outputs[i]-outputval; switch(m_acttype) case ACT_TANH: m_outputlayer->m_neurons[i]->m_error = m_outputlayer-> InvTanh(outputVal)*error; case ACT_BIPOLAR: m_outputlayer->m_neurons[i]->m_error = m_outputlayer-> InvBipolarSigmoid(outputVal)*error; case ACT_LOGISTIC: default: m_outputlayer->m_neurons[i]->m_error = m_outputlayer-> InvLogistic(outputVal)*error; //error calculation for the entire net m_error += 0.5*error*error;

18 void NeuralNet::FindError(vector<float>& outputs) m_error = 0; int numneurons = m_outputlayer->m_neurons.size(); for (int i=0; i<numneurons; ++i) float outputval = m_outputlayer->m_neurons[i]->m_output; float error = outputs[i]-outputval; switch(m_acttype) case ACT_TANH: m_outputlayer->m_neurons[i]->m_error = m_outputlayer-> InvTanh(outputVal)*error; case ACT_BIPOLAR: m_outputlayer->m_neurons[i]->m_error = m_outputlayer-> InvBipolarSigmoid(outputVal)*error; case ACT_LOGISTIC: default: m_outputlayer->m_neurons[i]->m_error = m_outputlayer-> InvLogistic(outputVal)*error; //error calculation for the entire net m_error += 0.5*error*error;

19 The class houses the activation functions and their derivatives. Also, each layer has a list of its constituent neurons, as well as an m_type field (is this an input, hidden, or output layer?), and a threshold value (which is normally set to 1.0f, this value represents the output value the neuron must accumulate to fire if using a simple step activation function, or the gain of the sigmoid function being used, which corresponds to the smoothness of the s shape in the output graph: very small values approach a flat line, and very large values approach a step function shape). Propagate() is the layer extension to the function with the same name at the net level. It cycles through all the neurons in the level and performs the standard NN formula: sum all the inputs to the neuron, multiply by the corresponding connection weights, and then run it through the specified activation function. BackPropagate() is also the layer-specific continuation of this operation. It sums the total weight on each neuron, and then calculates the gradient by multiplying it with the output value, after having run the output through the derivative of the activation function. Several activation functions have been supplied. The standard logistic function gives values between 0 and 1. Both the tanh and bipolar sigmoid functions give values from 1 to 1. The linear function is the equivalent of no activation function, meaning that the output isn t scaled at all. AdjustWeights() performs the steepest-descent adjustment method on the weights because we ve computed a gradient of the delta we re looking for. Steepest descent is a greedy algorithm, meaning that it gets stuck in local minima very easily, so care must be taken with this method. Hence, we re using momentum within our weight adjustment, which means that adjustments have to come more frequently to make large changes because earlier changes have a much larger priority associated with them. This helps guard against the steepest descent method getting stuck, but it does make training slower, so you will want to adjust the momentum value.

20 void NLayer::Propagate(int type, NLayer& nextlayer) int weightindex; int numneurons = nextlayer.m_neurons.size(); for (int i=0; i<numneurons; ++i) weightindex = 0; float value = 0.0f; int numweights = m_neurons.size(); for (int j=0; j<numweights; ++j) //sum the (weights * inputs), the inputs //are the outputs of the prop layer value += nextlayer.m_neurons[i]->m_weights[j] * m_neurons[j]->m_output; //add in the bias (always has an input of -1) value+=nextlayer.m_neurons[i]->m_weights[numweights]*-1. 0f; //store the outputs, but run activation first switch(type) case ACT_STEP: nextlayer.m_neurons[i]->m_output = ActStep(value); case ACT_TANH: nextlayer.m_neurons[i]->m_output = ActTanh(value); case ACT_LOGISTIC: nextlayer.m_neurons[i]->m_output = ActLogistic(value); case ACT_BIPOLAR: nextlayer.m_neurons[i]->m_output = ActBipolarSigmoid(value); case ACT_LINEAR: default: nextlayer.m_neurons[i]->m_output = value; //if you wanted to run the Softmax activation function, you //would do it here, since it needs all the output values //if you pushed all the outputs into a vector, you could //uncomment the following line to use SoftMax activation //outputs = ActSoftmax(outputs); //and then put the outputs back into the correct spots Return;

21 void NLayer::BackPropagate(int type, NLayer &nextlayer) float outputval, error; int numneurons = nextlayer.m_neurons.size(); for (int i=0; i<numneurons; ++i) outputval = nextlayer.m_neurons[i]->m_output; error = 0; for (int j=0; j<m_neurons.size(); ++j) error+=m_neurons[j]->m_weights[i]*m_neurons[j]->m_error; switch(type) case ACT_TANH: nextlayer.m_neurons[i]->m_error = DerTanh(outputVal)*error; case ACT_LOGISTIC: nextlayer.m_neurons[i]->m_error = DerLogistic(outputVal)*error; case ACT_BIPOLAR: nextlayer.m_neurons[i]->m_error = DerBipolarSigmoid(outputVal)*error; case ACT_LINEAR: default: nextlayer.m_neurons[i]->m_error = outputval*error; void NLayer::AdjustWeights(NLayer& inputs,float lrate, float momentum) for (int i=0; i<m_neurons.size(); ++i) int numweights = m_neurons[i]->m_weights.size(); for (int j=0; j<numweights; ++j) //bias weight always uses -1 output value float output = (j==numweights-1)? -1 : inputs.m_neurons[j]->m_output; float error = m_neurons[i]->m_error; float delta = momentum*m_neurons[i]->m_lastdelta[j] + (1-momentum)*lrate * error * output; m_neurons[i]->m_weights[j] += delta; m_neurons[i]->m_lastdelta[j] = delta;

22 The NNAIControl class will serve as the AI controller for the neural network technique. This class houses the network itself and the technique-specific usage code that links it to the AIsteroids game proper. As you can see in the header, this class stores all the usual controller information (perception data and update methods, as well as being inherited from the FSMAIControl class so that it can also deal with the states of the AI ship), but also contains all the data and functionality for training and using the NN.

23 class NNAIControl: public FSMAIControl public: //constructor/functions NNAIControl(Ship* ship = NULL); ~NNAIControl(); void Update(float dt); void UpdatePerceptions(float dt); void Init(); void Reset(); void GetNetOutput(); void TrainNetAndSave(); void ReTrainNetAndSave(); //perception data float m_powerupscandist; //network output variables bool m_shouldthrust; bool m_shouldturnleft; bool m_shouldturnright; private: int m_numiterationstotrain; int m_numsavedtrainingsets; float m_maximumallowederror; //network input variables float m_speedmovingtogether; Point3f m_nearestasteroiddelta; float m_shipmovingdirection; //net, used for training and for actual usage in game NeuralNet* m_net; vector<float> m_inputs; vector<float> m_outputs; int m_numinputs; int m_numoutputs; int m_numhiddenlayers; int m_numhiddennodes; int m_netmode; ;

24 The constructor for this class sets itself up to do what needs to be done based on whether we re instantiating the controller in training mode, retraining mode, or the regular use mode. During the training modes, the network is instantiated by the training functions themselves and closed down after execution. The regular game-use mode instantiates the network right away because the game will potentially be using it to avoid obstacles. In regular training mode, there is no real AI running because the training uses real input from a human player. As you can see in the Update() function, the NNAIControl structure stores what will be the network input and output variables whenever the m_willcollide perception is true. When thousands of sets of data are collected, the Update() method then instantiates and trains a network using the data, and finally saves off the network weights so they can be reused later. Retrain mode works by loading the saved input and output training data from a file and training the network, then exiting from the game. Retraining is useful when you want to try different network designs (such as adjusting the number of hidden layers or nodes, changing to different activation functions, using more or less training iterations, etc.). Of course, if you decide to change the number of inputs or outputs, you ll need to recapture new training data using the regular NM_TRAIN mode.

25 void NNAIControl::TrainNetAndSave() m_net = new NeuralNet(m_numInputs, m_numoutputs, m_numhiddenlayers, m_numhiddennodes); vector<float> tempins; vector<float> tempouts; for(int i =0;i< m_numiterationstotrain;++i) for(int j = 0;j< m_numsavedtrainingsets; ++j) tempins.clear(); tempouts.clear(); //get training set inputs for(int k = 0;k<numInputs;++k) tempins.push_back(m_inputs[k+j*numinputs]); //get training set outputs for(k = 0;k<numOutputs;++k) tempouts.push_back(m_outputs[k+j*numoutputs]); m_net->train(tempins,tempouts); float totalerror = m_net->geterror(); if(totalerror < m_maximumallowederror) //save out net and exit m_net->writeweights(); return; void NNAIControl::ReTrainNetAndSave() FILE* pfile; if ((pfile = fopen("nntrainingdata.txt","r")) == NULL) return; m_net = new NeuralNet(m_numInputs,m_numOutputs, m_numhiddenlayers,m_numhiddennodes); vector<float> tempins; vector<float> tempouts; for(int i =0;i< m_numiterationstotrain;++i) for(int j = 0;j< m_numsavedtrainingsets; ++j) tempins.clear(); tempouts.clear(); //get training set inputs for(int k = 0;k<m_numInputs;++k) float temp; fscanf(pfile,"%f ",&temp); tempins.push_back(temp); //get training set outputs for(k = 0;k<m_numOutputs;++k) float temp; fscanf(pfile,"%f ",&temp); tempouts.push_back(temp); m_net->train(tempins,tempouts); float totalerror = m_net->geterror(); if(i> 100 && totalerror < m_maximumallowederror) //save out net and exit m_net->writeweights(); return;

26 NNAIControl::NNAIControl(Ship* ship): FSMAIControl(ship) m_net = NULL; Init(); if(m_netmode == NM_USE) m_net = new NeuralNet(m_numInputs,m_numOutputs, m_numhiddenlayers,m_numhiddennodes); m_net->readweights(); else if (m_netmode == NM_RETRAIN) m_numsavedtrainingsets = 1000; ReTrainNetAndSave(); // void NNAIControl::Update(float dt) Ship* ship = Game.m_mainShip; if(!ship) m_machine->reset(); return; switch(m_netmode) case NM_TRAIN: UpdatePerceptions(dt); if(m_willcollide) //write test data to file FILE* pfile; if ((pfile =fopen("nntrainingdata.txt","a"))== NULL) return; fprintf(pfile,"%f %f %f %f ", m_nearestasteroiddelta.x(), m_nearestasteroiddelta.y(), m_speedmovingtogether, m_shipmovingdirection); fprintf(pfile,"%d %d %d ",ship->isthruston(), ship->isturningright(),ship->isturningleft()); m_numsavedtrainingsets++; m_inputs.push_back(m_nearestasteroiddelta.x()); m_inputs.push_back(m_nearestasteroiddelta.y()); m_inputs.push_back(m_speedmovingtogether); m_inputs.push_back(m_shipmovingdirection); m_outputs.push_back(ship->isthruston()); m_outputs.push_back(ship->isturningright()); m_outputs.push_back(ship->isturningleft()); fclose(pfile); if(m_numsavedtrainingsets==num_training_sets_to_aquire) TrainNetAndSave(); Game.GameOver(); case NM_RETRAIN: Game.GameOver(); case NM_USE: default: UpdatePerceptions(dt); if(m_willcollide) GetNetOutput(); m_machine->updatemachine(dt);

27 void NNAIControl::GetNetOutput() //clear out temp storage m_inputs.clear(); m_outputs.clear(); //set up inputs // void StateNNEvade::Update(float dt) NNAIControl* parent = (NNAIControl*)m_parent; Ship* ship = parent->m_ship; m_inputs.push_back(m_nearestasteroiddelta.x()); m_inputs.push_back(m_nearestasteroiddelta.y()); m_inputs.push_back(m_speedmovingtogether); m_inputs.push_back(m_shipmovingdirection); //get output values m_net->use(m_inputs,m_outputs); m_shouldthrust = m_outputs[0] > BOOL_THRESHOLD; m_shouldturnright = m_outputs[1] > BOOL_THRESHOLD; m_shouldturnleft = m_outputs[2] > BOOL_THRESHOLD; if(parent->m_shouldthrust)//thrust ship->thruston(); else ship->thrustoff(); if(parent->m_shouldturnright) ship->turnright(); else if(parent->m_shouldturnleft) ship->turnleft(); else ship->stopturn(); parent->m_debugtxt = "Evade";

Supervised Learning in Neural Networks (Part 2)

Supervised Learning in Neural Networks (Part 2) Supervised Learning in Neural Networks (Part 2) Multilayer neural networks (back-propagation training algorithm) The input signals are propagated in a forward direction on a layer-bylayer basis. Learning

More information

Neural Network Neurons

Neural Network Neurons Neural Networks Neural Network Neurons 1 Receives n inputs (plus a bias term) Multiplies each input by its weight Applies activation function to the sum of results Outputs result Activation Functions Given

More information

Assignment # 5. Farrukh Jabeen Due Date: November 2, Neural Networks: Backpropation

Assignment # 5. Farrukh Jabeen Due Date: November 2, Neural Networks: Backpropation Farrukh Jabeen Due Date: November 2, 2009. Neural Networks: Backpropation Assignment # 5 The "Backpropagation" method is one of the most popular methods of "learning" by a neural network. Read the class

More information

Natural Language Processing CS 6320 Lecture 6 Neural Language Models. Instructor: Sanda Harabagiu

Natural Language Processing CS 6320 Lecture 6 Neural Language Models. Instructor: Sanda Harabagiu Natural Language Processing CS 6320 Lecture 6 Neural Language Models Instructor: Sanda Harabagiu In this lecture We shall cover: Deep Neural Models for Natural Language Processing Introduce Feed Forward

More information

Lecture 20: Neural Networks for NLP. Zubin Pahuja

Lecture 20: Neural Networks for NLP. Zubin Pahuja Lecture 20: Neural Networks for NLP Zubin Pahuja zpahuja2@illinois.edu courses.engr.illinois.edu/cs447 CS447: Natural Language Processing 1 Today s Lecture Feed-forward neural networks as classifiers simple

More information

Neural Network Learning. Today s Lecture. Continuation of Neural Networks. Artificial Neural Networks. Lecture 24: Learning 3. Victor R.

Neural Network Learning. Today s Lecture. Continuation of Neural Networks. Artificial Neural Networks. Lecture 24: Learning 3. Victor R. Lecture 24: Learning 3 Victor R. Lesser CMPSCI 683 Fall 2010 Today s Lecture Continuation of Neural Networks Artificial Neural Networks Compose of nodes/units connected by links Each link has a numeric

More information

LECTURE NOTES Professor Anita Wasilewska NEURAL NETWORKS

LECTURE NOTES Professor Anita Wasilewska NEURAL NETWORKS LECTURE NOTES Professor Anita Wasilewska NEURAL NETWORKS Neural Networks Classifier Introduction INPUT: classification data, i.e. it contains an classification (class) attribute. WE also say that the class

More information

CS6220: DATA MINING TECHNIQUES

CS6220: DATA MINING TECHNIQUES CS6220: DATA MINING TECHNIQUES Image Data: Classification via Neural Networks Instructor: Yizhou Sun yzsun@ccs.neu.edu November 19, 2015 Methods to Learn Classification Clustering Frequent Pattern Mining

More information

Deep Learning. Practical introduction with Keras JORDI TORRES 27/05/2018. Chapter 3 JORDI TORRES

Deep Learning. Practical introduction with Keras JORDI TORRES 27/05/2018. Chapter 3 JORDI TORRES Deep Learning Practical introduction with Keras Chapter 3 27/05/2018 Neuron A neural network is formed by neurons connected to each other; in turn, each connection of one neural network is associated

More information

Neural Networks. Single-layer neural network. CSE 446: Machine Learning Emily Fox University of Washington March 10, /10/2017

Neural Networks. Single-layer neural network. CSE 446: Machine Learning Emily Fox University of Washington March 10, /10/2017 3/0/207 Neural Networks Emily Fox University of Washington March 0, 207 Slides adapted from Ali Farhadi (via Carlos Guestrin and Luke Zettlemoyer) Single-layer neural network 3/0/207 Perceptron as a neural

More information

Neural Networks. CE-725: Statistical Pattern Recognition Sharif University of Technology Spring Soleymani

Neural Networks. CE-725: Statistical Pattern Recognition Sharif University of Technology Spring Soleymani Neural Networks CE-725: Statistical Pattern Recognition Sharif University of Technology Spring 2013 Soleymani Outline Biological and artificial neural networks Feed-forward neural networks Single layer

More information

Technical University of Munich. Exercise 7: Neural Network Basics

Technical University of Munich. Exercise 7: Neural Network Basics Technical University of Munich Chair for Bioinformatics and Computational Biology Protein Prediction I for Computer Scientists SoSe 2018 Prof. B. Rost M. Bernhofer, M. Heinzinger, D. Nechaev, L. Richter

More information

Week 3: Perceptron and Multi-layer Perceptron

Week 3: Perceptron and Multi-layer Perceptron Week 3: Perceptron and Multi-layer Perceptron Phong Le, Willem Zuidema November 12, 2013 Last week we studied two famous biological neuron models, Fitzhugh-Nagumo model and Izhikevich model. This week,

More information

COMPUTATIONAL INTELLIGENCE

COMPUTATIONAL INTELLIGENCE COMPUTATIONAL INTELLIGENCE Fundamentals Adrian Horzyk Preface Before we can proceed to discuss specific complex methods we have to introduce basic concepts, principles, and models of computational intelligence

More information

CS 4510/9010 Applied Machine Learning

CS 4510/9010 Applied Machine Learning CS 4510/9010 Applied Machine Learning Neural Nets Paula Matuszek Spring, 2015 1 Neural Nets, the very short version A neural net consists of layers of nodes, or neurons, each of which has an activation

More information

CS 4510/9010 Applied Machine Learning. Neural Nets. Paula Matuszek Fall copyright Paula Matuszek 2016

CS 4510/9010 Applied Machine Learning. Neural Nets. Paula Matuszek Fall copyright Paula Matuszek 2016 CS 4510/9010 Applied Machine Learning 1 Neural Nets Paula Matuszek Fall 2016 Neural Nets, the very short version 2 A neural net consists of layers of nodes, or neurons, each of which has an activation

More information

CMPT 882 Week 3 Summary

CMPT 882 Week 3 Summary CMPT 882 Week 3 Summary! Artificial Neural Networks (ANNs) are networks of interconnected simple units that are based on a greatly simplified model of the brain. ANNs are useful learning tools by being

More information

2. Neural network basics

2. Neural network basics 2. Neural network basics Next commonalities among different neural networks are discussed in order to get started and show which structural parts or concepts appear in almost all networks. It is presented

More information

Perceptrons and Backpropagation. Fabio Zachert Cognitive Modelling WiSe 2014/15

Perceptrons and Backpropagation. Fabio Zachert Cognitive Modelling WiSe 2014/15 Perceptrons and Backpropagation Fabio Zachert Cognitive Modelling WiSe 2014/15 Content History Mathematical View of Perceptrons Network Structures Gradient Descent Backpropagation (Single-Layer-, Multilayer-Networks)

More information

Notes on Multilayer, Feedforward Neural Networks

Notes on Multilayer, Feedforward Neural Networks Notes on Multilayer, Feedforward Neural Networks CS425/528: Machine Learning Fall 2012 Prepared by: Lynne E. Parker [Material in these notes was gleaned from various sources, including E. Alpaydin s book

More information

Artificial Neural Networks Lecture Notes Part 5. Stephen Lucci, PhD. Part 5

Artificial Neural Networks Lecture Notes Part 5. Stephen Lucci, PhD. Part 5 Artificial Neural Networks Lecture Notes Part 5 About this file: If you have trouble reading the contents of this file, or in case of transcription errors, email gi0062@bcmail.brooklyn.cuny.edu Acknowledgments:

More information

COMP 551 Applied Machine Learning Lecture 14: Neural Networks

COMP 551 Applied Machine Learning Lecture 14: Neural Networks COMP 551 Applied Machine Learning Lecture 14: Neural Networks Instructor: (jpineau@cs.mcgill.ca) Class web page: www.cs.mcgill.ca/~jpineau/comp551 Unless otherwise noted, all material posted for this course

More information

CS 6501: Deep Learning for Computer Graphics. Training Neural Networks II. Connelly Barnes

CS 6501: Deep Learning for Computer Graphics. Training Neural Networks II. Connelly Barnes CS 6501: Deep Learning for Computer Graphics Training Neural Networks II Connelly Barnes Overview Preprocessing Initialization Vanishing/exploding gradients problem Batch normalization Dropout Additional

More information

Data Mining. Neural Networks

Data Mining. Neural Networks Data Mining Neural Networks Goals for this Unit Basic understanding of Neural Networks and how they work Ability to use Neural Networks to solve real problems Understand when neural networks may be most

More information

For Monday. Read chapter 18, sections Homework:

For Monday. Read chapter 18, sections Homework: For Monday Read chapter 18, sections 10-12 The material in section 8 and 9 is interesting, but we won t take time to cover it this semester Homework: Chapter 18, exercise 25 a-b Program 4 Model Neuron

More information

Neural Networks. Robot Image Credit: Viktoriya Sukhanova 123RF.com

Neural Networks. Robot Image Credit: Viktoriya Sukhanova 123RF.com Neural Networks These slides were assembled by Eric Eaton, with grateful acknowledgement of the many others who made their course materials freely available online. Feel free to reuse or adapt these slides

More information

Multilayer Feed-forward networks

Multilayer Feed-forward networks Multi Feed-forward networks 1. Computational models of McCulloch and Pitts proposed a binary threshold unit as a computational model for artificial neuron. This first type of neuron has been generalized

More information

Classification Lecture Notes cse352. Neural Networks. Professor Anita Wasilewska

Classification Lecture Notes cse352. Neural Networks. Professor Anita Wasilewska Classification Lecture Notes cse352 Neural Networks Professor Anita Wasilewska Neural Networks Classification Introduction INPUT: classification data, i.e. it contains an classification (class) attribute

More information

Supervised Learning with Neural Networks. We now look at how an agent might learn to solve a general problem by seeing examples.

Supervised Learning with Neural Networks. We now look at how an agent might learn to solve a general problem by seeing examples. Supervised Learning with Neural Networks We now look at how an agent might learn to solve a general problem by seeing examples. Aims: to present an outline of supervised learning as part of AI; to introduce

More information

Learning. Learning agents Inductive learning. Neural Networks. Different Learning Scenarios Evaluation

Learning. Learning agents Inductive learning. Neural Networks. Different Learning Scenarios Evaluation Learning Learning agents Inductive learning Different Learning Scenarios Evaluation Slides based on Slides by Russell/Norvig, Ronald Williams, and Torsten Reil Material from Russell & Norvig, chapters

More information

Perceptron as a graph

Perceptron as a graph Neural Networks Machine Learning 10701/15781 Carlos Guestrin Carnegie Mellon University October 10 th, 2007 2005-2007 Carlos Guestrin 1 Perceptron as a graph 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0-6 -4-2

More information

Machine Learning Classifiers and Boosting

Machine Learning Classifiers and Boosting Machine Learning Classifiers and Boosting Reading Ch 18.6-18.12, 20.1-20.3.2 Outline Different types of learning problems Different types of learning algorithms Supervised learning Decision trees Naïve

More information

Multinomial Regression and the Softmax Activation Function. Gary Cottrell!

Multinomial Regression and the Softmax Activation Function. Gary Cottrell! Multinomial Regression and the Softmax Activation Function Gary Cottrell Notation reminder We have N data points, or patterns, in the training set, with the pattern number as a superscript: {(x 1,t 1 ),

More information

CHAPTER VI BACK PROPAGATION ALGORITHM

CHAPTER VI BACK PROPAGATION ALGORITHM 6.1 Introduction CHAPTER VI BACK PROPAGATION ALGORITHM In the previous chapter, we analysed that multiple layer perceptrons are effectively applied to handle tricky problems if trained with a vastly accepted

More information

Hybrid PSO-SA algorithm for training a Neural Network for Classification

Hybrid PSO-SA algorithm for training a Neural Network for Classification Hybrid PSO-SA algorithm for training a Neural Network for Classification Sriram G. Sanjeevi 1, A. Naga Nikhila 2,Thaseem Khan 3 and G. Sumathi 4 1 Associate Professor, Dept. of CSE, National Institute

More information

Assignment 2. Classification and Regression using Linear Networks, Multilayer Perceptron Networks, and Radial Basis Functions

Assignment 2. Classification and Regression using Linear Networks, Multilayer Perceptron Networks, and Radial Basis Functions ENEE 739Q: STATISTICAL AND NEURAL PATTERN RECOGNITION Spring 2002 Assignment 2 Classification and Regression using Linear Networks, Multilayer Perceptron Networks, and Radial Basis Functions Aravind Sundaresan

More information

CMU Lecture 18: Deep learning and Vision: Convolutional neural networks. Teacher: Gianni A. Di Caro

CMU Lecture 18: Deep learning and Vision: Convolutional neural networks. Teacher: Gianni A. Di Caro CMU 15-781 Lecture 18: Deep learning and Vision: Convolutional neural networks Teacher: Gianni A. Di Caro DEEP, SHALLOW, CONNECTED, SPARSE? Fully connected multi-layer feed-forward perceptrons: More powerful

More information

Machine Learning 13. week

Machine Learning 13. week Machine Learning 13. week Deep Learning Convolutional Neural Network Recurrent Neural Network 1 Why Deep Learning is so Popular? 1. Increase in the amount of data Thanks to the Internet, huge amount of

More information

Ensemble methods in machine learning. Example. Neural networks. Neural networks

Ensemble methods in machine learning. Example. Neural networks. Neural networks Ensemble methods in machine learning Bootstrap aggregating (bagging) train an ensemble of models based on randomly resampled versions of the training set, then take a majority vote Example What if you

More information

Natural Language Processing with Deep Learning CS224N/Ling284. Christopher Manning Lecture 4: Backpropagation and computation graphs

Natural Language Processing with Deep Learning CS224N/Ling284. Christopher Manning Lecture 4: Backpropagation and computation graphs Natural Language Processing with Deep Learning CS4N/Ling84 Christopher Manning Lecture 4: Backpropagation and computation graphs Lecture Plan Lecture 4: Backpropagation and computation graphs 1. Matrix

More information

Backpropagation + Deep Learning

Backpropagation + Deep Learning 10-601 Introduction to Machine Learning Machine Learning Department School of Computer Science Carnegie Mellon University Backpropagation + Deep Learning Matt Gormley Lecture 13 Mar 1, 2018 1 Reminders

More information

Artificial neural networks are the paradigm of connectionist systems (connectionism vs. symbolism)

Artificial neural networks are the paradigm of connectionist systems (connectionism vs. symbolism) Artificial Neural Networks Analogy to biological neural systems, the most robust learning systems we know. Attempt to: Understand natural biological systems through computational modeling. Model intelligent

More information

Neural Networks for Classification

Neural Networks for Classification Neural Networks for Classification Andrei Alexandrescu June 19, 2007 1 / 40 Neural Networks: History What is a Neural Network? Examples of Neural Networks Elements of a Neural Network 2 / 40 Neural Networks:

More information

Machine Learning. Topic 5: Linear Discriminants. Bryan Pardo, EECS 349 Machine Learning, 2013

Machine Learning. Topic 5: Linear Discriminants. Bryan Pardo, EECS 349 Machine Learning, 2013 Machine Learning Topic 5: Linear Discriminants Bryan Pardo, EECS 349 Machine Learning, 2013 Thanks to Mark Cartwright for his extensive contributions to these slides Thanks to Alpaydin, Bishop, and Duda/Hart/Stork

More information

Lecture #11: The Perceptron

Lecture #11: The Perceptron Lecture #11: The Perceptron Mat Kallada STAT2450 - Introduction to Data Mining Outline for Today Welcome back! Assignment 3 The Perceptron Learning Method Perceptron Learning Rule Assignment 3 Will be

More information

6. NEURAL NETWORK BASED PATH PLANNING ALGORITHM 6.1 INTRODUCTION

6. NEURAL NETWORK BASED PATH PLANNING ALGORITHM 6.1 INTRODUCTION 6 NEURAL NETWORK BASED PATH PLANNING ALGORITHM 61 INTRODUCTION In previous chapters path planning algorithms such as trigonometry based path planning algorithm and direction based path planning algorithm

More information

Simple Model Selection Cross Validation Regularization Neural Networks

Simple Model Selection Cross Validation Regularization Neural Networks Neural Nets: Many possible refs e.g., Mitchell Chapter 4 Simple Model Selection Cross Validation Regularization Neural Networks Machine Learning 10701/15781 Carlos Guestrin Carnegie Mellon University February

More information

SEMANTIC COMPUTING. Lecture 8: Introduction to Deep Learning. TU Dresden, 7 December Dagmar Gromann International Center For Computational Logic

SEMANTIC COMPUTING. Lecture 8: Introduction to Deep Learning. TU Dresden, 7 December Dagmar Gromann International Center For Computational Logic SEMANTIC COMPUTING Lecture 8: Introduction to Deep Learning Dagmar Gromann International Center For Computational Logic TU Dresden, 7 December 2018 Overview Introduction Deep Learning General Neural Networks

More information

Lecture 2 Notes. Outline. Neural Networks. The Big Idea. Architecture. Instructors: Parth Shah, Riju Pahwa

Lecture 2 Notes. Outline. Neural Networks. The Big Idea. Architecture. Instructors: Parth Shah, Riju Pahwa Instructors: Parth Shah, Riju Pahwa Lecture 2 Notes Outline 1. Neural Networks The Big Idea Architecture SGD and Backpropagation 2. Convolutional Neural Networks Intuition Architecture 3. Recurrent Neural

More information

An Algorithm For Training Multilayer Perceptron (MLP) For Image Reconstruction Using Neural Network Without Overfitting.

An Algorithm For Training Multilayer Perceptron (MLP) For Image Reconstruction Using Neural Network Without Overfitting. An Algorithm For Training Multilayer Perceptron (MLP) For Image Reconstruction Using Neural Network Without Overfitting. Mohammad Mahmudul Alam Mia, Shovasis Kumar Biswas, Monalisa Chowdhury Urmi, Abubakar

More information

Practical Tips for using Backpropagation

Practical Tips for using Backpropagation Practical Tips for using Backpropagation Keith L. Downing August 31, 2017 1 Introduction In practice, backpropagation is as much an art as a science. The user typically needs to try many combinations of

More information

CS30 - Neural Nets in Python

CS30 - Neural Nets in Python CS30 - Neural Nets in Python We will experiment with neural networks using a simple software package written in Python. You can find the package at: http://www.cs.pomona.edu/~dkauchak/classes/cs30/assignments/assign6/cs30neural.txt

More information

Neural Networks (pp )

Neural Networks (pp ) Notation: Means pencil-and-paper QUIZ Means coding QUIZ Neural Networks (pp. 106-121) The first artificial neural network (ANN) was the (single-layer) perceptron, a simplified model of a biological neuron.

More information

Introduction to Multilayer Perceptrons

Introduction to Multilayer Perceptrons An Introduction to Multilayered Neural Networks Introduction to Multilayer Perceptrons Marco Gori University of Siena Outline of the course Motivations and biological inspiration Multilayer perceptrons:

More information

Neural Nets. CSCI 5582, Fall 2007

Neural Nets. CSCI 5582, Fall 2007 Neural Nets CSCI 5582, Fall 2007 Assignments For this week: Chapter 20, section 5 Problem Set 3 is due a week from today Neural Networks: Some First Concepts Each neural element is loosely based on the

More information

6. Backpropagation training 6.1 Background

6. Backpropagation training 6.1 Background 6. Backpropagation training 6.1 Background To understand well how a feedforward neural network is built and it functions, we consider its basic first steps. We return to its history for a while. In 1949

More information

Deep Learning for Computer Vision

Deep Learning for Computer Vision Deep Learning for Computer Vision Lecture 7: Universal Approximation Theorem, More Hidden Units, Multi-Class Classifiers, Softmax, and Regularization Peter Belhumeur Computer Science Columbia University

More information

Motivation. Problem: With our linear methods, we can train the weights but not the basis functions: Activator Trainable weight. Fixed basis function

Motivation. Problem: With our linear methods, we can train the weights but not the basis functions: Activator Trainable weight. Fixed basis function Neural Networks Motivation Problem: With our linear methods, we can train the weights but not the basis functions: Activator Trainable weight Fixed basis function Flashback: Linear regression Flashback:

More information

Pattern Classification Algorithms for Face Recognition

Pattern Classification Algorithms for Face Recognition Chapter 7 Pattern Classification Algorithms for Face Recognition 7.1 Introduction The best pattern recognizers in most instances are human beings. Yet we do not completely understand how the brain recognize

More information

Neural Networks. By Laurence Squires

Neural Networks. By Laurence Squires Neural Networks By Laurence Squires Machine learning What is it? Type of A.I. (possibly the ultimate A.I.?!?!?!) Algorithms that learn how to classify data The algorithms slowly change their own variables

More information

CSC 578 Neural Networks and Deep Learning

CSC 578 Neural Networks and Deep Learning CSC 578 Neural Networks and Deep Learning Fall 2018/19 7. Recurrent Neural Networks (Some figures adapted from NNDL book) 1 Recurrent Neural Networks 1. Recurrent Neural Networks (RNNs) 2. RNN Training

More information

Neural Networks CMSC475/675

Neural Networks CMSC475/675 Introduction to Neural Networks CMSC475/675 Chapter 1 Introduction Why ANN Introduction Some tasks can be done easily (effortlessly) by humans but are hard by conventional paradigms on Von Neumann machine

More information

Supervised Learning (contd) Linear Separation. Mausam (based on slides by UW-AI faculty)

Supervised Learning (contd) Linear Separation. Mausam (based on slides by UW-AI faculty) Supervised Learning (contd) Linear Separation Mausam (based on slides by UW-AI faculty) Images as Vectors Binary handwritten characters Treat an image as a highdimensional vector (e.g., by reading pixel

More information

Back propagation Algorithm:

Back propagation Algorithm: Network Neural: A neural network is a class of computing system. They are created from very simple processing nodes formed into a network. They are inspired by the way that biological systems such as the

More information

Knowledge Discovery and Data Mining. Neural Nets. A simple NN as a Mathematical Formula. Notes. Lecture 13 - Neural Nets. Tom Kelsey.

Knowledge Discovery and Data Mining. Neural Nets. A simple NN as a Mathematical Formula. Notes. Lecture 13 - Neural Nets. Tom Kelsey. Knowledge Discovery and Data Mining Lecture 13 - Neural Nets Tom Kelsey School of Computer Science University of St Andrews http://tom.home.cs.st-andrews.ac.uk twk@st-andrews.ac.uk Tom Kelsey ID5059-13-NN

More information

Knowledge Discovery and Data Mining

Knowledge Discovery and Data Mining Knowledge Discovery and Data Mining Lecture 13 - Neural Nets Tom Kelsey School of Computer Science University of St Andrews http://tom.home.cs.st-andrews.ac.uk twk@st-andrews.ac.uk Tom Kelsey ID5059-13-NN

More information

Introduction to Deep Learning

Introduction to Deep Learning ENEE698A : Machine Learning Seminar Introduction to Deep Learning Raviteja Vemulapalli Image credit: [LeCun 1998] Resources Unsupervised feature learning and deep learning (UFLDL) tutorial (http://ufldl.stanford.edu/wiki/index.php/ufldl_tutorial)

More information

4.12 Generalization. In back-propagation learning, as many training examples as possible are typically used.

4.12 Generalization. In back-propagation learning, as many training examples as possible are typically used. 1 4.12 Generalization In back-propagation learning, as many training examples as possible are typically used. It is hoped that the network so designed generalizes well. A network generalizes well when

More information

Linear Separability. Linear Separability. Capabilities of Threshold Neurons. Capabilities of Threshold Neurons. Capabilities of Threshold Neurons

Linear Separability. Linear Separability. Capabilities of Threshold Neurons. Capabilities of Threshold Neurons. Capabilities of Threshold Neurons Linear Separability Input space in the two-dimensional case (n = ): - - - - - - w =, w =, = - - - - - - w = -, w =, = - - - - - - w = -, w =, = Linear Separability So by varying the weights and the threshold,

More information

Unit V. Neural Fuzzy System

Unit V. Neural Fuzzy System Unit V Neural Fuzzy System 1 Fuzzy Set In the classical set, its characteristic function assigns a value of either 1 or 0 to each individual in the universal set, There by discriminating between members

More information

Deep Learning. Vladimir Golkov Technical University of Munich Computer Vision Group

Deep Learning. Vladimir Golkov Technical University of Munich Computer Vision Group Deep Learning Vladimir Golkov Technical University of Munich Computer Vision Group 1D Input, 1D Output target input 2 2D Input, 1D Output: Data Distribution Complexity Imagine many dimensions (data occupies

More information

In this assignment, we investigated the use of neural networks for supervised classification

In this assignment, we investigated the use of neural networks for supervised classification Paul Couchman Fabien Imbault Ronan Tigreat Gorka Urchegui Tellechea Classification assignment (group 6) Image processing MSc Embedded Systems March 2003 Classification includes a broad range of decision-theoric

More information

Fine-Grained Object-Oriented Neural Networks By Joey Rogers

Fine-Grained Object-Oriented Neural Networks By Joey Rogers Fine-Grained Object-Oriented Neural Networks By Joey Rogers Object-oriented programming provides an interesting approach to implementing an already interesting collection of artificial intelligence algorithm

More information

Extreme Learning Machines. Tony Oakden ANU AI Masters Project (early Presentation) 4/8/2014

Extreme Learning Machines. Tony Oakden ANU AI Masters Project (early Presentation) 4/8/2014 Extreme Learning Machines Tony Oakden ANU AI Masters Project (early Presentation) 4/8/2014 This presentation covers: Revision of Neural Network theory Introduction to Extreme Learning Machines ELM Early

More information

Programming Exercise 4: Neural Networks Learning

Programming Exercise 4: Neural Networks Learning Programming Exercise 4: Neural Networks Learning Machine Learning Introduction In this exercise, you will implement the backpropagation algorithm for neural networks and apply it to the task of hand-written

More information

CP365 Artificial Intelligence

CP365 Artificial Intelligence CP365 Artificial Intelligence Tech News! Apple news conference tomorrow? Tech News! Apple news conference tomorrow? Google cancels Project Ara modular phone Weather-Based Stock Market Predictions? Dataset

More information

IMPROVEMENTS TO THE BACKPROPAGATION ALGORITHM

IMPROVEMENTS TO THE BACKPROPAGATION ALGORITHM Annals of the University of Petroşani, Economics, 12(4), 2012, 185-192 185 IMPROVEMENTS TO THE BACKPROPAGATION ALGORITHM MIRCEA PETRINI * ABSTACT: This paper presents some simple techniques to improve

More information

Exercise: Training Simple MLP by Backpropagation. Using Netlab.

Exercise: Training Simple MLP by Backpropagation. Using Netlab. Exercise: Training Simple MLP by Backpropagation. Using Netlab. Petr Pošík December, 27 File list This document is an explanation text to the following script: demomlpklin.m script implementing the beckpropagation

More information

Adaptive Regularization. in Neural Network Filters

Adaptive Regularization. in Neural Network Filters Adaptive Regularization in Neural Network Filters Course 0455 Advanced Digital Signal Processing May 3 rd, 00 Fares El-Azm Michael Vinther d97058 s97397 Introduction The bulk of theoretical results and

More information

Deep neural networks II

Deep neural networks II Deep neural networks II May 31 st, 2018 Yong Jae Lee UC Davis Many slides from Rob Fergus, Svetlana Lazebnik, Jia-Bin Huang, Derek Hoiem, Adriana Kovashka, Why (convolutional) neural networks? State of

More information

Instantaneously trained neural networks with complex inputs

Instantaneously trained neural networks with complex inputs Louisiana State University LSU Digital Commons LSU Master's Theses Graduate School 2003 Instantaneously trained neural networks with complex inputs Pritam Rajagopal Louisiana State University and Agricultural

More information

Multi-Layered Perceptrons (MLPs)

Multi-Layered Perceptrons (MLPs) Multi-Layered Perceptrons (MLPs) The XOR problem is solvable if we add an extra node to a Perceptron A set of weights can be found for the above 5 connections which will enable the XOR of the inputs to

More information

Review on Methods of Selecting Number of Hidden Nodes in Artificial Neural Network

Review on Methods of Selecting Number of Hidden Nodes in Artificial Neural Network Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 3, Issue. 11, November 2014,

More information

A Systematic Overview of Data Mining Algorithms. Sargur Srihari University at Buffalo The State University of New York

A Systematic Overview of Data Mining Algorithms. Sargur Srihari University at Buffalo The State University of New York A Systematic Overview of Data Mining Algorithms Sargur Srihari University at Buffalo The State University of New York 1 Topics Data Mining Algorithm Definition Example of CART Classification Iris, Wine

More information

CLASSIFICATION WITH RADIAL BASIS AND PROBABILISTIC NEURAL NETWORKS

CLASSIFICATION WITH RADIAL BASIS AND PROBABILISTIC NEURAL NETWORKS CLASSIFICATION WITH RADIAL BASIS AND PROBABILISTIC NEURAL NETWORKS CHAPTER 4 CLASSIFICATION WITH RADIAL BASIS AND PROBABILISTIC NEURAL NETWORKS 4.1 Introduction Optical character recognition is one of

More information

CS 1674: Intro to Computer Vision. Neural Networks. Prof. Adriana Kovashka University of Pittsburgh November 16, 2016

CS 1674: Intro to Computer Vision. Neural Networks. Prof. Adriana Kovashka University of Pittsburgh November 16, 2016 CS 1674: Intro to Computer Vision Neural Networks Prof. Adriana Kovashka University of Pittsburgh November 16, 2016 Announcements Please watch the videos I sent you, if you haven t yet (that s your reading)

More information

A Systematic Overview of Data Mining Algorithms

A Systematic Overview of Data Mining Algorithms A Systematic Overview of Data Mining Algorithms 1 Data Mining Algorithm A well-defined procedure that takes data as input and produces output as models or patterns well-defined: precisely encoded as a

More information

Lecture 17: Neural Networks and Deep Learning. Instructor: Saravanan Thirumuruganathan

Lecture 17: Neural Networks and Deep Learning. Instructor: Saravanan Thirumuruganathan Lecture 17: Neural Networks and Deep Learning Instructor: Saravanan Thirumuruganathan Outline Perceptron Neural Networks Deep Learning Convolutional Neural Networks Recurrent Neural Networks Auto Encoders

More information

Problem Set 2: From Perceptrons to Back-Propagation

Problem Set 2: From Perceptrons to Back-Propagation COMPUTER SCIENCE 397 (Spring Term 2005) Neural Networks & Graphical Models Prof. Levy Due Friday 29 April Problem Set 2: From Perceptrons to Back-Propagation 1 Reading Assignment: AIMA Ch. 19.1-4 2 Programming

More information

CS229 Final Project: Predicting Expected Response Times

CS229 Final Project: Predicting Expected  Response Times CS229 Final Project: Predicting Expected Email Response Times Laura Cruz-Albrecht (lcruzalb), Kevin Khieu (kkhieu) December 15, 2017 1 Introduction Each day, countless emails are sent out, yet the time

More information

Opening the Black Box Data Driven Visualizaion of Neural N

Opening the Black Box Data Driven Visualizaion of Neural N Opening the Black Box Data Driven Visualizaion of Neural Networks September 20, 2006 Aritificial Neural Networks Limitations of ANNs Use of Visualization (ANNs) mimic the processes found in biological

More information

Neural Nets for Adaptive Filter and Adaptive Pattern Recognition

Neural Nets for Adaptive Filter and Adaptive Pattern Recognition Adaptive Pattern btyoung@gmail.com CSCE 636 10 February 2010 Outline Adaptive Combiners and Filters Minimal Disturbance and the Algorithm Madaline Rule II () Published 1988 in IEEE Journals Bernard Widrow

More information

11/14/2010 Intelligent Systems and Soft Computing 1

11/14/2010 Intelligent Systems and Soft Computing 1 Lecture 7 Artificial neural networks: Supervised learning Introduction, or how the brain works The neuron as a simple computing element The perceptron Multilayer neural networks Accelerated learning in

More information

Classification and Regression using Linear Networks, Multilayer Perceptrons and Radial Basis Functions

Classification and Regression using Linear Networks, Multilayer Perceptrons and Radial Basis Functions ENEE 739Q SPRING 2002 COURSE ASSIGNMENT 2 REPORT 1 Classification and Regression using Linear Networks, Multilayer Perceptrons and Radial Basis Functions Vikas Chandrakant Raykar Abstract The aim of the

More information

ARTIFICIAL NEURAL NETWORK CIRCUIT FOR SPECTRAL PATTERN RECOGNITION

ARTIFICIAL NEURAL NETWORK CIRCUIT FOR SPECTRAL PATTERN RECOGNITION ARTIFICIAL NEURAL NETWORK CIRCUIT FOR SPECTRAL PATTERN RECOGNITION A Thesis by FARAH RASHEED Submitted to the Office of Graduate and Professional Studies of Texas A&M University in partial fulfillment

More information

Chapter 4. Adaptive Self-tuning : A Neural Network approach. 4.1 Introduction

Chapter 4. Adaptive Self-tuning : A Neural Network approach. 4.1 Introduction Chapter 4 Adaptive Self-tuning : A Neural Network approach 4.1 Introduction Machine learning is a method of solving real world problems by employing the hidden knowledge present in the past data or data

More information

Natural Language Processing with Deep Learning CS224N/Ling284

Natural Language Processing with Deep Learning CS224N/Ling284 Natural Language Processing with Deep Learning CS224N/Ling284 Lecture 8: Recurrent Neural Networks Christopher Manning and Richard Socher Organization Extra project office hour today after lecture Overview

More information

SGD: Stochastic Gradient Descent

SGD: Stochastic Gradient Descent Improving SGD Hantao Zhang Deep Learning with Python Reading: http://neuralnetworksanddeeplearning.com/index.html Chapter 2 SGD: Stochastic Gradient Descent Main Idea: Given a set of input/output examples

More information

Artificial Neural Networks (Feedforward Nets)

Artificial Neural Networks (Feedforward Nets) Artificial Neural Networks (Feedforward Nets) y w 03-1 w 13 y 1 w 23 y 2 w 01 w 21 w 22 w 02-1 w 11 w 12-1 x 1 x 2 6.034 - Spring 1 Single Perceptron Unit y w 0 w 1 w n w 2 w 3 x 0 =1 x 1 x 2 x 3... x

More information

CS 2750: Machine Learning. Neural Networks. Prof. Adriana Kovashka University of Pittsburgh April 13, 2016

CS 2750: Machine Learning. Neural Networks. Prof. Adriana Kovashka University of Pittsburgh April 13, 2016 CS 2750: Machine Learning Neural Networks Prof. Adriana Kovashka University of Pittsburgh April 13, 2016 Plan for today Neural network definition and examples Training neural networks (backprop) Convolutional

More information