  Many question answering (QA) tasks only provide weak supervision for how the
answer should be computed. For example, TriviaQA answers are entities that can
be mentioned multiple times in supporting documents, while DROP answers can be
computed by deriving many different equations from numbers in the reference
text. In this paper, we show it is possible to convert such tasks into discrete
latent variable learning problems with a precomputed, task-specific set of
possible "solutions" (e.g. different mentions or equations) that contains one
correct option. We then develop a hard EM learning scheme that computes
gradients relative to the most likely solution at each update. Despite its
simplicity, we show that this approach significantly outperforms previous
methods on six QA tasks, including absolute gains of 2--10%, and achieves the
state-of-the-art on five of them. Using hard updates instead of maximizing
marginal likelihood is key to these results as it encourages the model to find
the one correct answer, which we show through detailed qualitative analysis.
