“CREAD: A Classification-Restoration Framework with Error Adaptive Discretization for Watch Time Prediction in Video Recommender Systems” 论文笔记

快手视频观时预测的工作 CREAD ,发表于 AAAI 2024,深入分析了分桶策略,在理论上是一篇很棒的工作

背景

观看时长预测本质上是个回归问题,但它的标签分布通常极其长尾:大量样本集中在很短的时长(比如 3 秒内占 30%),而长时长的样本非常稀疏。这种不平衡性让直接做回归很难,模型容易被头部样本带偏,对尾部样本预测不准。

核心矛盾在于:连续值回归难,那就离散化转分类。但现有的分桶方法(比如等宽、等频)都很 heuristic,没有仔细研究过分桶这个动作本身会引入什么误差。本文分析分桶引入的误差主要有两种:

  • **学习误差:**桶太窄,桶内样本就少,分类器学不准

  • **复原误差:**桶太宽,从离散的桶还原成连续值时,近似精度就低(用桶的右端点代表整个桶,太糙了)

等宽分桶会导致学习误差大;等频分桶会导致复原误差大。那能不能自适应地分桶,让两种误差在理论上达到一个最优的平衡?这就是 CREAD 的出发点

方法

CREAD 框架包含三个模块:

  • 离散化模块: 把连续的观看时长 y,通过一组阈值 \([t_1, t_2, ..., t_M]\) 分成多个区间,通过 EAD 来找这些阈值(见后面讲解)

  • 分类模块: 训练 M 个二分类器,第 m 个分类器负责预测 "观看时长 y 是否大于阈值 \(t_m\)",输出概率 \(\phi_m\)。这样,一段连续的时间就被一串概率序列 \([\phi_1, \phi_2, ..., \phi_M]\) 表示了。

  • **复原模块:**把分类器输出的概率序列,通过期望公式还原成最终的预测时长 ŷ 。原理是预测值是分布期望的近似,等于 "每个区间宽度 × 时长超过该区间右侧阈值的概率" 之和

模型训练的损失函数由三部分组成:标准的分类交叉熵损失、让预测时长 ŷ 更准的复原损失(用的是 Huber Loss),还有一个很关键的序关系正则项。这个正则项强制让输出的 M 个概率满足单调递减的先验(\(\phi_1 > \phi_2 > ... > \phi_M\),因为一个视频的观看时长超过更大阈值的概率肯定更小),保证了预测的物理意义

误差自适应离散化 (EAD)

论文在这里深刻剖析了离散化带来的两种误差,并推导出了它们的误差上界:

  • 还原误差的上界 \(\overline{V}_b\) :\(V_b \leq \overline{V}_b \propto A_b(\mathcal{D})\)

    其中 \(A_b(\mathcal{D}) = \underbrace{\sum_m \left[\Psi(t_m) - \Psi(t_{m-1})\right]^2}{\text{受样本分布影响的项}} \cdot \underbrace{\sum_m (t_m - t{m-1})^2}_{\text{桶宽平方和}}\)

  • 学习误差的上界 \(\overline{V}_w\) :\(V_w \leq \overline{V}_w \propto A_w(\mathcal{D})\)

    其中 \(A_w(\mathcal{D}) = \underbrace{\sum_m \left[\Psi(t_m) - \Psi(t_{m-1})\right]^2}{\text{受样本分布影响的项}} \cdot \underbrace{\sum_m \frac{(t_m - t{m-1})^2}{\Psi(t_m) - \Psi(t_{m-1})}}_{\text{宽度的平方除以样本比例}}\)

为了让两种误差的上界最小,EAD 的做法是将它们组合成一个总损失函数 \(J(\mathcal{D})\),并通过优化这个损失来找到最佳划分:

\[\min_{\mathcal{D}} \; J(\mathcal{D}) = A_w(\mathcal{D}) + \beta \cdot A_b(\mathcal{D}) \qquad (21) \]

这就是 EAD 的目标函数了,\(\beta\) 连接了等宽与等频:当 \(\beta \to 0\) 时,EAD 退化为等频划分;当 \(\beta \to \infty\) 时,EAD 退化为等宽划分。EAD 通过调整 \(\beta\),在这两种极端方法之间找到了一个自适应于数据分布的最优点

然而,直接求解高维的 \(J(\mathcal{D})\) 很困难,论文提出了一个巧妙的思路:用一个统一的公式把等宽、等频以及所有可能的中间策略全部表达出来。具体而言, EAD 引入一个校准函数 \(\gamma\),将阈值表示为:

\[t_m = \Psi^{-1}\!\left[\gamma\!\left(\frac{m}{M}\right)\right] \]

如果把 \(\gamma\) 参数化为一个连续函数族 \(\gamma(z; \alpha)\),比如 \(\gamma(z; \alpha) = \frac{1-e^{-\alpha z}}{1-e^{-\alpha}}\),那么 \(\alpha \to 0\) 就是等频,\(\alpha\) 很大就是等宽,\(\alpha\) 在中间则对应某种自适应策略

最终 EAD 通过人工设定超参数 \(\beta\) 并网格搜索 \(\alpha\)(给定一个\(\beta\),遍历不同的 \(\alpha\) 值,选择使得 \(J(\mathcal{D})\) 最小的 \(\alpha\) 值)

实验

实验还是比较全面的,离线实验和在线实验都达到了最佳效果,同时也测试了一些超参数和分桶数量的影响

总结

CREAD 这篇工作解决的问题和解决的方式在理论上都是合理的,我看下来不足之处主要在于又加了比较关键的超参数,\(\alpha,\beta\) 完全决定的分桶的方式,可以说是这篇工作的核心,但是确是人工设定超参+网格搜索遍历,难免不够优雅

相关推荐
金融小师妹2 小时前
基于AI宏观周期模型的黄金牛市研究:1979、2011与2026三轮行情的共性与结构分化
深度学习·机器学习·重构·逻辑回归·线性回归
XD7429716362 小时前
科技早报晚报|2026年5月8日:Agent 后端、文档索引与 token 控制层,今天更值得跟进的 3 个开源机会
运维·深度学习·自动化·开源项目·模型训练·科技新闻·ai工程化
动物园猫3 小时前
河道塑料瓶识别标准数据集分享(适用于YOLO系列深度学习分类检测任务)
深度学习·yolo·分类
AI视觉网奇3 小时前
vLLM + Docker 一键调试实战指南
人工智能·深度学习
AI棒棒牛3 小时前
YOLO26:面向实时目标检测的核心架构改进与性能基准测试
人工智能·深度学习·yolo·目标检测·架构
夏莉莉iy3 小时前
[ICCV 2023]Scalable Diffusion Models with Transformers
人工智能·深度学习·transformer·图像·扩散模型·视觉·dit
老鱼说AI3 小时前
大模型面试:从字节到集群的大模型微调底层推演指南
人工智能·深度学习·神经网络·机器学习·自然语言处理
郝学胜-神的一滴3 小时前
深度学习网络优化核心:梯度下降与正则化入门|手机价格分类实战
人工智能·python·深度学习·机器学习·分类·数据挖掘·pycharm
小何code3 小时前
人工智能【第16篇】激活函数详解:Sigmoid、ReLU、Tanh与Softmax
深度学习·激活函数