Efficient representation as a design principle for neural coding and computation | Synapse