Multiple Choice Learning: Learning to Produce Multiple Structured Outputs