---
title: "Do We Really Need to Access the Source Data? Source Hypothesis Transfer for Unsupervised Domain Adaptation"
title_ru: "Действительно ли нам нужен доступ к исходным данным? Перенос гипотезы источника для UDA (SHOT)"
authors: [Liang, Hu, Feng]
year: 2020
venue: "ICML"
venue_tier: "A*"
doi: "2002.08546"
tags: [domain_adaptation, source_free, information_maximization, test_time_adaptation]
relevance_to_smartrep: 2
direction: "🅱"
---

# SHOT: Перенос гипотезы источника без доступа к исходным данным

## TL;DR (≤3 предложения)

SHOT решает задачу unsupervised domain adaptation без доступа к исходным данным: замораживает классификатор (hypothesis), адаптирует feature extractor целевого домена через информационную максимизацию (энтропийная минимизация + диверсификация). Ключевое отличие от Tent: адаптируются не только BN-параметры, а весь feature extractor; адаптация offline (по всему target dataset), не online. Для SmartRep: адаптация к новому пользователю/спортзалу как offline fine-tune перед деплоем.

## Проблема

Классическая UDA требует исходных данных при адаптации (privacy concern, размер). В production сценарии (мобильное приложение) исходные training данные могут быть недоступны на устройстве. Нужен метод, адаптирующий только к target domain данным без source.

## Гипотеза / вклад

- **Frozen classifier:** веса последнего FC-слоя заморожены — hypothesis о том, как классы разделены, сохраняется.
- **Information Maximization (IM):** минимизируем энтропию предсказаний (уверенность) + максимизируем диверсность предсказаний по всему target dataset (чтобы не схлопнуться в один класс).
- **Pseudo-label refinement:** после нескольких итераций IM — clustering-based pseudo labels для уточнённого fine-tune.

## Метод

Loss = Information Maximization:

$$\mathcal{L}_{IM} = \underbrace{-\mathbb{E}_{\mathbf{x}} H(p(y|\mathbf{x}))}_{\text{уверенность}} + \underbrace{H\left(\mathbb{E}_{\mathbf{x}} p(y|\mathbf{x})\right)}_{\text{диверсность}}$$

Первый член: минимизация индивидуальной энтропии (уверенность). Второй член: максимизация энтропии marginal distribution (диверсность, предотвращает collapse).

Итерация: IM-обучение → pseudo-labels через K-means → уточнение с pseudo-labels → повторить.

Замороженный классификатор $W_c$ — "hypothesis transfer". Обучаемый feature extractor $f_\theta$.

### Архитектура (Mermaid)

```
Target data x_t → Feature extractor f_θ (trainable) → features
                → Frozen classifier W_c              → predictions p(y|x)
                                                            ↓
                L_IM = -E[H(p)] + H(E[p]) → update f_θ only
                                                            ↓
                K-means pseudo-labels → refined training
```

## Датасеты

| Датасет | Задача | Метрика | Результат |
|---|---|---|---|
| Office-31 | Domain adaptation | Accuracy | 94.0% (avg) |
| VisDA-C | Domain adaptation | Accuracy | 87.1% |
| Office-Home | Domain adaptation | Accuracy | 71.8% |

## Сравнение с SOTA

SOTA для source-free DA на момент публикации, превзошёл методы с доступом к source data на ряде задач. Остаётся сильным baseline.

## Ограничения / слабости

- Офлайн-адаптация: требует пройти по всему target dataset перед началом работы.
- K-means clustering может быть нестабильным при высокой внутриклассовой вариативности.
- Замороженный классификатор ограничивает адаптируемость: если классовые прототипы сильно сдвинулись, заморозка вредит.
- Для задачи AQA (regression, не classification) нужна адаптация формулировки.

## Релевантность SmartRep

- **Privacy-compliant adaptation 🅱:** в mobile fitness app нельзя отправлять видео пользователя на сервер. SHOT-стратегия: адаптация feature extractor на устройстве по данным пользователя без исходного датасета — соответствует требованиям GDPR / конфиденциальности.
- **Personalization protocol:** offline адаптация к конкретному пользователю перед первой тренировкой (5–10 калибровочных повторов → SHOT fine-tune feature extractor).
- **IM loss как SSL pretext:** информационная максимизация как unsupervised loss для адаптации pose encoder к условиям нового спортзала.

## Gap для нас

SHOT предназначен для classification. **Ниша SmartRep:** SHOT-AQA — source-free адаптация regression head для оценки техники: вместо энтропии классификации — reconstruction error как diversity/confidence signal. Также не исследована адаптация к биометрическому домену (рост, пропорции) в отличие от visual domain shift.

## Ссылки на связанные статьи

- [[Tent]] — более лёгкий online TTA
- [[EATA]] — следующий шаг, добавляет fisher regularization
- [[MEMO]] — single-sample TTA через augmentation

## Код / данные

- Repo: github.com/tim-learn/SHOT
- Pretrained: нет

## Цитата (BibTeX)

```bibtex
@inproceedings{liang2020shot,
  title={Do We Really Need to Access the Source Data? Source Hypothesis Transfer for Unsupervised Domain Adaptation},
  author={Liang, Jian and Hu, Dapeng and Feng, Jiashi},
  booktitle={International Conference on Machine Learning},
  year={2020}
}
```
