Выпуклая оптимизация

Online Convex Optimization: учиться на потоке

В 2003 году Мартин Зинкевич доказал, что простой проективный градиентный спуск даёт $O(\sqrt{T})$ regret против любого adversarial противника. Через шесть лет Yahoo Research поставили contextual bandits на production-ранжирование новостей. Сегодня Vowpal Wabbit обучает миллиарды примеров online без единого batch-прохода, а в Spotify каждый skip трека обновляет рекомендательную модель за миллисекунды. Online Convex Optimization - это не теоретическая абстракция, это инженерный язык streaming ML.

  • **Vowpal Wabbit (Microsoft Research):** обучается online с начала проекта, single-pass на терабайтных датасетах рекламных кликов, обновление модели за микросекунды на каждом примере
  • **Spotify recommendations:** contextual bandits на skip-сигнале и audio-features, online-обновление эмбеддингов треков и юзеров после каждой сессии прослушивания
  • **Yahoo News article ranking (Li et al. 2010):** LinUCB как первое production-внедрение contextual bandits, A/B показал прирост CTR на 12.5 процентов против batch-моделей

Online setting: данные приходят по одному

Online setting радикально отличается от batch. На раунде $t$ алгоритм выбирает точку $x_t \in K$ ДО того как видит loss-функцию $f_t$. После выбора $f_t$ открывается, выплачивается штраф $f_t(x_t)$, и наступает раунд $t+1$. Никакой возможности пересчитать прошлые ходы - решения принимаются в реальном времени.

Зачем online: streaming-данные (Twitter trends обновляются каждую секунду), нестационарность (распределение кликов сегодня не такое, как вчера), big data (один проход по данным - дешевле, чем хранить и переобучать).

Vowpal Wabbit от Microsoft Research построен online с самого начала: модель обновляется на каждом примере без хранения датасета. В рекомендательных системах Netflix эмбеддинги юзеров пересчитываются после каждого просмотра - типичное online-обновление с миллиардами раундов в день.

Что отличает online setting от batch?

Regret bounds: что значит хорошо учиться online

Regret - центральная метрика online-обучения: $R_T = \sum_{t=1}^T f_t(x_t) - \min_{x^* \in K} \sum_{t=1}^T f_t(x^*)$. Сравнение идёт с лучшей фиксированной точкой $x^*$, выбранной задним числом с полным знанием всех $f_t$. Цель алгоритма - сделать $R_T$ как можно меньше.

Online Gradient Descent (Zinkevich 2003): $x_{t+1} = \Pi_K(x_t - \eta_t \nabla f_t(x_t))$. При $\eta_t = D / (G \sqrt{t})$ достигает $R_T = O(\sqrt{T})$ regret для convex Lipschitz losses, и $O(\log T)$ для strongly convex.

No-regret свойство: $R_T / T \to 0$. Это значит, что средний loss алгоритма сходится к лучшему фиксированному решению. Lower bound $\Omega(\sqrt{T})$ Abernethy-Bartlett-Rakhlin 2008 показывает, что улучшить $\sqrt{T}$ для general convex losses нельзя без дополнительной структуры.

Связь с SGD: Stochastic Gradient Descent - частный случай OGD, где $f_t$ - случайная выборка из распределения. Regret-анализ объясняет, почему SGD generalize: bound на regret превращается в bound на excess risk через online-to-batch conversion (Cesa-Bianchi-Conconi-Gentile 2004).

Что значит no-regret свойство алгоритма?

Mirror descent: универсальный no-regret алгоритм

Mirror Descent (Nemirovski-Yudin 1983) обобщает OGD: вместо евклидовой проекции используется Bregman divergence $D_\phi(x, y) = \phi(x) - \phi(y) - \langle \nabla \phi(y), x - y \rangle$, порождённая mirror map $\phi$. Update: $x_{t+1} = \arg\min_{x \in K} [\langle \nabla f_t(x_t), x \rangle + \frac{1}{\eta} D_\phi(x, x_t)]$.

Выбор $\phi$ подгоняется под геометрию $K$. На probability simplex $\Delta^n$ с $\phi(x) = \sum x_i \log x_i$ (negative entropy) Bregman divergence становится KL-дивергенцией, и mirror descent превращается в multiplicative weights / Hedge / EXP3.

Regret bound mirror descent: $R_T \le \sqrt{2 R^2 G_*^2 T / \sigma}$, где $R$ - радиус $K$ в $\phi$-геометрии, $G_*$ - dual норма градиента, $\sigma$ - сила выпуклости $\phi$. Для simplex с entropy получается $O(\sqrt{T \log n})$ против $O(\sqrt{Tn})$ у евклидового OGD - выигрыш $\sqrt{n / \log n}$ раз.

AdaGrad (Duchi-Hazan-Singer 2011) - mirror descent с data-dependent $\phi_t$, накапливающим квадраты градиентов. Adam - эвристическая mirror-descent-вариация с moving averages. В information geometry mirror descent с $\phi$-divergence для exponential family совпадает с natural gradient descent.

Что улучшает mirror descent над OGD на probability simplex?

Bandit feedback: только loss, не gradient

Bandit setting - online setting с partial feedback: видно только $f_t(x_t)$ как скаляр, без градиента и без значений в других точках. Это реалистично для production-систем: при показе рекламы наблюдается клик/не-клик по выбранному варианту, но нет данных о том, что произошло бы с другими.

Multi-armed bandits: $K$ дискретных рук, на каждом шаге выбирается одна. UCB1 (Auer-Cesa-Bianchi-Fischer 2002) даёт $O(\sqrt{KT \log T})$ regret через верхние доверительные оценки. Thompson Sampling (Thompson 1933, переоткрыт в 2010-х) использует Bayesian posterior - часто лучше UCB на практике.

Contextual bandits: на шаге $t$ дан контекст $c_t$, выбирается действие, видна награда. LinUCB (Li-Chu-Langford-Schapire 2010) предполагает линейную модель ожидаемой награды и применяет UCB к её confidence интервалам. EXP3 (Auer-Cesa-Bianchi-Freund-Schapire 2002) - mirror descent на simplex рук с importance-weighted estimates для adversarial bandits.

Yahoo News применяли LinUCB для ранжирования статей с 2009 года - первое production-внедрение contextual bandits в news. Spotify использует contextual bandits для recommendations: skip-сигнал как loss, контекст из истории прослушиваний и audio-features.

Bandit gradient estimation для непрерывных $K$: SPSA (Spall 1992) и one-point estimators строят несмещённую оценку градиента из одного-двух запросов loss. Цена - дисперсия растёт, скорость сходимости падает с $\sqrt{T}$ до $T^{2/3}$ или $T^{3/4}$ в зависимости от структуры.

Bandits - это про рулетку и казино, к ML не имеют отношения

Bandits - это математическая модель любого decision-making с limited feedback. Production-применения: A/B-тестирование фич с adaptive allocation, contextual recommendations (Yahoo News, Spotify), adaptive clinical trials (FDA одобрило adaptive design в 2019), hyperparameter tuning (Hyperband - bandit-алгоритм).

Историческое название от рычагов игровых автоматов ("one-armed bandits") задаёт неверный контекст. Реально bandit-формализм описывает любую ситуацию exploration vs exploitation: надо ли пробовать новый алгоритм рекомендации или использовать проверенный? Это не казино, это инженерная задача.

Чем bandit отличается от full-information online?

Ключевые идеи

  • **Online setting:** decision $x_t$ перед раскрытием $f_t$, sequential данные без повторного прохода. Regret $R_T = \sum f_t(x_t) - \min_{x^*} \sum f_t(x^*)$ - метрика качества против best-in-hindsight
  • **OGD достигает $O(\sqrt{T})$ regret** для convex Lipschitz losses через простую проекцию $x_{t+1} = \Pi_K(x_t - \eta_t \nabla f_t(x_t))$. Lower bound $\Omega(\sqrt{T})$ - улучшить нельзя без структуры
  • **Mirror descent с entropy** на simplex даёт regret $O(\sqrt{T \log n})$ вместо $O(\sqrt{Tn})$ у OGD. AdaGrad и Adam - data-dependent варианты mirror descent в production
  • **Bandit feedback:** видно только $f_t(x_t)$, не градиент. UCB и Thompson Sampling для MAB, LinUCB и EXP3 для contextual/adversarial. Yahoo News, Spotify, adaptive trials - всё это bandits в production

Связанные темы

Online Convex Optimization связывает streaming ML, learning theory и information geometry:

  • Online Learning Theory: regret minimization — Regret-анализ как universal framework для online algorithms; lower bounds Abernethy-Bartlett-Rakhlin задают границы возможного
  • Mirror Descent как Natural Gradient — Mirror descent с $\phi$-divergence для exponential family совпадает с natural gradient в information geometry - один и тот же алгоритм с двух сторон
  • Градиентные методы (cvx-04) — OGD - online-вариант градиентного спуска; regret bound объясняет почему SGD generalize через online-to-batch conversion
  • Bayesian inference (Thompson Sampling) — Thompson Sampling выбирает действие по posterior probability оптимальности - чисто Bayesian подход к exploration-exploitation

Вопросы для размышления

  • OGD даёт $O(\sqrt{T})$ regret против любого adversarial противника. Что меняется, если loss-функции $f_t$ выбираются стохастически из распределения, а не противником? Какие более сильные bounds возможны?
  • Multiplicative weights даёт $O(\sqrt{T \log n})$ regret на simplex с $n$ экспертами. Как этот алгоритм связан с softmax-классификацией в нейронных сетях, и почему cross-entropy loss - естественная функция для оптимизации?
  • Spotify использует skip-события как loss-сигнал для contextual bandit. Какие проблемы возникают при таком определении loss (selection bias, delayed feedback, non-stationarity), и как их адресовать в online-алгоритме?

Связанные уроки

  • lt-12-online-regret — Online learning theory in context of regret minimization
  • ig-09-mirror-descent — Mirror descent in IG is the same algorithm
  • cvx-04 — Need gradient methods foundation
  • cvx-09 — Convex sets and projections
  • prob-04-bayes — Thompson sampling is Bayesian
  • prob-17
Online Convex Optimization: учиться на потоке

0

1

Войти