第 98 题:序列中的时间间隔建模,相对位置编码 vs 显式时间嵌入?
题目
序列中的时间间隔建模,相对位置编码 vs 显式时间嵌入?
完整讲解
一、序列中时间间隔的作用
用户行为间的时间间隔蕴含「兴趣强度」「会话边界」等信息:间隔短往往表示连续兴趣,间隔长可能表示新会话或兴趣转移。因此对时间间隔建模可提升序列推荐效果。
二、相对位置编码(Relative Position Encoding)
- 思路:不编码绝对位置,而编码相对位置/相对距离。如 attention 中 $a_{ij}$ 不仅依赖 $\boldsymbol{q}i^\top \boldsymbol{k}_j$,还加上与 $i-j$ 或 $\Delta t{ij}$ 相关的可学习标量或向量。
- 形式:如 $\boldsymbol{q}i^\top \boldsymbol{k}_j + \boldsymbol{r}{i-j}$,其中 $\boldsymbol{r}_{i-j}$ 为相对位置嵌入;或对时间差 $\Delta t = t_i - t_j$ 做嵌入 $\boldsymbol{r}(\Delta t)$。
- 优点:外推性好(未见的长度可泛化)、对「间隔」更直接;不显式存时间戳时,相对位置即间隔的离散近似。
三、显式时间嵌入(Explicit Time Embedding)
- 思路:将每个行为的时间戳 $t$(或离散化后的 bin)映射为时间嵌入 $\boldsymbol{e}t$,与 item 嵌入相加或拼接后输入:$\boldsymbol{x}_i = \boldsymbol{e}{v_i} + \boldsymbol{e}_{t_i}$。
- 优点:可建模绝对时间(小时、星期、节假日)、周期性;间隔信息通过两位置时间嵌入的差隐式体现。
- 缺点:需时间戳与离散化策略;长尾时间 bin 稀疏。
四、取舍建议
- 只有相对序、无时间戳:用相对位置编码即可。
- 有精确时间戳、需周期/绝对时间:用显式时间嵌入;可同时加相对间隔项(如 $\boldsymbol{r}(\Delta t)$)强化间隔建模。
- 会话边界敏感:显式时间 + 间隔阈值或会话切分往往更稳。
面试要点
- 能说明相对位置编码(如 $i-j$ 或 $\Delta t$ 的嵌入)与显式时间嵌入(时间戳映射)的区别。
- 能说清各自适用场景:无时间戳用相对位置;要周期/绝对时间用显式时间;可二者结合。
- 能提及间隔对会话边界与兴趣强度的作用。
记忆要点
- 相对位置编码:编码 $i-j$ 或 $\Delta t$,外推性好,不依赖时间戳。
- 显式时间嵌入:时间戳→嵌入,可建模周期与绝对时间;可再加间隔项。
- 无时间戳用相对;要周期/会话用显式;可组合使用。