A generative framework for creative learning