Thursday, December 14, 2006

Testing a New Context Representation on Visual Images

This semester I've been working hard to design a totally new type of "context representation." The purpose of this system is to represent sensory information in a form that is compact, retains as much information as possible, and is useful for behavior. What I have so far is a hierarchical inference system that can do nonlinear dimensionality reduction on the input data while maintaining topographic relationships at each level.

These two pictures show a single layer during and after training on a set of images of contrasting edges. Notice the smooth topographic representation.

The next one shows the result of training on a set of line images.

The next picture shows a single layer in training above two other images below. The bottom left is the actual input image, and the bottom right is a reconstruction of the input image (i.e. after compression and decompression). "Reconstruction" here is performed with a generative model. Note that the compression level here is easily adjustable, which gives a clear speed/accuracy trade off.

The final picture shows a hierarchical setup. Again, the bottom images show the actual input (left) and reconstruction (right). In the middle is a layer of four processing elements with limited receptive fields (each looks at one fourth of the input image). On top is a layer connected to the layer below; its receptive field covers the entire input image. Again, notice the smooth topographic representation in the middle layer, even between the four processing elements.

I'm still in the middle of running lots of experiments to verify that everything is working properly. I really want to make sure I'm getting correct results (the reconstructed images should match the inputs well) with efficient runtime performance (which should be good with a hierarchical architecture). I wouldn't feel too bad spending another semester testing this thing since it's one of the most critical components of an intelligent system. Lots of other components are context-dependent, meaning that a good context representation will enable other parts to do their jobs better.

No comments: