A Survey of Learning on Small Data: Generalization, Optimization, and Challenge