Sequential recommendation aims to provide users with personalized suggestions based on their historical interactions. When training sequential models, padding is a widely adopted technique for two main reasons: 1) The vast majority of models can only handle fixed-length sequences; 2) Batching-based training needs to ensure that the sequences in each batch have the same length. The special value \emph{0} is usually used as the padding content, which does not contain the actual information and is ignored in the model calculations. This common-sense padding strategy leads us to a problem that has never been explored before: \emph{Can we fully utilize this idle input space by padding other content to further improve model performance and training efficiency?} In this paper, we propose a simple yet effective padding method called \textbf{Rep}eated \textbf{Pad}ding (\textbf{RepPad}). Specifically, we use the original interaction sequences as the padding content and fill it to the padding positions during model training. This operation can be performed a finite number of times or repeated until the input sequences' length reaches the maximum limit. Our RepPad can be viewed as a sequence-level data augmentation strategy. Unlike most existing works, our method contains no trainable parameters or hyperparameters and is a plug-and-play data augmentation operation. Extensive experiments on various categories of sequential models and five real-world datasets demonstrate the effectiveness and efficiency of our approach. The average recommendation performance improvement is up to 60.3\% on GRU4Rec and 24.3\% on SASRec. We also provide in-depth analysis and explanation of what makes RepPad effective from multiple perspectives. The source code will be released to ensure the reproducibility of our experiments.
翻译:序列推荐旨在基于用户的历史交互为其提供个性化建议。在训练序列模型时,填充是一种广泛采用的技术,主要原因有二:1)绝大多数模型只能处理固定长度的序列;2)基于批次的训练需要确保每个批次中的序列长度相同。通常使用特殊值\emph{0}作为填充内容,该值不包含实际信息,并在模型计算中被忽略。这种常识性的填充策略引出一个此前从未被探索的问题:\emph{我们能否通过填充其他内容来充分利用这一空闲输入空间,以进一步提升模型性能和训练效率?}在本文中,我们提出一种简单而有效的填充方法,称为\textbf{重复填充(RepPad)}。具体而言,我们使用原始交互序列作为填充内容,并将其填入模型训练过程中的填充位置。该操作可以执行有限次数,或重复进行直至输入序列长度达到最大限制。我们的RepPad可被视为一种序列级数据增强策略。与现有大多数工作不同,我们的方法不含任何可训练参数或超参数,是一种即插即用的数据增强操作。针对多种类别的序列模型及五个真实数据集的广泛实验证明了我们方法的有效性和高效性。在GRU4Rec和SASRec上的平均推荐性能提升分别高达60.3%和24.3%。我们还从多个视角深入分析和解释了RepPad有效的原因。源代码将公开发布,以确保实验的可复现性。