Self-Supervised Disentanglement by Leveraging Structure in Data Augmentations

Cian Eastwood, Julius von Kügelgen, Linus Ericsson, Diane Bouchacourt, Pascal Vincent +2 more
11/15/2023
cs.LGcs.AIcs.CV

No official code found. Best implementation: cianeastwood/ssl_disentangled (6 stars, last commit 2024-06-07).

Abstract

Self-supervised representation learning often uses data augmentations to induce some invariance to "style" attributes of the data. However, with downstream tasks generally unknown at training time, it is difficult to deduce a priori which attributes of the data are indeed "style" and can be safely discarded. To deal with this, current approaches try to retain some style information by tuning the degree of invariance to some particular task, such as ImageNet object classification. However, prior work has shown that such task-specific tuning can lead to significant performance degradation on other tasks that rely on the discarded style. To address this, we introduce a more principled approach that seeks to disentangle style features rather than discard them. The key idea is to add multiple style embedding spaces where: (i) each is invariant to all-but-one augmentation; and (ii) joint entropy is maximized. We formalize our structured data-augmentation procedure from a causal latent-variable-model perspective, and prove identifiability of both content and individual style variables. We empirically demonstrate the benefits of our approach on both synthetic and real-world data.

View on arXivView PDF

Code Implementations(1)

Self-supervised disentanglement by leveraging structure in data augmentations

60PythonJun 7, 20242 years ago

Similar Papers

Cite this paper

@article{eastwood2023selfsupervised,
  title  = {Self-Supervised Disentanglement by Leveraging Structure in Data Augmentations},
  author = {Cian Eastwood and Julius von Kügelgen and Linus Ericsson and Diane Bouchacourt and Pascal Vincent and Bernhard Schölkopf and Mark Ibrahim},
  year   = {2023},
  eprint = {2311.08815},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2311.08815v2}
}

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/2311.08815.svg)](https://codeofpaper.com/paper/2311.08815)

Discussion