Глава 172: FedProx для Finance
Обзор
В прошлой главе мы изучили FedAvg — простейшую форму федеративного обучения. Хотя FedAvg хорошо работает на однородных данных, он может работать нестабильно или даже расходиться в гетерогенных средах.
FedProx (Li et al., 2018) разработан для децентрализованных сетей, где:
- Данные Non-IID: Разные торговые дески имеют радикально разные портфели и профили риска.
- Вычисления гетерогенны: Некоторые клиенты — это высокопроизводительные сервера, другие — маломощные устройства.
Преимущество Proximal-подхода
FedProx вводит Проксимальное слагаемое (Proximal Term) в локальную целевую функцию каждого клиента: $$min_w h_k(w; w_t) = F_k(w) + \frac{\mu}{2} |w - w_t|^2$$
Где:
- $F_k(w)$ — локальная функция потерь (например, MSE).
- $w_t$ — веса глобальной модели от сервера.
- $\mu$ — гиперпараметр, контролирующий “привязку” к глобальной модели.
Почему это важно для трейдинга
Стандартный FedAvg позволяет “зашумленным” клиентам или “выбросам” слишком сильно уводить глобальную модель в свою сторону. FedProx заставляет клиентов оставаться в разумной близости к глобальному консенсусу, предотвращая чрезмерную подстройку под индивидуальный рыночный шум.
Структура проекта
172_fedprox_finance/├── README.md # Обзор на английском├── README.ru.md # Обзор на русском├── docs/ru/theory.md # Математические основы├── python/│ ├── model.py # Общая нейронная сеть│ ├── fedprox_core.py # Реализация проксимального лосса│ └── train.py # Симуляция гетерогенной среды└── rust/src/ └── lib.rs # Оптимизированный расчет L2-дистанции