---
title: "Tent: Fully Test-Time Adaptation by Entropy Minimization"
title_ru: "Tent: Полная адаптация во время теста через минимизацию энтропии"
authors: [Wang, Shelhamer, Liu, Olshausen, Darrell]
year: 2021
venue: "ICLR"
venue_tier: "A*"
doi: "2006.10726"
tags: [test_time_adaptation, tta, entropy_minimization, batch_normalization, domain_adaptation]
relevance_to_smartrep: 3
direction: "🅱"
---

# Tent: Адаптация во время теста через минимизацию энтропии

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

Tent адаптирует модель к тестовому домену прямо во время инференса, оптимизируя только аффинные параметры Batch Normalization (γ, β) для минимизации энтропии предсказаний на тестовых примерах. Не требует исходных данных, меток и повторного обучения — только forward + backward pass по BN-параметрам. Для SmartRep: механизм адаптации к новому пользователю или новому спортзалу (другое освещение, угол камеры) без retraining.

## Проблема

Модели, обученные в одном домене, деградируют при distribution shift на test time. Классическая domain adaptation требует исходных данных или разметки целевого домена. Нужен метод, адаптирующий модель "на лету" только из тестовых примеров без разметки.

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

- **Entropy как unsupervised loss:** низкоэнтропийные предсказания = уверенные предсказания = хорошая адаптация. Минимизируем $H(p(y|x))$ на тестовых примерах.
- **BN-only optimization:** обновляем только γ и β слоёв BatchNorm (<<1% параметров), замораживая веса — быстро, стабильно.
- **Online adaptation:** адаптация происходит поблочно (per batch), накапливается от батча к батчу.

## Метод

Энтропийный loss на тестовом батче $\mathcal{B}$:

$$\mathcal{L}_{tent} = H(p(y | \mathbf{x})) = -\sum_c p_c \log p_c$$

Оптимизируются только $\{\gamma_l, \beta_l\}$ всех BN-слоёв:

$$\{\hat{\gamma}, \hat{\beta}\} = \arg\min_{\gamma, \beta} \mathbb{E}_{\mathbf{x} \in \mathcal{B}} H(f_{\gamma, \beta}(\mathbf{x}))$$

Веса $W$ заморожены. BN statistics (mean, var) пересчитываются на тестовом батче (как в TTN/AdaBN).

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

```
Test batch x → Frozen weights W → BN(x; γ, β) → predictions p(y|x)
                                       ↑
              Entropy loss H(p) → backward → update (γ, β) only
```

## Датасеты

| Датасет | Задача | Метрика | Результат |
|---|---|---|---|
| CIFAR-10-C | Corruption robustness | Error rate | 24.2% (vs 43.5% without TTA) |
| ImageNet-C | Corruption robustness | Error rate | 56.0% (vs 72.0% without TTA) |

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

На момент публикации лучший TTA метод при минимальной стоимости адаптации. Последующие методы (EATA, CoTTA) улучшили на специфических сценариях, но Tent остаётся базовым baseline'ом.

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

- Требует BN-слоёв — не применим к LayerNorm-архитектурам (ViT).
- При малом размере батча энтропия нестабильна — нужен batch ≥ 32 для устойчивости.
- Catastrophic forgetting при continual TTA: после многих адаптаций модель деградирует.
- Не гарантирует улучшения при сильном distribution shift (может усугубить).

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

- **Адаптация к условиям спортзала 🅱:** разные угол камеры, освещение, одежда пользователя — это distribution shift в пространстве поз. Tent на BN-слоях pose estimator или backbone AQA-head адаптируется к условиям конкретного зала за несколько батчей.
- **Адаптация к новому пользователю:** антропометрия пользователя — ещё один источник shift. BN statistics захватывают масштаб и смещение активаций — адаптируются к новым пропорциям.
- **Edge-совместимость:** обновление только BN-параметров — минимальный overhead на устройстве, реализуемо в TFLite / ONNX RT с кастомным BN.

## Gap для нас

Tent работает с BN, а современные лёгкие ViT-архитектуры (ViTPose, EfficientFormer) используют LayerNorm. **Ниша SmartRep:** адаптация аффинных параметров LayerNorm через тот же энтропийный принцип — простое расширение Tent для transformer-based pose estimators на edge (не было систематически исследовано для pose/motion задач).

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

- [[EATA]] — улучшает Tent: fisher regularization против forgetting
- [[SHOT]] — source-free domain adaptation (offline, глубже)
- [[CoTTA]] — continual TTA: решает проблему forgetting

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

- Repo: github.com/DequanWang/tent
- Pretrained: нет

## Цитата (BibTeX)

```bibtex
@inproceedings{wang2021tent,
  title={Tent: Fully Test-Time Adaptation by Entropy Minimization},
  author={Wang, Dequan and Shelhamer, Evan and Liu, Shaoteng and Olshausen, Bruno and Darrell, Trevor},
  booktitle={International Conference on Learning Representations},
  year={2021}
}
```
