OOD-Chameleon: Is Algorithm Selection for OOD Generalization Learnable?

Liangze Jiang, Damien Teney
10/3/2024
cs.LG

No official code found. Best implementation: LiangzeJiang/OOD-Chameleon (6 stars, last commit 2025-06-06).

Abstract

Out-of-distribution (OOD) generalization is challenging because distribution shifts come in many forms. Numerous algorithms exist to address specific settings, but choosing the right training algorithm for the right dataset without trial and error is difficult. Indeed, real-world applications often involve multiple types and combinations of shifts that are hard to analyze theoretically. Method. This work explores the possibility of learning the selection of a training algorithm for OOD generalization. We propose a proof of concept (OOD-Chameleon) that formulates the selection as a multi-label classification over candidate algorithms, trained on a dataset of datasets representing a variety of shifts. We evaluate the ability of OOD-Chameleon to rank algorithms on unseen shifts and datasets based only on dataset characteristics, i.e., without training models first, unlike traditional model selection. Findings. Extensive experiments show that the learned selector identifies high-performing algorithms across synthetic, vision, and language tasks. Further inspection shows that it learns non-trivial decision rules, which provide new insights into the applicability of existing algorithms. Overall, this new approach opens the possibility of better exploiting and understanding the plethora of existing algorithms for OOD generalization.

View on arXivView PDF

Code Implementations(1)

[ICML 2025] OOD-Chameleon: Is Algorithm Selection for OOD Generalization Learnable?

60Shell, PythonMay 30, 20251 years ago
adaptive-algorithm-selectiondistribution-shiftsmeta-learningood-generalization

Similar Papers

Cite this paper

@article{jiang2024oodchameleon,
  title  = {OOD-Chameleon: Is Algorithm Selection for OOD Generalization Learnable?},
  author = {Liangze Jiang and Damien Teney},
  year   = {2024},
  eprint = {2410.02735},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2410.02735v2},
  journal = {ICML 2024 2024}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2410.02735.svg)](https://codeofpaper.com/paper/2410.02735)

Discussion