Answered step by step
Verified Expert Solution
Question
1 Approved Answer
weite a python code provide a python code Bonus Question: Clustering data dowes nit ab behw ti:1). Notes for question I: another aruruat apilos. =Vit=Vi=+=+C=T
weite a python code
provide a python code
Bonus Question: Clustering data dowes nit ab behw ti:1). Notes for question I: another aruruat apilos. =Vit=Vi=+=+C=T zutian ate koe likily to fite. the seguptic trace approwituation of the SITP fubotion. A second issue is that neurons may learn the opposite of what you want because there are too many pre-synaptic spikes and not many post-synaptic spikes resulting in mostly negative weight updates. This can be addreased by derreasing the bearning rate for the negative STDP function (when at presynaptic spiloe occurs before a post-synaptic spilke). This issue will not occur if you are using the synaptic trace approximation of the STDP function. (a) For each network size (10, 50, and 100 output neurous) generate a subplot which shows the synaptic weights each output neuron learns (each output neuron is connected to 784 synapors, plot them in a 28 by 28 image). (b) Determine the sccuracy of each network, how does the number of neurons affect the performance? (c) Explain what limits the performance of the networks. Hint: Consider making a confusion matrix to show the networks performance. (d) Explore different parameters for intrinsic plasticity, the STDP parameters, and inhibition strength, what are the best results you can get? Bonus Question: Clustering diatering on the MHSIST datient waing any STDP nule of yout dinire The 3 the actwork with 10, 50 , and 100 output neurons. Use at kast 800 images for training aod 200 for testing (make sure the ratio betwern training ilata and tost. data does not go below 4:1). Notes for question 1: Tone which fiecos arturone to rouripte for different inpist patterne. This cain another neuroil apukes. and allowing it to dreay hark to a manimatm threshobl as alrwn tribow. =Vi=Vi+=+C== For a voltaye throbbold of 5mV, try marting by ingulenentiug inhabition through intrinse pleticity atart with C=20mV and r=1000. To driernine the acrufacy of the dusirring art evik, pass each training sumpio rack input. A arcurun is labelel with the munber it fires most ofini too.after youl have anoriated eorh neuron with a label, pans in the test wet and derk if the neruen that fired the mont has the same label a the tarest digit rianc. One common han that may arive in this slamlation bo that all neurotus fire th the saine tne. In this coee try decgewing the maximatin ranent such that neuruas are leow filirly to fire. there are tho many jue-syuaptic spikes and oot many peost-synaghic spiloss of the synaptic trace agpinusimatich of the STDE function. (a) For each notsork sio (10, to, and to0 ourput necurcas) ganerate a malpbo A second issue is that neurons may learn the opposite of what you want because there are too many pre-synaptic spikes and not many poot-synaptic spikes resulting in mostly negative weight updates. This can be addressed by decreasing the learning rate for the negative STDP function (when a presynaptic spike occurs before a post-synaptic spike). This issue will not occur if you are using the synaptic trace approximation of the STDP function. (a) For each network size (10,50, and 100 output neurons) generate a subplot which shows the synaptic weights each output neuron learns (each output neuron is connected to 784 synapses, plot them in a 28 by 28 image). (b) Determine the accuracy of each network, bow does the number of neurons affect the performance? (c) Explain what limits the performance of the networks. Hint: Consider making a confusion matrix to show the networks performance. (d) Explore different parameters for intrinsic plasticity, the STDP parameters, and inhibition strength, what are the best results you can get? Bonus Question: Clustering Question 2)(25 points) Design a two-layer spiking neural network to perform clustering on the MNIST dataset using any STDP rule of your choice. The network will have 784 inputs (the number of pixels in MNIST images) which will be converted into spiking inputs as Poisson spike trains where a normalized pixel value of 1 corresponds to a frequency of 150Hz. Test the performance of the network with 10,50 , and 100 output neurons. Use at least 800 images for training and 200 for testing (make sure the ratio between training data and test data does not go below 4:1 ). Notes for question 1: When implementing unsupervised STDP for clustering it is important to include two homeostatic mechanisms. The first is global inhibition between neurons which forces neurons to compete for different input patterns. This can be implemented by applying a negative current to all output neurons whenever another neuron spikes: The second mechanism is known as intrinsic plasticity and is used to prevent a neuron from firing too often and inhibiting all other neurons. Intrinsic plasticity is implemented by increasing a neurons threshold every time it emits a spike, and allowing it to decay back to a minimum threshold as shown below. =0Vth=Vth0+=+C=T For a voltage threshold of 55mV, try starting by implementing inhibition through reducing the membrane potential of all neurons that didn't spike by 5mV. For intrinsic plasticity start with C=20mV and =1000. To determine the accuracy of the clustering network, pass each training sample into the network after training and record how many times a neuron spikes to each input. A neuron is labeled with the number it fires most often too.After you have associated each neuron with a label, pass in the test set and check if the neuron that fired the most has the same label as the target digit class. reducing the membrane potential of all neurons that didn't spike by 5mV. For intrinsic plasticity start with C=20mV and =1000. To determine the accuracy of the clustering network, pass each training sample into the network after training and record how many times a neuron spikes to each input. A neuron is labeled with the number it fires most often too.After you have associated each neuron with a label, pass in the test set and check if the neuron that fired the most has the same label as the target digit class. One common issue that may arise in this simulation is that all neurons fire at the same time. In this case try decreasing the maximum current such that neurons are less likely to fire. A second issue is that neurons may learn the opposite of what you want because there are too many pre-synaptic spikes and not many post-synaptic spikes resulting in mostly negative weight updates. This can be addressed by decreasing the learning rate for the negative STDP function (when a pre-synaptic spike occurs before a post-synaptic spike). This issue will not occur if you are using the synaptic trace approximation of the STDP function. (a) For each network size (10,50, and 100 output neurons) generate a subplot which shows the synaptic weights each output neuron learns (each output neuron is connected to 784 synapses, plot them in a 28 by 28 image). (b) Determine the accuracy of each network, how does the number of neurons affect the performance? (c) Explain what limits the performance of the networks. Hint: Consider making a confusion matrix to show the networks performance. (d) Explore different parameters for intrinsic plasticity, the STDP parameters, and inhibition strength, what are the best results you can get Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started