为什么你手机的「猜你喜欢」每秒都在偷偷重学你 —— 一篇被引 145 次的综述讲清楚"在线学习"是怎么做到的
- 关联论文:1802.02871
你有没有注意过这件事?
今天上午你在抖音点开一个滑雪视频,下午「推荐」页就多了三四个滑雪教学号。 你以为它要花一晚上重新训练整个模型?其实 —— 它在你点开那个视频的 200 毫秒内,已经悄悄更新过一次。
不是抖音工程师深夜守着服务器。是一种叫「在线学习(Online Learning)」的算法在背后一秒一秒地学你。
arXiv 1802.02871(2018 · 100 页 · 引用约 400 篇 · OpenAlex 被引 145 次)是为整个在线学习领域立规矩的综述——把「数据一边来、模型一边学、还要永远不犯同样错」这套机制的理论根基、应用场景、工程路径系统梳理。Google、Yahoo、今日头条做推荐系统的工程师几乎人手一份。
为什么这件事值得大众关注
今天你手机上跑着的每一个「懂你」的实时推荐,几乎都是在线学习的产物——
- 短视频推荐:抖音 / TikTok 的「看一个推一类」靠的是在线学习秒级更新
- 新闻信息流:今日头条、Yahoo 首页每分钟重训几亿用户的模型参数
- 在线广告 CTR 预估:百度、阿里、Google Ads 每一秒钟都在调整「这条广告该不该给你看」的决策边界
- 金融反欺诈:一笔可疑交易出现后 50 毫秒内,反欺诈模型已经在学习新模式
- 输入法联想:你今天新造的词("显眼包"),下午就能在 Gboard 联想里见到
这些不可能靠「离线训练完再上线」的传统 Batch Learning 实现——一是数据规模太大(几十亿用户 × 几百维特征 = 几 TB),二是因为世界每天都在变(热点、季节、对手策略)。
在线学习到底是什么?三句话讲明白
- 不攒数据:模型不等攒够 100 万条样本再训练,来一条学一条。
- 立即预测立即打分:第 t 秒学完,第 t+1 秒立刻用新模型预测下一条。
- 永远想跟最优解赛跑:算法的目标不是「这次预测准」,而是「累计起来比最好的固定策略只差一点点」。
最后这条用专业术语说,就是 Regret(后悔值):
Regret = 在线学习器累计损失 − 最优固定策略累计损失
如果 Regret 增长得比时间慢(数学上叫 $o(T)$),算法就算赢——平均每一步的损失都会越来越接近最优解。
主流算法四大家族 —— 一张图分清
Online Learning 算法按反馈形式分三类,按监督强度分细支。今天你用的每一个推荐系统,大概率跑的是这四大家族中的某一个:
1️⃣ Perceptron 感知机 —— 「犯错就改」的鼻祖
最经典的在线学习算法。每次预测错了,就更新一次权重:
$w_{t+1} = w_t + y_t x_t$ (如果第 t 步预测错了)
关键性质:如果数据线性可分,Perceptron 犯错的次数有一个上界 $\leq R^2/\gamma^2$,永远不会无限制地错下去。
这就是第一个「理论上保证有限犯错」的在线算法,是后续所有算法的精神祖先。
2️⃣ OGD 在线梯度下降 —— 把「下山」搬到在线场景
传统梯度下降是把整座山的地图给你,你往最低点走;OGD 是你只看到脚下的一圈,依然要走下去:
$w_{t+1} = \Pi_{\mathcal{W}}(w_t - \eta_t \nabla \ell(w_t, x_t))$
其中 $\Pi_{\mathcal{W}}$ 是「别走出可行域」的投影操作,$\eta_t$ 是「步长」(学习率)。
关键 Regret Bound(凸损失,步长 $= O(1/\sqrt{t})$):
$\text{Regret}_T \leq O(\sqrt{T})$
这意味着平均每步的 Regret 随时间递减——$O(1/\sqrt{T})$。T 越大,平均越接近最优解。
3️⃣ FTRL 跟随正则化领袖 —— Google 广告系统的秘密武器
OGD 的「稀疏化升级版」。每一步选「历史上累计表现 + 正则化项」最小的策略:
$w_t = \arg\min_{w \in \mathcal{W}} \left( \sum_{i=1}^{t-1} \ell(w, y_i) + \Phi(w) \right)$
为什么 Google 工业级 CTR 预估系统全是 FTRL? 因为加了 $\ell_1$ 正则化之后,大量特征权重直接变成 0——
- 内存节省 10x(几亿特征里只有几千个真的需要权重)
- 计算更快(稀疏特征只用算非零部分)
- 工程上极其友好
FTRL-Proximal(McMahan 2017)是工程实现的标准版本,结合了自适应学习率 + 稀疏诱导正则化。今天 Google、Yahoo、Meta 的广告系统几乎都用它。
4️⃣ Bandit 系列(Exp3 / UCB / Thompson Sampling)—— 「探索 vs 利用」的智慧
当只能看到自己选的动作的反馈(例如你推了一个视频给用户,不知道其他视频他会不会更爱看),算法要平衡:
- 利用(Exploitation):选历史表现最好的
- 探索(Exploration):试试其他可能更好的
这就是多臂老虎机(Multi-Armed Bandit)问题。三个经典解:
- Exp3:用指数加权随机探索,保证 $O(\sqrt{KT})$ Regret
- UCB:给「不确定的动作」加乐观置信上界,鼓励探索
- Thompson Sampling:维护每个动作的后验分布,采样后选动作——贝叶斯派的优雅选择
这些算法在工业里主要用在「新品冷启动」——新广告、新视频、新商品没历史数据,得靠 Bandit 算法在几百次试错中找到合适的受众。
⚠️ 几处需要警惕的边界
读这篇综述前,请先看清这几个「你以为但其实不是」的细节:
- 「被引 145 次」:OpenAlex 截至 2026-07-26 的引用数。综述本身 2018 年发,引用包含很多理论文献继承者,不是「每篇工作都落地工业」。
- 「FTRL 是 Google 内部标准」:✅ 真实(McMahan 2017 的论文公开了 Google Play 商店的部署细节)。但 2020 年后,部分场景已被 DLRM / Deep & Cross 替代——FTRL 在「稠密 + 深度」特征上不再是最优。
- 「Regret 越小越好」:理论上是,工程上几乎用不上。真实工程看的是 AUC / CTR / 留存,不是 Regret bound。
- 「Bandit 算法工业里到处用」:反了。工业里 Bandit 多用于新品冷启动等低流量场景;主力流量分配几乎不用 Bandit(业务方不愿意为「探索」付出短期收入损失)。
- 「深度学习 + 在线学习 = 完美组合」:综述几乎没覆盖。2020 年以后的 Test-time Adaptation、Continual Learning 是新分支,要读更新的文献。
- 「特征分布漂移」被低估:综述主要讲 Concept Drift(标签分布变化),但生产中更常见的是 Feature Drift(特征分布变化,如用户群结构变化、广告主出价策略变化)。监控特征分布 PSI 比监控 Regret 实用 100 倍。
关键洞察
- 综述是「在线学习」领域的理论地基——后续几乎所有在线算法论文都站它的肩膀。
- 四大家族(Perceptron / OGD / FTRL / Bandit)没有「最好」,只有「最合适场景」——稀疏特征选 FTRL,稠密快速响应选 OGD,冷启动选 Bandit。
- 「先猜后学」是这个领域的灵魂——和 Batch Learning 的「先学后猜」是镜像关系。
- 理论 Regret bound 漂亮 ≠ 工程好使——工业选型看的是 AUC / 业务指标,不看 $O(\sqrt{T})$ 这种渐进边界。
- Regret 框架统一了监督 / Bandit / 无监督三类在线学习——这正是这篇 100 页综述的最大功劳。
工程落地 5 条
1️⃣ 场景优先:高维稀疏特征(文本、ID)→ FTRL;稠密快速响应 → OGD + AdaGrad 2️⃣ 监控 PSI 比监控 Regret 实用 100 倍——特征分布漂移是生产最大杀手 3️⃣ 在线学习的工程复杂度远超算法本身——样本拼接、特征对齐、模型版本管理、A/B 测试设计才是真坑 4️⃣ Bandit 算法的「探索代价」是商业成本——主力流量慎用,新品冷启动适合 5️⃣ FTRL 的 ℓ₁ 稀疏化有代价——稀疏掉的特征下一轮重新出现需要时间重学,建议 ℓ₂ 正则化 + 事后特征选择
🔧 主流工具链速查(2026)
| 工具 | 场景 | 成熟度 |
|---|---|---|
| Vowpal Wabbit (VW) | 大规模稀疏在线学习事实标准 | ★★★★★ |
| River | Python 在线学习库(算法丰富) | ★★★☆☆ |
| FATE / FedAvg | 联邦在线学习场景 | ★★★★☆ |
| PyTorch-Lightning + 自研 | 研究原型快速迭代 | ★★★☆☆ |
三个标题变体
- 《你刷的每一个短视频,背后都有一个「永不停止学习」的算法 —— 一篇被引 145 次的综述讲清楚在线学习的真相》
- 《被 Google 广告系统用了 10 年的算法,到底是什么?100 页综述给你讲透「在线学习」》
- 《为什么输入法能学你今天的口头禅,但不会上传你的聊天记录?一切要从 Online Learning 说起》
📱 小红书风格卡片文案
📌 你刷的每一个短视频,背后都有一个永不停止学习的算法
有没有想过 —— 抖音是怎么在你点开一个滑雪视频的 200 毫秒内,就「学会」你爱看滑雪的?
不是工程师熬夜重训模型。是在线学习(Online Learning)在背后一秒一秒地学你。
🔸 什么是在线学习? 不攒数据,来一条学一条;立即预测,立即打分;永远想跟「最优固定策略」赛跑。
🔸 四大家族,你只需要记住这四种力量 1️⃣ Perceptron 感知机 —— 鼻祖,「犯错就改」 2️⃣ OGD 在线梯度下降 —— 把传统梯度下降搬到在线 3️⃣ FTRL 跟随正则化领袖 ⭐ —— Google 广告系统用了 10 年的秘密武器 4️⃣ Bandit 系列 —— 「探索 vs 利用」的智慧,新品冷启动专用
🔸 Google / 抖音 / 头条的推荐系统几乎全是 FTRL 系 —— 加 $\ell_1$ 正则化后大量特征变 0,内存省 10x,速度更快。
🔸 理论 Regret Bound:
OGD:$O(\sqrt{T})$ Regret FTRL:$O(\sqrt{kT})$(k 维稀疏) Bandit:$O(\sqrt{KT})$
T 越大,平均每步损失越接近最优。
💡 关键洞察:理论漂亮 ≠ 工程好使——真实工业看 AUC / CTR / 留存,不看 $O(\sqrt{T})$。
⚠️ 最大坑:监控特征分布 PSI 比监控 Regret 实用 100 倍。
📎 arXiv 1802.02871(被引 145 次 · 100 页综述 · 引用 400 篇) 📅 发布:2018 · 综述框架至今仍是后续工作的基础引用
💬 评论区聊聊:你团队做推荐 / 风控 / 广告时,踩过在线学习的哪个坑?(稀疏特征?特征漂移?冷启动?👇)