Learning in complexity