We lifted 4 functions out of this paper's own repositories and ran 3 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.
| Repository | Role | Ran |
|---|---|---|
| ymy4323460/casn | canonical | 3 of 4 |
| Function | Status | Where it lives |
|---|---|---|
| Classifier | Ran | ymy4323460/casn/domainbed/networks.py pointer only (licence: NONE) · get_code("ce7990d7ad5821ff") |
| get_test_records | Ran | ymy4323460/casn/domainbed/model_selection.py pointer only (licence: NONE) · get_code("53fac8d8d949e72b") |
| remove_batch_norm_from_resnet | Ran | ymy4323460/casn/domainbed/networks.py pointer only (licence: NONE) · get_code("196cab71d7129d62") |
| get_algorithm_class | Not yet run | ymy4323460/casn/domainbed/algorithms.py pointer only (licence: NONE) · get_code("b0bc80b1655a6802") |
Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.
Out-of-distribution (OOD) generalization is indispensable for learning models in the wild, where testing distribution typically unknown and different from the training. Recent methods derived from causality have shown great potential in achieving OOD generalization. However, existing methods mainly focus on the invariance property of causes, while largely overlooking the property of \textit{sufficiency} and \textit{necessity} conditions. Namely, a necessary but insufficient cause (feature) is invariant to distribution shift, yet it may not have required accuracy. By contrast, a sufficient yet unnecessary cause (feature) tends to fit specific data well but may have a risk of adapting to a new domain. To capture the information of sufficient and necessary causes, we employ a classical concept, the probability of sufficiency and necessary causes (PNS), which indicates the probability of whether one is the necessary and sufficient cause. To associate PNS with OOD generalization, we propose PNS risk and formulate an algorithm to learn representation with a high PNS value. We theoretically analyze and prove the generalizability of the PNS risk. Experiments on both synthetic and real-world benchmarks demonstrate the effectiveness of the proposed method. The details of the implementation can be found at the GitHub repository: https://github.com/ymy4323460/CaSN.
The same record, over MCP at https://syntology.ai/mcp:
get_harvested_code_for_paper("2309.12559")
get_code_for_paper("2309.12559")
have("2309.12559")
Connect an agent — have() is free.