Domain Generalization via Gradient Surgery
  In real-life applications, machine learning models often face scenarios where
there is a change in data distribution between training and test domains. When
the aim is to make predictions on distributions different from those seen at
training, we incur in a domain generalization problem. Methods to address this
issue learn a model using data from multiple source domains, and then apply
this model to the unseen target domain. Our hypothesis is that when training
with multiple domains, conflicting gradients within each mini-batch contain
information specific to the individual domains which is irrelevant to the
others, including the test domain. If left untouched, such disagreement may
degrade generalization performance. In this work, we characterize the
conflicting gradients emerging in domain shift scenarios and devise novel
gradient agreement strategies based on gradient surgery to alleviate their
effect. We validate our approach in image classification tasks with three
multi-domain datasets, showing the value of the proposed agreement strategy in
enhancing the generalization capability of deep learning models in domain shift
scenarios.
