Representation learning for protein engineering