Link:https://arxiv.org/abs/2209.06053
论文基于CTR模型,对推荐系统中的过拟合现象进行研究分析,CTR模型的过拟合现象非常特殊:在第一个epoch 结束后,模型急剧过拟合,测试集效果急剧下降,称这种现象为“one epoch现象”,如下图:
采用工业数据集进行了广泛的实验,结果表明:深度CTR模型存在one epoch现象。具体来说,模型在第二个epoch开始时对训练数据突然过度拟合,导致模型效果下降;
模型结构、收敛速度快的优化算法和特征稀疏性都与one-epoch现象密切相关。虽然可以通过限制这些因素来训练模型的多个epoch,但通常第一个epoch效果最好,也解释了为什么大多数工业场景中,深度CTR模型只进行一次数据训练。
提出了一个假设来解释one epoch现象:在第二个epoch开始时,MLP层快速适应Embedding层特征分布,过拟合突然发生,导致one-epoch现象,并设计实验进行验证。
采用工业数据集,从模型和特征两个方面进行分析,深度CTR模型如下图,通过分析模型结构、收敛速度和特征稀疏性与one epoch现象密切相关。
(1)模型结构
对比LR和深度CTR模型,LR模型随着epoch增加,test auc在提升,不存在one epoch现象,说明深度网络结构(Embedding+DNN)与one epoch现象有关。
(2)模型参数量
设置不同embedding维度、MLP节点和层数,都存在one epoch现象,说明与参数量无关。
(3)激活函数与batch size
采用不同batch size和激活函数,均存在one epoch现象。
(4)优化方法
与SGD相比,Adam和RMSprop收敛速度更快,但更容易出现one-epoch现象,同时学习率也与one-epoch现象有关,因此使模型收敛速度快的方法会增加one-epoch问题的风险。
(5)Weight Decay and Dropout
Weight Decay and Dropout都不能缓解和解决one-epoch现象。
特征主要包含:用户特征(年龄、性别等)、用户行为特征(如点击序列)、item特征(item id、类别等)、contextual特征,其中细粒度特征(如item ID和history item ID)具有稀疏性和长尾的特点,如下表:
为了验证特征稀疏性对one-epoch现象影响,采用filter和hash减少稀疏性:
filter:只保留top m比例的高频IDs,过滤长尾IDs(设置为默认值)
hash:把ID映射到大小为m比例的空间
实验结果如下图:随着m减小,one-epoch现象不断缓解,说明特征的稀疏性与one-epoch现象密切相关。
提出一种假设来解释one-epoch现象:在第二个epoch开始时,MLP层快速适应Embedding层特征分布,过拟合突然发生,导致one-epoch现象。
采用
其中
训练过程中计算
图(a):对于训练样本,在第2个epoch开始,
图(b)-(d):细粒度特征会使
(1)分析embedding层和MLP参数随epoch变化,如下图:embedding层参数相对稳定,MLP层参数在第2个epoch存在突增
(2)固定参数进行fine-tune,如下图,fine-tuning MLP层导致one-epoch现象。
由于公众号试行乱序推送,您可能不再准时收到机器学习与推荐算法的推送。为了第一时间收到本号的干货内容, 请将本号设为星标,以及常点文末右下角的“在看”。