# Neural Computation and Self-Organization

A course about the intersection of computer science and biology: information processing in neurons, self-assembly and self organization, brain function, and neural networks.

- decision theory, classifiers, learning
- models of parallel computation, data-parallelism
- psychophysics, neuroanatomy, neurophysiology
- individual neurons, synapses, Hebbian learning, pattern generators, McCullogh-Pitts, spiking neural networks, boolean circuits
- visual pathways, visual neurophysiology, what/where, stereo, motion, color
- physics-based and computational models of motion, stereo, color perception
- visual object recognition and learning: HMAX, spiking models, learning, slow features, deep learning, sparsity
- attentional mechanisms, segmentation
- recurrent neural networks, echo state networks
- unsupervised learning: self-organizing maps, clustering, PCA, ICA
- self-assembly, organic computing
- multi-agent system
- evolutionary algorithms

# Materials

# Questions

## Lecture 1

- What are major levels of description for digital systems?
- What levels of neural organization correspond to transistors, gates, circuits, block diagrams, …?
- Label the major parts of a neuron.
- Describe how information is transmitted in a sensory neuron from the sensing element to the postsynaptic cell?
- Describe briefly how a chemical synapse works.
- What is the knee jerk reflex and how does the reflex arc work?
- What is “synaptic integration” and what kinds are there?

## Lecture 2

- How are voltages measured inside neurons?
- What is depolarization?
- What is patch clamping and what does it measure?
- What are the major ions involved in generating neural activity?
- What are the approximate Nernst potentials of the major ions in neural activity?
- What is the Nernst equation?
- Describe the steps involved in action potential generation.
- What is the Hodgkin-Huxley model?
- Describe how differential equations are solved numerically using difference equation approximations.
- What is “cable theory” and how does it relate to neurons?
- What is the FitzHugh-Nagumo Model and what is its significance?
- What is the “phase space” of a differential equation?
- What does the phase space for the FitzHugh-Nagumo model look like?
- How can we use k-means clustering to categorize different behaviors of a neuron model?

## Lecture 3

- What is the integrate-and-fire model?
- What is the Izhikevich model?
- What does the phase space for the Izhikevich model look like?
- What is a McCulloch-Pitts neuron?
- How is the McCulloch-Pitts neuron justified using a discretization of time in the Hodgkin-Huxley model?
- How is the McCulloch-Pitts neuron justified using a rate coding model?
- How can McCulloch-Pitts neurons be used to represent logic gates?
- What is computaitonal universality?
- What is a cellular automaton?
- What is Rule 110?
- What is a tag system?
- What is a recurrent neural network?
- How can Rule 110 be implemented as a recurrent neural network?

## Lecture 4

- Explain why a refractory period is important for achieving synchronization in a network of weakly coupled integrate-and-fire neurons.
- State the equation for the van der Pol oscillator.
- Draw the phase space and nullclines for the van der Pol oscillator.
- Which neural model does the van der Pol oscillator relate to, and how?
- What is entrainment?
- Give a mathematical example of entrainment based on the van der Pol oscillator.
- What phenomenon is the strongly forced van der Pol oscillator an example of?
- What is a Lorenz system and what is it an example of?
- Explain the meaning of “strong sensitivity to initial conditions”.
- What is the difference between a limit cycle and a strange attractor?
- Can the Lotka-Volterra equations produce chaos? How?
- What real-world phenomena are described by Lotka-Volterra equations (give several examples)?
- Give an example of a chaotic system based on a difference equation.
- Give an example of a chaotic 1D cellular automaton.
- Give an example of a class 4 1D cellular automaton.
- Define the different classes of behavior in 1D cellular automata.
- How does computational universality relate to chaotic behavior?
- How does computational universality relate to the classes of 1D cellular automata?
- What is Willshaw’s associative memory? State the equations and the training method.
- What is a Hopfield network? State the equations and the training method.

## Lecture 5

- What is Bayes formula?
- What is zero-one loss?
- What is the Bayes error?
- What is the optimal decision rule under zero-one loss?
- What is the relationship between a linear threshold unit and similarity measures between vectors?
- What are augmented vectors?
- State the perceptron learning algorithm.
- What is the perceptron criterion function?
- How can a linear least square algorithm be used for classification?
- What is the pseudo-inverse and how is it used for linear least square problems?
- What is a linearly separable problem?
- Does a perceptron learning algorithm always find a lowest error solution for a linearly separable problem?
- Does a perceptron learning algorithm always find a lowest error solution for a problem that is not linearly separable?
- What is logistic regression?
- How are the parameters of logistic regression estimated with gradient descent?

## Lecture 6

- How are multilayer perceptrons defined?
- Are the perceptrons in multilayer perceptrons the same as in single layer perceptrons?
- What was the book “Perceptrons” by Minsky and Papert about?
- What is the criterion function usually used for training MLPs?
- What is the training algorithm usually used for training MLPs?
- Derive the MLP learning algorithm.
- Why is the MLP learning algorithm called “backpropagation”?
- What is stochastic gradient descent?
- What is the learning rate?
- What is the number of hidden units?
- How do you choose learning rates and the number of hidden units?
- What is a test set?
- What is a training curve?
- Why would test set error be larger than training set error?
- What is cross-validation?

## Lecture 7

- If you implement layers in an MLP library as classes, what are the three primary methods needed during training?
- Describe a design for a modular MLP library.
- Describe how deltas are passed around in an MLP library.
- Assuming you have multiple perceptron layers being trained using backpropagation. In what order should the forward, backward, and update methods be invoked on the three layers?
- How are classes encoded for training an MLP?
- How does an MLP have to be trained so that its outputs approximate posterior probabilities?
- Why is it important that the outputs of an MLP approximate posterior probabilities?
- Describe the training of a single layer convolutional neural network with one output.
- What is the relationship between “convolution” and a convolutional neural network?

## Lecture 8

- Describe the architecture of a multilayer convolutional neural network.
- What is unsupervised learning?
- What is the MNIST database?
- How do you center a dataset?
- What is the covariance matrix?
- What does the covariance matrix of a centered dataset mean? How do you visualize it?
- What is an eigenvector?
- If you sample from a Gaussian density, what do the eigenvectors of the covariance matrix represent?
- Explain what PCA accomplishes?
- If you project onto the eigenvectors corresponding to the first n largest eigenvalues, what are you doing?
- How can PCA be used to separate signal from noise?
- How is PCA used to preprocess data for pattern recognition?
- How does PCA speed up nearest neighbor classification?
- What kind of matrix is the covariance matrix?
- Describe a simple, iterative algorithm for finding the eigenvector corresponding to the largest eigenvalue of a covariance matrix.
- Describe a simple, iterative algorithm for finding the top n eigenvectors of a symmetric positive definite matrix.

## Lecture 9

- Describe and explain the k-means algorithm.
- Explain the mixture density estimation problem.
- Describe the EM algorithm for mixture density estimation.
- Explain “incremental” or “neural” analogs of the k-means algorithm.
- Describe how to use the k-means algorithm for improving MNIST classification.
- Describe and explain the Self-Organizing Map algorithm.

## Lecture 10

- What are simple cells, what are complex cells, where are they found? What is the difference?
- What is a feature hierarchy?
- What is the Neocognitron?
- Be able to answer questions about the paper “Gradient-Based Learning Applied to Document Recognition” by Y. LeCun, L. Bottou, Y. Bengio, P. Haffner
- Be able to answer questions about the paper “Learning Methods for Generic Object Recognition with Invariance to Poste and Lighting” by Yann LeCun et al.
- Describe how convolutional neural networks are used for handwriting recognition.
- Describe how convolutional neural networks are used for object recognition.
- Describe how convolutional neural networks are trained for object recognition.
- Be able to answer questions about the paper “Hierarchical models of object recognition in cortex” by Riesenhuber and Poggio
- Describe the HMAX model of visual object recognition.
- Describe experiments supporting analogies between the HMAX model and human visual object recognition.
- Be able to answer questions about the paper “Comparing State-of-the-Art Visual Features on Invariant Object Recognition” by Pinto et al.
- How did Pinto generate test cases for invariant object recognition?
- What should object recognition be invariant to?
- What does invariant object recognition mean?
- Broadly summarize the benchmark results from Pinto’s paper.

## Lecture 11

- Describe how 3D model-based reocgnition works.
- Explain the difficulties encountered in implementing 3D model-based recognition.
- Explain component-based 3D object recognition.
- What is a geon?
- What is view-based recognition?
- Summarize the paper “Psychophysical support for a two-dimensional view interpolation theory of object recognition.” and be able to answer questions about it.
- What is a “2AFC experiment”?
- What are the different predictions of 2D view interpolation and 3D model based recognition in visual object recognition experiments?
- Summarize the results of the paper “Recognizing Depth-Rotated Objects” and be able to answer questions about it.
- What is Biederman’s major criticism of Bülthoff’s approach and conclusions?
- Give examples of viewpoint dependent parts changes and explain how they are important in experiments trying to prove a geon-based object recognition theory.
- How did Biederman modify Bülthoff’s experiments by adding a distinctive geon? What results did he find?

## Lecture 14

- What is a time series?
- Give examples of time series?
- What is a stationary process?
- What is the trend of a time series? How might you find it?
- What is a random walk?
- What is the normal density?
- What is the Cauchy distribution? What unusual properties does it have?
- What is the autocorrelation function? What does it tell you?
- What is an autoregressive process?
- What is a moving average process?
- How do autoregressive and moving average processes relate to image/signal filtering?
- Give some common sequence classification tasks.
- Give some common language recognition tasks used for testing recurrent neural networks.
- What is a recurrent neural network?
- What is backpropagation through time?