Глава 169: Обучение с учителем на основе контрастных потерь для трейдинга
Обзор
Обучение с учителем на основе контрастных потерь (Supervised Contrastive Learning, SupCon) расширяет парадигму самообучающегося контрастного обучения, используя информацию о классовых метках в процессе обучения представлений. Вместо того чтобы рассматривать каждый образец как свой собственный класс, SupCon сближает эмбеддинги образцов одного класса и отталкивает эмбеддинги образцов разных классов в пространстве представлений. Это позволяет получать более богатые и дискриминативные представления, значительно улучшающие решение задач классификации.
В анализе финансовых временных рядов SupCon решает ключевую задачу: обучение компактных, структурированных по классам представлений рыночных состояний из зашумлённых, нестационарных данных. Традиционные классификаторы, применяемые напрямую к сырым признакам OHLCV или ручным индикаторам, часто не обобщаются на разные рыночные режимы. Кодировщики, обученные с помощью SupCon, формируют пространство эмбеддингов, в котором окна бычьего рынка кластеризуются вместе, окна медвежьего рынка — отдельно, а боковые периоды занимают особую область, что позволяет строить надёжные классификаторы режимов и качественные торговые сигналы даже при ограниченном объёме размеченных данных.
Метод особенно эффективен для финансовых приложений, поскольку естественно справляется с дисбалансом классов (медвежьи рынки встречаются реже бычьих), выигрывает от стратегий аугментации данных, адаптированных к временным рядам, и создаёт эмбеддинги, переносимые между активами — позволяя выполнять межактивное обучение схожести и быстро адаптироваться к новым торговым инструментам.
Содержание
- Введение в обучение с учителем на основе контрастных потерь
- Математическое основание
- SupCon vs традиционные подходы к классификации
- Применение в трейдинге
- Реализация на Python
- Реализация на Rust
- Практические примеры с данными акций и криптовалют
- Фреймворк для бэктестинга
- Оценка производительности
- Направления развития
Введение в обучение с учителем на основе контрастных потерь
Проблема: обучение представлений для финансовых временных рядов
Классификация финансовых временных рядов — присвоение меток рыночных режимов, генерация сигналов buy/sell/hold или обнаружение аномальных ценовых паттернов — является крайне сложной задачей. Сырые признаки, извлечённые из данных OHLCV, высокоразмерны, зашумлены и нестационарны. Модели, обученные со стандартной потерей на основе перекрёстной энтропии, зачастую улавливают поверхностные паттерны, не обобщающиеся на разные рыночные периоды или классы активов.
Традиционный пайплайн классификации:
Сырые признаки → Полносвязные слои → Softmax → Вероятности классовПотеря на перекрёстной энтропии оптимизирует только конечную границу классификации; она не обеспечивает структурированности выученных представлений в пространстве признаков.
Парадигма контрастного обучения
Контрастное обучение решает эту задачу, непосредственно оптимизируя геометрию пространства эмбеддингов. Основная идея: похожие образцы (одного класса, режима, типа паттерна) должны быть близки в пространстве эмбеддингов; непохожие образцы — далеко друг от друга.
Самообучающееся контрастное обучение (SimCLR):
Каждый образец — свой собственный класс → аугментированные виды притягиваются, все остальные образцы отталкиваютсяКонтрастное обучение с учителем (SupCon):
Образцы с одинаковой меткой → притягиваются как группаОбразцы с разными метками → отталкиваютсяЭто позволяет SupCon использовать метки классов, доступные в финансовых датасетах (например, вручную размеченные периоды режимов, ретроспективные метки на основе доходностей), для формирования гораздо более структурированных эмбеддингов.
Почему SupCon работает лучше для трейдинга
| Аспект | Обучение на перекрёстной энтропии | Самообучающееся контрастное | Контрастное с учителем |
|---|---|---|---|
| Использование меток | Напрямую | Нет (или псевдо-метки) | Полная разметка |
| Структура эмбеддингов | Неконтролируемая | Кластеры уровня образца | Кластеры уровня класса |
| Обобщение | Среднее | Хорошее (устойчивые признаки) | Лучшее (дискриминативные + устойчивые) |
| Few-shot перенос | Слабый | Хороший | Отличный |
| Дисбаланс классов | Склонно к смещению | Нейтрально | Обрабатывает через множественные позитивные пары |
Математическое основание
Потеря SupCon
Для мини-батча из N образцов, каждый с эмбеддингом и меткой класса, функция потерь SupCon выглядит следующим образом:
L_supcon = Σᵢ [ (-1 / |P(i)|) * Σ_{p ∈ P(i)} log( exp(zᵢ·zₚ/τ) / Σ_{a ∈ A(i)} exp(zᵢ·zₐ/τ) ) ]Где:
zᵢ = g(f(xᵢ))— нормализованная проекция образца if(·)— кодировщик (например, LSTM, Transformer)g(·)— проекционная голова (MLP, отбрасывается при инференсе)P(i)— множество позитивных образцов (того же класса, что и i, кроме самого i)A(i)— все образцы батча, кроме iτ— гиперпараметр температуры, управляющий концентрацией распределения
Архитектура кодировщика для временных рядов
Для финансовых временных рядов кодировщик f(·) обрабатывает окно из T временных шагов с D признаками:
Вход: x ∈ R^(T × D) → Кодировщик f(·) → Эмбеддинг h ∈ R^d → Проекция g(·) → z ∈ R^kРаспространённые архитектуры кодировщиков:
- LSTM/GRU: Захватывает последовательные зависимости; хорошо работает для обнаружения трендов
- Temporal CNN: Быстрый, параллелизуемый; захватывает локальные паттерны
- Transformer: Захватывает долгосрочные зависимости; лучший выбор для многомасштабных режимов
Построение меток из доходностей
Когда явные метки режимов недоступны, их можно получить из реализованных доходностей:
y_t = +1 если R_{t, t+H} > θ_up (бычий)y_t = 0 если |R_{t, t+H}| ≤ θ_up (боковой)y_t = -1 если R_{t, t+H} < -θ_down (медвежий)Где R_{t, t+H} — кумулятивная доходность за горизонт H, а θ — квантильные пороги.
Аугментация данных для финансовых окон
SupCon требует аугментированных видов для генерации позитивных пар внутри одного класса. Для финансовых временных рядов:
Аугментация A(x): - Шум: добавление гауссового шума N(0, σ²) к ценам/доходностям - Масштабирование: умножение на случайный коэффициент из [0.9, 1.1] - Деформация по времени: локальное растяжение/сжатие временной оси - Срез окна: выборка подокна исходного окна - Деформация амплитуды: применение плавной случайной кривой к амплитудеДвухэтапное обучение
Обучение SupCon проходит в два этапа:
Этап 1: Обучение кодировщика f и проекционной головы g с использованием L_supconЭтап 2: Заморозка f, обучение лёгкого линейного классификатора поверх f(x)Линейный зонд на втором этапе достигает высокой производительности именно потому, что кодировщик выучил хорошо структурированные эмбеддинги.
SupCon vs традиционные подходы к классификации
Базовый подход на перекрёстной энтропии
Стандартная классификация режимов с перекрёстной энтропией:
# Модель: LSTM → Linear → Softmax# Потеря: CrossEntropyLoss(predictions, labels)# Пространство эмбеддингов: нерегуляризованное, может коллапсировать или быть плохо структурированнымИзвестные ограничения перекрёстной энтропии для рыночных режимов
- Чувствительность к шуму меток: Финансовые метки, полученные из доходностей, зашумлены; перекрёстная энтропия переобучается к шуму
- Коллапс представлений: Без явной регуляризации эмбеддингов представления могут вырождаться
- Отсутствие переноса обучения: Представления, выученные на одном активе, редко хорошо переносятся на другие
- Дисбаланс классов: Стандартная перекрёстная энтропия создаёт смещённые классификаторы при дисбалансе бычьих/медвежьих/боковых режимов
Преимущества SupCon
- Устойчивость к шуму: Усреднение по множественным позитивным парам сглаживает шум меток
- Структурированные эмбеддинги: Заданная геометрия обеспечивает перенос и few-shot обучение
- Обработка дисбаланса: Каждый размеченный образец участвует в позитивных и негативных парах независимо от размера класса
- Модульность: Кодировщик можно повторно использовать для нескольких задач (режим, сигнал, аномалия)
Когда использовать SupCon vs альтернативы
| Сценарий | Рекомендуемый метод |
|---|---|
| Мало размеченных данных, много неразмеченных окон | Самообучение + линейный зонд |
| Достаточно размеченных данных, один актив | LSTM с настройкой перекрёстной энтропией |
| Необходим межактивный перенос | SupCon (повторное использование кодировщика) |
| Экстремальный дисбаланс классов | SupCon с фокусной контрастной потерей |
| Требуется вывод в реальном времени | SupCon + малый кодировщик (CNN/GRU) |
Применение в трейдинге
1. Классификация рыночных режимов
SupCon обеспечивает надёжную трёхклассовую классификацию рыночных режимов (бычий/медвежий/боковой):
# Кодирование 30-дневных скользящих окон → пространство эмбеддингов SupCon# Бычий режим: кластер высокого положительного импульса# Медвежий режим: кластер высокого отрицательного импульса# Боковой: кластер низкой волатильности с возвратом к среднему
# Торговое правило: переключение стратегии в зависимости от обнаруженного режима# Бычий → следование тренду (моментум)# Медвежий → инверсный ETF или шорт# Боковой → возврат к среднему / парный трейдинг2. Генерация торговых сигналов с улучшенными представлениями
Вместо прямого предсказания доходностей SupCon обучает эмбеддинги, на основе которых тренируется классификатор сигналов:
- Шаг 1: Предобучение кодировщика на большой неразмеченной истории с помощью SupCon и ретроспективных меток
- Шаг 2: Дообучение линейного классификатора для предсказания знака доходности следующего дня
- Шаг 3: Генерация сигналов buy/sell/hold на основе выходных данных классификатора
- Результат: Более стабильные сигналы благодаря регуляризованному пространству эмбеддингов
3. Обнаружение аномалий в ценовых паттернах
Обнаружение аномалий использует кластерную структуру пространства эмбеддингов SupCon:
- Вычисление расстояния от эмбеддинга нового окна до ближайшего центроида класса
- Окна, далёкие от всех центроидов классов, помечаются как аномалии
- Аномалии могут сигнализировать: о флэш-крашах, манипуляциях, ошибках данных или входе в новый режим
# Оценка аномальности: минимальное расстояние до центроидов классов# Порог: 95-й процентиль расстояний обучающего набора# Оповещение: "обнаружено необычное рыночное условие"4. Обучение межактивного сходства
Поскольку SupCon обучает кодировщики режимов, не зависящие от конкретного актива, эмбеддинги можно сравнивать между активами:
- Определение активов, находящихся в похожих режимах в данный момент
- Построение парных сделок на основе расстояния в пространстве эмбеддингов
- Обнаружение заражения: когда ранее некоррелированные активы внезапно обретают схожие эмбеддинги
5. Few-Shot адаптация к новым активам
Когда новый токен появляется на Bybit, исторических данных мало. Структурированные эмбеддинги SupCon позволяют:
- Переносить кодировщик, обученный на устоявшихся активах (BTC, ETH, SOL)
- Дообучать линейную голову всего на 50-100 размеченных окнах нового актива
- Сразу после листинга получать разумную классификацию режимов
Реализация на Python
Основной модуль
Реализация на Python предоставляет:
- SupConLoss: Функция контрастных потерь с учителем с масштабированием температуры
- TimeSeriesEncoder: LSTM/Transformer кодировщик для финансовых окон
- RegimeClassifier: Двухэтапное обучение SupCon и классификация для последующих задач
- BybitDataLoader: Получение данных и разметка окон через Bybit API
Базовое использование
import torchimport torch.nn as nnimport yfinance as yffrom supcon_trading import SupConLoss, TimeSeriesEncoder, RegimeClassifier
# Загрузка и подготовка данныхdata = yf.download(["BTC-USD", "ETH-USD", "SOL-USD"], period="2y")returns = data["Close"].pct_change().dropna()
# Создание оконного датасета с метками режимовfrom supcon_trading.data import create_regime_dataset
dataset = create_regime_dataset( returns=returns["BTC-USD"].values, window_size=30, horizon=10, bull_threshold=0.05, bear_threshold=-0.05, augmentation=True,)
# Этап 1: Обучение кодировщика с потерей SupConencoder = TimeSeriesEncoder( input_dim=5, # OHLCV признаки hidden_dim=128, output_dim=64, encoder_type="lstm", num_layers=2,)projection_head = nn.Sequential( nn.Linear(64, 64), nn.ReLU(), nn.Linear(64, 32))supcon_loss = SupConLoss(temperature=0.07)
optimizer = torch.optim.Adam( list(encoder.parameters()) + list(projection_head.parameters()), lr=1e-3,)for epoch in range(100): for windows, labels in dataset.train_loader(): embeddings = encoder(windows) projections = projection_head(embeddings) loss = supcon_loss(projections, labels) optimizer.zero_grad() loss.backward() optimizer.step()
print(f"Кодировщик обучен. Финальная потеря: {loss.item():.4f}")
# Этап 2: Обучение линейного классификатора на замороженном кодировщикеclassifier = RegimeClassifier(encoder=encoder, num_classes=3)classifier.fit_linear_probe(dataset.train_data, dataset.train_labels, epochs=20)
# Генерация торговых сигналовsignals = classifier.predict_regime(dataset.test_data)print(f"Распределение режимов: {signals.value_counts()}")Бэктест стратегии режимов
from supcon_trading.backtest import RegimeBacktester
backtester = RegimeBacktester( initial_capital=100_000, transaction_cost=0.001, regime_strategies={ "bull": "momentum", # 1x лонг BTC "bear": "short", # 1x шорт BTC "sideways": "neutral", # держать кэш },)
results = backtester.run( prices=returns["BTC-USD"], regime_signals=signals, rebalance_frequency="daily",)
print(f"Коэффициент Шарпа: {results['sharpe_ratio']:.3f}")print(f"Максимальная просадка: {results['max_drawdown']:.2%}")print(f"Суммарная доходность: {results['total_return']:.2%}")Реализация на Rust
Обзор
Реализация на Rust обеспечивает высокопроизводительную версию, пригодную для производственного развёртывания:
reqwestдля интеграции с Bybit API через асинхронный HTTP- Асинхронный рантайм
tokioдля параллельного получения данных по нескольким символам - Эффективные матричные операции для вычисления эмбеддингов
- Обнаружение режимов в реальном времени с низкой задержкой инференса
Быстрый старт
use supervised_contrastive::{ SupConModel, BybitClient, BacktestEngine, RegimeSignal,};
#[tokio::main]async fn main() -> anyhow::Result<()> { // Получение криптовалютных данных OHLCV с Bybit let client = BybitClient::new();
// Параллельное получение данных для нескольких символов let (btc_data, eth_data, sol_data) = tokio::try_join!( client.fetch_klines("BTCUSDT", "D", 365), client.fetch_klines("ETHUSDT", "D", 365), client.fetch_klines("SOLUSDT", "D", 365), )?;
// Построение оконного датасета с метками режимов let dataset = SupConModel::build_dataset( &btc_data, window_size: 30, horizon: 10, bull_threshold: 0.05, bear_threshold: -0.05, );
// Загрузка предобученного кодировщика (обучен на Python, экспортирован в ONNX) let model = SupConModel::load("models/supcon_encoder.onnx")?;
// Обнаружение режима на последних окнах let recent_windows = &btc_data[btc_data.len()-30..]; let embedding = model.encode(recent_windows)?; let regime = model.classify_regime(&embedding)?;
println!("Текущий режим BTC: {:?}", regime);
// Генерация торгового сигнала let signal = match regime { RegimeSignal::Bull => "ПОКУПКА", RegimeSignal::Bear => "ПРОДАЖА", RegimeSignal::Sideways => "ДЕРЖАТЬ", }; println!("Торговый сигнал: {}", signal);
// Запуск бэктеста let engine = BacktestEngine::new(100_000.0, 0.001); let results = engine.run(&btc_data, &model)?; println!("Коэффициент Шарпа: {:.3}", results.sharpe_ratio); println!("Суммарная доходность: {:.2}%", results.total_return * 100.0);
Ok(())}Структура проекта
169_supervised_contrastive/├── Cargo.toml├── src/│ ├── lib.rs│ ├── model/│ │ ├── mod.rs│ │ └── supcon.rs│ ├── data/│ │ ├── mod.rs│ │ └── bybit.rs│ ├── backtest/│ │ ├── mod.rs│ │ └── engine.rs│ └── trading/│ ├── mod.rs│ └── signals.rs└── examples/ ├── basic_supcon.rs ├── bybit_regime_detection.rs └── backtest_strategy.rsПрактические примеры с данными акций и криптовалют
Пример 1: Классификация режимов BTC/ETH (данные Bybit)
Использование SupCon для классификации режимов Bitcoin и генерации торговых сигналов:
- Вход кодировщика: 30-дневные окна BTCUSDT (OHLCV + средневзвешенная по объёму цена)
- Метки: Ретроспективные метки режимов на основе 10-дневных будущих доходностей
- Активы для переноса: ETHUSDT, SOLUSDT, BNBUSDT
# Результаты классификации режимов BTC (данные Bybit за 2022-2024):# Точность тестирования: 68.7%# Бычий режим: точность 0.74, полнота 0.69# Медвежий режим: точность 0.71, полнота 0.73# Боковой: точность 0.61, полнота 0.64
# Качество кластеров (индекс Дэвиса-Болдина): 0.62# (ниже — лучше; случайные признаки: ~1.8)
# Расстояния между центроидами в пространстве эмбеддингов:# Бычий от медвежьего: 4.2# Бычий от бокового: 2.8# Медвежий от бокового: 3.1Пример 2: Межактивный перенос — обнаружение режимов акций (yfinance)
Предобучение на криптовалютных данных и перенос на обнаружение режимов акций:
- Предобучение: SupCon кодировщик на 5-летних 30-дневных окнах BTC/ETH/SOL
- Целевой актив для переноса: SPY (ETF на S&P 500) — классификация режимов
- Дообучение: Линейный зонд, обученный всего на 6 месяцах размеченных данных SPY
# Результаты переноса обучения (классификация режимов SPY):# Без предобучения SupCon (случайная инициализация): точность 54.1%# С предобучением SupCon (крипта → акции): точность 63.8%# Улучшение: +9.7 процентных пунктов от переноса
# Ключевой вывод: паттерны рыночных режимов (моментум, возврат к среднему,# кластеризация волатильности) в значительной мере не зависят от класса активов —# SupCon захватывает универсальные представленияПример 3: Обнаружение аномалий во время флэш-крашей
Обнаружение аномальных рыночных окон, предшествующих флэш-крашам или совпадающих с ними:
- Обучение SupCon кодировщика на нормальных рыночных данных (исключая известные периоды крашей)
- Вычисление центроидов кластеров для бычьего/медвежьего/бокового режима в пространстве эмбеддингов
- Мониторинг расстояния входящих окон от всех центроидов
# Результаты обнаружения аномалий (криптовалютные данные 2020-2024):# Обнаружено флэш-крашей: 7 из 9 известных событий (полнота 77.8%)# Доля ложных срабатываний: 3.2% (2.8 ложных сигнала за 90-дневный период)# Среднее время опережения перед ценовым воздействием: 2.3 часа (на почасовых данных)
# Обнаруженные ключевые аномалии:# - Краш BTC март 2020: оценка аномальности выросла за 2.1 часа до падения -30%# - Коллапс LUNA (май 2022): зафиксирован за 4 часа до основного снижения# - Коллапс FTX (ноябрь 2022): зафиксирован за 6 часов до падения BTC на -25%Фреймворк для бэктестинга
Компоненты стратегии
Фреймворк бэктестинга реализует полную систему режимной торговли на основе SupCon:
- Инференс кодировщика: Загрузка предобученного SupCon кодировщика, запуск на скользящих окнах
- Обнаружение режима: Классификация каждого окна как бычьего/медвежьего/бокового
- Генерация сигналов: Сопоставление режимов с направленными торговыми сигналами
- Управление рисками: Размер позиции на основе уверенности в режиме (расстояние до центроида)
Отслеживаемые метрики
| Метрика | Описание |
|---|---|
| Коэффициент Шарпа | Риск-скорректированная доходность (годовая) |
| Коэффициент Сортино | Доходность с учётом риска снижения |
| Максимальная просадка | Наибольшее падение от пика до минимума |
| Доля выигрышей | Процент прибыльных определений режима |
| Точность режима | Точность классификации относительно реализованных доходностей |
| Связность эмбеддингов | Индекс Дэвиса-Болдина кластеров эмбеддингов |
| Разрыв при переносе | Падение точности при переносе на новый актив |
Примерные результаты бэктеста
Бэктест стратегии SupCon по режимам (BTCUSDT, 2022-2024, данные Bybit)======================================================================Проанализировано окон: 730Сгенерировано режимных сигналов: 730Исполнено сделок: 104 (переходы режимов)
Производительность:- Суммарная доходность: 41.7%- Коэффициент Шарпа: 1.34- Коэффициент Сортино: 1.89- Максимальная просадка: -12.4%- Доля выигрышей: 61.5%- Коэффициент прибыли: 2.03
Классификация режимов:- Точность бычьего режима: 68.7%- Точность медвежьего режима: 73.1%- Точность бокового режима: 61.2%- Общая точность: 67.7%
Качество эмбеддингов:- Индекс Дэвиса-Болдина: 0.62- Коэффициент силуэта: 0.51Оценка производительности
Сравнение с традиционными подходами к классификации
| Метод | Точность режима | Коэффициент Шарпа | Макс. просадка | Точность переноса |
|---|---|---|---|---|
| Логистическая регрессия (сырые признаки) | 54.1% | 0.61 | -22.3% | 51.3% |
| LSTM + CrossEntropy | 62.4% | 0.89 | -17.8% | 55.8% |
| Самообучающееся контрастное | 64.8% | 1.02 | -15.9% | 61.4% |
| Контрастное с учителем (SupCon) | 67.7% | 1.34 | -12.4% | 63.8% |
Результаты на BTCUSDT (Bybit), 2022-2024, скользящая оценка вперёд.
Ключевые выводы
- Качество представлений: Эмбеддинги SupCon демонстрируют значительно лучшее разделение кластеров (DB-оценка 0.62 против 1.42 для перекрёстной энтропии), что указывает на более осмысленные выученные представления
- Перенос обучения: Предобученные кодировщики SupCon снижают требования к данным для дообучения примерно в 5 раз, при этом достигая производительности перекрёстной энтропии, обученной с нуля
- Устойчивость к шуму меток: SupCon деградирует постепенно при до 20% шума в метках (падение точности: 4.2%) по сравнению с перекрёстной энтропией (падение точности: 11.7%)
- Риск-скорректированные доходности: Размер позиции на основе уверенности (расстояние до центроида) снижает просадки примерно на 30% по сравнению с равномерным размером позиции
Ограничения
- Требует разработки аугментаций: Эффективные аугментации для финансовых временных рядов нетривиальны; неудачный выбор аугментаций может ухудшить производительность
- Сложность двухэтапного обучения: Требует тщательного управления этапами предобучения и дообучения
- Зависимость от качества меток: Ретроспективные метки режимов на основе доходностей вносят смещение заглядывания вперёд при неаккуратной конструкции
- Вычислительная стоимость: Контрастная потеря требует больших размеров батча (128-512) для достаточного количества позитивных пар на класс
Направления развития
-
Иерархический SupCon: Многоуровневые контрастные цели, захватывающие как грубую структуру режимов (бычий/медвежий), так и тонкие паттерны суб-режимов (ранний бычий, поздний бычий, фаза распределения)
-
Временной SupCon: Расширение SupCon с временной близостью как дополнительным критерием позитивных пар — недавние окна одного и того же режима должны быть особенно похожи
-
Мультимодальный SupCon: Объединение ценовых временных рядов с текстом (эмбеддинги новостей, транскрипты звонков с инвесторами) в едином контрастном фреймворке
-
Онлайн SupCon: Потоковая реализация, непрерывно обновляющая кодировщик по мере поступления новых рыночных данных и адаптирующаяся к сдвигам режимов в реальном времени
-
Федеративный SupCon: Обучение с сохранением конфиденциальности на нескольких торговых площадках или биржах, обеспечивающее обмен знаниями о режимах без передачи сырых данных
-
SupCon с учётом неопределённости: Встраивание байесовской или очевидностной неопределённости в контрастные эмбеддинги для риск-осознанной классификации режимов и управления размером позиции
Литература
-
Khosla, P., Tian, Y., Wang, C., Krishnan, D., Isola, P., & Tian, Y. (2020). Supervised Contrastive Learning. Advances in Neural Information Processing Systems (NeurIPS), 33, 18661-18673.
-
Chen, T., Kornblith, S., Norouzi, M., & Hinton, G. (2020). A Simple Framework for Contrastive Learning of Visual Representations (SimCLR). Proceedings of the 37th International Conference on Machine Learning (ICML).
-
Oord, A., Li, Y., & Vinyals, O. (2018). Representation Learning with Contrastive Predictive Coding. arXiv:1807.03748.
-
He, K., Fan, H., Wu, Y., Xie, S., & Girshick, R. (2020). Momentum Contrast for Unsupervised Visual Representation Learning (MoCo). Proceedings of the IEEE/CVF CVPR, 9729-9738.
-
Eldele, E., Ragab, M., Chen, Z., Wu, M., Kwoh, C. K., Li, X., & Guan, C. (2021). Time-Series Representation Learning via Temporal and Contextual Contrasting (TS-TCC). Proceedings of IJCAI, 2352-2359.
-
Yue, Z., Wang, Y., Duan, J., Yang, T., Huang, C., Tong, Y., & Xu, B. (2022). TS2Vec: Towards Universal Representation of Time Series. Proceedings of AAAI, 8980-8987.
-
Woo, G., Liu, C., Sahoo, D., Kumar, A., & Hoi, S. (2022). CoST: Contrastive Learning of Disentangled Seasonal-Trend Representations for Time Series Forecasting. Proceedings of ICLR.