Artificial Intellegence
|
|
- Ferdinand James
- 5 years ago
- Views:
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) Multilayer neural networks (back-propagation training algorithm) The input signals are propagated in a forward direction on a layer-bylayer basis. Learning
More informationNeural 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 informationAssignment # 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 informationNatural 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 informationLecture 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 informationNeural 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 informationLECTURE 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 informationCS6220: 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 informationDeep 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 informationNeural 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 informationNeural 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 informationTechnical 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 informationWeek 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 informationCOMPUTATIONAL 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 informationCS 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 informationCS 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 informationCMPT 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 information2. 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 informationPerceptrons 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 informationNotes 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 informationArtificial 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 informationCOMP 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 informationCS 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 informationData 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 informationFor 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 informationNeural 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 informationMultilayer 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 informationClassification 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 informationSupervised 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 informationLearning. 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 informationPerceptron 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 informationMachine 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 informationMultinomial 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 informationCHAPTER 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 informationHybrid 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 informationAssignment 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 informationCMU 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 informationMachine 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 informationEnsemble 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 informationNatural 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 informationBackpropagation + 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 informationArtificial 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 informationNeural 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 informationMachine 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 informationLecture #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 information6. 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 informationSimple 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 informationSEMANTIC 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 informationLecture 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 informationAn 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 informationPractical 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 informationCS30 - 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 informationNeural 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 informationIntroduction 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 informationNeural 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 information6. 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 informationDeep 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 informationMotivation. 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 informationPattern 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 informationNeural 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 informationCSC 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 informationNeural 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 informationSupervised 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 informationBack 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 informationKnowledge 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 informationKnowledge 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 informationIntroduction 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 information4.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 informationLinear 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 informationUnit 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 informationDeep 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 informationIn 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 informationFine-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 informationExtreme 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 informationProgramming 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 informationCP365 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 informationIMPROVEMENTS 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 informationExercise: 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 informationAdaptive 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 informationDeep 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 informationInstantaneously 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 informationMulti-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 informationReview 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 informationA 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 informationCLASSIFICATION 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 informationCS 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 informationA 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 informationLecture 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 informationProblem 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 informationCS229 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 informationOpening 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 informationNeural 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 information11/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 informationClassification 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 informationARTIFICIAL 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 informationChapter 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 informationNatural 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 informationSGD: 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 informationArtificial 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 informationCS 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