Feed-Forward neural computation of a maximum

To implement HMAX (and many other algorithms), we need to compute the maximum across a set of inputs. For example, in the HMAX connections between S1 and C1, we need to take the output of 32 identically oriented gabor filters at different locations and scales (S1 cells) to generate a spatial-invariant and scale-invariant representation of that oriented gabor at the C1 level.

In computer vision applications, this maximum is simply computed. However, it is unclear how real neurons can perform this operation. Many suggestions exist, including using shunting inhibition and winner-take-all recurrent circuits to allow the system to stabilize at a particular maximum.

In this project, we present an alternate approach that is purely feedforward and uses standard LIF neurons. This is meant to demonstrate that the maximum can be computed without postulating extra neural complexity.

The basic idea is to use the NEF to solve for the set of linear connection weights that will approximate the maximum function. To do this, we consider a set of 2250 highly heterogeneous S1 neurons, each one with a gabor-shaped receptive field at a random location and orientation (tiling a 30x30 input space). As is realistic, these neurons have widely varying gains and background firing rates. Given this input, we can consider a single C1 cell that should be tuned to respond to a gabor at any location across the upper-left corner of the input space. Traditionally, this would be done by directly connecting it to the S1 cells with that same gabor. Instead, here we allow it to connect to all of the S1 neurons, and use the NEF to solve for the set of connection weights that would best approximate the max computation from those few particular inputs.

To solve for these connection weights, we sampled over 50 natural images.


The images below show that the max operation can be computed in a purely feed-forward manner. The C1 cell responds strongly when the input is an oriented gabor in the upper left portion of the input space, and does not respond elsewhere.

response for input in top-left (inside C1 receptive field)

response for input in top-middle (inside C1 receptive field)

response for input in top-middle (outside C1 receptive field)