---
title: "End-to-End Differentiable Physics for Learning and Control"
title_ru: "End-to-End дифференцируемый симулятор физики для обучения и управления (DiffPhy)"
authors: [de Avila Belbute-Peres, Smith, Allen, Schmitt, Kolter]
year: 2018
venue: "NeurIPS"
venue_tier: "A*"
doi: "1611.01652"
tags: [differentiable_physics, simulation, gradient_based, contact, rigid_body]
relevance_to_smartrep: 2
direction: "🅲"
---

# DiffPhy: End-to-end дифференцируемый физический симулятор

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

DiffPhy создаёт дифференцируемый симулятор физики твёрдых тел: градиент потерь можно распространять сквозь физические уравнения движения и контактные решатели, позволяя обучать модели, явно включающие физику в вычислительный граф. Решает контактные constraints через LCP (Linear Complementarity Problem) — дифференцируемый через теорему о неявных функциях. Концептуальная основа для differentiable biomechanical layers в SmartRep.

## Проблема

Физические симуляторы — недифференцируемые "чёрные ящики": нельзя backprop через симуляцию для обучения. Нужна возможность end-to-end обучения моделей, где физика явно в вычислительном графе.

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

- **Дифференцируемые ODE:** уравнения движения ($M\ddot{q} = \tau + J^T\lambda$) дифференцируемы по начальным условиям и параметрам.
- **Дифференцируемые contact constraints:** LCP решатель дифференцируем через KKT условия.
- **End-to-end обучение:** gradient flow через физику → оптимизация параметров управления.

## Метод

Уравнение движения:

$$M(q)\ddot{q} + C(q, \dot{q}) = \tau + J^T(q)\lambda$$

где $M$ — матрица инерции, $C$ — кориолисовы и центробежные силы, $\tau$ — управляющие моменты, $\lambda$ — силы реакции контакта.

Дифференцирование через LCP (contact):

$$\frac{\partial \lambda}{\partial q} = -(J M^{-1} J^T)^{-1} J M^{-1} \frac{\partial (J M^{-1} \tau)}{\partial q}$$

Градиент вычисляется аналитически, а не численно — точно и эффективно.

## Датасеты

| Задача | Метрика | Результат |
|---|---|---|
| Pendulum control | Trajectory error | Gradient-based optim works |
| Block pushing | Success rate | 82% vs 45% (no diff physics) |

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

Первый полноценный дифференцируемый rigid body симулятор с контактами. Открыл направление — позже: Drake, Warp, Brax, Nimble Physics.

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

- Упрощённая физика: нет деформаций, упрощённые фрикционные модели.
- Gradients через contact нестабильны при комплексных сценариях.
- Для человека нужно 53+ joints — вычислительно дорого.

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

- **Концептуальная основа 🅲:** DiffPhy доказывает что дифференцируемая физика в нейросетевом графе возможна. Для SmartRep: differentiable joint angle constraints ($\theta_i \in [\theta_i^{min}, \theta_i^{max}]$) как plug-in layer — прямое применение принципа.
- **Biomechanical constraints layer:** joint limits, bone length constraints в SMPL optimization — differentiable через аналогичный подход.
- **Gradient-based biomechanics:** обучение pose estimator с differentiable biomechanical regularizer (joint moments не превышают физиологически возможных).

## Gap для нас

DiffPhy для человека — слишком сложная физика. **Ниша SmartRep:** Biomechanical Constraint Layer (BCL) — тонкий differentiable layer (<100K параметров), применяемый поверх pose output: проецирует предсказанные углы суставов на биомеханически допустимое множество через learnable joint limits. Inference: один forward pass без итерационной оптимизации.

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

- Repo: github.com/locuslab/diffprog (производные репо)
- Актуальные форки: github.com/google/brax, nvidia/warp

## Цитата (BibTeX)

```bibtex
@inproceedings{belbute2018end,
  title={End-to-End Differentiable Physics for Learning and Control},
  author={de Avila Belbute-Peres, Filipe and Smith, Kevin and Allen, Kelsey and Schmitt, Josh and Kolter, J Zico},
  booktitle={Advances in Neural Information Processing Systems},
  year={2018}
}
```
