Design for Inference: How to Learn the Convolutions of Life