My work currently spans a number of areas. These are mostly within the fields of machine learning, bayesian statistics, computer vision, computational biology and computational linguistics. I am particularly inspired by work at the interface of computer science and neuroscience. I believe that concepts from machine learning and information theory are vital if we wish to develop a solid discipline of theoretical neurobiology. Concurrently, insights from biology can help us design better artificial intelligence systems. At present one of my main projects involves developing models and algorithms to perform learning and inference in probabilistic hierarchical representations. Such models hold great promise for practical applications such as machine vision and image processing, as well as providing a basis for understanding neural coding.