Глава 158: BYOL Trading (Bootstrap Your Own Latent)
Обзор
Self-supervised обучение на финансовых данных обычно требует сопоставления “положительного” примера со множеством “отрицательных” (SimCLR) или использования большой очереди памяти (MoCo). BYOL (Bootstrap Your Own Latent) в корне меняет этот подход: он учится представлять данные вообще без использования отрицательных примеров.
В этой главе мы адаптируем BYOL для 1D ценовых паттернов акций. Модель обучается за счет того, что одна нейронная сеть (Online Network) прогнозирует выход другой, медленно обновляемой нейронной сети (Target Network), для другой аугментированной версии того же ценового окна.
Ключевые механизмы
- Две сети:
- Online Network (Основная сеть): Должна быть быстрой и быстро обучаться. Состоит из Энкодера (Encoder), Проектора (Projector) и уникального Предиктора (Predictor).
- Target Network (Целевая сеть): Более медленная и стабильная сеть. Состоит только из Энкодера и Проектора. Ее веса представляют собой экспоненциальное скользящее среднее (EMA) весов Online Network.
- Асимметрия: Важнейшая часть, которая предотвращает “модальный коллапс” (когда сеть просто выдает константные нули для всего), — это Predictor в основной сети, в сочетании с операцией Stop-Gradient (остановка градиента) в целевой сети.
- Цель: Для двух аугментированных видов графика акции ($v$ и $v’$), Основная сеть использует $v$, чтобы предсказать представление Целевой сети для $v’$.
Почему BYOL подходит для Трейдинга?
- Не требуются негативные примеры: Финансовые рынки коварны; иногда “случайный” другой график может на самом деле представлять то же самое макроэкономическое состояние. BYOL не волнуют негативные примеры, устраняя риск случайных “ложно-отрицательных” пар.
- Эффективность размера батча: Поскольку BYOL не полагается на отрицательные пары внутри батча, его можно эффективно обучать со значительно меньшими размерами батча по сравнению с SimCLR.
- Робастность: Опора на предсказание целевой функции скользящего среднего делает выученные признаки высокоустойчивыми к экстремальному шуму, часто встречающемуся в тиковых данных или на минутных графиках.
Содержание
python/model.py: Реализация асимметричных Online и Target сетей.python/train.py: Цикл обучения BYOL с операциями Stop-Gradient и обновлением EMA.python/evaluate.py: Проверка того, что “коллапс” представлений не произошел.rust/src/: Извлечение признаков с использованием стабильного Target Энкодера.
Ссылки
- Grill, J. B., et al. (2020). Bootstrap Your Own Latent: A New Approach to Self-Supervised Learning. arXiv:2006.07733.
- Extensions to Time Series: TSBYOL paradigms for financial anomaly detection.