PiCoDes: Learning a Compact Code for Novel-Category Recognition